Function at 0x418947
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
push 0xc
call fcn.00450895
add esp, 4
mov dword [ebp - 0xc], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx], 0x5f1bdf
push ebx
add ebx, 8
push ebx
push 8
call fcn.00450895
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
push ebx
mov eax, esp
push eax
call fcn.004061b8
pop ebx
mov dword [ebp - 0x10], 0
cmp dword [ebp - 4], 0
jne 0x419578
call fcn.0040933d
push str._glgetmoney
push dword [0x679758]
mov ecx, 2
call fcn.0040106f
add esp, 8
mov dword [ebp - 0x14], eax
push str.version1.8typegl
push dword [0x679750]
push str.td
push dword [0x679780]
push str.token
mov ecx, 5
call fcn.0040106f
add esp, 0x14
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], 0
push 0
push dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00407db6
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x418a43
push ebx
call fcn.0045089b
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x418a53
push ebx
call fcn.0045089b
add esp, 4
mov eax, dword [ebp - 0x20]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x418a67
push ebx
call fcn.0045089b
add esp, 4
pop eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xc]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 1
jne 0x419460
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
mov eax, str.code
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x418ad1
push ebx
call fcn.0045089b
add esp, 4
push 0x5f1f43
push dword [ebp - 0x1c]
call fcn.004010cb
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x418aff
push ebx
call fcn.0045089b
add esp, 4
cmp dword [ebp - 0x20], 0
je 0x41908c
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
mov eax, str.new_token
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x418b44
push ebx
call fcn.0045089b
add esp, 4
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x418b58
push ebx
call fcn.0045089b
add esp, 4
pop eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
mov eax, 0x608599
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x418b97
push ebx
call fcn.0045089b
add esp, 4
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [0x67978c]
test ebx, ebx
je 0x418bae
push ebx
call fcn.0045089b
add esp, 4
pop eax
mov dword [0x67978c], eax
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
mov eax, 0x60859c
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x418bef
push ebx
call fcn.0045089b
add esp, 4
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [0x6797e8]
test ebx, ebx
je 0x418c06
push ebx
call fcn.0045089b
add esp, 4
pop eax
mov dword [0x6797e8], eax
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
mov eax, str.dengji
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x418c47
push ebx
call fcn.0045089b
add esp, 4
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [0x679788]
test ebx, ebx
je 0x418c5e
push ebx
call fcn.0045089b
add esp, 4
pop eax
mov dword [0x679788], eax
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
mov eax, 0x6085a8
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x418c9f
push ebx
call fcn.0045089b
add esp, 4
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [0x6797ec]
test ebx, ebx
je 0x418cb6
push ebx
call fcn.0045089b
add esp, 4
pop eax
mov dword [0x6797ec], eax
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
mov eax, str.txsr
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x418cf7
push ebx
call fcn.0045089b
add esp, 4
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [0x6797f0]
test ebx, ebx
je 0x418d0e
push ebx
call fcn.0045089b
add esp, 4
pop eax
mov dword [0x6797f0], eax
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
mov eax, str.country
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x418d4f
push ebx
call fcn.0045089b
add esp, 4
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [0x6797f4]
test ebx, ebx
je 0x418d66
push ebx
call fcn.0045089b
add esp, 4
pop eax
mov dword [0x6797f4], eax
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
mov eax, 0x6085b9
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x418da7
push ebx
call fcn.0045089b
add esp, 4
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [0x679798]
test ebx, ebx
je 0x418dbe
push ebx
call fcn.0045089b
add esp, 4
pop eax
mov dword [0x679798], eax
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
mov eax, str.dizhi
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x418dff
push ebx
call fcn.0045089b
add esp, 4
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [0x67979c]
test ebx, ebx
je 0x418e16
push ebx
call fcn.0045089b
add esp, 4
pop eax
mov dword [0x67979c], eax
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
mov eax, 0x6085c3
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x418e57
push ebx
call fcn.0045089b
add esp, 4
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [0x6797a0]
test ebx, ebx
je 0x418e6e
push ebx
call fcn.0045089b
add esp, 4
pop eax
mov dword [0x6797a0], eax
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
mov eax, str.ks_qz
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x418eaf
push ebx
call fcn.0045089b
add esp, 4
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [0x6797f8]
test ebx, ebx
je 0x418ec6
push ebx
call fcn.0045089b
add esp, 4
pop eax
mov dword [0x6797f8], eax
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
mov eax, str.device_bz
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x418f07
push ebx
call fcn.0045089b
add esp, 4
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [0x6797fc]
test ebx, ebx
je 0x418f1e
push ebx
call fcn.0045089b
add esp, 4
pop eax
mov dword [0x6797fc], eax
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
mov eax, str.noshop
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x418f5f
push ebx
call fcn.0045089b
add esp, 4
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [0x679800]
test ebx, ebx
je 0x418f76
push ebx
call fcn.0045089b
add esp, 4
pop eax
mov dword [0x679800], eax
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
mov eax, str.nogjc
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x418fb7
push ebx
call fcn.0045089b
add esp, 4
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [0x679804]
test ebx, ebx
je 0x418fce
push ebx
call fcn.0045089b
add esp, 4
pop eax
mov dword [0x679804], eax
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
mov eax, str.hour
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x41900f
push ebx
call fcn.0045089b
add esp, 4
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [0x679808]
test ebx, ebx
je 0x419026
push ebx
call fcn.0045089b
add esp, 4
pop eax
mov dword [0x679808], eax
push 0x6082dc
push dword [0x6797e8]
call fcn.004010cb
add esp, 8
cmp eax, 0
jne 0x41906a
push 0
push 1
push 0xffffffffffffffff
push 0x12
push 0x16043e2a
push 0x52012c65
call fcn.004508b9
add esp, 0x18
jmp 0x419087
push 0
push 0
push 0xffffffffffffffff
push 0x12
push 0x16043e2a
push 0x52012c65
call fcn.004508b9
add esp, 0x18
jmp 0x41924b
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
mov eax, str.code
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4190c7
push ebx
call fcn.0045089b
add esp, 4
push 0x568c54
push dword [ebp - 0x1c]
call fcn.004010cb
add esp, 8
cmp eax, 0
mov eax, 0
setne al
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x4190f5
push ebx
call fcn.0045089b
add esp, 4
cmp dword [ebp - 0x20], 0
je 0x419179
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
push 1
mov eax, str.code
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x2c], eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x41913a
push ebx
call fcn.0045089b
add esp, 4
push 0x6085e9
push dword [ebp - 0x2c]
call fcn.004010cb
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0x30], eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x419168
push ebx
call fcn.0045089b
add esp, 4
cmp dword [ebp - 0x30], 0
je 0x419179
mov eax, 1
jmp 0x41917e
mov eax, 0
test eax, eax
je 0x41924b
mov dword [ebp - 4], 1
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
mov eax, 0x5f1f3a
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4191c8
push ebx
call fcn.0045089b
add esp, 4
push 0x6085ec
push dword [ebp - 0x1c]
push 0x6085fa
mov ecx, 3
call fcn.0040106f
add esp, 0xc
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x4191f5
push ebx
call fcn.0045089b
add esp, 4
mov ebx, 6
call fcn.004055ac
push 0x80000301
push 0
push 0x40
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x41921e
mov eax, 0x568c54
push eax
push 4
mov ebx, 0x453ce0
call fcn.0045088f
add esp, 0x34
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x419241
push ebx
call fcn.0045089b
add esp, 4
push 0
call fcn.004508bf
add esp, 4
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push 1
mov eax, 0x608615
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x419286
push ebx
call fcn.0045089b
add esp, 4
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [0x67980c]
test ebx, ebx
je 0x41929d
push ebx
call fcn.0045089b
add esp, 4
pop eax
mov dword [0x67980c], eax
push dword [0x67978c]
push 0x608618
mov ecx, 2
call fcn.0040106f
add esp, 8
mov dword [ebp - 0x14], eax
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x4192d1
mov eax, 0x568c54
push eax
push 0x80000301
push 0
push 1
push 0x50002
push 0x16012c99
push 0x52012c65
push 3
mov eax, 4
mov ebx, 0x4c42a0
call fcn.004508ad
add esp, 0x28
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x419314
push ebx
call fcn.0045089b
add esp, 4
push dword [0x6797f4]
push 0x608620
mov ecx, 2
call fcn.0040106f
add esp, 8
mov dword [ebp - 0x14], eax
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x419342
mov eax, 0x568c54
push eax
push 0x80000301
push 0
push 2
push 0x50002
push 0x16012c99
push 0x52012c65
push 3
mov eax, 4
mov ebx, 0x4c42a0
call fcn.004508ad
add esp, 0x28
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x419385
push ebx
call fcn.0045089b
add esp, 4
push 0x6081a8
push dword [0x679798]
call fcn.004010cb
add esp, 8
cmp eax, 0
je 0x4193c4
push 0x568c54
push dword [0x679798]
call fcn.004010cb
add esp, 8
cmp eax, 0
je 0x4193c4
mov eax, 1
jmp 0x4193c9
mov eax, 0
test eax, eax
je 0x419460
mov dword [0x679810], 1
push 0
push 0
push 0
push reloc.WS2_32.dll_getpeername
push 0
push 0x60862a
push 2
mov ebx, 0x453e50
call fcn.0045088f
add esp, 0x1c
push 0x10001
push 0x602ff16
push 0x5202ff15
push 1
mov ebx, 0x453f30
call fcn.0045088f
add esp, 0x10
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x419460
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 0
push 0
push 0
push 0
push 0x10001
push 0x602ff16
push 0x5202ff15
push 3
mov ebx, 0x450ef0
call fcn.0045088f
add esp, 0x28
push 0x679780
call fcn.00412276
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x3c
jle 0x41948b
cmp dword [0x6797b0], 1
jne 0x41948b
mov eax, 1
jmp 0x419490
mov eax, 0
test eax, eax
je 0x4194a2
mov dword [0x6797b0], 0
push 0x568c54
push dword [0x6797c4]
call fcn.004010cb
add esp, 8
cmp eax, 0
je 0x419551
inc dword [0x679814]
cmp dword [0x679814], 0xa
jl 0x419551
mov dword [0x679814], 0
mov eax, 0x568c54
push eax
mov ebx, dword [0x6797c4]
test ebx, ebx
je 0x4194f4
push ebx
call fcn.0045089b
add esp, 4
pop eax
mov dword [0x6797c4], eax
push 0
push 0
push 0xffffffffffffffff
push 0xc
push 0x16012c8f
push 0x52012c65
call fcn.004508b9
add esp, 0x18
push 0
push 0x568c54
push 0xffffffffffffffff
push 8
push 0x1601ef76
push 0x52012c65
call fcn.004508b9
add esp, 0x18
push 0
push 0
push 0xffffffffffffffff
push 6
push 0x1601ef76
push 0x52012c65
call fcn.004508b9
add esp, 0x18
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
push 0
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push 1
push 0x7530
call fcn.004122c1
jmp 0x4189c2
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x419588
push ebx
call fcn.0045089b
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
mov eax, dword [ebx]
call dword [eax]
call fcn.0045089b
add esp, 4
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x4195a8
push ebx
call fcn.0045089b
add esp, 4
mov esp, ebp
pop ebp
ret