Function at 0x401959
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x5c
mov dword [ebp - 0x1c], 0
mov dword [esp], str.Location_t_tCity_t_tPrice_t_tRooms_tBathroom_tCarpark_tType_t_tFurnish
call sym._puts
mov dword [ebp - 0x20], 0
jmp 0x401be9
mov dword [ebp - 0x24], 0
mov dword [esp + 4], str.Location
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x4019b5
mov edx, dword [0x406020]
mov eax, dword [ebp - 0x20]
imul eax, eax, 0x5e
add eax, edx
mov dword [ebp - 0x24], eax
jmp 0x401afa
mov dword [esp + 4], str.City
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x4019e5
mov edx, dword [0x406020]
mov eax, dword [ebp - 0x20]
imul eax, eax, 0x5e
add eax, edx
add eax, 0x19
mov dword [ebp - 0x24], eax
jmp 0x401afa
mov dword [esp + 4], str.Price
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x401a15
mov edx, dword [0x406020]
mov eax, dword [ebp - 0x20]
imul eax, eax, 0x5e
add eax, edx
add eax, 0x2d
mov dword [ebp - 0x24], eax
jmp 0x401afa
mov dword [esp + 4], str.Rooms
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x401a45
mov edx, dword [0x406020]
mov eax, dword [ebp - 0x20]
imul eax, eax, 0x5e
add eax, edx
add eax, 0x37
mov dword [ebp - 0x24], eax
jmp 0x401afa
mov dword [esp + 4], str.Bathroom
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x401a75
mov edx, dword [0x406020]
mov eax, dword [ebp - 0x20]
imul eax, eax, 0x5e
add eax, edx
add eax, 0x3a
mov dword [ebp - 0x24], eax
jmp 0x401afa
mov dword [esp + 4], str.Carpark
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x401aa2
mov edx, dword [0x406020]
mov eax, dword [ebp - 0x20]
imul eax, eax, 0x5e
add eax, edx
add eax, 0x3d
mov dword [ebp - 0x24], eax
jmp 0x401afa
mov dword [esp + 4], str.Type
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x401acf
mov edx, dword [0x406020]
mov eax, dword [ebp - 0x20]
imul eax, eax, 0x5e
add eax, edx
add eax, 0x40
mov dword [ebp - 0x24], eax
jmp 0x401afa
mov dword [esp + 4], str.Furnish
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x401afa
mov edx, dword [0x406020]
mov eax, dword [ebp - 0x20]
imul eax, eax, 0x5e
add eax, edx
add eax, 0x4f
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x401be5
mov eax, dword [ebp - 0x24]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x401be5
add dword [ebp - 0x1c], 1
mov edx, dword [0x406020]
mov eax, dword [ebp - 0x20]
imul eax, eax, 0x5e
add eax, edx
lea esi, [eax + 0x4f]
mov edx, dword [0x406020]
mov eax, dword [ebp - 0x20]
imul eax, eax, 0x5e
add eax, edx
add eax, 0x40
mov dword [ebp - 0x2c], eax
mov edx, dword [0x406020]
mov eax, dword [ebp - 0x20]
imul eax, eax, 0x5e
add eax, edx
lea ecx, [eax + 0x3d]
mov dword [ebp - 0x30], ecx
mov edx, dword [0x406020]
mov eax, dword [ebp - 0x20]
imul eax, eax, 0x5e
add eax, edx
lea ebx, [eax + 0x3a]
mov dword [ebp - 0x34], ebx
mov edx, dword [0x406020]
mov eax, dword [ebp - 0x20]
imul eax, eax, 0x5e
add eax, edx
lea edi, [eax + 0x37]
mov edx, dword [0x406020]
mov eax, dword [ebp - 0x20]
imul eax, eax, 0x5e
add eax, edx
lea ebx, [eax + 0x2d]
mov edx, dword [0x406020]
mov eax, dword [ebp - 0x20]
imul eax, eax, 0x5e
add eax, edx
lea ecx, [eax + 0x19]
mov edx, dword [0x406020]
mov eax, dword [ebp - 0x20]
imul eax, eax, 0x5e
add eax, edx
mov dword [esp + 0x20], esi
mov esi, dword [ebp - 0x2c]
mov dword [esp + 0x1c], esi
mov esi, dword [ebp - 0x30]
mov dword [esp + 0x18], esi
mov esi, dword [ebp - 0x34]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], str.__20s_t__15s_t__8s_t_s_t_s_t_t_s_t_s_t__10s_n
call sym._printf
add dword [ebp - 0x20], 1
mov eax, dword [0x406024]
cmp dword [ebp - 0x20], eax
jl 0x401981
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], eax
mov dword [esp], str._d_Data_was_found._n
call sym._printf
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret