Function at 0x402483
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x12c
mov dword [esp], str.Choose_column:
call sym._printf
call sym._getchar
lea eax, [ebp - 0xf0]
mov dword [esp + 4], eax
mov dword [esp], 0x40523b
call sym._scanf
mov dword [esp + 4], str.Location
lea eax, [ebp - 0xf0]
mov dword [esp], eax
call sym._strcmp
test eax, eax
je 0x402596
mov dword [esp + 4], str.City
lea eax, [ebp - 0xf0]
mov dword [esp], eax
call sym._strcmp
test eax, eax
je 0x402596
mov dword [esp + 4], str.Price
lea eax, [ebp - 0xf0]
mov dword [esp], eax
call sym._strcmp
test eax, eax
je 0x402596
mov dword [esp + 4], str.Rooms
lea eax, [ebp - 0xf0]
mov dword [esp], eax
call sym._strcmp
test eax, eax
je 0x402596
mov dword [esp + 4], str.Bathroom
lea eax, [ebp - 0xf0]
mov dword [esp], eax
call sym._strcmp
test eax, eax
je 0x402596
mov dword [esp + 4], str.Carpark
lea eax, [ebp - 0xf0]
mov dword [esp], eax
call sym._strcmp
test eax, eax
je 0x402596
mov dword [esp + 4], str.Type
lea eax, [ebp - 0xf0]
mov dword [esp], eax
call sym._strcmp
test eax, eax
je 0x402596
mov dword [esp + 4], str.Furnish
lea eax, [ebp - 0xf0]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x40248f
call sym._getchar
mov dword [esp], str.Sort_ascending_or_descending___asc_dsc_:
call sym._printf
lea eax, [ebp - 0x8c]
mov dword [esp + 4], eax
mov dword [esp], str.___n_
call sym._scanf
call sym._getchar
mov dword [esp + 4], 0x4052be
lea eax, [ebp - 0x8c]
mov dword [esp], eax
call sym._strcmp
test eax, eax
je 0x4025f6
mov dword [esp + 4], 0x4052c2
lea eax, [ebp - 0x8c]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x40259b
mov dword [esp + 4], 0x4052be
lea eax, [ebp - 0x8c]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x40263a
mov dword [ebp - 0x24], 0x637361
lea eax, [ebp - 0x24]
mov dword [esp + 4], eax
lea eax, [ebp - 0xf0]
mov dword [esp], eax
call sym.bubbleSort_char__char_
mov dword [esp], str.Sorted_ascending_successfully.
call sym._puts
jmp 0x40267c
mov dword [esp + 4], 0x4052c2
lea eax, [ebp - 0x8c]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x40267c
mov dword [ebp - 0x28], 0x637364
lea eax, [ebp - 0x28]
mov dword [esp + 4], eax
lea eax, [ebp - 0xf0]
mov dword [esp], eax
call sym.bubbleSort_char__char_
mov dword [esp], str.Sorted_descending_successfully.
call sym._puts
mov dword [esp], str.Number_of_rows_to_display:
call sym._printf
lea eax, [ebp - 0x20]
mov dword [esp + 4], eax
mov dword [esp], section..rdata
call sym._scanf
mov dword [esp], str.Location_t_tCity_t_tPrice_t_tRooms_tBathroom_tCarpark_tType_t_tFurnish
call sym._puts
mov edx, dword [ebp - 0x20]
mov eax, dword [0x406024]
cmp edx, eax
jle 0x4026bb
mov eax, dword [0x406024]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], 0
jmp 0x4027a0
mov edx, dword [0x406020]
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0x5e
add eax, edx
lea esi, [eax + 0x4f]
mov edx, dword [0x406020]
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0x5e
add eax, edx
add eax, 0x40
mov dword [ebp - 0xfc], eax
mov edx, dword [0x406020]
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0x5e
add eax, edx
lea ecx, [eax + 0x3d]
mov dword [ebp - 0x100], ecx
mov edx, dword [0x406020]
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0x5e
add eax, edx
lea ebx, [eax + 0x3a]
mov dword [ebp - 0x104], ebx
mov edx, dword [0x406020]
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0x5e
add eax, edx
lea edi, [eax + 0x37]
mov edx, dword [0x406020]
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0x5e
add eax, edx
lea ebx, [eax + 0x2d]
mov edx, dword [0x406020]
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0x5e
add eax, edx
lea ecx, [eax + 0x19]
mov edx, dword [0x406020]
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0x5e
add eax, edx
mov dword [esp + 0x20], esi
mov esi, dword [ebp - 0xfc]
mov dword [esp + 0x1c], esi
mov esi, dword [ebp - 0x100]
mov dword [esp + 0x18], esi
mov esi, dword [ebp - 0x104]
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 - 0x1c], 1
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x1c], eax
jl 0x4026c7
mov dword [esp], str.Press_any_key_to_continue...
call sym._printf
call sym._getch
call sym.showMenu__
add esp, 0x12c
pop ebx
pop esi
pop edi
pop ebp
ret