Function at 0x43e6b0
Capabilities:
Create tcp socket
Create udp socket
Resolve dns
Resolve function by parsing pe exports
Send data
Send data on socket
Set socket configuration

Disassembly:
push 0xffffffffffffffff
push 0x4b848a
mov eax, dword fs:[0]
push eax
sub esp, 0x85c
mov eax, dword [0x4de57c]
xor eax, esp
mov dword [esp + 0x858], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4de57c]
xor eax, esp
push eax
lea eax, [esp + 0x870]
mov dword fs:[0], eax
mov esi, dword [esp + 0x880]
sub esp, 0x1c
mov edi, ecx
mov ecx, esp
mov dword [esp + 0x30], esp
xor ebx, ebx
push 0xe
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push str._tmpdubai.log
mov byte [ecx + 4], bl
call fcn.00401e90
lea ecx, [esp + 0x3c]
call fcn.0045dc70
push 0x11
push 2
push 2
mov dword [esp + 0x884], 1
call dword [sym.imp.WS2_32.dll_socket]
mov ebp, eax
cmp ebp, 0xffffffff
mov dword [esp + 0x1c], ebp
je 0x43e75c
lea eax, [esp + 0x14]
push eax
push 0x8004667e
push ebp
mov dword [esp + 0x20], 1
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov cl, byte [edi + 0xc]
test cl, cl
je 0x43e7a3
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push 0xb
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
mov byte [ecx + 4], bl
push 0x4c1448
call fcn.00401e90
lea ecx, [esp + 0x3c]
call fcn.0045dd80
cmp ebp, 0xffffffff
je 0x43eb3c
push ebp
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x43eb3c
cmp dword [esi + 0x18], 0x10
jb 0x43e7ae
mov eax, dword [esi + 4]
jmp 0x43e7b1
lea eax, [esi + 4]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
cmp eax, ebx
push 0x1ff
mov dword [esp + 0x1c], eax
push ebx
jne 0x43e83b
lea edx, [esp + 0x275]
push edx
mov byte [esp + 0x278], bl
call fcn.0048ea70
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.gethostbyname_failed__errorcode_d
lea eax, [esp + 0x274]
push 0x200
push eax
call fcn.0048f10b
sub esp, 0xc
mov esi, esp
lea eax, [esp + 0x288]
mov dword [esi + 0x18], 0xf
mov dword [esi + 0x14], ebx
mov dword [esp + 0x30], esp
mov byte [esi + 4], bl
lea edx, [eax + 1]
jmp 0x43e820
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x43e820
sub eax, edx
lea ecx, [esp + 0x288]
push eax
push ecx
mov ecx, esi
jmp 0x43e780
lea edx, [esp + 0x75]
push edx
mov byte [esp + 0x78], bl
call fcn.0048ea70
add esp, 0xc
cmp dword [esi + 0x18], 0x10
jb 0x43e857
mov eax, dword [esi + 4]
jmp 0x43e85a
lea eax, [esi + 4]
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x1c]
push ecx
push edx
push eax
push 0x4c13fc
lea eax, [esp + 0x7c]
push 0x200
push eax
call fcn.0048f10b
push ecx
mov ecx, esp
lea eax, [esp + 0x88]
lea edx, [eax + 1]
mov dword [esp + 0x30], esp
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
mov byte [ecx + 4], bl
mov dword [esp + 0x30], edx
lea esp, [esp]
mov dl, byte [eax]
add eax, 1
cmp dl, bl
jne 0x43e8a0
sub eax, dword [esp + 0x30]
push eax
lea eax, [esp + 0x8c]
push eax
call fcn.00401e90
lea ecx, [esp + 0x3c]
call fcn.0045dd80
movzx ecx, word [esi + 0x1c]
xor eax, eax
push ecx
mov dword [esp + 0x46], eax
mov dword [esp + 0x4a], eax
mov dword [esp + 0x4e], eax
mov word [esp + 0x52], ax
mov word [esp + 0x44], 2
call dword [sym.imp.WS2_32.dll_htons]
mov edx, dword [esp + 0x18]
mov word [esp + 0x42], ax
mov eax, dword [edx + 0xc]
mov ecx, dword [eax]
mov eax, dword [edi + 0x18]
cmp eax, ebx
mov edx, dword [ecx]
mov dword [esp + 0x44], edx
jne 0x43e90a
mov dword [esp + 0x18], ebx
jmp 0x43e913
mov ecx, dword [edi + 0x1c]
sub ecx, eax
mov dword [esp + 0x18], ecx
cmp eax, ebx
je 0x43e91e
mov ecx, dword [edi + 0x1c]
sub ecx, eax
jne 0x43e923
call fcn.0048ed51
mov ecx, dword [esp + 0x18]
mov eax, dword [edi + 0x18]
push 0x10
lea edx, [esp + 0x44]
push edx
push ebx
push ecx
push eax
push ebp
call dword [sym.imp.WS2_32.dll_sendto]
cmp dword [esp + 0x18], eax
je 0x43e960
mov dl, byte [edi + 0xc]
test dl, dl
je 0x43e960
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x4c13ec
call fcn.00401c70
jmp 0x43e785
mov al, byte [edi + 0xc]
test al, al
je 0x43e97f
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x4c13dc
call fcn.00401c70
jmp 0x43e785
push 0x1040
call fcn.0048e9fc
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov byte [esp + 0x878], 2
je 0x43e9a7
mov ecx, eax
call fcn.00478b20
mov ebp, eax
jmp 0x43e9a9
xor ebp, ebp
mov dword [esp + 0x18], ebp
mov ecx, dword [esi + 0x20]
push ebx
push ecx
push 0x1000
lea edx, [ebp + 0x30]
push edx
lea ecx, [esp + 0x2c]
mov byte [esp + 0x888], 3
call fcn.0043d0b0
mov cl, byte [edi + 0xc]
test cl, cl
je 0x43e9f4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x4c13cc
call fcn.00401c70
lea ecx, [esp + 0x3c]
call fcn.0045dd80
jmp 0x43eb22
cmp eax, ebx
jg 0x43ea57
push 0x1ff
lea edx, [esp + 0x471]
push ebx
push edx
mov byte [esp + 0x478], bl
call fcn.0048ea70
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x4c13ac
lea eax, [esp + 0x474]
push 0x200
push eax
call fcn.0048f10b
sub esp, 0xc
lea edx, [esp + 0x488]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
call fcn.00401c70
lea ecx, [esp + 0x3c]
call fcn.0045dd80
jmp 0x43eb22
mov dword [esp + 0x68], 0xf
mov dword [esp + 0x64], ebx
mov byte [esp + 0x54], bl
lea ecx, [esp + 0x50]
push ecx
push eax
push ebp
mov ecx, edi
mov byte [esp + 0x884], 4
call fcn.0043dd00
test al, al
je 0x43eabf
lea ecx, [esp + 0x50]
call fcn.00401cb0
lea ecx, [esp + 0x18]
mov byte [esp + 0x878], 1
call fcn.0043cde0
lea ecx, [esp + 0x1c]
call fcn.0043cd30
lea ecx, [esp + 0x20]
mov dword [esp + 0x878], 0xffffffff
call fcn.0045dc20
mov al, 1
jmp 0x43eb52
push 0x1ff
lea edx, [esp + 0x671]
push ebx
push edx
mov byte [esp + 0x678], bl
call fcn.0048ea70
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.UDP
lea eax, [esp + 0x674]
push 0x200
push eax
call fcn.0048f10b
sub esp, 0xc
lea edx, [esp + 0x688]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
call fcn.00401c70
lea ecx, [esp + 0x3c]
call fcn.0045dd80
lea ecx, [esp + 0x50]
call fcn.00401cb0
lea ecx, [esp + 0x18]
mov byte [esp + 0x878], 1
call fcn.0043cde0
lea ecx, [esp + 0x1c]
call fcn.0043cd30
lea ecx, [esp + 0x20]
mov dword [esp + 0x878], 0xffffffff
call fcn.0045dc20
xor al, al
mov ecx, dword [esp + 0x870]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x858]
xor ecx, esp
call fcn.0048de34
add esp, 0x868
ret 4