Function at 0x59a5e0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket

Disassembly:
push rbp
sub rsp, 0xa0
mov rbp, rsp
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x80], 0
mov qword [rbp + 0x58], rbp
mov dword [rbp + 0xb0], ecx
mov word [rbp + 0xb8], dx
nop
mov eax, dword [rbp + 0x78]
imul eax, dword [rbp + 0x74]
mov dword [rbp + 0x7c], eax
mov qword [rbp + 0x88], 0
nop
mov dword [rbp + 0x74], 0
mov eax, dword [rbp + 0x78]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x68]
imul eax, eax, 0x4b
mov dword [rbp + 0x70], eax
mov eax, dword [rbp + 0x60]
sub eax, dword [rbp + 0x7c]
cmp dword [rbp + 0x6c], eax
jne 0x59a665
mov eax, dword [rbp + 0x7c]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x68]
add eax, 0x5c
mov dword [rbp + 0x70], eax
mov eax, dword [rbp + 0x64]
sub eax, dword [rbp + 0x60]
cmp dword [rbp + 0x6c], eax
jne 0x59a682
mov eax, dword [rbp + 0x7c]
add eax, dword [rbp + 0x78]
mov dword [rbp + 0x60], eax
add dword [rbp + 0x74], 1
cmp dword [rbp + 0x74], 3
jne 0x59a645
nop
mov eax, dword [rbp + 0x64]
sub eax, 0x18e
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x78]
add eax, dword [rbp + 0x74]
mov ecx, dword [rbp + 0x70]
add ecx, dword [rbp + 0x6c]
cmp eax, ecx
jge 0x59a6d0
lea rcx, [rbp + 0x6c]
lea rdx, [rbp + 0x64]
lea r8, [rbp + 0x60]
lea r9, [rbp + 0x7c]
lea rax, [rbp + 0x74]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x70]
mov qword [rsp + 0x28], rax
call fcn.0055f990
mov dword [rbp + 0x74], 0
mov eax, dword [rbp + 0x78]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x70]
add eax, 0xa
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0x78]
add eax, dword [rbp + 0x70]
mov ecx, dword [rbp + 0x6c]
add ecx, dword [rbp + 0x68]
cmp eax, ecx
jge 0x59a702
mov eax, dword [rbp + 0x64]
sub eax, 0x174
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x6c]
add eax, dword [rbp + 0x60]
cmp eax, dword [rbp + 0x7c]
jle 0x59a716
mov eax, dword [rbp + 0x7c]
sub eax, dword [rbp + 0x78]
mov dword [rbp + 0x60], eax
mov eax, dword [rbp + 0x78]
mov dword [rbp + 0x7c], eax
add dword [rbp + 0x74], 1
cmp dword [rbp + 0x74], 3
jne 0x59a6d7
nop
mov eax, dword [rbp + 0x60]
imul eax, eax, 0x22a
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x7c]
cmp eax, dword [rbp + 0x78]
jle 0x59a750
lea rcx, [rbp + 0x74]
lea rdx, [rbp + 0x6c]
lea r8, [rbp + 0x68]
lea r9, [rbp + 0x60]
call fcn.00540aa0
mov eax, dword [rbp + 0x7c]
add eax, dword [rbp + 0x7c]
mov dword [rbp + 0x60], eax
mov eax, dword [rbp + 0x78]
add eax, dword [rbp + 0x74]
mov ecx, dword [rbp + 0x70]
add ecx, dword [rbp + 0x6c]
cmp eax, ecx
jge 0x59a790
lea rcx, [rbp + 0x70]
lea rdx, [rbp + 0x6c]
lea r8, [rbp + 0x64]
lea r9, [rbp + 0x60]
lea rax, [rbp + 0x7c]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x78]
mov qword [rsp + 0x28], rax
call fcn.00548890
lea rcx, [rbp + 0x80]
call fcn.0040e5d0
mov eax, dword [rbp + 0x7c]
sub eax, dword [rbp + 0x78]
mov dword [rbp + 0x60], eax
lea rcx, [rbp + 0x80]
mov rdx, qword [0x0060ec88]
call fcn.0040fe40
mov eax, dword [rbp + 0x74]
sub eax, dword [rbp + 0x6c]
mov ecx, dword [rbp + 0x68]
sub ecx, dword [rbp + 0x64]
cmp eax, ecx
jle 0x59a7d4
mov eax, dword [rbp + 0x60]
imul eax, eax, 0x229
mov dword [rbp + 0x64], eax
lea rcx, [rbp + 0x80]
mov rdx, qword [0x0060ecd8]
call fcn.0040fe40
mov eax, dword [rbp + 0x7c]
cmp eax, dword [rbp + 0x78]
jle 0x59a7fb
mov eax, dword [rbp + 0x68]
imul eax, eax, 0xf4
mov dword [rbp + 0x70], eax
lea rcx, [rbp + 0x50]
mov edx, 2
call fcn.0042c720
lea rcx, [rbp + 0x80]
mov rdx, qword [rbp + 0x50]
call fcn.0040fe40
mov eax, dword [rbp + 0x7c]
sub eax, dword [rbp + 0x78]
mov dword [rbp + 0x60], eax
lea rcx, [rbp + 0x80]
lea rdx, [0x0059b3b4]
call fcn.0040fe40
mov eax, dword [rbp + 0x7c]
cmp eax, dword [rbp + 0x78]
jle 0x59a84a
mov eax, dword [rbp + 0x6c]
imul eax, eax, 0xe5
mov dword [rbp + 0x70], eax
lea rcx, [rbp + 0x48]
mov edx, 3
call fcn.0042c720
lea rcx, [rbp + 0x80]
mov rdx, qword [rbp + 0x48]
call fcn.0040fe40
mov eax, dword [rbp + 0x7c]
add eax, dword [rbp + 0x78]
mov dword [rbp + 0x60], eax
lea rcx, [rbp + 0x40]
mov edx, 2
call fcn.0042c720
lea rcx, [rbp + 0x80]
mov rdx, qword [rbp + 0x40]
call fcn.0040fe40
mov eax, dword [rbp + 0x7c]
cmp eax, dword [rbp + 0x78]
jle 0x59a8a5
mov eax, dword [rbp + 0x6c]
imul eax, eax, 0xb6
mov dword [rbp + 0x70], eax
lea rcx, [rbp + 0x80]
lea rdx, [0x0059b3c4]
call fcn.0040fe40
mov eax, dword [rbp + 0x60]
imul eax, eax, 0x21c
mov dword [rbp + 0x64], eax
lea rcx, [rbp + 0x80]
mov rdx, qword [0x0060ece0]
call fcn.0040fe40
mov eax, dword [rbp + 0x78]
imul eax, dword [rbp + 0x70]
mov dword [rbp + 0x7c], eax
lea rcx, [rbp + 0x80]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
mov eax, dword [rbp + 0x74]
sub eax, dword [rbp + 0x70]
mov ecx, dword [rbp + 0x6c]
sub ecx, dword [rbp + 0x68]
cmp eax, ecx
jle 0x59a910
mov eax, dword [rbp + 0x64]
sub eax, 0x1ac
mov dword [rbp + 0x68], eax
lea rcx, [rbp + 0x80]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
lea rcx, [rbp + 0x78]
call fcn.0053a860
mov eax, dword [rbp + 0x7c]
cmp eax, dword [rbp + 0x78]
jle 0x59a941
lea rcx, [rbp + 0x74]
lea rdx, [rbp + 0x6c]
call fcn.00541950
mov eax, dword [rbp + 0x64]
sub eax, 0x16a
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x78]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x7c]
sub eax, dword [rbp + 0x78]
mov dword [rbp + 0x60], eax
mov dword [rbp + 0x74], 0
mov eax, dword [rbp + 0x78]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x74]
sub eax, dword [rbp + 0x70]
mov ecx, dword [rbp + 0x6c]
sub ecx, dword [rbp + 0x68]
cmp eax, ecx
jle 0x59a985
mov eax, dword [rbp + 0x60]
imul eax, eax, 0x1f6
mov dword [rbp + 0x68], eax
mov eax, dword [rbp + 0x7c]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x70]
add eax, 0x21
mov dword [rbp + 0x78], eax
add dword [rbp + 0x74], 1
cmp dword [rbp + 0x74], 3
jne 0x59a963
nop
mov eax, dword [rbp + 0x7c]
sub eax, dword [rbp + 0x78]
mov dword [rbp + 0x60], eax
mov dword [rbp + 0x74], 0
cmp dword [rbp + 0x74], 2
jge 0x59a9f1
add dword [rbp + 0x74], 1
mov eax, dword [rbp + 0x78]
add eax, 0x331
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x68]
add eax, 0x97
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x64]
sub eax, dword [rbp + 0x60]
cmp dword [rbp + 0x6c], eax
jne 0x59a9e5
mov eax, dword [rbp + 0x7c]
sub eax, dword [rbp + 0x78]
mov dword [rbp + 0x60], eax
mov eax, dword [rbp + 0x78]
mov dword [rbp + 0x7c], eax
cmp dword [rbp + 0x74], 2
jl 0x59a9b5
nop
mov eax, dword [rbp + 0x64]
sub eax, 0x16d
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x78]
imul eax, dword [rbp + 0x74]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x64]
add eax, 0x17a
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x78]
imul eax, dword [rbp + 0x74]
mov dword [rbp + 0x7c], eax
mov dword [rbp + 0x70], 0
mov eax, dword [rbp + 0x78]
imul eax, dword [rbp + 0x74]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x74]
add eax, 0x3ed
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0x68]
add eax, 0x72
mov dword [rbp + 0x74], eax
mov eax, dword [rbp + 0x64]
add eax, dword [rbp + 0x60]
cmp dword [rbp + 0x70], eax
jne 0x59aa58
mov eax, dword [rbp + 0x7c]
add eax, dword [rbp + 0x7c]
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x74]
sub dword [rbp + 0x7c], eax
add dword [rbp + 0x70], 1
cmp dword [rbp + 0x70], 3
jne 0x59aa25
nop
mov dword [rbp + 0x74], 0
mov eax, dword [rbp + 0x78]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x6c]
shl eax, 4
lea rax, [rax + rax*4]
mov dword [rbp + 0x70], eax
mov eax, dword [rbp + 0x68]
add eax, dword [rbp + 0x60]
cmp dword [rbp + 0x70], eax
jne 0x59aa97
mov eax, dword [rbp + 0x60]
add eax, dword [rbp + 0x7c]
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x78]
sub dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x78]
add eax, 0x384
mov dword [rbp + 0x7c], eax
add dword [rbp + 0x74], 1
cmp dword [rbp + 0x74], 3
jne 0x59aa70
nop
mov ecx, 2
mov edx, 1
xor r8, r8
call sub.ws2_32.dll_socket
mov qword [rbp + 0x88], rax
lea rcx, [rbp + 0x70]
lea rdx, [rbp + 0x68]
lea r8, [rbp + 0x64]
lea r9, [rbp + 0x7c]
lea rax, [rbp + 0x7c]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x74]
mov qword [rsp + 0x28], rax
call fcn.0053ce00
mov dword [rbp + 0x74], 0
cmp dword [rbp + 0x74], 1
jge 0x59ab3e
add dword [rbp + 0x74], 1
mov eax, dword [rbp + 0x78]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x74]
add eax, dword [rbp + 0x70]
mov ecx, dword [rbp + 0x6c]
add ecx, dword [rbp + 0x68]
cmp eax, ecx
jge 0x59ab29
mov eax, dword [rbp + 0x60]
imul eax, eax, 0x1f0
mov dword [rbp + 0x68], eax
mov eax, dword [rbp + 0x7c]
sub eax, dword [rbp + 0x78]
mov dword [rbp + 0x60], eax
mov eax, dword [rbp + 0x78]
mov dword [rbp + 0x7c], eax
cmp dword [rbp + 0x74], 1
jl 0x59ab03
nop
cmp qword [rbp + 0x88], 0
jbe 0x59b321
lea rcx, [rbp + 0x7c]
lea rdx, [rbp + 0x78]
call fcn.00593ca0
mov eax, dword [rbp + 0x7c]
cmp eax, dword [rbp + 0x78]
jle 0x59ab77
lea rcx, [rbp + 0x74]
lea rdx, [rbp + 0x70]
lea r8, [rbp + 0x68]
lea r9, [rbp + 0x60]
call fcn.00540440
mov eax, dword [rbp + 0x7c]
sub eax, dword [rbp + 0x78]
mov dword [rbp + 0x60], eax
mov dword [rbp + 0x74], 0
cmp dword [rbp + 0x74], 2
jge 0x59abc0
add dword [rbp + 0x74], 1
mov eax, dword [rbp + 0x7c]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x6c]
imul eax, eax, 0x66
mov dword [rbp + 0x70], eax
mov eax, dword [rbp + 0x64]
sub eax, dword [rbp + 0x60]
cmp dword [rbp + 0x70], eax
jne 0x59abb4
mov eax, dword [rbp + 0x7c]
add eax, dword [rbp + 0x7c]
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x7c]
mov dword [rbp + 0x7c], eax
cmp dword [rbp + 0x74], 2
jl 0x59ab8d
nop
lea rcx, [rbp + 0x90]
mov edx, 0x10
xor r8, r8
call fcn.0040a770
mov eax, dword [rbp + 0x78]
imul eax, dword [rbp + 0x74]
mov dword [rbp + 0x7c], eax
mov dword [rbp + 0x70], 0
mov eax, dword [rbp + 0x78]
imul eax, dword [rbp + 0x74]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x6c]
shl eax, 4
lea rax, [rax + rax*2]
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0x68]
add eax, dword [rbp + 0x64]
cmp dword [rbp + 0x70], eax
jne 0x59ac15
mov eax, dword [rbp + 0x60]
imul eax, eax, 0x21a
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x7c]
sub eax, dword [rbp + 0x78]
mov dword [rbp + 0x60], eax
mov eax, dword [rbp + 0x78]
imul eax, dword [rbp + 0x74]
mov dword [rbp + 0x7c], eax
add dword [rbp + 0x70], 1
cmp dword [rbp + 0x70], 4
jne 0x59abe7
nop
mov word [rbp + 0x90], 2
mov eax, dword [rbp + 0x74]
add eax, dword [rbp + 0x70]
mov ecx, dword [rbp + 0x6c]
add ecx, dword [rbp + 0x68]
cmp eax, ecx
jge 0x59ac51
call fcn.005690f0
mov eax, dword [rbp + 0x64]
imul eax, eax, 0x1c6
mov dword [rbp + 0x68], eax
lea rcx, [rbp + 0x78]
lea rdx, [rbp + 0x74]
lea r8, [rbp + 0x6c]
call fcn.00536390
mov dword [rbp + 0x74], 0
mov eax, dword [rbp + 0x78]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x6c]
imul eax, eax, 0x39
mov dword [rbp + 0x70], eax
mov eax, dword [rbp + 0x64]
sub eax, dword [rbp + 0x60]
cmp dword [rbp + 0x6c], eax
jne 0x59ac98
mov eax, dword [rbp + 0x7c]
add eax, dword [rbp + 0x7c]
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x7c]
mov dword [rbp + 0x7c], eax
add dword [rbp + 0x74], 1
cmp dword [rbp + 0x74], 3
jne 0x59ac75
nop
lea rcx, [rbp + 0x7c]
lea rdx, [rbp + 0x74]
lea r8, [rbp + 0x70]
lea r9, [rbp + 0x68]
lea rax, [rbp + 0x64]
mov qword [rsp + 0x20], rax
call fcn.00595dc0
mov eax, dword [rbp + 0x7c]
add eax, dword [rbp + 0x7c]
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x78]
add eax, dword [rbp + 0x74]
mov ecx, dword [rbp + 0x70]
add ecx, dword [rbp + 0x6c]
cmp eax, ecx
jge 0x59ad07
lea rcx, [rbp + 0x70]
lea rdx, [rbp + 0x68]
lea r8, [rbp + 0x64]
lea r9, [rbp + 0x7c]
lea rax, [rbp + 0x7c]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x74]
mov qword [rsp + 0x28], rax
call fcn.0055a580
mov dword [rbp + 0x78], 0
cmp dword [rbp + 0x78], 1
jge 0x59ad4a
add dword [rbp + 0x78], 1
mov eax, dword [rbp + 0x74]
sub dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x74]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x6c]
imul eax, eax, 0x3d
mov dword [rbp + 0x70], eax
mov eax, dword [rbp + 0x68]
add eax, dword [rbp + 0x64]
cmp dword [rbp + 0x70], eax
jne 0x59ad44
mov eax, dword [rbp + 0x60]
imul eax, eax, 0x228
mov dword [rbp + 0x64], eax
cmp dword [rbp + 0x78], 1
jl 0x59ad14
nop
movzx rcx, word [rbp + 0xb8]
call sub.ws2_32.dll_htons
mov word [rbp + 0x92], ax
mov eax, dword [rbp + 0x64]
sub eax, 0x1a2
mov dword [rbp + 0x6c], eax
lea rcx, [rbp + 0x78]
lea rdx, [rbp + 0x70]
lea r8, [rbp + 0x68]
lea r9, [rbp + 0x64]
lea rax, [rbp + 0x7c]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x78]
mov qword [rsp + 0x28], rax
call fcn.0053ae80
lea rcx, [rbp + 0x7c]
lea rdx, [rbp + 0x78]
lea r8, [rbp + 0x70]
lea r9, [rbp + 0x6c]
call fcn.00595c90
mov eax, dword [rbp + 0x64]
sub eax, 0x197
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x78]
imul eax, dword [rbp + 0x70]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x64]
sub eax, 0x164
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x78]
mov dword [rbp + 0x7c], eax
mov dword [rbp + 0x70], 0
mov eax, 0x393
sub eax, dword [rbp + 0x78]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x74]
sub eax, dword [rbp + 0x70]
mov ecx, dword [rbp + 0x68]
sub ecx, dword [rbp + 0x64]
cmp eax, ecx
jle 0x59adfe
mov eax, dword [rbp + 0x60]
imul eax, eax, 0x21e
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x7c]
sub eax, dword [rbp + 0x78]
mov dword [rbp + 0x60], eax
mov eax, dword [rbp + 0x78]
imul eax, dword [rbp + 0x74]
mov dword [rbp + 0x7c], eax
mov eax, 0x3cd
sub eax, dword [rbp + 0x74]
mov dword [rbp + 0x78], eax
add dword [rbp + 0x70], 1
cmp dword [rbp + 0x70], 4
jne 0x59add6
nop
mov eax, dword [rbp + 0x60]
imul eax, eax, 0x1e5
mov dword [rbp + 0x68], eax
mov eax, dword [rbp + 0x78]
add eax, dword [rbp + 0x70]
mov ecx, dword [rbp + 0x6c]
add ecx, dword [rbp + 0x68]
cmp eax, ecx
jge 0x59ae51
lea rcx, [rbp + 0x68]
lea rdx, [rbp + 0x60]
call fcn.00563130
mov eax, dword [rbp + 0x7c]
sub eax, dword [rbp + 0x78]
mov dword [rbp + 0x60], eax
mov dword [rbp + 0x70], 0
mov eax, dword [rbp + 0x78]
add eax, 0x381
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x64]
sub eax, dword [rbp + 0x7c]
cmp eax, dword [rbp + 0x7c]
jge 0x59ae84
mov eax, 0x396
sub eax, dword [rbp + 0x74]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x74]
sub eax, dword [rbp + 0x70]
mov ecx, dword [rbp + 0x68]
sub ecx, dword [rbp + 0x64]
cmp eax, ecx
jle 0x59aea0
mov eax, dword [rbp + 0x60]
imul eax, eax, 0x221
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x78]
sub dword [rbp + 0x7c], eax
mov eax, 0x3ab
sub eax, dword [rbp + 0x74]
mov dword [rbp + 0x7c], eax
add dword [rbp + 0x70], 1
cmp dword [rbp + 0x70], 4
jne 0x59ae61
nop
mov eax, dword [rbp + 0x7c]
imul eax, dword [rbp + 0x74]
mov dword [rbp + 0x7c], eax
mov dword [rbp + 0x74], 0
mov eax, dword [rbp + 0x7c]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x68]
add eax, 0x81
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x64]
sub eax, dword [rbp + 0x7c]
cmp dword [rbp + 0x6c], eax
jne 0x59aef4
mov eax, dword [rbp + 0x7c]
sub eax, dword [rbp + 0x78]
mov dword [rbp + 0x60], eax
mov eax, dword [rbp + 0x78]
mov dword [rbp + 0x7c], eax
add dword [rbp + 0x74], 1
cmp dword [rbp + 0x74], 3
jne 0x59aece
nop
mov eax, dword [rbp + 0x60]
imul eax, eax, 0x1d8
mov dword [rbp + 0x68], eax
call fcn.0059a310
mov eax, dword [rbp + 0x7c]
imul eax, dword [rbp + 0x74]
mov dword [rbp + 0x7c], eax
lea rcx, [rbp + 0x38]
mov edx, dword [rbp + 0xb0]
call fcn.00589c50
mov rcx, qword [rbp + 0x38]
call fcn.0040f2d0
mov rcx, rax
call sub.ws2_32.dll_inet_addr
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0x60]
add eax, dword [rbp + 0x7c]
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x7c]
cmp eax, dword [rbp + 0x74]
jle 0x59af64
lea rcx, [rbp + 0x74]
lea rdx, [rbp + 0x6c]
call fcn.00541b10
mov dword [rbp + 0x70], 0
mov eax, dword [rbp + 0x78]
imul eax, dword [rbp + 0x74]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x74]
add eax, 0x11
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0x78]
add eax, dword [rbp + 0x74]
mov ecx, dword [rbp + 0x6c]
add ecx, dword [rbp + 0x68]
cmp eax, ecx
jge 0x59af9a
mov eax, dword [rbp + 0x64]
sub eax, 0x17b
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x6c]
add eax, dword [rbp + 0x60]
cmp eax, dword [rbp + 0x7c]
jle 0x59afab
mov eax, dword [rbp + 0x78]
sub dword [rbp + 0x7c], eax
mov eax, 0x3aa
sub eax, dword [rbp + 0x74]
mov dword [rbp + 0x7c], eax
add dword [rbp + 0x70], 1
cmp dword [rbp + 0x70], 4
jne 0x59af6b
nop
mov eax, dword [rbp + 0x7c]
add eax, dword [rbp + 0x7c]
mov dword [rbp + 0x60], eax
mov dword [rbp + 0x74], 0
cmp dword [rbp + 0x74], 2
jge 0x59b021
add dword [rbp + 0x74], 1
mov eax, dword [rbp + 0x78]
add eax, 0x35b
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x78]
add eax, dword [rbp + 0x74]
mov ecx, dword [rbp + 0x6c]
add ecx, dword [rbp + 0x68]
cmp eax, ecx
jge 0x59b004
mov eax, dword [rbp + 0x64]
sub eax, 0x166
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x68]
add eax, dword [rbp + 0x60]
cmp eax, dword [rbp + 0x7c]
jle 0x59b015
mov eax, dword [rbp + 0x78]
sub dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x78]
mov dword [rbp + 0x7c], eax
cmp dword [rbp + 0x74], 2
jl 0x59afd8
nop
mov dword [rbp + 0x70], 0
mov eax, dword [rbp + 0x78]
imul eax, dword [rbp + 0x74]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x74]
add eax, 2
mov dword [rbp + 0x78], eax
mov eax, 0xa7
sub eax, dword [rbp + 0x6c]
mov dword [rbp + 0x74], eax
mov eax, dword [rbp + 0x74]
sub eax, dword [rbp + 0x70]
mov ecx, dword [rbp + 0x68]
sub ecx, dword [rbp + 0x64]
cmp eax, ecx
jle 0x59b064
mov eax, dword [rbp + 0x60]
imul eax, eax, 0x1f1
mov dword [rbp + 0x68], eax
mov eax, dword [rbp + 0x68]
sub eax, dword [rbp + 0x7c]
cmp eax, dword [rbp + 0x7c]
jge 0x59b079
mov eax, dword [rbp + 0x78]
imul eax, dword [rbp + 0x74]
mov dword [rbp + 0x7c], eax
add dword [rbp + 0x70], 1
cmp dword [rbp + 0x70], 4
jne 0x59b029
nop
mov eax, dword [rbp + 0x64]
sub eax, 0x1c1
mov dword [rbp + 0x68], eax
lea rcx, [rbp + 0x7c]
lea rdx, [rbp + 0x78]
lea r8, [rbp + 0x70]
lea r9, [rbp + 0x6c]
call fcn.005907f0
mov dword [rbp + 0x70], 0
mov eax, dword [rbp + 0x78]
imul eax, dword [rbp + 0x74]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x74]
add eax, 0x3f5
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0x78]
add eax, dword [rbp + 0x74]
mov ecx, dword [rbp + 0x6c]
add ecx, dword [rbp + 0x68]
cmp eax, ecx
jge 0x59b0de
mov eax, dword [rbp + 0x64]
add eax, 0x17f
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x6c]
add eax, dword [rbp + 0x60]
cmp eax, dword [rbp + 0x7c]
jle 0x59b0f2
mov eax, dword [rbp + 0x7c]
sub eax, dword [rbp + 0x78]
mov dword [rbp + 0x60], eax
mov eax, dword [rbp + 0x78]
imul eax, dword [rbp + 0x74]
mov dword [rbp + 0x7c], eax
add dword [rbp + 0x70], 1
cmp dword [rbp + 0x70], 3
jne 0x59b0ac
nop
mov eax, dword [rbp + 0x64]
sub eax, 0x194
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x78]
imul eax, dword [rbp + 0x74]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x78]
mov dword [rbp + 0x7c], eax
mov rcx, qword [rbp + 0x88]
lea rdx, [rbp + 0x90]
mov r8d, 0x10
call sub.ws2_32.dll_connect
test eax, eax
je 0x59b285
mov dword [rbp + 0x70], 0
mov eax, 0x3c2
sub eax, dword [rbp + 0x74]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x64]
sub eax, dword [rbp + 0x60]
cmp dword [rbp + 0x70], eax
jne 0x59b16c
mov eax, dword [rbp + 0x7c]
add eax, dword [rbp + 0x78]
mov dword [rbp + 0x60], eax
mov eax, dword [rbp + 0x78]
imul eax, dword [rbp + 0x74]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x74]
add eax, 0x17
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0x74]
sub eax, dword [rbp + 0x70]
mov ecx, dword [rbp + 0x6c]
sub ecx, dword [rbp + 0x64]
cmp eax, ecx
jle 0x59b19b
mov eax, dword [rbp + 0x60]
imul eax, eax, 0x1e1
mov dword [rbp + 0x68], eax
add dword [rbp + 0x70], 1
cmp dword [rbp + 0x70], 4
jne 0x59b14c
nop
mov dword [rbp + 0x78], 0
cmp dword [rbp + 0x78], 1
jge 0x59b1fb
add dword [rbp + 0x78], 1
mov eax, dword [rbp + 0x74]
add eax, 0x32b
mov dword [rbp + 0x7c], eax
mov eax, 0x91
sub eax, dword [rbp + 0x6c]
mov dword [rbp + 0x74], eax
mov eax, dword [rbp + 0x74]
sub eax, dword [rbp + 0x70]
mov ecx, dword [rbp + 0x68]
sub ecx, dword [rbp + 0x64]
cmp eax, ecx
jle 0x59b1eb
mov eax, dword [rbp + 0x60]
imul eax, eax, 0x1fb
mov dword [rbp + 0x68], eax
mov eax, dword [rbp + 0x7c]
imul eax, dword [rbp + 0x74]
mov dword [rbp + 0x60], eax
cmp dword [rbp + 0x78], 1
jl 0x59b1b3
nop
mov eax, dword [rbp + 0x60]
imul eax, eax, 0x208
mov dword [rbp + 0x68], eax
lea rcx, [rbp + 0x78]
call fcn.005390e0
mov eax, dword [rbp + 0x7c]
cmp eax, dword [rbp + 0x78]
jle 0x59b240
lea rcx, [rbp + 0x74]
lea rdx, [rbp + 0x70]
lea r8, [rbp + 0x68]
lea r9, [rbp + 0x64]
lea rax, [rbp + 0x7c]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x7c]
mov qword [rsp + 0x28], rax
call fcn.0053ec40
mov eax, dword [rbp + 0x74]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x60]
imul eax, eax, 0x205
mov dword [rbp + 0x68], eax
mov rcx, qword [rbp + 0x88]
call fcn.005997f0
mov eax, dword [rbp + 0x78]
mov dword [rbp + 0x7c], eax
mov qword [rbp + 0x88], 0
mov eax, dword [rbp + 0x78]
imul eax, dword [rbp + 0x74]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x68]
add eax, 0x171
mov dword [rbp + 0x6c], eax
mov eax, dword [rbp + 0x74]
sub eax, dword [rbp + 0x70]
mov ecx, dword [rbp + 0x6c]
sub ecx, dword [rbp + 0x64]
cmp eax, ecx
jle 0x59b2bc
lea rcx, [rbp + 0x68]
lea rdx, [rbp + 0x60]
lea r8, [rbp + 0x7c]
lea r9, [rbp + 0x78]
lea rax, [rbp + 0x70]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x6c]
mov qword [rsp + 0x28], rax
call fcn.00568390
mov eax, dword [rbp + 0x64]
sub eax, 0x1aa
mov dword [rbp + 0x68], eax
call fcn.0058eeb0
mov eax, dword [rbp + 0x7c]
add eax, dword [rbp + 0x7c]
mov dword [rbp + 0x60], eax
mov eax, dword [rbp + 0x7c]
cmp eax, dword [rbp + 0x74]
jle 0x59b305
lea rcx, [rbp + 0x74]
lea rdx, [rbp + 0x6c]
lea r8, [rbp + 0x68]
lea r9, [rbp + 0x60]
lea rax, [rbp + 0x7c]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x78]
mov qword [rsp + 0x28], rax
call fcn.005438f0
mov eax, dword [rbp + 0x7c]
cmp eax, dword [rbp + 0x74]
jle 0x59b320
lea rcx, [rbp + 0x74]
call fcn.00542490
jmp 0x59b320
nop
lea rcx, [rbp + 0x38]
call fcn.0040e620
lea rcx, [rbp + 0x40]
mov edx, 3
call fcn.0040e6b0
lea rcx, [rbp + 0x80]
call fcn.0040e5d0
mov rax, qword [rbp + 0x88]
lea rsp, [rbp + 0xa0]
pop rbp
ret