Function at 0x5583f0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Send http request
Send http request with host header
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 3
add esp, 0xfffff004
push eax
dec eax
jne 0x5583f9
mov eax, dword [ebp - 4]
add esp, 0xffffff14
test dword [esp], ebx
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov dword [ebp - 0xb4], eax
lea ebx, [ebp - 0xb0]
lea edi, [ebp - 0x1c]
mov eax, 0x57a05c
call fcn.00544234
mov dword [ebx + 0x1c], 5
lea edx, [ebp - 4]
lea eax, [ebp - 4]
call fcn.00551a1c
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 8]
mov word [ebx + 0x10], 0xc
lea eax, [ebp - 8]
call fcn.00551a1c
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp + 8]
lea eax, [ebp + 8]
call fcn.005527d4
inc dword [ebx + 0x1c]
mov edx, dword [ebp - 0xb4]
mov byte [edx + 1], 0
mov dl, 1
mov eax, dword [ebp + 8]
call fcn.00464920
test al, al
jne 0x5584ca
xor eax, eax
mov edx, 2
push eax
lea eax, [ebp + 8]
dec dword [ebx + 0x1c]
call fcn.00552924
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 8]
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 4]
mov edx, 2
call fcn.004027dc
pop eax
mov edx, dword [ebx]
mov dword fs:[0], edx
jmp 0x5594d4
mov word [ebx + 0x10], 0x18
xor ecx, ecx
lea edx, [ebp - 8]
mov dword [ebp - 0xc], ecx
xor ecx, ecx
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0xc
mov word [ebx + 0x10], 0x24
mov dword [ebp - 0x10], ecx
inc dword [ebx + 0x1c]
xor eax, eax
mov word [ebx + 0x10], 0xc
mov word [ebx + 0x10], 0x30
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
call fcn.0041ed40
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x18]
lea eax, [ebp - 0x10]
call fcn.0055294c
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.00552924
cmp dword [ebp - 8], 0
je 0x558537
mov ecx, dword [ebp - 8]
mov esi, dword [ecx - 4]
jmp 0x558539
xor esi, esi
mov word [ebx + 0x10], 0xc
test esi, esi
jle 0x558664
mov word [ebx + 0x10], 0x3c
xor eax, eax
mov ecx, 1
mov dword [edi], eax
push edi
inc dword [ebx + 0x1c]
lea eax, [ebp - 0x10]
mov edx, esi
call fcn.00552c50
push edi
mov edx, 0x57903d
lea eax, [ebp - 0x20]
call fcn.00552794
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x20]
pop eax
call fcn.005529f8
test al, al
jne 0x5585ec
xor ecx, ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0x24]
push ecx
mov ecx, 1
inc dword [ebx + 0x1c]
mov edx, esi
call fcn.00552c50
lea eax, [ebp - 0x24]
push eax
mov edx, 0x57903f
lea eax, [ebp - 0x28]
call fcn.00552794
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x28]
pop eax
call fcn.005529f8
test al, al
lea eax, [ebp - 0x28]
setne cl
and ecx, 1
mov edx, 2
push ecx
dec dword [ebx + 0x1c]
call fcn.00552924
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x24]
mov edx, 2
call fcn.00552924
pop ecx
test ecx, ecx
jne 0x5585ec
xor ecx, ecx
jmp 0x5585f1
mov ecx, 1
push ecx
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.00552924
dec dword [ebx + 0x1c]
mov eax, edi
mov edx, 2
call fcn.00552924
pop ecx
test cl, cl
je 0x55865b
lea eax, [ebp - 0x10]
mov ecx, esi
mov edx, 1
call fcn.00552b04
mov word [ebx + 0x10], 0x48
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
lea edx, [ebp - 0x2c]
inc dword [ebx + 0x1c]
mov eax, dword [ebp - 0x10]
call fcn.00464ed4
lea edx, [ebp - 0x2c]
lea eax, [ebp - 0x10]
call fcn.0055294c
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.00552924
jmp 0x558664
dec esi
test esi, esi
jg 0x558547
lea eax, [ebp + 8]
call fcn.00552dd4
cmp word [eax], 0x5c
je 0x5586a3
mov word [ebx + 0x10], 0x54
mov edx, 0x579041
lea eax, [ebp - 0x30]
call fcn.00552794
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x30]
lea eax, [ebp + 8]
call fcn.00552960
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x30]
mov edx, 2
call fcn.00552924
lea edx, [ebp + 8]
lea eax, [ebp - 0x10]
mov ecx, 1
call fcn.00552af0
mov eax, dword [ebp - 0xb4]
call fcn.00556d18
test al, al
jne 0x558727
xor eax, eax
mov edx, 2
push eax
lea eax, [ebp - 0x10]
dec dword [ebx + 0x1c]
call fcn.00552924
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004027dc
dec dword [ebx + 0x1c]
lea eax, [ebp + 8]
mov edx, 2
call fcn.00552924
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 8]
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 4]
mov edx, 2
call fcn.004027dc
pop eax
mov edx, dword [ebx]
mov dword fs:[0], edx
jmp 0x5594d4
mov edi, 0x50
mov word [ebx + 0x10], 0xc
mov word [ebx + 0x10], 0x60
mov edx, 0x579043
lea eax, [ebp - 0x34]
xor ecx, ecx
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x34]
lea eax, [ebp - 4]
call fcn.00551d0c
sub dword [ebx + 0x1c], 2
mov esi, eax
lea eax, [ebp - 0x34]
mov edx, 2
call fcn.004027dc
test esi, esi
jle 0x558870
mov word [ebx + 0x10], 0x6c
xor ecx, ecx
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x38], ecx
xor ecx, ecx
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0x78
mov word [ebx + 0x10], 0x84
mov dword [ebp - 0x3c], ecx
inc dword [ebx + 0x1c]
push eax
inc dword [ebx + 0x1c]
cmp dword [ebp - 4], 0
je 0x5587ad
mov edx, dword [ebp - 4]
mov ecx, dword [edx - 4]
jmp 0x5587af
xor ecx, ecx
lea edx, [esi + 1]
lea eax, [ebp - 4]
call fcn.00403270
lea edx, [ebp - 0x3c]
lea eax, [ebp - 0x38]
call fcn.00551b64
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x3c]
mov edx, 2
call fcn.004027dc
mov word [ebx + 0x10], 0x90
xor ecx, ecx
lea edx, [ebp - 0x40]
mov dword [ebp - 0x40], ecx
lea eax, [ebp - 0x38]
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
call fcn.004067c0
lea edx, [ebp - 0x40]
lea eax, [ebp - 0x38]
call fcn.00551b64
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x40]
mov edx, 2
call fcn.004027dc
lea eax, [ebp - 0x38]
call fcn.00551f18
mov word [ebx + 0x10], 0x9c
mov edi, eax
xor eax, eax
mov dword [ebp - 0x44], eax
lea edx, [ebp - 0x44]
inc dword [ebx + 0x1c]
push edx
inc dword [ebx + 0x1c]
mov edx, 1
lea eax, [ebp - 4]
lea ecx, [esi - 1]
call fcn.00403270
lea edx, [ebp - 0x44]
lea eax, [ebp - 4]
call fcn.00551b64
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x44]
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x38]
mov edx, 2
call fcn.004027dc
mov word [ebx + 0x10], 0xc
mov word [ebx + 0x10], 0xa8
xor ecx, ecx
mov dword [ebp - 0x14], ecx
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0xc
cmp dword [ebp - 4], 0
jne 0x558894
mov ecx, 0x579045
jmp 0x558897
mov ecx, dword [ebp - 4]
push ecx
call sub.WSOCK32.DLL_gethostbyname
test eax, eax
je 0x5588d0
mov edx, dword [eax + 0xc]
xor ecx, ecx
mov edx, dword [edx]
mov cl, byte [edx + 3]
push ecx
xor ecx, ecx
mov cl, byte [edx + 2]
push ecx
xor ecx, ecx
mov cl, byte [edx + 1]
xor eax, eax
push ecx
mov al, byte [edx]
lea edx, [ebp - 0x14]
push eax
push 0x579046
push edx
call fcn.00402e74
add esp, 0x18
jmp 0x558946
xor eax, eax
mov edx, 2
push eax
lea eax, [ebp - 0x14]
sub dword [ebx + 0x1c], 2
call fcn.004027dc
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.00552924
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004027dc
dec dword [ebx + 0x1c]
lea eax, [ebp + 8]
mov edx, 2
call fcn.00552924
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 8]
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 4]
mov edx, 2
call fcn.004027dc
pop eax
mov edx, dword [ebx]
mov dword fs:[0], edx
jmp 0x5594d4
push 0
push 1
push 2
call sub.WSOCK32.DLL_socket
mov dword [ebp - 0xb8], eax
cmp eax, 0xffffffff
je 0x559463
push 0x10
push 0
lea edx, [ebp - 0xf0]
push edx
call fcn.00543c8b
add esp, 0xc
mov word [ebp - 0xf0], 2
cmp dword [ebp - 0x14], 0
jne 0x558989
mov ecx, 0x579053
jmp 0x55898c
mov ecx, dword [ebp - 0x14]
push ecx
call sub.WSOCK32.DLL_inet_addr
mov dword [ebp - 0xec], eax
push edi
call sub.WSOCK32.DLL_htons
mov word [ebp - 0xee], ax
lea eax, [ebp - 0xbc]
mov dword [ebp - 0xbc], 1
push eax
push 0x8004667e
mov edx, dword [ebp - 0xb8]
push edx
call sub.WSOCK32.DLL_ioctlsocket
push 0x10
lea ecx, [ebp - 0xf0]
push ecx
mov eax, dword [ebp - 0xb8]
push eax
call sub.WSOCK32.DLL_connect
inc eax
je 0x5589e3
mov al, 1
jmp 0x5589f4
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xb4]
call fcn.00556ecc
cmp al, 1
jne 0x559463
mov edx, dword [ebp - 0xb4]
cmp byte [edx + 1], 1
jne 0x558a8e
mov ecx, dword [ebp - 0xb8]
push ecx
call sub.WSOCK32.DLL_closesocket
xor eax, eax
mov edx, 2
push eax
lea eax, [ebp - 0x14]
sub dword [ebx + 0x1c], 2
call fcn.004027dc
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.00552924
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004027dc
dec dword [ebx + 0x1c]
lea eax, [ebp + 8]
mov edx, 2
call fcn.00552924
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 8]
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 4]
mov edx, 2
call fcn.004027dc
pop eax
mov edx, dword [ebx]
mov dword fs:[0], edx
jmp 0x5594d4
mov ecx, dword [ebp - 0xb4]
cmp dword [ecx + 0xc], 0
je 0x558aae
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ecx + 4]
push eax
mov edx, dword [ebp - 0xb4]
call dword [edx + 0xc]
pop ecx
xor ecx, ecx
mov dword [ebp - 0xbc], ecx
lea eax, [ebp - 0xbc]
push eax
push 0x8004667e
mov edx, dword [ebp - 0xb8]
push edx
call sub.WSOCK32.DLL_ioctlsocket
mov dword [ebp - 0xc0], 0x2800
push 4
lea ecx, [ebp - 0xc0]
push ecx
push 0x1002
push 0xffff
mov eax, dword [ebp - 0xb8]
push eax
call sub.WSOCK32.DLL_setsockopt
mov edx, dword [ebp - 0xb4]
lea eax, [ebp - 0xc4]
mov ecx, dword [edx + 8]
shl ecx, 3
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
mov dword [ebp - 0xc4], ecx
push 4
push eax
push 0x1006
push 0xffff
mov edx, dword [ebp - 0xb8]
push edx
call sub.WSOCK32.DLL_setsockopt
mov esi, str.GET
lea edi, [ebp - 0x8f0]
mov eax, edi
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
cmp dword [ebp - 8], 0
jne 0x558b4d
mov edx, 0x579059
jmp 0x558b50
mov edx, dword [ebp - 8]
push edx
lea eax, [ebp - 0x8f0]
push eax
call fcn.00543d5c
add esp, 8
push 0x57905a
lea ecx, [ebp - 0x8f0]
push ecx
call fcn.00543d5c
add esp, 8
push 0x579066
lea ecx, [ebp - 0x8f0]
push ecx
call fcn.00543d5c
add esp, 8
push 0x5790ac
lea eax, [ebp - 0x8f0]
push eax
call fcn.00543d5c
add esp, 8
cmp dword [ebp - 4], 0
jne 0x558ba9
mov edx, 0x5790b3
jmp 0x558bac
mov edx, dword [ebp - 4]
push edx
lea eax, [ebp - 0x8f0]
push eax
call fcn.00543d5c
add esp, 8
push 0x5790b4
lea ecx, [ebp - 0x8f0]
push ecx
call fcn.00543d5c
add esp, 8
push 0x5790b7
lea ecx, [ebp - 0x8f0]
push ecx
call fcn.00543d5c
add esp, 8
push 0x5790cb
lea eax, [ebp - 0x8f0]
push eax
call fcn.00543d5c
add esp, 8
push 0
lea edx, [ebp - 0x8f0]
push edx
call fcn.00543e58
pop ecx
push eax
lea ecx, [ebp - 0x8f0]
push ecx
mov eax, dword [ebp - 0xb8]
push eax
call sub.WSOCK32.DLL_send
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0xd4], edx
mov edx, 0x5790e3
mov dword [ebp - 0xd8], 0x5790ce
mov dword [ebp - 0xdc], 0x5790de
mov word [ebx + 0x10], 0xc0
lea eax, [ebp - 0x48]
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea ecx, [ebp - 0x4c]
mov word [ebx + 0x10], 0xb4
mov word [ebx + 0x10], 0xcc
push ecx
call fcn.00551ff0
pop ecx
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0xb4
push 0
lea eax, [ebp - 0x4c]
push eax
call fcn.005594e0
add esp, 8
mov dl, 1
mov eax, dword [0x426674]
push 0xff00
mov ecx, dword [ebp - 0x10]
call fcn.00432b0c
mov dword [ebp - 0xe0], eax
xor esi, esi
push 0x2800
push 0
lea eax, [ebp - 0x30f0]
push eax
call fcn.00543c8b
add esp, 0xc
lea edx, [ebp - 0x30f0]
push 0
push 0x27ff
push edx
mov ecx, dword [ebp - 0xb8]
push ecx
call sub.WSOCK32.DLL_recv
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xcc], 0
jne 0x558ed5
cmp dword [ebp - 0xd0], 0
jne 0x558ed5
mov word [ebx + 0x10], 0xd8
xor ecx, ecx
lea eax, [ebp - 0x30f0]
mov dword [ebp - 0x50], ecx
lea edx, [ebp - 0x50]
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0xe4
push eax
push 0x5790e4
push edx
call fcn.00402e74
mov word [ebx + 0x10], 0xf0
xor ecx, ecx
add esp, 0xc
mov dword [ebp - 0x54], ecx
lea eax, [ebp - 0x54]
inc dword [ebx + 0x1c]
push eax
inc dword [ebx + 0x1c]
lea eax, [ebp - 0x50]
mov ecx, 5
mov edx, 1
call fcn.00403270
mov edx, 0x5790e7
lea eax, [ebp - 0x58]
xor ecx, ecx
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x58]
lea eax, [ebp - 0x54]
call fcn.00551bc0
push eax
lea eax, [ebp - 0x58]
sub dword [ebx + 0x1c], 2
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x54]
mov edx, 2
call fcn.004027dc
pop ecx
test cl, cl
je 0x558ebe
mov word [ebx + 0x10], 0xfc
mov edx, 0x5790ed
lea eax, [ebp - 0x5c]
xor ecx, ecx
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x5c]
lea eax, [ebp - 0x50]
call fcn.00551d0c
test eax, eax
lea eax, [ebp - 0x5c]
setg cl
and ecx, 1
mov edx, 2
push ecx
sub dword [ebx + 0x1c], 2
call fcn.004027dc
pop ecx
test cl, cl
je 0x558ebe
mov word [ebx + 0x10], 0x108
xor ecx, ecx
lea eax, [ebp - 0x64]
mov dword [ebp - 0x64], ecx
mov edx, 0x5790ef
inc dword [ebx + 0x1c]
push eax
inc dword [ebx + 0x1c]
xor ecx, ecx
lea eax, [ebp - 0x60]
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x60]
lea eax, [ebp - 0x50]
call fcn.00551d0c
mov edx, eax
inc edx
lea eax, [ebp - 0x50]
mov ecx, 3
call fcn.00403270
mov edx, 0x5790f1
lea eax, [ebp - 0x68]
xor ecx, ecx
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x68]
lea eax, [ebp - 0x64]
call fcn.00551bc0
push eax
lea eax, [ebp - 0x68]
sub dword [ebx + 0x1c], 2
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x64]
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x60]
mov edx, 2
call fcn.004027dc
pop ecx
test cl, cl
je 0x558ebe
push 0x2800
push 0
lea ecx, [ebp - 0x30f0]
push ecx
call fcn.00543c8b
add esp, 0xc
lea eax, [ebp - 0x30f0]
push 0
push 0x27ff
push eax
mov edx, dword [ebp - 0xb8]
push edx
call sub.WSOCK32.DLL_recv
mov dword [ebp - 0xc8], eax
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x50]
mov edx, 2
call fcn.004027dc
mov word [ebx + 0x10], 0xb4
cmp dword [ebp - 0xc8], 0
jle 0x5592c0
cmp dword [ebp - 0xd4], 0
jne 0x559165
lea ecx, [ebp - 0x30f0]
push ecx
push 0x5790f5
lea ecx, [ebp - 0xc]
push ecx
call fcn.00402e74
add esp, 0xc
lea edx, [ebp - 0xc]
lea eax, [ebp - 0x48]
call fcn.00551b78
cmp dword [ebp - 0x48], 0
je 0x558f20
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx - 4]
jmp 0x558f22
xor eax, eax
cmp eax, 4
jle 0x558f9b
mov word [ebx + 0x10], 0x114
xor edx, edx
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x6c], edx
mov edx, 1
inc dword [ebx + 0x1c]
push ecx
inc dword [ebx + 0x1c]
mov ecx, 4
lea eax, [ebp - 0x48]
call fcn.00403270
mov edx, 0x5790f8
lea eax, [ebp - 0x70]
xor ecx, ecx
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x70]
lea eax, [ebp - 0x6c]
call fcn.00551bd8
push eax
lea eax, [ebp - 0x70]
sub dword [ebx + 0x1c], 2
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x6c]
mov edx, 2
call fcn.004027dc
pop ecx
test cl, cl
je 0x558f9b
jmp 0x5592c0
cmp dword [ebp - 0xd4], 0
jne 0x558ffa
mov word [ebx + 0x10], 0x120
mov edi, dword [ebp - 0xdc]
lea eax, [ebp - 0x74]
xor ecx, ecx
mov edx, edi
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x74]
lea eax, [ebp - 0x48]
call fcn.00551d0c
sub dword [ebx + 0x1c], 2
mov edi, eax
lea eax, [ebp - 0x74]
mov edx, 2
call fcn.004027dc
test edi, edi
jle 0x558ffa
mov ecx, dword [ebp - 0xdc]
push ecx
call fcn.00543e58
pop ecx
add eax, edi
dec eax
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0
jle 0x559165
cmp dword [ebp - 0xcc], 0
jne 0x559165
cmp dword [ebp - 0xd0], 0
jne 0x559165
mov word [ebx + 0x10], 0x12c
mov edi, dword [ebp - 0xd8]
lea eax, [ebp - 0x78]
xor ecx, ecx
mov edx, edi
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x78]
lea eax, [ebp - 0x48]
call fcn.00551d0c
sub dword [ebx + 0x1c], 2
mov edi, eax
lea eax, [ebp - 0x78]
mov edx, 2
call fcn.004027dc
test edi, edi
jle 0x559165
mov word [ebx + 0x10], 0x138
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
lea ecx, [ebp - 0x7c]
inc dword [ebx + 0x1c]
push ecx
inc dword [ebx + 0x1c]
mov eax, dword [ebp - 0xd8]
push eax
call fcn.00543e58
pop ecx
mov edx, eax
add edx, edi
lea eax, [ebp - 0x48]
mov ecx, 0x14
call fcn.00403270
lea edx, [ebp - 0x7c]
lea eax, [ebp - 0xc]
call fcn.00551b64
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x7c]
mov edx, 2
call fcn.004027dc
mov word [ebx + 0x10], 0x144
mov edx, 0x5790fd
lea eax, [ebp - 0x80]
xor ecx, ecx
call fcn.005519dc
inc dword [ebx + 0x1c]
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x80]
lea eax, [ebp - 0xc]
call fcn.00551d0c
sub dword [ebx + 0x1c], 2
mov edi, eax
lea eax, [ebp - 0x80]
mov edx, 2
call fcn.004027dc
test edi, edi
jle 0x559165
mov word [ebx + 0x10], 0x150
xor ecx, ecx
lea eax, [ebp - 0xc]
mov dword [ebp - 0x84], ecx
lea ecx, [ebp - 0x84]
inc dword [ebx + 0x1c]
push ecx
inc dword [ebx + 0x1c]
lea ecx, [edi - 1]
mov edx, 1
call fcn.00403270
lea edx, [ebp - 0x84]
lea eax, [ebp - 0xc]
call fcn.00551b64
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x84]
mov edx, 2
call fcn.004027dc
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xb4]
call fcn.00556d48
cmp al, 1
jne 0x559165
lea eax, [ebp - 0xc]
call fcn.00551f18
cdq
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
test esi, esi
jne 0x5591ae
lea ecx, [ebp - 0x4c]
push ecx
call fcn.005520a8
mov edi, eax
mov eax, dword [ebp - 0xc8]
add eax, edi
pop ecx
push eax
lea edx, [ebp - 0x4c]
push edx
call fcn.005594e0
add esp, 8
mov ecx, dword [ebp - 0xc8]
push ecx
lea ecx, [ebp - 0x30f0]
push ecx
push edi
lea eax, [ebp - 0x4c]
push eax
call fcn.005595a0
add esp, 8
push eax
call fcn.00543aa4
add esp, 0xc
cmp dword [ebp - 0xd4], 0
jle 0x559225
mov eax, dword [ebp - 0xe0]
mov edx, dword [eax]
call dword [edx]
push edx
push eax
mov eax, dword [ebp - 0xe0]
call fcn.00432130
test esi, esi
jne 0x559208
lea edx, [ebp - 0x4c]
push edx
call fcn.005520a8
pop ecx
mov esi, eax
sub esi, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xd4]
push eax
lea edx, [ebp - 0x4c]
push edx
call fcn.005595a0
mov edx, eax
mov eax, dword [ebp - 0xe0]
add esp, 8
mov ecx, esi
mov edi, dword [eax]
call dword [edi + 0x10]
jmp 0x559225
mov eax, dword [ebp - 0xe0]
lea edx, [ebp - 0x30f0]
mov ecx, dword [ebp - 0xc8]
mov edi, dword [eax]
call dword [edi + 0x10]
add esi, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xb4]
cmp dword [eax + 0x10], 0
je 0x559253
test esi, esi
jbe 0x559253
push esi
mov eax, dword [ebp - 0xd0]
push eax
mov edx, dword [ebp - 0xb4]
mov ecx, dword [edx + 4]
push ecx
mov ecx, dword [ebp - 0xb4]
call dword [ecx + 0x10]
add esp, 0xc
cmp dword [ebp - 0xcc], 0
jne 0x559267
cmp dword [ebp - 0xd0], 0
jne 0x559267
jmp 0x5592c0
cmp dword [ebp - 0xcc], 0
jne 0x55927f
cmp dword [ebp - 0xd0], 0
jbe 0x558caf
jmp 0x559285
jle 0x558caf
cmp dword [ebp - 0xd4], 0
jle 0x558caf
mov eax, esi
xor edx, edx
cmp edx, dword [ebp - 0xcc]
jne 0x5592ac
cmp eax, dword [ebp - 0xd0]
jb 0x558caf
jmp 0x5592c0
jl 0x558caf
jmp 0x5592c0
mov esi, dword [ebp - 0xe0]
mov dword [ebp - 0x8c], esi
test esi, esi
je 0x5592f4
mov eax, dword [esi]
mov dword [ebp - 0x88], eax
mov word [ebx + 0x10], 0x174
mov edx, 3
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax]
call dword [ecx - 4]
mov word [ebx + 0x10], 0x15c
mov edx, dword [ebp - 0xb8]
push edx
call sub.WSOCK32.DLL_closesocket
mov ecx, dword [ebp - 0xb4]
cmp dword [ecx + 0x14], 0
je 0x559320
mov eax, dword [ebp - 0xb4]
mov edx, dword [eax + 4]
push edx
mov ecx, dword [ebp - 0xb4]
call dword [ecx + 0x14]
pop ecx
mov eax, dword [ebp - 0xb4]
cmp byte [eax + 1], 1
jne 0x5593c8
xor eax, eax
lea edx, [ebp - 0x4c]
push eax
dec dword [ebx + 0x1c]
push 2
push edx
call fcn.00552020
add esp, 8
lea eax, [ebp - 0x48]
sub dword [ebx + 0x1c], 2
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.004027dc
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.00552924
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004027dc
dec dword [ebx + 0x1c]
lea eax, [ebp + 8]
mov edx, 2
call fcn.00552924
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 8]
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 4]
mov edx, 2
call fcn.004027dc
pop eax
mov edx, dword [ebx]
mov dword fs:[0], edx
jmp 0x5594d4
mov al, 1
lea edx, [ebp - 0x4c]
push eax
dec dword [ebx + 0x1c]
push 2
push edx
call fcn.00552020
add esp, 8
lea eax, [ebp - 0x48]
sub dword [ebx + 0x1c], 2
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.004027dc
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.00552924
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004027dc
dec dword [ebx + 0x1c]
lea eax, [ebp + 8]
mov edx, 2
call fcn.00552924
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 8]
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 4]
mov edx, 2
call fcn.004027dc
pop eax
mov edx, dword [ebx]
mov dword fs:[0], edx
jmp 0x5594d4
xor eax, eax
mov edx, 2
push eax
lea eax, [ebp - 0x14]
sub dword [ebx + 0x1c], 2
call fcn.004027dc
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.00552924
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004027dc
dec dword [ebx + 0x1c]
lea eax, [ebp + 8]
mov edx, 2
call fcn.00552924
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 8]
mov edx, 2
call fcn.004027dc
sub dword [ebx + 0x1c], 2
lea eax, [ebp - 4]
mov edx, 2
call fcn.004027dc
pop eax
mov edx, dword [ebx]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4