Function at 0x40ed70
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x627fb5
mov eax, dword fs:[0]
push eax
sub esp, 0x15c
mov eax, dword [0x6aab00]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0x144]
mov ebx, ecx
xor esi, esi
push eax
mov dword [ebp - 0x148], ebx
mov dword [ebp - 0x140], esi
call dword [sym.imp.SensApi.dll_IsNetworkAlive]
test eax, eax
jne 0x40edda
call fcn.00404fa0
cmp eax, esi
je 0x40edda
push 0x663ea8
mov ecx, ebx
call fcn.004016c0
mov eax, ebx
jmp 0x40f328
call fcn.0044ce39
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x40edf4
push 0x80004005
call fcn.00401b80
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x130], eax
push str.http:__soft.anjian.com_Include_BuildPage_ExitAdXJL.shtml
lea ecx, [ebp - 0x144]
mov dword [ebp - 4], 1
call fcn.004016c0
mov byte [ebp - 4], 2
mov edx, dword [eax]
push 0x663ea8
lea ecx, [ebp - 0x130]
call fcn.00410730
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x144]
add eax, 0xfffffff0
add esp, 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ee5c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x130]
push ecx
call fcn.00405040
add esp, 4
lea ecx, [ebp - 0xac]
call fcn.005ffff0
push esi
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 3
call fcn.006029d0
mov byte [ebp - 4], 4
mov ebx, dword [ebp - 0x130]
mov ecx, dword [ebx - 8]
mov eax, 1
sub eax, dword [ebx - 4]
or ecx, eax
jge 0x40eeb1
push esi
lea ecx, [ebp - 0x130]
call fcn.00401990
mov ebx, dword [ebp - 0x130]
mov eax, ebx
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x2c], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40eec4
sub eax, edx
push eax
push ebx
lea ecx, [ebp - 0x2c]
call fcn.00406380
push 1
lea edx, [ebp - 0x158]
push edx
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 5
call fcn.00601990
test al, al
sete bl
mov byte [ebp - 4], 4
cmp dword [ebp - 0x18], 0x10
jb 0x40ef0e
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.0044cdc7
add esp, 4
test bl, bl
je 0x40ef52
push 0x15
lea ecx, [edi + 0x14]
push str.http:__www.anjian.com
call fcn.00401a60
push 1
lea ecx, [edi + 0x10]
push 0x665ccc
call fcn.00401a60
push esi
lea ecx, [edi + 0x18]
push 0x663ea8
call fcn.00401a60
push 2
lea ecx, [edi + 0x1c]
push 0x665cf4
call fcn.00401a60
jmp 0x40f035
push 0x665d34
lea ecx, [ebp - 0x158]
call fcn.00603de0
mov ecx, eax
call fcn.00601b00
test eax, eax
jne 0x40ef71
xor edx, edx
jmp 0x40ef7f
mov edx, eax
lea ebx, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x40ef76
sub edx, ebx
push edx
push eax
lea ecx, [edi + 0x14]
call fcn.00401a60
push str.Plan
lea ecx, [ebp - 0x158]
call fcn.00603de0
mov ecx, eax
call fcn.00601b00
test eax, eax
jne 0x40efa8
xor edx, edx
jmp 0x40efb9
mov edx, eax
lea ebx, [edx + 1]
lea ecx, [ecx]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x40efb0
sub edx, ebx
push edx
push eax
lea ecx, [edi + 0x10]
call fcn.00401a60
push str.Area
lea ecx, [ebp - 0x158]
call fcn.00603de0
mov ecx, eax
call fcn.00601b00
test eax, eax
jne 0x40efe2
xor edx, edx
jmp 0x40eff0
mov edx, eax
lea ebx, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x40efe7
sub edx, ebx
push edx
push eax
lea ecx, [edi + 0x18]
call fcn.00401a60
push str.Interval
lea ecx, [ebp - 0x158]
call fcn.00603de0
mov ecx, eax
call fcn.00601b00
lea ebx, [edi + 0x1c]
test eax, eax
jne 0x40f01c
xor edx, edx
jmp 0x40f02a
mov edx, eax
lea esi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x40f021
sub edx, esi
push edx
push eax
mov ecx, ebx
call fcn.00401a60
xor esi, esi
push 0x663ea8
lea ecx, [ebp - 0x134]
call fcn.004016c0
push 0x663ea8
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 6
call fcn.004016c0
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 7
call fcn.0040f880
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 8
call fcn.005ffff0
push esi
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 9
call fcn.006029d0
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x138]
mov ecx, dword [edx - 8]
mov eax, 1
sub eax, dword [edx - 4]
or ecx, eax
jge 0x40f0b2
push esi
lea ecx, [ebp - 0x138]
call fcn.00401990
mov edx, dword [ebp - 0x138]
mov eax, edx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40f0c5
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x2c]
call fcn.00406380
push 1
lea edx, [ebp - 0x168]
push edx
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0xb
call fcn.00601990
test al, al
sete bl
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x18], 0x10
jb 0x40f10f
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.0044cdc7
add esp, 4
test bl, bl
je 0x40f173
mov eax, dword [ebp - 0x134]
add eax, 0xfffffff0
push eax
call fcn.00401780
mov esi, dword [ebp - 0x148]
add eax, 0x10
add esp, 4
lea ecx, [ebp - 0x168]
mov dword [esi], eax
mov dword [ebp - 0x140], 1
mov byte [ebp - 4], 9
call fcn.00602ad0
lea ecx, [ebp - 0x12c]
call fcn.0040f350
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x138]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x40f28e
push 0x665d54
lea ecx, [ebp - 0x168]
call fcn.00603de0
mov ecx, eax
call fcn.00601b00
lea esi, [edi + 4]
test eax, eax
jne 0x40f195
xor ecx, ecx
jmp 0x40f1a9
mov ecx, eax
lea ebx, [ecx + 1]
lea ebx, [ebx]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x40f1a0
sub ecx, ebx
push ecx
push eax
mov ecx, esi
call fcn.00401a60
push esi
lea ecx, [ebp - 0x134]
call fcn.004017f0
push str.Region
lea ecx, [ebp - 0x168]
call fcn.00603de0
mov ecx, eax
call fcn.00601b00
test eax, eax
jne 0x40f1dd
xor edx, edx
jmp 0x40f1eb
mov edx, eax
lea ebx, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x40f1e2
sub edx, ebx
push edx
push eax
lea ecx, [edi + 8]
call fcn.00401a60
push str.City
lea ecx, [ebp - 0x168]
call fcn.00603de0
mov ecx, eax
call fcn.00601b00
test eax, eax
jne 0x40f214
xor edx, edx
jmp 0x40f229
mov edx, eax
lea ebx, [edx + 1]
lea esp, [esp]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x40f220
sub edx, ebx
push edx
push eax
lea ecx, [edi + 0xc]
call fcn.00401a60
mov eax, dword [ebp - 0x134]
add eax, 0xfffffff0
push eax
call fcn.00401780
mov esi, dword [ebp - 0x148]
add eax, 0x10
add esp, 4
lea ecx, [ebp - 0x168]
mov dword [esi], eax
mov dword [ebp - 0x140], 1
mov byte [ebp - 4], 9
call fcn.00602ad0
lea ecx, [ebp - 0x12c]
call fcn.0040f350
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x138]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40f29a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x13c]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40f2c0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x134]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40f2e6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 3
call fcn.00602ad0
lea ecx, [ebp - 0xac]
call fcn.0040f350
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x130]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40f326
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0054cec4
mov esp, ebp
pop ebp
ret