Function at 0x406adb
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push 0xc
call fcn.00462888
add esp, 4
mov dword [ebp - 4], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx], 0x543aca
push ebx
add ebx, 4
push ebx
push 8
call fcn.00462888
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
pop ebx
pop ebx
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
push 0x30001
push 0x16010005
push 0x52010001
push 1
mov ebx, 0x462ea0
call fcn.0046289a
add esp, 0x10
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 8]
push 0xffffffffffffffff
push 8
push 0x160114ec
push 0x52010001
call fcn.004628b8
add esp, 0x10
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x406ba9
push ebx
call fcn.0046288e
add esp, 4
pop eax
mov dword [ebp - 8], eax
push 0xffffffffffffffff
push 8
push 0x160114eb
push 0x52010001
call fcn.004628b8
add esp, 0x10
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
push eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x406bda
push ebx
call fcn.0046288e
add esp, 4
pop eax
mov dword [ebp - 0xc], eax
push 0xffffffffffffffff
push 8
push 0x16011502
push 0x52010001
call fcn.004628b8
add esp, 0x10
mov dword [ebp - 0x14], eax
push reloc.OLEAUT32.dll_SysReAllocStringLen
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x406c0a
mov eax, 0x54332e
push eax
push 1
mov ebx, 0x4637d0
call fcn.0046289a
add esp, 0x10
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x406c33
push ebx
call fcn.0046288e
add esp, 4
fld qword [ebp - 0x1c]
fmul qword [0x543a5c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
call fcn.00401131
push eax
call fcn.00402d90
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov eax, 0x543a64
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xd0]
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x406c86
push ebx
call fcn.0046288e
add esp, 4
push 0xffffffffffffffff
push 8
push 0x160114ec
push 0x52010001
call fcn.004628b8
add esp, 0x10
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], 0
push 0
push dword [ebp - 0x18]
lea eax, [ebp - 0x14]
push eax
mov eax, 0x543a64
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xc8]
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x406cdc
push ebx
call fcn.0046288e
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x406cec
push ebx
call fcn.0046288e
add esp, 4
push 0xffffffffffffffff
push 8
push 0x16011502
push 0x52010001
call fcn.004628b8
add esp, 0x10
mov dword [ebp - 0x14], eax
push reloc.OLEAUT32.dll_SysReAllocStringLen
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x406d18
mov eax, 0x54332e
push eax
push 1
mov ebx, 0x4637d0
call fcn.0046289a
add esp, 0x10
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x406d41
push ebx
call fcn.0046288e
add esp, 4
fld qword [ebp - 0x1c]
fmul qword [0x543a5c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
call fcn.00401131
push eax
call fcn.00402d90
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov eax, str.password
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xd0]
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x406d94
push ebx
call fcn.0046288e
add esp, 4
push 0xffffffffffffffff
push 8
push 0x160114eb
push 0x52010001
call fcn.004628b8
add esp, 0x10
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], 0
push 0
push dword [ebp - 0x18]
lea eax, [ebp - 0x14]
push eax
mov eax, str.password
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xc8]
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x406dea
push ebx
call fcn.0046288e
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x406dfa
push ebx
call fcn.0046288e
add esp, 4
push 0xffffffffffffffff
push 8
push 0x16011502
push 0x52010001
call fcn.004628b8
add esp, 0x10
mov dword [ebp - 0x14], eax
push reloc.OLEAUT32.dll_SysReAllocStringLen
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x406e26
mov eax, 0x54332e
push eax
push 1
mov ebx, 0x4637d0
call fcn.0046289a
add esp, 0x10
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x406e4f
push ebx
call fcn.0046288e
add esp, 4
fld qword [ebp - 0x1c]
fmul qword [0x543a5c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
call fcn.00401131
push eax
call fcn.00402d90
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov eax, str.pass_again
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xd0]
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x406ea2
push ebx
call fcn.0046288e
add esp, 4
push 0xffffffffffffffff
push 8
push 0x160114eb
push 0x52010001
call fcn.004628b8
add esp, 0x10
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], 0
push 0
push dword [ebp - 0x18]
lea eax, [ebp - 0x14]
push eax
mov eax, str.pass_again
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xc8]
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x406ef8
push ebx
call fcn.0046288e
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x406f08
push ebx
call fcn.0046288e
add esp, 4
push 0xffffffffffffffff
push 8
push 0x16011502
push 0x52010001
call fcn.004628b8
add esp, 0x10
mov dword [ebp - 0x14], eax
push reloc.OLEAUT32.dll_SysReAllocStringLen
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x406f34
mov eax, 0x54332e
push eax
push 1
mov ebx, 0x4637d0
call fcn.0046289a
add esp, 0x10
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x406f5d
push ebx
call fcn.0046288e
add esp, 4
fld qword [ebp - 0x1c]
fmul qword [0x543a5c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
call fcn.00401131
push eax
call fcn.00402d90
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov eax, 0x543a7d
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x264]
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x406fb0
push ebx
call fcn.0046288e
add esp, 4
push 0xffffffffffffffff
push 8
push 0x16011502
push 0x52010001
call fcn.004628b8
add esp, 0x10
mov dword [ebp - 0x14], eax
push reloc.OLEAUT32.dll_SysReAllocStringLen
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x406fdc
mov eax, 0x54332e
push eax
push 1
mov ebx, 0x4637d0
call fcn.0046289a
add esp, 0x10
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x407005
push ebx
call fcn.0046288e
add esp, 4
fld qword [ebp - 0x1c]
fmul qword [0x543a5c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
call fcn.00401131
push eax
call fcn.00402d90
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov eax, 0x543a80
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x264]
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x407058
push ebx
call fcn.0046288e
add esp, 4
push 0xffffffffffffffff
push 8
push 0x16011502
push 0x52010001
call fcn.004628b8
add esp, 0x10
mov dword [ebp - 0x14], eax
push reloc.OLEAUT32.dll_SysReAllocStringLen
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x407084
mov eax, 0x54332e
push eax
push 1
mov ebx, 0x4637d0
call fcn.0046289a
add esp, 0x10
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x4070ad
push ebx
call fcn.0046288e
add esp, 4
fld qword [ebp - 0x1c]
fmul qword [0x543a5c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
call fcn.00401131
push eax
call fcn.00402d90
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov eax, 0x543a84
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x264]
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x407100
push ebx
call fcn.0046288e
add esp, 4
push 0xffffffffffffffff
push 8
push 0x16011502
push 0x52010001
call fcn.004628b8
add esp, 0x10
mov dword [ebp - 0x14], eax
push reloc.OLEAUT32.dll_SysReAllocStringLen
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x40712c
mov eax, 0x54332e
push eax
push 1
mov ebx, 0x4637d0
call fcn.0046289a
add esp, 0x10
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x407155
push ebx
call fcn.0046288e
add esp, 4
fld qword [ebp - 0x1c]
fmul qword [0x543a5c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
call fcn.00401131
push eax
call fcn.00402d90
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov eax, str.country_value
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xd0]
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4071a8
push ebx
call fcn.0046288e
add esp, 4
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov eax, 0x543a96
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
mov eax, str.country_value
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xc8]
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x4071ed
push ebx
call fcn.0046288e
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4071fd
push ebx
call fcn.0046288e
add esp, 4
push 0xffffffffffffffff
push 8
push 0x16011502
push 0x52010001
call fcn.004628b8
add esp, 0x10
mov dword [ebp - 0x14], eax
push reloc.OLEAUT32.dll_SysReAllocStringLen
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x407229
mov eax, 0x54332e
push eax
push 1
mov ebx, 0x4637d0
call fcn.0046289a
add esp, 0x10
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x407252
push ebx
call fcn.0046288e
add esp, 4
fld qword [ebp - 0x1c]
fmul qword [0x543a5c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
call fcn.00401131
push eax
call fcn.00402d90
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov eax, str.province_value
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xd0]
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4072a5
push ebx
call fcn.0046288e
add esp, 4
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov eax, 0x543aaa
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
mov eax, str.province_value
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xc8]
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x4072ea
push ebx
call fcn.0046288e
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4072fa
push ebx
call fcn.0046288e
add esp, 4
push 0xffffffffffffffff
push 8
push 0x16011502
push 0x52010001
call fcn.004628b8
add esp, 0x10
mov dword [ebp - 0x14], eax
push reloc.OLEAUT32.dll_SysReAllocStringLen
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x407326
mov eax, 0x54332e
push eax
push 1
mov ebx, 0x4637d0
call fcn.0046289a
add esp, 0x10
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40734f
push ebx
call fcn.0046288e
add esp, 4
fld qword [ebp - 0x1c]
fmul qword [0x543a5c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
call fcn.00401131
push eax
call fcn.00402d90
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov eax, str.city_value
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xd0]
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4073a2
push ebx
call fcn.0046288e
add esp, 4
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov eax, 0x543aba
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
mov eax, str.city_value
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xc8]
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x4073e7
push ebx
call fcn.0046288e
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4073f7
push ebx
call fcn.0046288e
add esp, 4
push 0xffffffffffffffff
push 8
push 0x16011502
push 0x52010001
call fcn.004628b8
add esp, 0x10
mov dword [ebp - 0x14], eax
push reloc.OLEAUT32.dll_SysReAllocStringLen
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x407423
mov eax, 0x54332e
push eax
push 1
mov ebx, 0x4637d0
call fcn.0046289a
add esp, 0x10
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40744c
push ebx
call fcn.0046288e
add esp, 4
fld qword [ebp - 0x1c]
fmul qword [0x543a5c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
call fcn.00401131
push eax
call fcn.00402d90
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov eax, 0x543abf
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xd0]
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40749f
push ebx
call fcn.0046288e
add esp, 4
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push 1
push 2
mov ebx, 0x4630d0
call fcn.0046289a
add esp, 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jne 0x407514
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov eax, 0x543ac4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x194]
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40750f
push ebx
call fcn.0046288e
add esp, 4
jmp 0x40754d
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
mov eax, 0x543ac7
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x194]
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40754d
push ebx
call fcn.0046288e
add esp, 4
mov ebx, dword [ebp - 4]
push ebx
mov eax, dword [ebx]
call dword [eax]
call fcn.0046288e
add esp, 4
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40756d
push ebx
call fcn.0046288e
add esp, 4
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x40757d
push ebx
call fcn.0046288e
add esp, 4
mov esp, ebp
pop ebp
ret