Function at 0x401230
Capabilities:
Get geographical location

Disassembly:
push 0x30c
mov eax, 0x58a750
call fcn.004321e7
mov dword [ebp - 0x2ac], ecx
call fcn.00401dc2
mov dword [ebp - 0x2b8], eax
lea eax, [ebp - 0x28]
push eax
call fcn.0040638e
mov ecx, eax
call fcn.004080bf
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x18], ebx
ja 0x40136b
lea ecx, [ebp - 0x318]
call fcn.004250b0
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 1
call fcn.00425040
push ebx
lea ecx, [ebp - 0x318]
mov byte [ebp - 4], 2
call fcn.0042b6f0
push ebx
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x318]
push eax
call fcn.00401e48
mov ecx, eax
call fcn.0042b8a0
test al, al
je 0x401348
cmp dword [ebp - 0x8c], 0x10
lea eax, [ebp - 0xa0]
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x30], ebx
cmovae eax, dword [ebp - 0xa0]
push eax
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], bl
call fcn.00406124
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0040a35f
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.00406168
lea ecx, [ebp - 0x70]
call fcn.00406253
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 2
call fcn.004061ca
cmp dword [ebp - 0x18], ebx
jbe 0x401348
sub esp, 0x18
lea eax, [ebp - 0x28]
mov ecx, esp
mov dword [ebp - 0x2a8], esp
push eax
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.00405f07
mov byte [ebp - 4], 4
call fcn.0040638e
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.004086e5
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0xa4], vtable.CParseUserLocality.0
call fcn.004061ca
lea ecx, [ebp - 0x318]
mov byte [ebp - 4], bl
call fcn.00429550
lea eax, [ebp - 0x58]
push eax
call fcn.0040638e
mov ecx, eax
call fcn.00408192
mov byte [ebp - 4], 5
call fcn.0040eb9c
test al, al
je 0x4013f6
mov eax, dword [0x618308]
test eax, eax
je 0x4013f6
cmp dword [eax + 4], 4
jl 0x4013f6
push ebx
push ebx
push 0x5fbcd8
push 0x23
push str.CSoftStrategy::SaveStrategy
push 4
lea ecx, [ebp - 0x2a4]
call fcn.00405de0
mov edi, eax
lea esi, [edi + 0x30]
mov byte [ebp - 4], 6
push str._____get_sss_time_____
push esi
call fcn.004029f2
cmp dword [ebp - 0x44], 8
lea ecx, [ebp - 0x58]
cmovae ecx, dword [ebp - 0x58]
push ecx
push esi
call fcn.00402354
mov ecx, dword [0x618308]
add esp, 0x10
push edi
call fcn.00405ec4
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 5
call fcn.004040aa
cmp dword [ebp - 0x44], 8
lea eax, [ebp - 0x58]
push 1
cmovae eax, dword [ebp - 0x58]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00404085
call fcn.004097f5
add esp, 0x18
push edx
push eax
call fcn.004142ae
add esp, 0xc
test eax, eax
jne 0x401cee
push ebx
call fcn.0044d46c
push edx
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.004096ec
add esp, 0x10
mov byte [ebp - 4], 7
call fcn.0040eb9c
test al, al
je 0x4014c0
mov eax, dword [0x618308]
test eax, eax
je 0x4014c0
cmp dword [eax + 4], 4
jl 0x4014c0
push ebx
push ebx
push 0x5fbcd8
push 0x2a
push str.CSoftStrategy::SaveStrategy
push 4
lea ecx, [ebp - 0x2a4]
call fcn.00405de0
mov edi, eax
lea esi, [edi + 0x30]
mov byte [ebp - 4], 8
push str._____save_sss_time_____
push esi
call fcn.004029f2
cmp dword [ebp - 0x74], 8
lea ecx, [ebp - 0x88]
cmovae ecx, dword [ebp - 0x88]
push ecx
push esi
call fcn.00402354
mov ecx, dword [0x618308]
add esp, 0x10
push edi
call fcn.00405ec4
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 7
call fcn.004040aa
sub esp, 0x18
lea eax, [ebp - 0x88]
mov ecx, esp
mov dword [ebp - 0x2a8], esp
push eax
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.00405f07
mov byte [ebp - 4], 9
call fcn.0040638e
mov ecx, eax
mov byte [ebp - 4], 7
call fcn.004089b4
lea ecx, [ebp - 0x2f4]
call fcn.00425080
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 0xa
call fcn.00424fd0
push 0x1e
lea ecx, [ebp - 0x2f4]
mov byte [ebp - 4], 0xb
call fcn.0042b6f0
push ebx
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x2f4]
push eax
call fcn.00401e48
mov ecx, eax
call fcn.0042b8a0
test al, al
jne 0x401569
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x2f4]
push eax
call fcn.00401e48
mov ecx, eax
call fcn.0042b8a0
test al, al
je 0x401cc3
push 0x7c
call fcn.004318c8
pop ecx
mov dword [ebp - 0x2a8], eax
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.00401d0b
mov edi, dword [ebp - 0x2ac]
lea ecx, [ebp - 0x180]
push ecx
mov byte [ebp - 4], 0xb
mov ecx, eax
mov dword [edi], eax
call fcn.00403858
push dword [ebp - 0x168]
call fcn.0040638e
mov ecx, eax
call fcn.004088e8
push dword [ebp - 0x164]
call fcn.0040638e
mov ecx, eax
call fcn.0040834e
push dword [ebp - 0x160]
call fcn.0040638e
mov ecx, eax
call fcn.00408437
cmp dword [ebp - 0x18], 0
jbe 0x401660
push ecx
push dword [edi]
lea ecx, [ebp - 0x2c0]
call fcn.00401fa2
mov byte [ebp - 4], 0xd
mov esi, dword [ebp - 0x2c0]
mov eax, dword [esi]
mov dword [ebp - 0x2b4], eax
cmp eax, esi
je 0x401651
cmp dword [ebp - 0x14], 8
lea edi, [eax + 0x10]
lea eax, [ebp - 0x28]
mov ecx, edi
cmovae eax, dword [ebp - 0x28]
cmp dword [edi + 0x14], 8
jb 0x401618
mov ecx, dword [edi]
push eax
push ecx
call fcn.004097b6
pop ecx
pop ecx
test al, al
jne 0x40163c
lea ecx, [ebp - 0x2b4]
call fcn.00403d00
mov eax, dword [ebp - 0x2b4]
cmp eax, esi
jne 0x401600
jmp 0x40164b
push dword [edi + 0x18]
call fcn.0040638e
mov ecx, eax
call fcn.00408265
mov edi, dword [ebp - 0x2ac]
lea ecx, [ebp - 0x2c0]
mov byte [ebp - 4], 0xb
call fcn.00403d95
call fcn.00402a67
mov ecx, eax
call fcn.00414819
mov ecx, dword [edi]
add ecx, 8
mov dword [ebp - 0x2b4], eax
push ecx
push ecx
lea ecx, [ebp - 0x2d0]
call fcn.00401f10
mov byte [ebp - 4], 0xe
mov esi, dword [ebp - 0x2d0]
mov eax, dword [esi]
mov dword [ebp - 0x2b0], eax
cmp eax, esi
je 0x4016cf
mov edi, dword [ebp - 0x2b4]
cmp dword [eax + 0x10], edi
jne 0x4016b4
push dword [eax + 0x14]
call fcn.0040638e
mov ecx, eax
call fcn.00408520
lea ecx, [ebp - 0x2b0]
call fcn.00403d00
mov eax, dword [ebp - 0x2b0]
cmp eax, esi
jne 0x4016a0
mov edi, dword [ebp - 0x2ac]
mov eax, dword [edi]
push ecx
add eax, 0x10
lea ecx, [ebp - 0x2c8]
push eax
call fcn.00401f10
mov byte [ebp - 4], 0xf
mov esi, dword [ebp - 0x2c8]
mov eax, dword [esi]
mov dword [ebp - 0x2b0], eax
cmp eax, esi
je 0x40172d
mov edi, dword [ebp - 0x2b8]
mov ecx, dword [eax + 0x10]
and ecx, edi
cmp ecx, edi
jne 0x401718
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0040638e
mov ecx, eax
call fcn.004087c2
lea ecx, [ebp - 0x2b0]
call fcn.00403d00
mov eax, dword [ebp - 0x2b0]
cmp eax, esi
jne 0x4016fd
lea eax, [ebp - 0x104]
push str.SAVE_KEY_360_SAFE_SOFT_INS_RETAIN
push eax
call fcn.00415680
lea eax, [ebp - 0xec]
mov byte [ebp - 4], 0x10
push str.SAVE_KEY_QQ_SAFE_SOFT_INS_RETAIN
push eax
call fcn.00415680
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 0x11
push str.SAVE_KEY_KINGSOFT_SAFE_SOFT_INS_RETAIN
push eax
call fcn.00415680
lea eax, [ebp - 0xbc]
mov byte [ebp - 4], 0x12
push str.SAVE_KEY_HUORONG_SAFE_SOFT_INS_RETAIN
push eax
call fcn.00415680
add esp, 0x20
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x104]
push dword [ebp - 0x15c]
push 8
pop esi
cmp dword [ebp - 0xf0], esi
cmovae eax, dword [ebp - 0x104]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2a8], esp
push eax
call fcn.00404085
mov byte [ebp - 4], 0x14
call fcn.0040638e
mov ecx, eax
mov byte [ebp - 4], 0x13
call fcn.00408609
push dword [ebp - 0x150]
cmp dword [ebp - 0xd8], esi
lea eax, [ebp - 0xec]
cmovae eax, dword [ebp - 0xec]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2a8], esp
push eax
call fcn.00404085
mov byte [ebp - 4], 0x15
call fcn.0040638e
mov ecx, eax
mov byte [ebp - 4], 0x13
call fcn.00408609
push dword [ebp - 0x154]
cmp dword [ebp - 0xc0], esi
lea eax, [ebp - 0xd4]
cmovae eax, dword [ebp - 0xd4]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2a8], esp
push eax
call fcn.00404085
mov byte [ebp - 4], 0x16
call fcn.0040638e
mov ecx, eax
mov byte [ebp - 4], 0x13
call fcn.00408609
push dword [ebp - 0x158]
cmp dword [ebp - 0xa8], esi
lea eax, [ebp - 0xbc]
cmovae eax, dword [ebp - 0xbc]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2a8], esp
push eax
call fcn.00404085
mov byte [ebp - 4], 0x17
call fcn.0040638e
mov ecx, eax
mov byte [ebp - 4], 0x13
call fcn.00408609
xor esi, esi
inc esi
cmp dword [ebp - 0x18], 0
mov dword [ebp - 0x2ac], esi
jbe 0x401a7b
mov edi, dword [ebp - 0x148]
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x2b0], edi
mov dword [ebp - 0x2a8], eax
cmp edi, eax
je 0x401a7b
push edi
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
call fcn.00404c21
mov byte [ebp - 4], 0x18
call fcn.0040eb9c
test al, al
je 0x401993
mov eax, dword [0x618308]
test eax, eax
je 0x401993
cmp dword [eax + 4], 4
jl 0x401993
lea eax, [ebp - 0x28]
push eax
push 0x3a8
sub esp, 0x18
lea eax, [ebp - 0x40]
mov ecx, esp
push eax
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.00404c21
lea eax, [ebp - 0x70]
push eax
call fcn.004099c2
add esp, 0x20
mov edi, eax
push ebx
push ebx
push 0x5fbcd8
push 0x70
push str.CSoftStrategy::SaveStrategy
push 4
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 0x19
call fcn.00405de0
mov esi, eax
lea ecx, [esi + 0x30]
mov byte [ebp - 4], 0x1a
push str.city:svr
push ecx
call fcn.00402354
pop ecx
pop ecx
push edi
mov ecx, esi
call fcn.00401eec
mov esi, eax
push str._tcur
lea ecx, [esi + 0x30]
push ecx
call fcn.00402354
pop ecx
pop ecx
mov ecx, esi
call fcn.00401eec
mov ecx, dword [0x618308]
push eax
call fcn.00405ec4
lea ecx, [ebp - 0x2a4]
call fcn.004040aa
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x18
call fcn.00406253
mov edi, dword [ebp - 0x2b0]
cmp dword [ebp - 0x14], 8
lea esi, [ebp - 0x28]
push 0x3a8
cmovae esi, dword [ebp - 0x28]
lea eax, [ebp - 0x40]
sub esp, 0x18
mov ecx, esp
push eax
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.00404c21
lea eax, [ebp - 0x70]
push eax
call fcn.004099c2
add esp, 0x20
mov ecx, eax
push esi
call fcn.00402034
lea ecx, [ebp - 0x70]
mov bl, al
call fcn.00406253
test bl, bl
jne 0x401a05
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x13
call fcn.004061ca
add edi, 0x18
push 0
mov dword [ebp - 0x2b0], edi
pop ebx
cmp edi, dword [ebp - 0x2a8]
jne 0x4018b2
mov esi, dword [ebp - 0x2ac]
jmp 0x401a7b
call fcn.0040eb9c
xor ebx, ebx
test al, al
je 0x401a67
mov eax, dword [0x618308]
test eax, eax
je 0x401a67
cmp dword [eax + 4], 4
jl 0x401a67
push ebx
push ebx
push 0x5fbcd8
push 0x72
push str.CSoftStrategy::SaveStrategy
push 4
lea ecx, [ebp - 0x2a4]
call fcn.00405de0
mov esi, eax
lea ecx, [esi + 0x30]
mov byte [ebp - 4], 0x1b
push str.city:hitted
push ecx
call fcn.00402354
pop ecx
pop ecx
mov ecx, dword [0x618308]
push esi
call fcn.00405ec4
lea ecx, [ebp - 0x2a4]
call fcn.004040aa
mov esi, ebx
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x2ac], esi
call fcn.004061ca
mov eax, dword [ebp - 0x2b8]
test eax, eax
je 0x401abd
cmp dword [ebp - 0x130], 0
je 0x401a92
test al, 8
jne 0x401ace
cmp dword [ebp - 0x12c], 0
je 0x401a9f
test al, 2
jne 0x401ace
cmp dword [ebp - 0x128], 0
je 0x401aac
test al, 4
jne 0x401ace
cmp dword [ebp - 0x124], 0
je 0x401ab9
test al, 1
jne 0x401ace
mov esi, ebx
jmp 0x401ac8
xor eax, eax
cmp dword [ebp - 0x120], eax
cmove esi, eax
mov dword [ebp - 0x2ac], esi
cmp dword [ebp - 0x2b4], 0
je 0x401c72
mov ebx, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x138]
mov dword [ebp - 0x2b8], ebx
mov dword [ebp - 0x2a8], edi
cmp ebx, edi
je 0x401c72
mov esi, dword [ebx]
mov dword [ebp - 0x2b0], esi
call fcn.0040eb9c
test al, al
je 0x401be6
mov eax, dword [0x618308]
test eax, eax
je 0x401be6
cmp dword [eax + 4], 4
jl 0x401be6
push dword [ebp - 0x2b4]
lea eax, [ebp - 0x40]
push eax
call fcn.0040971a
mov ebx, eax
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x1c
push esi
push eax
call fcn.0040971a
add esp, 0x10
mov edi, eax
xor eax, eax
mov byte [ebp - 4], 0x1d
push eax
push eax
push 0x5fbcd8
push 0x8d
push str.CSoftStrategy::SaveStrategy
push 4
lea ecx, [ebp - 0x2a4]
call fcn.00405de0
mov esi, eax
lea ecx, [esi + 0x30]
mov byte [ebp - 4], 0x1e
push str.qid:svr
push ecx
call fcn.00402354
pop ecx
pop ecx
push edi
mov ecx, esi
call fcn.00401eec
mov edi, eax
push str._tcur
lea ecx, [edi + 0x30]
push ecx
call fcn.00402354
mov esi, dword [0x618308]
pop ecx
pop ecx
push ebx
mov ecx, edi
call fcn.00401eec
push eax
mov ecx, esi
call fcn.00405ec4
lea ecx, [ebp - 0x2a4]
call fcn.004040aa
lea ecx, [ebp - 0x70]
call fcn.00406253
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x13
call fcn.00406253
mov ebx, dword [ebp - 0x2b8]
mov edi, dword [ebp - 0x2a8]
mov esi, dword [ebp - 0x2b0]
cmp esi, dword [ebp - 0x2b4]
je 0x401c07
add ebx, 4
mov dword [ebp - 0x2b8], ebx
cmp ebx, edi
jne 0x401afb
mov esi, dword [ebp - 0x2ac]
jmp 0x401c72
call fcn.0040eb9c
test al, al
je 0x401c70
mov eax, dword [0x618308]
test eax, eax
je 0x401c70
cmp dword [eax + 4], 4
jl 0x401c70
xor eax, eax
lea ecx, [ebp - 0x2a4]
push eax
push eax
push 0x5fbcd8
push 0x8f
push str.CSoftStrategy::SaveStrategy
push 4
call fcn.00405de0
mov esi, eax
lea ecx, [esi + 0x30]
mov byte [ebp - 4], 0x1f
push str.qid:hitted
push ecx
call fcn.00402354
pop ecx
pop ecx
mov ecx, dword [0x618308]
push esi
call fcn.00405ec4
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 0x13
call fcn.004040aa
xor esi, esi
push esi
call fcn.0040638e
mov ecx, eax
call fcn.00408a91
lea ecx, [ebp - 0xbc]
mov bl, 1
call fcn.00406253
lea ecx, [ebp - 0xd4]
call fcn.00406253
lea ecx, [ebp - 0xec]
call fcn.00406253
lea ecx, [ebp - 0x104]
call fcn.00406253
lea ecx, [ebp - 0x2c8]
call fcn.00403f01
lea ecx, [ebp - 0x2d0]
call fcn.00403f01
lea ecx, [ebp - 0x180]
mov dword [ebp - method.CParseSoftStrategy.virtual_0], vtable.CParseSoftStrategy.0
call fcn.0040402b
lea ecx, [ebp - 0x2f4]
call fcn.00429550
lea ecx, [ebp - 0x88]
call fcn.00406253
lea ecx, [ebp - 0x58]
call fcn.00406253
lea ecx, [ebp - 0x28]
call fcn.00406253
mov al, bl
call fcn.00432191
ret