Function at 0x439da0
Capabilities:
Create thread
Resolve dns

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov dword [ebp - 0xc], ebx
mov eax, dword [ebp + 0x10]
mov ebx, dword [ebp + 8]
mov dword [ebp - 8], esi
mov edx, dword [ebp + 0x14]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 4], edi
mov dword [ebp - 0x10], eax
mov eax, dword [ebx]
mov dword [ebp - 0x14], edx
mov dword [edx], 0
mov dword [ebp - 0x18], eax
mov dword [esp], esi
call sub.WS2_32.DLL_inet_addr
sub esp, 4
cmp eax, 0xffffffff
je 0x439e00
mov dword [ebp + 0xc], esi
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0xc]
mov dword [ebp + 8], eax
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 4]
mov dword [ebp + 0x10], edx
mov esp, ebp
pop ebp
jmp fcn.0043d6d0
mov dword [esp], 0x1c
mov eax, 1
mov dword [esp + 4], eax
call dword [0x4f50a0]
test eax, eax
mov edi, eax
je 0x439e46
mov eax, dword [ebx + 0x368]
mov dword [esp], eax
call fcn.00421f90
mov dword [esp], esi
call dword [0x4f50a4]
mov dword [ebx + 0x368], eax
test eax, eax
jne 0x439eb9
mov dword [esp], edi
call dword [0x4f50ac]
mov dword [esp], 0xc
call sub.KERNEL32.dll_SetLastError
sub esp, 4
xor eax, eax
test al, al
jne 0x439fb6
call sub.KERNEL32.dll_GetLastError
mov dword [esp + 4], eax
mov edi, str.init_resolve_thread___failed_for__s___s_n
mov dword [esp], ebx
call fcn.0043fc80
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call fcn.0042c6f0
mov dword [esp], esi
call sub.WSOCK32.DLL_gethostbyname
sub esp, 4
test eax, eax
je 0x439ff9
mov dword [ebp + 8], eax
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 4]
mov dword [ebp + 0xc], edx
mov esp, ebp
pop ebp
jmp fcn.0043d610
mov dword [ebx + 0x37c], edi
mov eax, dword [ebp - 0x10]
mov byte [ebx + 0x374], 0
mov dword [ebx + 0x36c], eax
xor eax, eax
mov dword [ebx + 0x378], eax
xor eax, eax
mov dword [ebx + 0x370], eax
xor eax, eax
mov dword [edi + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
mov dword [esp], 0
call sub.KERNEL32.dll_CreateMutexA
mov dword [edi + 0x14], eax
sub esp, 0xc
test eax, eax
je 0x439f9c
mov dword [esp], 0
xor ecx, ecx
xor edx, edx
mov dword [esp + 0xc], ecx
mov eax, 1
mov dword [esp + 8], edx
mov dword [esp + 4], eax
call sub.KERNEL32.dll_CreateEventA
mov dword [edi + 0x18], eax
sub esp, 0x10
test eax, eax
je 0x439f9c
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [edi + 0x10], eax
lea eax, [edi + 4]
mov dword [esp + 0x14], eax
xor eax, eax
mov dword [esp + 0x10], eax
mov eax, 0x4398d0
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 0xc], ebx
mov dword [esp + 4], eax
mov dword [esp], 0
call sub.msvcrt.dll__beginthreadex
mov dword [edi], eax
test eax, eax
jne 0x439fce
call sub.msvcrt.dll__errno
mov eax, dword [eax]
mov dword [esp], eax
call sub.KERNEL32.dll_SetLastError
sub esp, 4
lea eax, [ebx + 0x368]
mov dword [esp], eax
call fcn.00439a10
jmp 0x439e55
lea eax, [ebx + 0x368]
mov dword [esp], eax
call fcn.00439a10
mov dword [esp], 0xb
jmp 0x439e4d
mov edx, dword [ebp - 0x14]
mov dword [edx], 1
mov ebx, dword [ebp - 0xc]
xor eax, eax
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 4]
mov esp, ebp
pop ebp
ret
mov dword [esp], 2
xor eax, eax
mov dword [esp + 8], eax
mov eax, 2
mov dword [esp + 4], eax
call sub.WSOCK32.DLL_socket
mov dword [edi + 0xc], eax
sub esp, 0xc
mov eax, 1
jmp 0x439e57
call sub.WS2_32.DLL_WSAGetLastError
mov dword [esp + 4], eax
mov dword [esp], ebx
mov ebx, str.gethostbyname_2__failed_for__s:_d___s_n
call fcn.0043fc80
mov dword [esp + 0x10], eax
mov edx, dword [ebp - 0x10]
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp + 0xc], edx
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call fcn.0042c6f0
jmp 0x439fbf