Function at 0x401250
Capabilities:
Get geographical location

Disassembly:
push 0x318
mov eax, 0x586bc3
call fcn.0042d9c2
mov dword [ebp - 0x2b0], ecx
call fcn.00401edc
mov dword [ebp - 0x2bc], eax
lea eax, [ebp - 0x28]
push eax
call fcn.00406a82
mov ecx, eax
call fcn.0040bd8d
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x18], ebx
ja 0x40137e
lea ecx, [ebp - 0x324]
call fcn.00422440
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 1
call fcn.004223a0
push ebx
lea ecx, [ebp - 0x324]
mov byte [ebp - 4], 2
call fcn.004268c0
push ebx
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x324]
push eax
call fcn.00401f64
mov ecx, eax
call fcn.00426a50
test al, al
je 0x40135b
cmp dword [ebp - 0x8c], 0x10
lea eax, [ebp - 0xa0]
lea ecx, [ebp - 0x40]
cmovae eax, dword [ebp - 0xa0]
push eax
call fcn.004067f7
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0040e47b
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.0040682c
lea ecx, [ebp - 0x70]
call fcn.00406942
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 2
call fcn.0040688e
cmp dword [ebp - 0x18], ebx
jbe 0x40135b
sub esp, 0x18
lea eax, [ebp - 0x28]
mov ecx, esp
mov dword [ebp - 0x2ac], esp
push eax
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.004065a8
mov byte [ebp - 4], 4
call fcn.00406a82
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.0040c449
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0xa4], vtable.CParseUserLocality.0
call fcn.0040688e
lea ecx, [ebp - 0x324]
mov byte [ebp - 4], bl
call fcn.00425760
lea eax, [ebp - 0x58]
push eax
call fcn.00406a82
mov ecx, eax
call fcn.0040be91
mov byte [ebp - 4], 5
call fcn.0040feee
test al, al
je 0x401413
mov eax, dword [0x611e08]
test eax, eax
je 0x401413
cmp dword [eax + 4], 4
jl 0x401413
push ebx
push ebx
push 0x5f5c84
push 0x23
push str.CSoftStrategy::SaveStrategy
push 4
lea ecx, [ebp - 0x2a8]
call fcn.0040649f
mov edi, eax
lea esi, [edi + 0x30]
mov byte [ebp - 4], 6
push str._____get_sss_time_____
push esi
call fcn.00402b30
cmp dword [ebp - 0x44], 8
lea ecx, [ebp - 0x58]
mov eax, 0x5f5c24
cmovae ecx, dword [ebp - 0x58]
test ecx, ecx
cmovne eax, ecx
push eax
push esi
call fcn.004022e0
mov ecx, dword [0x611e08]
add esp, 0x10
push edi
call fcn.00406584
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 4], 5
call fcn.0040432a
cmp dword [ebp - 0x44], 8
lea eax, [ebp - 0x58]
push 3
cmovae eax, dword [ebp - 0x58]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00404305
call fcn.0040db19
add esp, 0x18
push edx
push eax
call fcn.00411882
add esp, 0xc
test eax, eax
jne 0x401e06
push ebx
call fcn.00449c28
push edx
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.0040d800
add esp, 0x10
mov byte [ebp - 4], 7
call fcn.0040feee
test al, al
je 0x4014e7
mov eax, dword [0x611e08]
test eax, eax
je 0x4014e7
cmp dword [eax + 4], 4
jl 0x4014e7
push ebx
push ebx
push 0x5f5c84
push 0x2a
push str.CSoftStrategy::SaveStrategy
push 4
lea ecx, [ebp - 0x2a8]
call fcn.0040649f
mov edi, eax
lea esi, [edi + 0x30]
mov byte [ebp - 4], 8
push str._____save_sss_time_____
push esi
call fcn.00402b30
cmp dword [ebp - 0x74], 8
lea ecx, [ebp - 0x88]
mov eax, 0x5f5c24
cmovae ecx, dword [ebp - 0x88]
test ecx, ecx
cmovne eax, ecx
push eax
push esi
call fcn.004022e0
mov ecx, dword [0x611e08]
add esp, 0x10
push edi
call fcn.00406584
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 4], 7
call fcn.0040432a
sub esp, 0x18
lea eax, [ebp - 0x88]
mov ecx, esp
mov dword [ebp - 0x2ac], esp
push eax
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.004065a8
mov byte [ebp - 4], 9
call fcn.00406a82
mov ecx, eax
mov byte [ebp - 4], 7
call fcn.0040c70f
lea ecx, [ebp - 0x2fc]
call fcn.00422410
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 0xa
call fcn.00422310
push 0x1e
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 4], 0xb
call fcn.004268c0
push ebx
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x2fc]
push eax
call fcn.00401f64
mov ecx, eax
call fcn.00426a50
test al, al
jne 0x401590
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x2fc]
push eax
call fcn.00401f64
mov ecx, eax
call fcn.00426a50
test al, al
je 0x401ddb
push 0x80
call fcn.0042d224
pop ecx
mov dword [ebp - 0x2ac], eax
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.00401e23
mov edi, dword [ebp - 0x2b0]
lea ecx, [ebp - 0x184]
push ecx
mov byte [ebp - 4], 0xb
mov ecx, eax
mov dword [edi], eax
call fcn.00403a05
push dword [ebp - 0x16c]
call fcn.00406a82
mov ecx, eax
call fcn.0040c646
push dword [ebp - 0x168]
call fcn.00406a82
mov ecx, eax
call fcn.0040c044
push dword [ebp - 0x164]
call fcn.00406a82
mov ecx, eax
call fcn.0040c12a
cmp dword [ebp - 0x18], 0
jbe 0x4016a9
push ecx
push dword [edi]
lea ecx, [ebp - 0x2c4]
call fcn.004020bf
mov byte [ebp - 4], 0xd
mov esi, dword [ebp - 0x2c4]
mov eax, dword [esi]
mov dword [ebp - 0x2b8], eax
cmp eax, esi
je 0x401681
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 0x401642
mov ecx, dword [edi]
push eax
push ecx
call fcn.0040dac8
pop ecx
pop ecx
test al, al
jne 0x401666
lea ecx, [ebp - 0x2b8]
call fcn.00403e9c
mov eax, dword [ebp - 0x2b8]
cmp eax, esi
jne 0x40162a
jmp 0x401675
push dword [edi + 0x18]
call fcn.00406a82
mov ecx, eax
call fcn.0040bf5e
mov edi, dword [ebp - 0x2b0]
mov esi, dword [ebp - 0x2c4]
push esi
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x2ac]
push dword [esi]
lea ecx, [ebp - 0x2c4]
push eax
call fcn.00403ee3
push 0x2c
push dword [ebp - 0x2c4]
call fcn.0042d216
pop ecx
pop ecx
call fcn.00402bb3
mov ecx, eax
call fcn.00411da7
mov ecx, dword [edi]
add ecx, 8
mov dword [ebp - 0x2b8], eax
push ecx
push ecx
lea ecx, [ebp - 0x2d4]
call fcn.00402020
mov byte [ebp - 4], 0xe
mov esi, dword [ebp - 0x2d4]
mov eax, dword [esi]
mov dword [ebp - 0x2b4], eax
cmp eax, esi
je 0x401718
mov edi, dword [ebp - 0x2b8]
cmp dword [eax + 0x10], edi
jne 0x4016fd
push dword [eax + 0x14]
call fcn.00406a82
mov ecx, eax
call fcn.0040c210
lea ecx, [ebp - 0x2b4]
call fcn.00403e9c
mov eax, dword [ebp - 0x2b4]
cmp eax, esi
jne 0x4016e9
mov edi, dword [ebp - 0x2b0]
mov eax, dword [edi]
push ecx
add eax, 0x10
lea ecx, [ebp - 0x2cc]
push eax
call fcn.00402020
mov byte [ebp - 4], 0xf
mov esi, dword [ebp - 0x2cc]
mov eax, dword [esi]
mov dword [ebp - 0x2b4], eax
cmp eax, esi
je 0x401776
mov edi, dword [ebp - 0x2bc]
mov ecx, dword [eax + 0x10]
and ecx, edi
cmp ecx, edi
jne 0x401761
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.00406a82
mov ecx, eax
call fcn.0040c523
lea ecx, [ebp - 0x2b4]
call fcn.00403e9c
mov eax, dword [ebp - 0x2b4]
cmp eax, esi
jne 0x401746
lea eax, [ebp - 0x104]
push 0x2b
push eax
call fcn.004130ef
lea eax, [ebp - 0xec]
mov byte [ebp - 4], 0x10
push 0x2d
push eax
call fcn.004130ef
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 0x11
push 0x2c
push eax
call fcn.004130ef
lea eax, [ebp - 0xbc]
mov byte [ebp - 4], 0x12
push 0x2a
push eax
call fcn.004130ef
add esp, 0x20
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x104]
push dword [ebp - 0x160]
push 8
pop esi
cmp dword [ebp - 0xf0], esi
cmovae eax, dword [ebp - 0x104]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2ac], esp
push eax
call fcn.00404305
mov byte [ebp - 4], 0x14
call fcn.00406a82
mov ecx, eax
mov byte [ebp - 4], 0x13
call fcn.0040c36d
push dword [ebp - 0x154]
cmp dword [ebp - 0xd8], esi
lea eax, [ebp - 0xec]
cmovae eax, dword [ebp - 0xec]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2ac], esp
push eax
call fcn.00404305
mov byte [ebp - 4], 0x15
call fcn.00406a82
mov ecx, eax
mov byte [ebp - 4], 0x13
call fcn.0040c36d
push dword [ebp - 0x158]
cmp dword [ebp - 0xc0], esi
lea eax, [ebp - 0xd4]
cmovae eax, dword [ebp - 0xd4]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2ac], esp
push eax
call fcn.00404305
mov byte [ebp - 4], 0x16
call fcn.00406a82
mov ecx, eax
mov byte [ebp - 4], 0x13
call fcn.0040c36d
push dword [ebp - 0x15c]
cmp dword [ebp - 0xa8], esi
lea eax, [ebp - 0xbc]
cmovae eax, dword [ebp - 0xbc]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2ac], esp
push eax
call fcn.00404305
mov byte [ebp - 4], 0x17
call fcn.00406a82
mov ecx, eax
mov byte [ebp - 4], 0x13
call fcn.0040c36d
xor edi, edi
inc edi
cmp dword [ebp - 0x18], 0
jbe 0x401ad6
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x148]
mov dword [ebp - 0x2b0], eax
mov dword [ebp - 0x2c0], ecx
cmp eax, ecx
je 0x401ad6
push eax
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
call fcn.00404f69
mov byte [ebp - 4], 0x18
call fcn.0040feee
test al, al
je 0x4019f4
mov eax, dword [0x611e08]
test eax, eax
je 0x4019f4
cmp dword [eax + 4], 4
jl 0x4019f4
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.00404f69
lea eax, [ebp - 0x70]
push eax
call fcn.0040dba2
add esp, 0x20
mov esi, eax
push ebx
push ebx
push 0x5f5c84
push 0x70
push str.CSoftStrategy::SaveStrategy
push 4
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 4], 0x19
call fcn.0040649f
mov dword [ebp - 0x2b4], eax
add eax, 0x30
mov byte [ebp - 4], 0x1a
push str.city:svr
push eax
call fcn.004022e0
cmp dword [esi + 0x14], 8
pop ecx
pop ecx
jb 0x401988
mov esi, dword [esi]
test esi, esi
mov eax, 0x5f5c24
cmovne eax, esi
mov esi, dword [ebp - 0x2b4]
push eax
add esi, 0x30
push esi
call fcn.004022e0
push str._tcur
push esi
call fcn.004022e0
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
mov eax, 0x5f5c24
cmovae ecx, dword [ebp - 0x28]
test ecx, ecx
cmovne eax, ecx
push eax
push esi
call fcn.004022e0
mov ecx, dword [0x611e08]
add esp, 0x18
push dword [ebp - 0x2b4]
call fcn.00406584
lea ecx, [ebp - 0x2a8]
call fcn.0040432a
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x18
call fcn.00406942
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.00404f69
lea eax, [ebp - 0x70]
push eax
call fcn.0040dba2
add esp, 0x20
mov ecx, eax
push esi
call fcn.0040215e
lea ecx, [ebp - 0x70]
mov bl, al
call fcn.00406942
test bl, bl
jne 0x401a66
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x13
call fcn.0040688e
mov eax, dword [ebp - 0x2b0]
add eax, 0x18
push 0
mov dword [ebp - 0x2b0], eax
pop ebx
cmp eax, dword [ebp - 0x2c0]
jne 0x4018e9
jmp 0x401ad6
call fcn.0040feee
xor ebx, ebx
test al, al
je 0x401ac8
mov eax, dword [0x611e08]
test eax, eax
je 0x401ac8
cmp dword [eax + 4], 4
jl 0x401ac8
push ebx
push ebx
push 0x5f5c84
push 0x72
push str.CSoftStrategy::SaveStrategy
push 4
lea ecx, [ebp - 0x2a8]
call fcn.0040649f
mov esi, eax
lea ecx, [esi + 0x30]
mov byte [ebp - 4], 0x1b
push str.city:hitted
push ecx
call fcn.004022e0
pop ecx
pop ecx
mov ecx, dword [0x611e08]
push esi
call fcn.00406584
lea ecx, [ebp - 0x2a8]
call fcn.0040432a
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x13
mov edi, ebx
call fcn.0040688e
mov eax, dword [ebp - 0x2bc]
test eax, eax
je 0x401b18
cmp dword [ebp - 0x134], 0
je 0x401aed
test al, 8
jne 0x401b23
cmp dword [ebp - 0x130], 0
je 0x401afa
test al, 2
jne 0x401b23
cmp dword [ebp - 0x12c], 0
je 0x401b07
test al, 4
jne 0x401b23
cmp dword [ebp - 0x128], 0
je 0x401b14
test al, 1
jne 0x401b23
mov edi, ebx
jmp 0x401b23
xor eax, eax
cmp dword [ebp - 0x124], eax
cmove edi, eax
cmp dword [ebp - 0x2b8], 0
je 0x401d04
mov eax, dword [ebp - 0x13c]
mov esi, dword [ebp - 0x140]
mov dword [ebp - 0x2ac], eax
cmp esi, eax
je 0x401d04
mov eax, dword [esi]
mov dword [ebp - 0x2bc], eax
call fcn.0040feee
test al, al
je 0x401c7c
mov eax, dword [0x611e08]
test eax, eax
je 0x401c7c
cmp dword [eax + 4], 4
jl 0x401c7c
push dword [ebp - 0x2b8]
lea eax, [ebp - 0x40]
push eax
call fcn.0040d82e
mov dword [ebp - 0x2b4], eax
push dword [ebp - 0x2bc]
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x1c
push eax
call fcn.0040d82e
add esp, 0x10
mov dword [ebp - 0x2c0], eax
push ebx
push ebx
push 0x5f5c84
push 0x8d
push str.CSoftStrategy::SaveStrategy
push 4
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 4], 0x1d
call fcn.0040649f
mov dword [ebp - 0x2b0], eax
add eax, 0x30
mov byte [ebp - 4], 0x1e
push str.qid:svr
push eax
call fcn.004022e0
pop ecx
pop ecx
mov ecx, dword [ebp - 0x2c0]
cmp dword [ecx + 0x14], 8
jb 0x401bf1
mov ecx, dword [ecx]
test ecx, ecx
mov eax, 0x5f5c24
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0x2b0]
add eax, 0x30
push eax
call fcn.004022e0
mov eax, dword [ebp - 0x2b0]
add eax, 0x30
push str._tcur
push eax
call fcn.004022e0
mov ecx, dword [ebp - 0x2b4]
add esp, 0x10
cmp dword [ecx + 0x14], 8
jb 0x401c30
mov ecx, dword [ecx]
test ecx, ecx
mov eax, 0x5f5c24
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0x2b0]
add eax, 0x30
push eax
call fcn.004022e0
pop ecx
pop ecx
push dword [ebp - 0x2b0]
mov ecx, dword [0x611e08]
call fcn.00406584
lea ecx, [ebp - 0x2a8]
call fcn.0040432a
lea ecx, [ebp - 0x70]
call fcn.00406942
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x13
call fcn.00406942
mov eax, dword [ebp - 0x2b8]
cmp dword [ebp - 0x2bc], eax
je 0x401c9b
add esi, 4
cmp esi, dword [ebp - 0x2ac]
jne 0x401b4a
jmp 0x401d04
call fcn.0040feee
test al, al
je 0x401d02
mov eax, dword [0x611e08]
test eax, eax
je 0x401d02
cmp dword [eax + 4], 4
jl 0x401d02
push ebx
push ebx
push 0x5f5c84
push 0x8f
push str.CSoftStrategy::SaveStrategy
push 4
lea ecx, [ebp - 0x2a8]
call fcn.0040649f
mov esi, eax
lea ecx, [esi + 0x30]
mov byte [ebp - 4], 0x1f
push str.qid:hitted
push ecx
call fcn.004022e0
pop ecx
pop ecx
mov ecx, dword [0x611e08]
push esi
call fcn.00406584
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 4], 0x13
call fcn.0040432a
mov edi, ebx
push edi
call fcn.00406a82
mov ecx, eax
call fcn.0040c7e9
push dword [ebp - 0x120]
call fcn.00402bb3
mov ecx, eax
call fcn.0041240e
push dword [ebp - 0x11f]
call fcn.00402bb3
mov ecx, eax
call fcn.004124c6
push dword [ebp - 0x11e]
call fcn.00402bb3
mov ecx, eax
call fcn.00412828
push dword [ebp - 0x11d]
call fcn.00402bb3
mov ecx, eax
call fcn.004129ba
lea ecx, [ebp - 0xbc]
mov bl, 1
call fcn.00406942
lea ecx, [ebp - 0xd4]
call fcn.00406942
lea ecx, [ebp - 0xec]
call fcn.00406942
lea ecx, [ebp - 0x104]
call fcn.00406942
mov eax, dword [ebp - 0x2cc]
lea ecx, [ebp - 0x2cc]
push eax
push dword [eax]
lea eax, [ebp - 0x2ac]
push eax
call fcn.0040404f
push 0x18
push dword [ebp - 0x2cc]
call fcn.0042d216
mov eax, dword [ebp - 0x2d4]
pop ecx
pop ecx
push eax
push dword [eax]
lea eax, [ebp - 0x2ac]
push eax
lea ecx, [ebp - 0x2d4]
call fcn.0040404f
push 0x18
push dword [ebp - 0x2d4]
call fcn.0042d216
pop ecx
pop ecx
lea ecx, [ebp - 0x184]
mov dword [ebp - method.CParseSoftStrategy.virtual_0], vtable.CParseSoftStrategy.0
call fcn.004042ab
lea ecx, [ebp - 0x2fc]
call fcn.00425760
lea ecx, [ebp - 0x88]
call fcn.00406942
lea ecx, [ebp - 0x58]
call fcn.00406942
lea ecx, [ebp - 0x28]
call fcn.00406942
mov al, bl
call fcn.0042d96c
ret