Function at 0x100553d0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Get local ipv4 addresses
Get socket information
Get socket status
Resolve dns
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100c496b
mov eax, dword fs:[0]
push eax
sub esp, 0x294
mov eax, dword [0x100f7084]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x278], ecx
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x284]
call fcn.1004a660
mov byte [ebp - 4], 1
lea eax, [ebp - 0x284]
push eax
mov ecx, dword [ebp - 0x278]
call fcn.10054ff0
movzx ecx, al
test ecx, ecx
jne 0x10055460
mov byte [ebp - 0x259], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x284]
call fcn.10054b90
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.10005f30
mov al, byte [ebp - 0x259]
jmp 0x100558a9
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x258], eax
cmp dword [ebp - 0x258], 0
ja 0x100554ab
mov byte [ebp - 0x25a], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x284]
call fcn.10054b90
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.10005f30
mov al, byte [ebp - 0x25a]
jmp 0x100558a9
mov byte [ebp - 0x251], 0
mov dword [ebp - 0x290], 1
lea edx, [ebp - 0x290]
push edx
push 0x8004667e
mov eax, dword [ebp - 0x258]
push eax
call dword [sym.imp.WS2_32.dll_ioctlsocket]
test eax, eax
jge 0x100554de
jmp 0x100557cd
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ecx
mov edx, 2
mov word [ebp - 0x20], dx
push 0x1bb
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x1e], ax
lea ecx, [ebp + 8]
call fcn.10007050
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov dword [ebp - 0x288], eax
cmp dword [ebp - 0x288], 0
jne 0x10055527
jmp 0x100557cd
mov eax, dword [ebp - 0x288]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx]
mov eax, dword [edx]
push eax
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea ecx, [ebp - 0x48]
call fcn.10005de0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x48]
call fcn.10007050
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x1c], eax
push 0x10
lea ecx, [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x258]
push edx
call dword [sym.imp.WS2_32.dll_connect]
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x2a0], 1
mov dword [ebp - 0x29c], 0
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x260], 0
jmp 0x100555b6
mov eax, dword [ebp - 0x260]
add eax, 1
mov dword [ebp - 0x260], eax
mov ecx, dword [ebp - 0x260]
cmp ecx, dword [ebp - 0x250]
jae 0x100555dd
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp + edx*4 - 0x24c]
cmp eax, dword [ebp - 0x258]
jne 0x100555db
jmp 0x100555dd
jmp 0x100555a7
mov ecx, dword [ebp - 0x260]
cmp ecx, dword [ebp - 0x250]
jne 0x10055616
cmp dword [ebp - 0x250], 0x40
jae 0x10055616
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x258]
mov dword [ebp + edx*4 - 0x24c], eax
mov ecx, dword [ebp - 0x250]
add ecx, 1
mov dword [ebp - 0x250], ecx
xor edx, edx
jne 0x1005559b
mov dword [ebp - 0x264], 0
jmp 0x10055635
mov eax, dword [ebp - 0x264]
add eax, 1
mov dword [ebp - 0x264], eax
mov ecx, dword [ebp - 0x264]
cmp ecx, dword [ebp - 0x14c]
jae 0x1005565c
mov edx, dword [ebp - 0x264]
mov eax, dword [ebp + edx*4 - 0x148]
cmp eax, dword [ebp - 0x258]
jne 0x1005565a
jmp 0x1005565c
jmp 0x10055626
mov ecx, dword [ebp - 0x264]
cmp ecx, dword [ebp - 0x14c]
jne 0x10055695
cmp dword [ebp - 0x14c], 0x40
jae 0x10055695
mov edx, dword [ebp - 0x264]
mov eax, dword [ebp - 0x258]
mov dword [ebp + edx*4 - 0x148], eax
mov ecx, dword [ebp - 0x14c]
add ecx, 1
mov dword [ebp - 0x14c], ecx
xor edx, edx
jne 0x1005561a
lea eax, [ebp - 0x2a0]
push eax
push 0
lea ecx, [ebp - 0x14c]
push ecx
lea edx, [ebp - 0x250]
push edx
mov eax, dword [ebp - 0x258]
push eax
call dword [sym.imp.WS2_32.dll_select]
mov dword [ebp - 0x26c], eax
cmp dword [ebp - 0x26c], 0
jge 0x100556dd
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x48]
call fcn.10005f30
jmp 0x100557cd
mov dword [ebp - 0x294], 0x10
lea ecx, [ebp - 0x294]
push ecx
lea edx, [ebp - 0x30]
push edx
mov eax, dword [ebp - 0x258]
push eax
call dword [sym.imp.WS2_32.dll_getsockname]
mov dword [ebp - 0x26c], eax
cmp dword [ebp - 0x26c], 0
je 0x10055718
cmp dword [ebp - 0x2c], 0
je 0x100557b9
lea ecx, [ebp - 0x284]
mov dword [ebp - 0x28c], ecx
lea edx, [ebp - 0x270]
push edx
mov ecx, dword [ebp - 0x28c]
call fcn.1006b5d0
lea eax, [ebp - 0x298]
push eax
mov ecx, dword [ebp - 0x28c]
call fcn.10021d00
jmp 0x10055755
lea ecx, [ebp - 0x270]
call fcn.10054d80
lea ecx, [ebp - 0x298]
push ecx
lea ecx, [ebp - 0x270]
call fcn.10041280
movzx edx, al
test edx, edx
je 0x100557b9
lea ecx, [ebp - 0x270]
call fcn.100636a0
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x274]
cmp dword [eax + 0x7c], 0
je 0x100557b7
mov ecx, dword [ebp - 0x274]
mov edx, dword [ecx + 0x7c]
cmp edx, dword [ebp - 0x2c]
jne 0x100557b7
mov eax, dword [ebp - 0x274]
push eax
mov ecx, dword [ebp - 0x278]
add ecx, 4
call fcn.10054c80
mov byte [ebp - 0x251], 1
jmp 0x100557b9
jmp 0x1005574a
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x48]
call fcn.10005f30
xor ecx, ecx
jne 0x100554b2
mov edx, dword [ebp - 0x258]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
movzx eax, byte [ebp - 0x251]
test eax, eax
jne 0x10055879
mov dword [ebp - 0x268], 0
jmp 0x10055804
mov ecx, dword [ebp - 0x268]
add ecx, 1
mov dword [ebp - 0x268], ecx
lea ecx, [ebp - 0x284]
call fcn.10056cd0
cmp dword [ebp - 0x268], eax
jae 0x10055879
mov edx, dword [ebp - 0x268]
push edx
lea ecx, [ebp - 0x284]
call fcn.10054d40
cmp dword [eax + 0x7c], 0
je 0x10055874
mov eax, dword [ebp - 0x268]
push eax
lea ecx, [ebp - 0x284]
call fcn.10054d40
cmp dword [eax + 0x80], 0
je 0x10055874
mov ecx, dword [ebp - 0x268]
push ecx
lea ecx, [ebp - 0x284]
call fcn.10054d40
push eax
mov ecx, dword [ebp - 0x278]
add ecx, 4
call fcn.10054c80
mov byte [ebp - 0x251], 1
jmp 0x10055879
jmp 0x100557f5
mov dl, byte [ebp - 0x251]
mov byte [ebp - 0x25b], dl
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x284]
call fcn.10054b90
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.10005f30
mov al, byte [ebp - 0x25b]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10086b0f
mov esp, ebp
pop ebp
ret 0x18