Function at 0x459340
Capabilities:
Get geographical location

Disassembly:
push 0xffffffffffffffff
push 0x5b1fe1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x134
push ebx
push esi
mov dword [esp + 0x1c], 0
mov eax, dword [0x63b4a0]
mov ebx, 1
mov dword [esp + 0x144], ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], eax
mov eax, dword [0x64a740]
lea ecx, [esp + 0x2c]
push eax
mov byte [esp + 0x148], 4
call fcn.00557aba
push 0x645010
lea ecx, [esp + 0x10]
mov byte [esp + 0x148], 5
call fcn.0058e0c8
push 0x645010
lea ecx, [esp + 0x18]
call fcn.0058e0c8
push ecx
lea edx, [esp + 0x154]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0058dcb4
lea eax, [esp + 0x28]
push eax
call fcn.004281d0
add esp, 8
push eax
lea ecx, [esp + 0x154]
mov byte [esp + 0x148], 6
call fcn.0058e078
lea ecx, [esp + 0x24]
mov byte [esp + 0x144], 5
call fcn.0058df3f
mov ecx, dword [esp + 0x150]
mov eax, dword [ecx - 8]
mov ecx, dword [0x64a6ec]
cmp eax, ecx
jge 0x459434
mov esi, dword [esp + 0x14c]
push 0x645010
mov ecx, esi
call fcn.0058dfad
mov dword [esp + 0x1c], ebx
jmp 0x459dac
lea edx, [esp + 0x10]
push 3
push edx
lea ecx, [esp + 0x158]
call fcn.00588091
mov eax, dword [eax]
push 0x619908
push eax
mov byte [esp + 0x14c], 7
call fcn.00568a52
add esp, 8
test eax, eax
je 0x45951d
lea eax, [esp + 0x24]
push 3
push eax
lea ecx, [esp + 0x158]
call fcn.00588091
mov eax, dword [eax]
push 0x619904
push eax
call fcn.00568a52
add esp, 8
lea ecx, [esp + 0x24]
test eax, eax
sete byte [esp + 0xb]
call fcn.0058df3f
mov al, byte [esp + 0xb]
test al, al
jne 0x45951d
lea ecx, [esp + 0x28]
push 3
push ecx
lea ecx, [esp + 0x158]
call fcn.00588091
mov eax, dword [eax]
push 0x619900
push eax
call fcn.00568a52
add esp, 8
lea ecx, [esp + 0x28]
test eax, eax
sete byte [esp + 0xb]
call fcn.0058df3f
mov al, byte [esp + 0xb]
test al, al
jne 0x45951d
lea edx, [esp + 0x20]
push 3
push edx
lea ecx, [esp + 0x158]
call fcn.00588091
mov eax, dword [eax]
push 0x6198fc
push eax
call fcn.00568a52
add esp, 8
lea ecx, [esp + 0x20]
test eax, eax
sete byte [esp + 0xb]
call fcn.0058df3f
mov al, byte [esp + 0xb]
mov byte [esp + 0xb], 0
test al, al
je 0x459521
mov byte [esp + 0xb], bl
lea ecx, [esp + 0x10]
mov byte [esp + 0x144], 5
call fcn.0058df3f
mov al, byte [esp + 0xb]
test al, al
je 0x45957d
mov eax, dword [esp + 0x150]
lea ecx, [esp + 0x10]
mov eax, dword [eax - 8]
dec eax
push eax
push ecx
lea ecx, [esp + 0x158]
call fcn.00588015
push eax
lea ecx, [esp + 0x154]
mov byte [esp + 0x148], 8
call fcn.0058e078
lea ecx, [esp + 0x10]
mov byte [esp + 0x144], 5
call fcn.0058df3f
lea edx, [esp + 0x10]
push 3
push edx
lea ecx, [esp + 0x158]
call fcn.00588091
mov eax, dword [eax]
push 0x619f20
push eax
call fcn.00568a52
add esp, 8
lea ecx, [esp + 0x10]
test eax, eax
sete byte [esp + 0xb]
call fcn.0058df3f
mov al, byte [esp + 0xb]
test al, al
je 0x4595c2
push 0x619f18
jmp 0x459d9a
lea eax, [esp + 0x10]
push 3
push eax
lea ecx, [esp + 0x158]
call fcn.00588091
mov eax, dword [eax]
push 0x619f14
push eax
call fcn.00568a52
add esp, 8
lea ecx, [esp + 0x10]
test eax, eax
sete byte [esp + 0xb]
call fcn.0058df3f
mov al, byte [esp + 0xb]
test al, al
je 0x459607
push 0x619f08
jmp 0x459d9a
lea ecx, [esp + 0x10]
push 3
push ecx
lea ecx, [esp + 0x158]
call fcn.00588091
mov eax, dword [eax]
push 0x619f04
push eax
call fcn.00568a52
add esp, 8
lea ecx, [esp + 0x10]
test eax, eax
sete byte [esp + 0xb]
call fcn.0058df3f
mov al, byte [esp + 0xb]
test al, al
je 0x45964c
push 0x619efc
jmp 0x459d9a
lea edx, [esp + 0x10]
push 3
push edx
lea ecx, [esp + 0x158]
call fcn.00588091
mov eax, dword [eax]
push 0x619ef8
push eax
call fcn.00568a52
add esp, 8
lea ecx, [esp + 0x10]
test eax, eax
sete byte [esp + 0xb]
call fcn.0058df3f
mov al, byte [esp + 0xb]
test al, al
je 0x459691
push 0x619ef0
jmp 0x459d9a
lea eax, [esp + 0x10]
push 3
push eax
lea ecx, [esp + 0x158]
call fcn.00588091
mov eax, dword [eax]
push 0x619eec
push eax
call fcn.00568a52
add esp, 8
lea ecx, [esp + 0x10]
test eax, eax
sete byte [esp + 0xb]
call fcn.0058df3f
mov al, byte [esp + 0xb]
test al, al
je 0x4596d6
push 0x619ee4
jmp 0x459d9a
lea ecx, [esp + 0x10]
push 3
push ecx
lea ecx, [esp + 0x158]
call fcn.00588091
mov eax, dword [eax]
push 0x619ee0
push eax
call fcn.00568a52
add esp, 8
lea ecx, [esp + 0x10]
test eax, eax
sete byte [esp + 0xb]
call fcn.0058df3f
mov al, byte [esp + 0xb]
test al, al
je 0x45971b
push 0x619ed0
jmp 0x459d9a
lea edx, [esp + 0x10]
push 3
push edx
lea ecx, [esp + 0x158]
call fcn.00588091
mov eax, dword [eax]
push 0x619ecc
push eax
call fcn.00568a52
add esp, 8
lea ecx, [esp + 0x10]
test eax, eax
sete byte [esp + 0xb]
call fcn.0058df3f
mov al, byte [esp + 0xb]
test al, al
je 0x459760
push 0x619ec0
jmp 0x459d9a
lea eax, [esp + 0x10]
push 3
push eax
lea ecx, [esp + 0x158]
call fcn.00588091
mov eax, dword [eax]
push 0x619ebc
push eax
call fcn.00568a52
add esp, 8
lea ecx, [esp + 0x10]
test eax, eax
sete byte [esp + 0xb]
call fcn.0058df3f
mov al, byte [esp + 0xb]
test al, al
je 0x4597a5
push 0x619eb0
jmp 0x459d9a
lea ecx, [esp + 0x10]
push 3
push ecx
lea ecx, [esp + 0x158]
call fcn.00588091
mov eax, dword [eax]
push 0x619eac
push eax
call fcn.00568a52
add esp, 8
lea ecx, [esp + 0x10]
test eax, eax
sete byte [esp + 0xb]
call fcn.0058df3f
mov al, byte [esp + 0xb]
test al, al
je 0x4597ea
push 0x619e0c
jmp 0x459d9a
lea edx, [esp + 0x10]
push 3
push edx
lea ecx, [esp + 0x158]
call fcn.00588091
mov eax, dword [eax]
push 0x619ea8
push eax
call fcn.00568a52
add esp, 8
lea ecx, [esp + 0x10]
test eax, eax
sete byte [esp + 0xb]
call fcn.0058df3f
mov al, byte [esp + 0xb]
test al, al
je 0x45982f
push 0x619e00
jmp 0x459d9a
lea eax, [esp + 0x10]
push 4
push eax
lea ecx, [esp + 0x158]
call fcn.00588091
mov eax, dword [eax]
push str.0898
push eax
call fcn.00568a52
add esp, 8
lea ecx, [esp + 0x10]
test eax, eax
sete byte [esp + 0xb]
call fcn.0058df3f
mov al, byte [esp + 0xb]
test al, al
je 0x459874
push 0x619e58
jmp 0x459d9a
lea ecx, [esp + 0x20]
push 3
push ecx
lea ecx, [esp + 0x158]
call fcn.00588091
mov eax, dword [eax]
push 0x619df4
push eax
mov byte [esp + 0x14c], 9
call fcn.00568a52
add esp, 8
test eax, eax
je 0x4598e3
lea edx, [esp + 0x10]
push 3
push edx
lea ecx, [esp + 0x158]
call fcn.00588091
mov eax, dword [eax]
push 0x619df0
push eax
call fcn.00568a52
add esp, 8
lea ecx, [esp + 0x10]
test eax, eax
sete byte [esp + 0xb]
call fcn.0058df3f
mov al, byte [esp + 0xb]
mov byte [esp + 0xb], 0
test al, al
je 0x4598e7
mov byte [esp + 0xb], bl
lea ecx, [esp + 0x20]
mov byte [esp + 0x144], 5
call fcn.0058df3f
mov al, byte [esp + 0xb]
test al, al
je 0x45990a
push 0x619de4
jmp 0x459d9a
lea eax, [esp + 0x24]
push 2
push eax
lea ecx, [esp + 0x158]
call fcn.00588091
mov eax, dword [eax]
push 0x619788
push eax
mov byte [esp + 0x14c], 0xa
call fcn.00568a52
add esp, 8
test eax, eax
je 0x4599f3
lea ecx, [esp + 0x10]
push 2
push ecx
lea ecx, [esp + 0x158]
call fcn.00588091
mov eax, dword [eax]
push 0x619784
push eax
call fcn.00568a52
add esp, 8
lea ecx, [esp + 0x10]
test eax, eax
sete byte [esp + 0xb]
call fcn.0058df3f
mov al, byte [esp + 0xb]
test al, al
jne 0x4599f3
lea edx, [esp + 0x20]
push 2
push edx
lea ecx, [esp + 0x158]
call fcn.00588091
mov eax, dword [eax]
push 0x619780
push eax
call fcn.00568a52
add esp, 8
lea ecx, [esp + 0x20]
test eax, eax
sete byte [esp + 0xb]
call fcn.0058df3f
mov al, byte [esp + 0xb]
test al, al
jne 0x4599f3
lea eax, [esp + 0x28]
push 2
push eax
lea ecx, [esp + 0x158]
call fcn.00588091
mov eax, dword [eax]
push 0x61977c
push eax
call fcn.00568a52
add esp, 8
lea ecx, [esp + 0x28]
test eax, eax
sete byte [esp + 0xb]
call fcn.0058df3f
mov al, byte [esp + 0xb]
mov byte [esp + 0xb], 0
test al, al
je 0x4599f7
mov byte [esp + 0xb], bl
lea ecx, [esp + 0x24]
mov byte [esp + 0x144], 5
call fcn.0058df3f
mov al, byte [esp + 0xb]
test al, al
je 0x459bba
lea ecx, [esp + 0x10]
push 7
push ecx
lea ecx, [esp + 0x158]
call fcn.00588091
mov edx, dword [eax]
lea eax, [esp + 0x18]
push edx
push str.select__from_T_MobileArea_where_S_Num_s
push eax
mov byte [esp + 0x150], 0xb
call fcn.00588507
add esp, 0xc
lea ecx, [esp + 0x10]
mov byte [esp + 0x144], 5
call fcn.0058df3f
push 0x649cf8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x18]
push 0
push ecx
push 0
lea ecx, [esp + 0x38]
call fcn.00557dcf
mov eax, dword [esp + 0xf4]
test eax, eax
jne 0x459aa3
lea edx, [esp + 0xc]
lea ecx, [esp + 0x2c]
push edx
push str.S_Province
call fcn.0055891c
lea eax, [esp + 0x14]
lea ecx, [esp + 0x2c]
push eax
push str.S_City
call fcn.0055891c
lea ecx, [esp + 0x2c]
call fcn.00557ea3
push 0x649cf8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0xc]
push 0x645010
push ecx
call fcn.00568a52
add esp, 8
test eax, eax
je 0x459d95
mov edx, dword [esp + 0xc]
push 0x619f18
push edx
call fcn.00568a52
add esp, 8
test eax, eax
jne 0x459af1
push 0x619f18
jmp 0x459d9a
mov eax, dword [esp + 0xc]
push 0x619efc
push eax
call fcn.00568a52
add esp, 8
test eax, eax
jne 0x459b11
push 0x619efc
jmp 0x459d9a
mov ecx, dword [esp + 0xc]
push 0x619ef0
push ecx
call fcn.00568a52
add esp, 8
test eax, eax
jne 0x459b31
push 0x619ef0
jmp 0x459d9a
mov edx, dword [esp + 0xc]
push 0x619ee4
push edx
call fcn.00568a52
add esp, 8
test eax, eax
jne 0x459b51
push 0x619ee4
jmp 0x459d9a
mov eax, dword [esp + 0xc]
push 0x619e58
push eax
call fcn.00568a52
add esp, 8
test eax, eax
jne 0x459b71
push 0x619e58
jmp 0x459d9a
lea ecx, [esp + 0xc]
push 0x619de0
lea edx, [esp + 0x14]
push ecx
push edx
call fcn.0058e1d4
mov esi, dword [esp + 0x14c]
lea ecx, [esp + 0x14]
push ecx
push eax
push esi
mov byte [esp + 0x150], 0xc
call fcn.0058e16e
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x144], 5
call fcn.0058df3f
jmp 0x459dac
lea edx, [esp + 0x10]
push ebx
push edx
lea ecx, [esp + 0x158]
call fcn.00588091
mov eax, dword [eax]
push 0x6197c0
push eax
call fcn.00568a52
add esp, 8
lea ecx, [esp + 0x10]
test eax, eax
sete byte [esp + 0xb]
call fcn.0058df3f
mov al, byte [esp + 0xb]
test al, al
je 0x459d95
lea eax, [esp + 0x10]
push 4
push eax
lea ecx, [esp + 0x158]
call fcn.00588091
mov ecx, dword [eax]
lea edx, [esp + 0x18]
push ecx
push str.select__from_CityInfo_where_Pos_s
push edx
mov byte [esp + 0x150], 0xd
call fcn.00588507
add esp, 0xc
lea ecx, [esp + 0x10]
mov byte [esp + 0x144], 5
call fcn.0058df3f
push 0x649cf8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x18]
push 0
push eax
push 0
lea ecx, [esp + 0x38]
call fcn.00557dcf
mov eax, dword [esp + 0xf4]
test eax, eax
jne 0x459c87
lea ecx, [esp + 0xc]
push ecx
push str.Parent
lea ecx, [esp + 0x34]
call fcn.0055891c
lea edx, [esp + 0x14]
lea ecx, [esp + 0x2c]
push edx
push str.City
call fcn.0055891c
lea ecx, [esp + 0x2c]
call fcn.00557ea3
push 0x649cf8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esp + 0xc]
push 0x645010
push eax
call fcn.00568a52
add esp, 8
test eax, eax
je 0x459d95
mov ecx, dword [esp + 0xc]
push 0x619f18
push ecx
call fcn.00568a52
add esp, 8
test eax, eax
jne 0x459cd5
push 0x619f18
jmp 0x459d9a
mov edx, dword [esp + 0xc]
push 0x619efc
push edx
call fcn.00568a52
add esp, 8
test eax, eax
jne 0x459cf5
push 0x619efc
jmp 0x459d9a
mov eax, dword [esp + 0xc]
push 0x619ef0
push eax
call fcn.00568a52
add esp, 8
test eax, eax
jne 0x459d15
push 0x619ef0
jmp 0x459d9a
mov ecx, dword [esp + 0xc]
push 0x619ee4
push ecx
call fcn.00568a52
add esp, 8
test eax, eax
jne 0x459d32
push 0x619ee4
jmp 0x459d9a
mov edx, dword [esp + 0xc]
push 0x619e58
push edx
call fcn.00568a52
add esp, 8
test eax, eax
jne 0x459d4f
push 0x619e58
jmp 0x459d9a
lea eax, [esp + 0xc]
push 0x619de0
lea ecx, [esp + 0x14]
push eax
push ecx
call fcn.0058e1d4
mov esi, dword [esp + 0x14c]
lea edx, [esp + 0x14]
push edx
push eax
push esi
mov byte [esp + 0x150], 0xe
call fcn.0058e16e
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x144], 5
call fcn.0058df3f
jmp 0x459dac
push 0x645010
mov esi, dword [esp + 0x150]
mov ecx, esi
call fcn.0058dfad
mov dword [esp + 0x1c], ebx
lea ecx, [esp + 0x2c]
mov byte [esp + 0x144], 4
call fcn.00557cc6
lea ecx, [esp + 0x14]
mov byte [esp + 0x144], 3
call fcn.0058df3f
lea ecx, [esp + 0xc]
mov byte [esp + 0x144], 2
call fcn.0058df3f
lea ecx, [esp + 0x18]
mov byte [esp + 0x144], bl
call fcn.0058df3f
lea ecx, [esp + 0x150]
mov byte [esp + 0x144], 0
call fcn.0058df3f
mov ecx, dword [esp + 0x13c]
mov eax, esi
pop esi
mov dword fs:[0], ecx
pop ebx
add esp, 0x140
ret