Function at 0x1000abbf
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Resolve dns
Set socket configuration

Disassembly:
mov eax, 0x10022334
call fcn.10021c80
sub esp, 0x91c
mov dword [ebp - 0x924], ecx
and dword [ebp - 0x41c], 0
mov dword [ebp - 0x418], 1
mov eax, dword [ebp - 0x924]
cmp dword [eax + 4], 0
je 0x1000abfe
mov eax, dword [ebp - 0x924]
cmp dword [eax + 8], 0
jne 0x1000ac08
mov eax, 0xfa1
jmp 0x1000b28a
push dword [ebp + 8]
call dword [sym.imp.MSVCRT.dll__wcslwr]
pop ecx
lea eax, [ebp - 0x410]
push eax
push dword [ebp + 8]
call fcn.1000b644
pop ecx
pop ecx
and dword [ebp - 0x41c], 0
jmp 0x1000ac39
mov eax, dword [ebp - 0x41c]
inc eax
mov dword [ebp - 0x41c], eax
mov eax, dword [ebp - 0x41c]
mov ecx, dword [ebp + 0xc]
movzx eax, word [ecx + eax*2]
test eax, eax
je 0x1000ac77
cmp dword [ebp - 0x41c], 0x400
jae 0x1000ac77
mov eax, dword [ebp - 0x41c]
mov ecx, dword [ebp + 0xc]
movzx eax, word [ecx + eax*2]
and eax, 0xff
mov ecx, dword [ebp - 0x41c]
mov byte [ebp + ecx - 0x8c8], al
jmp 0x1000ac2c
mov eax, dword [ebp - 0x41c]
and byte [ebp + eax - 0x8c8], 0
and dword [ebp - 0x41c], 0
lea eax, [ebp - 0x8c8]
push eax
call fcn.1000ab8e
pop ecx
test eax, eax
je 0x1000aceb
push 0xa
lea eax, [ebp - 0x8fc]
push eax
lea eax, [ebp - 0x8c8]
push eax
call dword [sym.imp.MSVCRT.dll_strtol]
add esp, 0xc
mov word [ebp - 0x424], ax
mov eax, dword [ebp - 0x8fc]
lea ecx, [ebp - 0x8c8]
cmp eax, ecx
jne 0x1000acd7
mov eax, 0xfae
jmp 0x1000b28a
push dword [ebp - 0x424]
call sub.WSOCK32.dll_htons
mov word [ebp - 0x424], ax
jmp 0x1000ad5b
push 0x100258f0
lea eax, [ebp - 0x8c8]
push eax
call sub.WSOCK32.dll_getservbyname
mov dword [ebp - 0x8dc], eax
cmp dword [ebp - 0x8dc], 0
je 0x1000ad1e
mov eax, dword [ebp - 0x8dc]
mov ax, word [eax + 8]
mov word [ebp - 0x424], ax
jmp 0x1000ad5b
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x8e0], eax
cmp dword [ebp - 0x8e0], 0x2afc
je 0x1000ad41
cmp dword [ebp - 0x8e0], 0x2afb
jne 0x1000ad4b
mov eax, 0xfae
jmp 0x1000b28a
mov eax, dword [ebp - 0x8e0]
sub eax, 0x1388
jmp 0x1000b28a
lea eax, [ebp - 0x410]
push eax
call sub.WSOCK32.dll_inet_addr
mov dword [ebp - 0x8e4], eax
cmp dword [ebp - 0x8e4], 0xffffffff
je 0x1000ad9a
lea eax, [ebp - 0x8e4]
mov dword [ebp - 0x8f4], eax
and dword [ebp - 0x8f0], 0
lea eax, [ebp - 0x8f4]
mov dword [ebp - 0x414], eax
jmp 0x1000af22
lea eax, [ebp - 0x410]
push eax
call sub.WSOCK32.dll_gethostbyname
mov dword [ebp - 0x8f8], eax
cmp dword [ebp - 0x8f8], 0
jne 0x1000adfb
movzx eax, word [0x10043616]
test eax, eax
je 0x1000adf1
mov ax, word [0x100415d0]
mov word [ebp - 0x900], ax
and word [0x100415d0], 0
push dword [ebp + 8]
push str.superDebug:_Cannot_resolve_hostname___s__to_ip_address._n
call fcn.10005df8
pop ecx
pop ecx
mov ax, word [ebp - 0x900]
mov word [0x100415d0], ax
mov eax, 0xfa7
jmp 0x1000b28a
mov eax, dword [ebp - 0x8f8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x414], eax
mov eax, dword [ebp - 0x8f8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x8d4], eax
movzx eax, word [0x10043616]
test eax, eax
je 0x1000af22
lea ecx, [ebp - 0x90c]
call fcn.100024c5
and dword [ebp - 4], 0
mov ax, word [0x100415d0]
mov word [ebp - 0x910], ax
and word [0x100415d0], 0
movzx eax, byte [ebp - 0x8d1]
push eax
movzx eax, byte [ebp - 0x8d2]
push eax
movzx eax, byte [ebp - 0x8d3]
push eax
movzx eax, byte [ebp - 0x8d4]
push eax
push dword [ebp + 8]
push str.superDebug:_Hostname___s__resolved_to_ip_address__hhu._hhu._hhu._hhu_n
call fcn.10005df8
add esp, 0x18
lea ecx, [ebp - 0x90c]
call fcn.100024e5
and dword [ebp - 0x914], 0
jmp 0x1000aea1
mov eax, dword [ebp - 0x914]
inc eax
mov dword [ebp - 0x914], eax
mov eax, dword [ebp - 0x8f8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x914]
movsx eax, byte [eax + ecx]
test eax, eax
je 0x1000aed6
mov eax, dword [ebp - 0x8f8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x914]
mov al, byte [eax + ecx]
push eax
lea ecx, [ebp - 0x90c]
call fcn.10005b5c
jmp 0x1000ae94
push 0
lea ecx, [ebp - 0x90c]
call fcn.100026f7
lea ecx, [ebp - 0x90c]
call fcn.1000272e
push eax
push str.superDebug:_Official_hostname_is__s_n
call fcn.10005df8
pop ecx
pop ecx
lea ecx, [ebp - 0x90c]
call fcn.10002525
mov ax, word [ebp - 0x910]
mov word [0x100415d0], ax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x90c]
call fcn.100024a2
and dword [ebp - 0x8e0], 0
jmp 0x1000af3a
mov eax, dword [ebp - 0x414]
add eax, 4
mov dword [ebp - 0x414], eax
mov eax, dword [ebp - 0x414]
cmp dword [eax], 0
je 0x1000b10e
mov eax, dword [ebp - 0x414]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x8d4], eax
movzx eax, word [0x10043616]
test eax, eax
je 0x1000afb3
mov ax, word [0x100415d0]
mov word [ebp - 0x918], ax
and word [0x100415d0], 0
movzx eax, byte [ebp - 0x8d1]
push eax
movzx eax, byte [ebp - 0x8d2]
push eax
movzx eax, byte [ebp - 0x8d3]
push eax
movzx eax, byte [ebp - 0x8d4]
push eax
push str.superDebug:_Attempting_to_connect_to_ip_address__hhu._hhu._hhu._hhu_n
call fcn.10005df8
add esp, 0x14
mov ax, word [ebp - 0x918]
mov word [0x100415d0], ax
push 0
push 1
push 2
call sub.WSOCK32.dll_socket
mov ecx, dword [ebp - 0x924]
mov dword [ecx], eax
mov eax, dword [ebp - 0x924]
cmp dword [eax], 0xffffffff
jne 0x1000afdb
mov eax, 0xfa8
jmp 0x1000b28a
mov word [ebp - 0x8d8], 2
mov ax, word [ebp - 0x424]
mov word [ebp - 0x8d6], ax
push 4
lea eax, [ebp - 0x41c]
push eax
push 0xffffff7f
push 0xffff
mov eax, dword [ebp - 0x924]
push dword [eax]
call sub.WSOCK32.dll_setsockopt
call fcn.1001ff60
mov dword [ebp - 0x8e8], eax
cmp dword [ebp - 0x8e8], 0
je 0x1000b0bf
push 0x10
lea eax, [ebp - 0x8d8]
push eax
mov eax, dword [ebp - 0x924]
push dword [eax]
call sub.WSOCK32.dll_connect
mov dword [ebp - 0x8e0], eax
cmp dword [ebp - 0x8e0], 0xffffffff
je 0x1000b051
jmp 0x1000b0bf
movzx eax, word [0x10043616]
test eax, eax
je 0x1000b099
mov ax, word [0x100415d0]
mov word [ebp - 0x91c], ax
and word [0x100415d0], 0
mov eax, dword [ebp - 0x8e8]
dec eax
push eax
call sub.WSOCK32.dll_WSAGetLastError
push eax
push str.superDebug:_::connect___returned_error__d__retry_count_remaining_is__d_n
call fcn.10005df8
add esp, 0xc
mov ax, word [ebp - 0x91c]
mov word [0x100415d0], ax
mov eax, dword [ebp - 0x8e8]
dec eax
mov dword [ebp - 0x8e8], eax
cmp dword [ebp - 0x8e8], 0
je 0x1000b0ba
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1000b01d
cmp dword [ebp - 0x8e0], 0xffffffff
je 0x1000b0ca
jmp 0x1000b10e
movzx eax, word [0x10043616]
test eax, eax
je 0x1000b109
mov ax, word [0x100415d0]
mov word [ebp - 0x920], ax
and word [0x100415d0], 0
call sub.WSOCK32.dll_WSAGetLastError
push eax
push str.superDebug:_Connection_returned_error__d_n
call fcn.10005df8
pop ecx
pop ecx
mov ax, word [ebp - 0x920]
mov word [0x100415d0], ax
jmp 0x1000af2b
cmp dword [ebp - 0x8e0], 0xffffffff
jne 0x1000b1a3
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x420], eax
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0x928], eax
cmp dword [ebp - 0x928], 0x2733
je 0x1000b158
cmp dword [ebp - 0x928], 0x274c
je 0x1000b199
cmp dword [ebp - 0x928], 0x274d
je 0x1000b15a
jmp 0x1000b164
jmp 0x1000b1a3
mov eax, 0xfb1
jmp 0x1000b28a
push dword [ebp - 0x420]
call fcn.1000b298
pop ecx
push eax
push dword [ebp - 0x420]
push str.unexpected_error__d___s__from_winsock
lea eax, [ebp - 0x4c4]
push eax
call dword [sym.imp.MSVCRT.dll_swprintf]
add esp, 0x10
lea eax, [ebp - 0x4c4]
push eax
call fcn.1000aa98
pop ecx
mov eax, 0xfaf
jmp 0x1000b28a
mov eax, dword [ebp - 0x924]
mov ecx, dword [0x100440a0]
mov dword [eax + 0x24], ecx
lea eax, [ebp - 0x418]
push eax
push 0x8004667e
mov eax, dword [ebp - 0x924]
push dword [eax]
call sub.WSOCK32.dll_ioctlsocket
mov eax, dword [ebp - 0x924]
and dword [eax + 0x28], 0
mov eax, dword [ebp - 0x924]
cmp dword [eax + 0x28], 0x40
jae 0x1000b20f
mov eax, dword [ebp - 0x924]
mov eax, dword [eax + 0x28]
mov ecx, dword [ebp - 0x924]
mov edx, dword [ebp - 0x924]
mov edx, dword [edx]
mov dword [ecx + eax*4 + 0x2c], edx
mov eax, dword [ebp - 0x924]
mov eax, dword [eax + 0x28]
inc eax
mov ecx, dword [ebp - 0x924]
mov dword [ecx + 0x28], eax
xor eax, eax
test eax, eax
jne 0x1000b1d5
mov eax, dword [ebp - 0x924]
mov ecx, dword [0x10032210]
mov dword [eax + 0x12c], ecx
mov eax, dword [ebp - 0x924]
and dword [eax + 0x130], 0
mov dword [ebp - 0x8ec], 0xfaf0
mov dword [ebp - 0x41c], 4
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x8ec]
push eax
push 0x1001
push 0xffff
mov eax, dword [ebp - 0x924]
push dword [eax]
call sub.WSOCK32.dll_getsockopt
cmp dword [ebp - 0x8ec], 0xfaf0
jae 0x1000b288
mov eax, dword [ebp - 0x924]
mov ecx, dword [ebp - 0x8ec]
mov dword [eax + 0x20], ecx
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
leave
ret 8