Function at 0x4069b8
Capabilities:
Get geographical location
Read data from internet
Receive data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4409c0
mov eax, dword fs:[0]
push eax
mov eax, 0x1040
call fcn.00438db0
mov eax, dword [0x4542b0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor ebx, ebx
lea eax, [ebp - 0x1019]
mov byte [ebp - 0x1019], bl
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x4069fa
sub eax, ecx
push 0
pop eax
setne al
dec eax
jne 0x406a16
call fcn.00404bdc
call fcn.00426054
mov dword [ebp - 0x1028], ebx
jmp 0x406bd9
lea eax, [ebp - 0x1028]
push eax
push 0xff6
lea eax, [ebp - 0x1018]
push eax
push dword [esi + 0xb0]
call dword [sym.imp.WININET.dll_InternetReadFile]
cmp dword [ebp - 0x1028], ebx
ja 0x406b96
cmp dword [esi + 0xb4], ebx
je 0x406c21
mov ebx, esi
call fcn.004065a8
xor ebx, ebx
lea eax, [ebp - 0x1019]
mov byte [ebp - 0x1019], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x406a70
sub eax, edx
je 0x406a80
call fcn.00404c6a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push ebx
mov edi, eax
call fcn.0042a8e7
mov dword [ebp - 0x1020], edi
fild dword [ebp - 0x1020]
pop ecx
mov dword [ebp - 0x1024], eax
test edi, edi
jge 0x406aab
fadd qword [0x44b078]
call fcn.004396a0
fild dword [ebp - 0x1024]
mov eax, dword [ebp - 0x1024]
test eax, eax
jge 0x406ac6
fadd qword [0x44b078]
fcompp
fnstsw ax
test ah, 5
jp 0x406b06
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push 4
lea eax, [ebp - 0x102c]
push eax
push 0x20001009
mov edi, 0x400
push edi
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
push 0x20
lea eax, [ebp - 0x104c]
push eax
push 0x58
push edi
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
call fcn.00409a52
lea eax, [esi + 0xbc]
inc dword [eax]
cmp dword [eax], 2
ja 0x406bf4
push 0x2710
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
call fcn.0042a8e7
pop ecx
push dword [esi + 0x8c]
lea eax, [esi + 0x1c]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1020], esp
push eax
call fcn.004031b5
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1024], esp
push esi
mov dword [ebp - 4], ebx
call fcn.004031b5
or dword [ebp - 4], 0xffffffff
push esi
call fcn.0040635d
cmp eax, ebx
jl 0x406bd7
and dword [esi + 0xb8], 0
lea eax, [ebp - 0x1019]
mov byte [ebp - 0x1019], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406b7c
sub eax, edx
je 0x406b8c
call fcn.00404cad
lea eax, [esi + 0x70]
call fcn.004031e5
jmp 0x406bd7
push dword [ebp - 0x1028]
lea eax, [ebp - 0x1018]
push eax
lea eax, [esi + 0x70]
call fcn.00408211
call fcn.004295cd
call fcn.004295cd
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1028]
lea eax, [esi + 0xb8]
add dword [eax], ecx
mov ecx, dword [esi + 0xb4]
mov eax, dword [eax]
cmp ecx, ebx
je 0x406bd7
cmp eax, ecx
jae 0x406c21
xor ebx, ebx
cmp dword [esi + 0xc0], ebx
jne 0x406a21
mov ebx, esi
call fcn.004065a8
push 0
call fcn.0042a8e7
pop ecx
mov eax, dword [esi + 0xc4]
neg eax
sbb eax, eax
and eax, 0x7fffbffb
add eax, 0x80004005
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00428d2e
leave
ret
mov dword [esi + 0xc4], 1
jmp 0x406bf4