# New Orleans

We can set a breakpoint at main using the `break main` command.&#x20;

<figure><img src="https://1586847736-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtSZ40gLWhBDTzPEgHsVB%2Fuploads%2F0MHelGq2RNl1iledGY8j%2Fneworleans2.png?alt=media&#x26;token=b38b6503-a607-4967-a385-f61d3a5f7369" alt=""><figcaption></figcaption></figure>

We can see that the breakpoint has been set.

If we continue through the program using the `continue` or `c` command, the program has stopped execution at the breakpoint.&#x20;

<figure><img src="https://1586847736-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtSZ40gLWhBDTzPEgHsVB%2Fuploads%2FBqJECZoU33xCxA9pJXK3%2Fneworleans3.png?alt=media&#x26;token=df2a7e2f-1897-4fc2-8b7c-f68c801c9822" alt=""><figcaption></figcaption></figure>

The program calls the following functions:

* `create_password`: Creates and sets a password for the lock.
* `get_password`: Takes user input.
* `check_password`: Checks if user input is correct.
* The `create_password` function seems interesting. Let's set a breakpoint there using `break 447e` and continue execution flow using `c`.&#x20;

<figure><img src="https://1586847736-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtSZ40gLWhBDTzPEgHsVB%2Fuploads%2Fd19dvH2TGL6j7SyWmfwd%2Fneworleans4.png?alt=media&#x26;token=b4dc2b1b-b53f-4701-a2f6-3e57dfc82417" alt=""><figcaption></figcaption></figure>

As we can see we are now inside the `create_password` function. Note that we could have directly jumped into this program using `let pc = 447e` command.

So this function sets the value of `r15` to be equal to the address `0x2400` in memory.

And then it moves some characters which seem to be our password into that memory address.

Let's set a breakpoint at `44ac` and `continue` the execution.

Once we hit the breakpoint we can check the memory location using the `R 2400` command

```
> R 2400
2400 5f6a 6b70 214d 7200 0000 0000 0000 0000  _jkp!Mr.........
2410 0000 0000 0000 0000 0000 0000 0000 0000  ................
```

Or we can just look in the Live Memory Dump section.&#x20;

<figure><img src="https://1586847736-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtSZ40gLWhBDTzPEgHsVB%2Fuploads%2FJLgOrzJH2Y5X0ubPRpJf%2Fneworleans5.png?alt=media&#x26;token=189568ca-95ac-48cb-b545-5921b97ccf97" alt=""><figcaption></figcaption></figure>

So the string that was read into memory was `_jkp!Mr`.

Let's continue to where we are prompted for the passsword.&#x20;

<figure><img src="https://1586847736-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtSZ40gLWhBDTzPEgHsVB%2Fuploads%2FCEJUCYdZhLt4ZITufJgS%2Fneworleans6.png?alt=media&#x26;token=14f743bb-d7bf-4c84-8b0f-1ba8adcd2c96" alt=""><figcaption></figcaption></figure>

If we `send` this password to the lock, we get the following message:&#x20;

<figure><img src="https://1586847736-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtSZ40gLWhBDTzPEgHsVB%2Fuploads%2F8eSLmBHL9vB7zorzazfW%2Fneworleans7.png?alt=media&#x26;token=bbfe7eda-f4cb-46e2-a8c3-0a8e37a314a5" alt=""><figcaption></figcaption></figure>

We have successfully unlocked the door and can get the `Cy Yombinator bearer bonds` or whatever they are called.
