Function at 0x461864
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xb
push 0
push 0
dec ecx
jne 0x46186c
push ecx
push ebx
xor eax, eax
push ebp
push 0x461fb1
push dword fs:[eax]
mov dword fs:[eax], esp
mov ecx, 0x461fc8
mov dl, 1
mov eax, dword [0x45ad0c]
call fcn.0045bbcc
mov dword [ebp - 4], eax
mov dl, 1
mov eax, dword [0x4125d8]
call fcn.004034c4
mov dword [ebp - 8], eax
mov dl, 0x3b
mov eax, dword [ebp - 8]
call fcn.00415e24
push 0x461fd8
lea eax, [ebp - 0x14]
push eax
mov ecx, 0x461fe8
mov edx, 0x461ffc
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
call fcn.00415c8c
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x14]
sub eax, 1
jno 0x4618e7
call fcn.00403430
cmp eax, 0
jl 0x46191d
mov dword [ebp - 0xc], eax
lea ecx, [ebp - 0x18]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x18]
call fcn.004045ac
test eax, eax
jne 0x461914
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x48]
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffff
jne 0x4618ef
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x14]
mov dword [ebp - 0xc], eax
mov eax, 0x461fc8
call fcn.00408c28
test al, al
jne 0x46195c
mov eax, dword [0x46abd4]
mov eax, dword [eax + 0x2f8]
mov eax, dword [eax + 0x220]
mov edx, 0x46200c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov word [0x46abe4], 1
jmp 0x461971
mov eax, dword [ebp - 0xc]
cmp eax, 0xffff
jbe 0x46196b
call fcn.00403428
mov word [0x46abe4], ax
mov eax, dword [ebp - 0xc]
push eax
mov eax, 0x46abe8
mov ecx, 1
mov edx, dword [0x460cd4]
call fcn.004053e8
add esp, 4
mov eax, dword [ebp - 0xc]
push eax
mov eax, 0x46abec
mov ecx, 1
mov edx, dword [0x460cf4]
call fcn.004053e8
add esp, 4
mov eax, dword [ebp - 0xc]
push eax
mov eax, 0x46abf0
mov ecx, 1
mov edx, dword [0x460d14]
call fcn.004053e8
add esp, 4
mov eax, dword [ebp - 0xc]
push eax
mov eax, 0x46abf4
mov ecx, 1
mov edx, dword [0x460d34]
call fcn.004053e8
add esp, 4
mov eax, dword [ebp - 0xc]
push eax
mov eax, 0x46abf8
mov ecx, 1
mov edx, dword [0x460d54]
call fcn.004053e8
add esp, 4
mov eax, dword [ebp - 0xc]
push eax
mov eax, 0x46abfc
mov ecx, 1
mov edx, dword [0x460d74]
call fcn.004053e8
add esp, 4
mov eax, dword [ebp - 0xc]
push eax
mov eax, 0x46ac00
mov ecx, 1
mov edx, dword [0x460d94]
call fcn.004053e8
add esp, 4
mov eax, dword [ebp - 0xc]
push eax
mov eax, 0x46ac04
mov ecx, 1
mov edx, dword [0x460db4]
call fcn.004053e8
add esp, 4
mov eax, dword [ebp - 0xc]
push eax
mov eax, 0x46ac08
mov ecx, 1
mov edx, dword [0x460dd4]
call fcn.004053e8
add esp, 4
mov eax, dword [ebp - 0xc]
push eax
mov eax, 0x46ac0c
mov ecx, 1
mov edx, dword [0x460df4]
call fcn.004053e8
add esp, 4
mov eax, dword [ebp - 0xc]
push eax
mov eax, 0x46ac10
mov ecx, 1
mov edx, dword [0x460e18]
call fcn.004053e8
add esp, 4
mov eax, dword [ebp - 0xc]
push eax
mov eax, 0x46ac14
mov ecx, 1
mov edx, dword [0x460e3c]
call fcn.004053e8
add esp, 4
mov eax, dword [ebp - 0xc]
push eax
mov eax, 0x46ac18
mov ecx, 1
mov edx, dword [0x460e60]
call fcn.004053e8
add esp, 4
movzx eax, word [0x46abe4]
sub eax, 1
jno 0x461aee
call fcn.00403430
test eax, eax
jl 0x461f1a
inc eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], 0
lea ecx, [ebp - 0x1c]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
mov ecx, dword [0x46abe8]
test ecx, ecx
je 0x461b24
cmp eax, dword [ecx - 4]
jb 0x461b29
call fcn.00403428
lea eax, [ecx + eax*4]
call fcn.00404340
push 0x462048
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x24]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x24]
mov ecx, 0x46205c
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
mov ecx, dword [0x46abec]
test ecx, ecx
je 0x461b6c
cmp eax, dword [ecx - 4]
jb 0x461b71
call fcn.00403428
lea eax, [ecx + eax*4]
call fcn.00404340
push 0x83a
lea ecx, [ebp - 0x28]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x28]
mov ecx, 0x462074
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
cmp eax, 0xffff
jbe 0x461ba8
call fcn.00403428
mov edx, dword [ebp - 0xc]
mov ecx, dword [0x46abf0]
test ecx, ecx
je 0x461bba
cmp edx, dword [ecx - 4]
jb 0x461bbf
call fcn.00403428
mov word [ecx + edx*2], ax
push 0x2ed
lea ecx, [ebp - 0x2c]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x2c]
mov ecx, 0x46208c
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0xc]
mov ecx, dword [0x46abf4]
test ecx, ecx
je 0x461bf8
cmp edx, dword [ecx - 4]
jb 0x461bfd
call fcn.00403428
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0xc]
mov edx, dword [0x46abf4]
test edx, edx
je 0x461c12
cmp eax, dword [edx - 4]
jb 0x461c17
call fcn.00403428
mov eax, dword [edx + eax*4]
mov dword [0x46ac28], eax
push 0
lea ecx, [ebp - 0x30]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x30]
mov ecx, 0x4620a4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
dec eax
jne 0x461c5f
mov eax, dword [ebp - 0xc]
mov edx, dword [0x46abf8]
test edx, edx
je 0x461c54
cmp eax, dword [edx - 4]
jb 0x461c59
call fcn.00403428
mov byte [edx + eax], 1
jmp 0x461c7a
mov eax, dword [ebp - 0xc]
mov edx, dword [0x46abf8]
test edx, edx
je 0x461c71
cmp eax, dword [edx - 4]
jb 0x461c76
call fcn.00403428
mov byte [edx + eax], 0
push 0x462048
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x38]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x38]
mov ecx, 0x4620b8
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0x34]
call fcn.004047ac
push eax
call sub.wsock32.dll_inet_addr
mov edx, dword [ebp - 0xc]
mov ecx, dword [0x46abfc]
test ecx, ecx
je 0x461cc0
cmp edx, dword [ecx - 4]
jb 0x461cc5
call fcn.00403428
mov dword [ecx + edx*4], eax
push 0x6f1
lea ecx, [ebp - 0x3c]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x3c]
mov ecx, 0x4620d0
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
cmp eax, 0xffff
jbe 0x461cf7
call fcn.00403428
mov edx, dword [ebp - 0xc]
mov ecx, dword [0x46ac00]
test ecx, ecx
je 0x461d09
cmp edx, dword [ecx - 4]
jb 0x461d0e
call fcn.00403428
mov word [ecx + edx*2], ax
push 0
lea ecx, [ebp - 0x40]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x40]
mov ecx, 0x4620e8
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
dec eax
jne 0x461d52
mov eax, dword [ebp - 0xc]
mov edx, dword [0x46ac04]
test edx, edx
je 0x461d47
cmp eax, dword [edx - 4]
jb 0x461d4c
call fcn.00403428
mov byte [edx + eax], 1
jmp 0x461d6d
mov eax, dword [ebp - 0xc]
mov edx, dword [0x46ac04]
test edx, edx
je 0x461d64
cmp eax, dword [edx - 4]
jb 0x461d69
call fcn.00403428
mov byte [edx + eax], 0
push 0x4620f8
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x48]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x48]
mov ecx, 0x46212c
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0xc]
mov ecx, dword [0x46ac08]
test ecx, ecx
je 0x461da8
cmp eax, dword [ecx - 4]
jb 0x461dad
call fcn.00403428
lea eax, [ecx + eax*4]
call fcn.00404340
push 0x46213c
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x50]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x50]
mov ecx, 0x462168
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0xc]
mov ecx, dword [0x46ac0c]
test ecx, ecx
je 0x461df0
cmp eax, dword [ecx - 4]
jb 0x461df5
call fcn.00403428
lea eax, [ecx + eax*4]
call fcn.00404340
push 1
lea ecx, [ebp - 0x54]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x54]
mov ecx, 0x462178
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
dec eax
jne 0x461e3d
mov eax, dword [ebp - 0xc]
mov edx, dword [0x46ac14]
test edx, edx
je 0x461e32
cmp eax, dword [edx - 4]
jb 0x461e37
call fcn.00403428
mov byte [edx + eax], 1
jmp 0x461e58
mov eax, dword [ebp - 0xc]
mov edx, dword [0x46ac14]
test edx, edx
je 0x461e4f
cmp eax, dword [edx - 4]
jb 0x461e54
call fcn.00403428
mov byte [edx + eax], 0
push 1
lea ecx, [ebp - 0x58]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x58]
mov ecx, 0x46218c
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
dec eax
jne 0x461e98
mov eax, dword [ebp - 0xc]
mov edx, dword [0x46ac10]
test edx, edx
je 0x461e8d
cmp eax, dword [edx - 4]
jb 0x461e92
call fcn.00403428
mov byte [edx + eax], 1
jmp 0x461eb3
mov eax, dword [ebp - 0xc]
mov edx, dword [0x46ac10]
test edx, edx
je 0x461eaa
cmp eax, dword [edx - 4]
jb 0x461eaf
call fcn.00403428
mov byte [edx + eax], 0
push 1
lea ecx, [ebp - 0x5c]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x5c]
mov ecx, 0x4621a0
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
dec eax
jne 0x461ef3
mov eax, dword [ebp - 0xc]
mov edx, dword [0x46ac18]
test edx, edx
je 0x461ee8
cmp eax, dword [edx - 4]
jb 0x461eed
call fcn.00403428
mov byte [edx + eax], 1
jmp 0x461f0e
mov eax, dword [ebp - 0xc]
mov edx, dword [0x46ac18]
test edx, edx
je 0x461f05
cmp eax, dword [edx - 4]
jb 0x461f0a
call fcn.00403428
mov byte [edx + eax], 0
inc dword [ebp - 0xc]
dec dword [ebp - 0x10]
jne 0x461b01
push 0
mov ecx, 0x4621b4
mov edx, 0x461ffc
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov dword [0x46ac1c], eax
cmp dword [0x46ac1c], 0
jge 0x461f43
xor eax, eax
mov dword [0x46ac1c], eax
push 0x83a
mov ecx, 0x4621cc
mov edx, 0x4621dc
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov dword [0x46ac24], eax
push 0
mov ecx, 0x4621e8
mov edx, 0x4621dc
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
dec eax
jne 0x461f7f
mov byte [0x46ac34], 1
jmp 0x461f86
mov byte [0x46ac34], 0
mov eax, dword [ebp - 8]
call fcn.004034f4
mov eax, dword [ebp - 4]
call fcn.004034f4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x461fb8
lea eax, [ebp - 0x5c]
mov edx, 0x13
call fcn.00404310
ret