Function at 0x5997f0
Capabilities:
Receive data
Receive data on socket

Disassembly:
push rbp
sub rsp, 0x870
mov rbp, rsp
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x880], rcx
nop
mov eax, dword [rbp + 0x54]
imul eax, eax, 0x1f2
mov dword [rbp + 0x58], eax
mov eax, dword [rbp + 0x5c]
cmp eax, dword [rbp + 0x5c]
jle 0x599848
lea rcx, [rbp + 0x58]
lea rdx, [rbp + 0x58]
lea r8, [rbp + 0x54]
call fcn.00546a00
mov eax, dword [rbp + 0x5c]
add eax, dword [rbp + 0x5c]
mov dword [rbp + 0x54], eax
mov dword [rbp + 0x5c], 0
cmp dword [rbp + 0x5c], 1
jge 0x5998ad
add dword [rbp + 0x5c], 1
mov eax, dword [rbp + 0x58]
imul eax, eax, 0x32d
mov dword [rbp + 0x58], eax
cmp dword [rbp + 0x58], 0
jne 0x599880
mov eax, 0x299
sub eax, dword [rbp + 0x58]
mov dword [rbp + 0x54], eax
mov eax, dword [rbp + 0x5c]
sub eax, dword [rbp + 0x58]
mov ecx, dword [rbp + 0x58]
sub ecx, dword [rbp + 0x54]
cmp eax, ecx
jle 0x599897
add dword [rbp + 0x54], 0x245
mov eax, dword [rbp + 0x58]
sub eax, dword [rbp + 0x54]
test eax, eax
jge 0x5998a7
mov eax, dword [rbp + 0x54]
mov dword [rbp + 0x58], eax
cmp dword [rbp + 0x5c], 1
jl 0x59985e
nop
mov eax, dword [rbp + 0x54]
imul eax, eax, 0x21a
mov dword [rbp + 0x54], eax
lea rcx, [rbp + 0x5c]
call fcn.00590db0
mov eax, dword [rbp + 0x5c]
imul eax, dword [rbp + 0x5c]
mov dword [rbp + 0x5c], eax
mov eax, dword [rbp + 0x54]
add eax, 0x16a
mov dword [rbp + 0x58], eax
mov eax, dword [rbp + 0x5c]
imul eax, dword [rbp + 0x5c]
mov dword [rbp + 0x5c], eax
lea rcx, [rbp + 0x60]
call fcn.0040e5d0
mov dword [rbp + 0x54], 0
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ec88]
call fcn.0040fe40
mov eax, dword [rbp + 0x5c]
cmp eax, dword [rbp + 0x5c]
jle 0x599912
add dword [rbp + 0x58], 0x101
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ecd8]
call fcn.0040fe40
mov dword [rbp + 0x5c], 0
lea rcx, [rbp + 0x48]
mov edx, 2
call fcn.0042c720
lea rcx, [rbp + 0x60]
mov rdx, qword [rbp + 0x48]
call fcn.0040fe40
mov eax, dword [rbp + 0x5c]
add eax, dword [rbp + 0x5c]
mov ecx, dword [rbp + 0x58]
add ecx, dword [rbp + 0x58]
cmp eax, ecx
jge 0x599961
mov eax, dword [rbp + 0x54]
sub eax, 0x172
mov dword [rbp + 0x58], eax
lea rcx, [rbp + 0x60]
lea rdx, [0x0059a0b8]
call fcn.0040fe40
mov eax, dword [rbp + 0x5c]
imul eax, dword [rbp + 0x5c]
mov dword [rbp + 0x5c], eax
lea rcx, [rbp + 0x40]
mov edx, 3
call fcn.0042c720
lea rcx, [rbp + 0x60]
mov rdx, qword [rbp + 0x40]
call fcn.0040fe40
mov eax, dword [rbp + 0x5c]
add eax, dword [rbp + 0x5c]
mov ecx, dword [rbp + 0x58]
add ecx, dword [rbp + 0x58]
cmp eax, ecx
jge 0x5999b3
mov eax, dword [rbp + 0x54]
sub eax, 0x183
mov dword [rbp + 0x58], eax
lea rcx, [rbp + 0x38]
mov edx, 2
call fcn.0042c720
lea rcx, [rbp + 0x60]
mov rdx, qword [rbp + 0x38]
call fcn.0040fe40
mov eax, dword [rbp + 0x5c]
imul eax, dword [rbp + 0x5c]
mov dword [rbp + 0x5c], eax
lea rcx, [rbp + 0x60]
lea rdx, [0x0059a0c8]
call fcn.0040fe40
mov eax, dword [rbp + 0x5c]
add eax, dword [rbp + 0x5c]
mov ecx, dword [rbp + 0x58]
add ecx, dword [rbp + 0x58]
cmp eax, ecx
jge 0x599a00
add dword [rbp + 0x58], 0x134
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ece0]
call fcn.0040fe40
mov dword [rbp + 0x54], 0
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
mov eax, dword [rbp + 0x5c]
mov dword [rbp + 0x5c], eax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
mov eax, dword [rbp + 0x54]
imul eax, eax, 0x207
mov dword [rbp + 0x54], eax
mov eax, dword [rbp + 0x58]
sub eax, dword [rbp + 0x54]
test eax, eax
jge 0x599a7a
lea rcx, [rbp + 0x58]
lea rdx, [rbp + 0x54]
lea r8, [rbp + 0x5c]
lea r9, [rbp + 0x5c]
lea rax, [rbp + 0x5c]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x58]
mov qword [rsp + 0x28], rax
call fcn.00567710
mov eax, dword [rbp + 0x54]
sub eax, 0x1bc
mov dword [rbp + 0x58], eax
call fcn.00592270
mov dword [rbp + 0x54], 0
mov dword [rbp + 0x5c], 0
cmp dword [rbp + 0x5c], 1
jge 0x599af5
add dword [rbp + 0x5c], 1
mov eax, dword [rbp + 0x58]
imul eax, eax, 0x30e
mov dword [rbp + 0x58], eax
cmp dword [rbp + 0x58], 0
jne 0x599ac1
mov eax, 0x29b
sub eax, dword [rbp + 0x58]
mov dword [rbp + 0x54], eax
mov eax, dword [rbp + 0x58]
add eax, dword [rbp + 0x54]
cmp dword [rbp + 0x5c], eax
jne 0x599ad8
mov eax, dword [rbp + 0x58]
imul eax, eax, 0x247
mov dword [rbp + 0x54], eax
mov eax, dword [rbp + 0x54]
add eax, dword [rbp + 0x54]
cmp dword [rbp + 0x58], eax
jne 0x599aef
mov eax, dword [rbp + 0x58]
imul eax, eax, 0x254
mov dword [rbp + 0x54], eax
cmp dword [rbp + 0x5c], 1
jl 0x599a9f
nop
mov eax, dword [rbp + 0x5c]
imul eax, dword [rbp + 0x5c]
mov dword [rbp + 0x5c], eax
mov dword [rbp + 0x5c], 0
add dword [rbp + 0x58], 0x366
mov eax, dword [rbp + 0x54]
sub eax, dword [rbp + 0x5c]
cmp dword [rbp + 0x58], eax
jne 0x599b25
mov eax, 0x2d2
sub eax, dword [rbp + 0x58]
mov dword [rbp + 0x54], eax
mov eax, dword [rbp + 0x54]
add eax, dword [rbp + 0x54]
cmp dword [rbp + 0x5c], eax
jne 0x599b3c
mov eax, dword [rbp + 0x58]
imul eax, eax, 0x23e
mov dword [rbp + 0x54], eax
mov eax, dword [rbp + 0x54]
add eax, dword [rbp + 0x54]
cmp dword [rbp + 0x58], eax
jne 0x599b4e
add dword [rbp + 0x54], 0x22b
mov eax, dword [rbp + 0x5c]
sub eax, dword [rbp + 0x58]
mov ecx, dword [rbp + 0x58]
sub ecx, dword [rbp + 0x54]
cmp eax, ecx
jle 0x599b65
add dword [rbp + 0x54], 0x1f7
add dword [rbp + 0x5c], 1
cmp dword [rbp + 0x5c], 3
jne 0x599b07
nop
mov eax, dword [rbp + 0x5c]
add eax, dword [rbp + 0x5c]
mov dword [rbp + 0x54], eax
mov dword [rbp + 0x5c], 0
cmp dword [rbp + 0x5c], 1
jge 0x599be1
add dword [rbp + 0x5c], 1
mov eax, dword [rbp + 0x54]
sub eax, 0x385
mov dword [rbp + 0x58], eax
mov eax, dword [rbp + 0x54]
sub eax, dword [rbp + 0x5c]
cmp eax, dword [rbp + 0x5c]
jge 0x599bad
mov eax, dword [rbp + 0x58]
imul eax, eax, 0x3b2
mov dword [rbp + 0x58], eax
mov eax, dword [rbp + 0x54]
add eax, dword [rbp + 0x54]
cmp dword [rbp + 0x58], eax
jne 0x599bc4
mov eax, 0x27d
sub eax, dword [rbp + 0x58]
mov dword [rbp + 0x54], eax
mov eax, dword [rbp + 0x5c]
sub eax, dword [rbp + 0x58]
mov ecx, dword [rbp + 0x58]
sub ecx, dword [rbp + 0x54]
cmp eax, ecx
jle 0x599bdb
add dword [rbp + 0x54], 0x229
cmp dword [rbp + 0x5c], 1
jl 0x599b86
nop
mov eax, dword [rbp + 0x5c]
add eax, dword [rbp + 0x5c]
mov dword [rbp + 0x54], eax
mov eax, dword [rbp + 0x5c]
add eax, dword [rbp + 0x5c]
mov ecx, dword [rbp + 0x58]
add ecx, dword [rbp + 0x58]
cmp eax, ecx
jge 0x599c04
lea rcx, [rbp + 0x58]
call fcn.00561240
mov eax, dword [rbp + 0x54]
sub eax, 0x1a2
mov dword [rbp + 0x58], eax
mov eax, dword [rbp + 0x5c]
mov dword [rbp + 0x5c], eax
mov eax, dword [rbp + 0x54]
imul eax, eax, 0x22b
mov dword [rbp + 0x54], eax
mov eax, dword [rbp + 0x5c]
sub eax, dword [rbp + 0x58]
mov ecx, dword [rbp + 0x58]
sub ecx, dword [rbp + 0x54]
cmp eax, ecx
jle 0x599c50
lea rcx, [rbp + 0x58]
lea rdx, [rbp + 0x54]
lea r8, [rbp + 0x5c]
lea r9, [rbp + 0x5c]
lea rax, [rbp + 0x5c]
mov qword [rsp + 0x20], rax
call fcn.00567c50
mov dword [rbp + 0x5c], 0
add dword [rbp + 0x58], 0x361
mov eax, dword [rbp + 0x54]
sub eax, dword [rbp + 0x5c]
cmp dword [rbp + 0x58], eax
jne 0x599c75
mov eax, 0x2cd
sub eax, dword [rbp + 0x58]
mov dword [rbp + 0x54], eax
mov eax, dword [rbp + 0x58]
add eax, dword [rbp + 0x54]
cmp dword [rbp + 0x5c], eax
jne 0x599c87
add dword [rbp + 0x54], 0x239
mov eax, dword [rbp + 0x54]
add eax, 0xa0
mov dword [rbp + 0x58], eax
add dword [rbp + 0x5c], 1
cmp dword [rbp + 0x5c], 3
jne 0x599c57
nop
mov eax, dword [rbp + 0x5c]
mov dword [rbp + 0x5c], eax
mov eax, dword [rbp + 0x54]
sub eax, 0x1ae
mov dword [rbp + 0x58], eax
mov eax, dword [rbp + 0x5c]
mov dword [rbp + 0x5c], eax
mov dword [rbp + 0x5c], 0
add dword [rbp + 0x58], 0x33c
mov eax, dword [rbp + 0x54]
add eax, dword [rbp + 0x54]
cmp dword [rbp + 0x58], eax
jne 0x599cdb
mov eax, dword [rbp + 0x58]
imul eax, eax, 0x248
mov dword [rbp + 0x54], eax
mov eax, dword [rbp + 0x58]
add eax, dword [rbp + 0x54]
cmp dword [rbp + 0x5c], eax
jne 0x599ced
add dword [rbp + 0x54], 0x214
mov eax, dword [rbp + 0x58]
imul eax, eax, 0x7b
mov dword [rbp + 0x58], eax
cmp dword [rbp + 0x58], 0
jne 0x599d08
mov eax, dword [rbp + 0x58]
imul eax, eax, 0x266
mov dword [rbp + 0x54], eax
add dword [rbp + 0x5c], 1
cmp dword [rbp + 0x5c], 4
jne 0x599cbd
nop
mov eax, dword [rbp + 0x5c]
imul eax, dword [rbp + 0x5c]
mov dword [rbp + 0x5c], eax
mov dword [rbp + 0x5c], 0
mov eax, dword [rbp + 0x54]
add eax, 0x2f7
mov dword [rbp + 0x58], eax
mov eax, dword [rbp + 0x54]
sub eax, dword [rbp + 0x5c]
cmp dword [rbp + 0x58], eax
jne 0x599d47
mov eax, 0x2a4
sub eax, dword [rbp + 0x58]
mov dword [rbp + 0x54], eax
mov eax, dword [rbp + 0x5c]
sub eax, dword [rbp + 0x58]
mov ecx, dword [rbp + 0x58]
sub ecx, dword [rbp + 0x54]
cmp eax, ecx
jle 0x599d63
mov eax, 0x1d0
sub eax, dword [rbp + 0x54]
mov dword [rbp + 0x58], eax
mov eax, dword [rbp + 0x58]
sub eax, dword [rbp + 0x54]
test eax, eax
jge 0x599d79
mov eax, dword [rbp + 0x54]
sub eax, 0x1bc
mov dword [rbp + 0x58], eax
add dword [rbp + 0x5c], 1
cmp dword [rbp + 0x5c], 3
jne 0x599d24
nop
mov rcx, qword [rbp + 0x880]
mov edx, 1
call sub.ws2_32.dll_shutdown
mov eax, dword [rbp + 0x5c]
mov dword [rbp + 0x5c], eax
mov eax, dword [rbp + 0x54]
sub eax, 0x191
mov dword [rbp + 0x58], eax
mov eax, dword [rbp + 0x5c]
mov dword [rbp + 0x5c], eax
mov rcx, qword [rbp + 0x880]
lea rdx, [rbp + 0x6e]
mov r8d, 0x400
xor r9, r9
call sub.ws2_32.dll_recv
test eax, eax
jg 0x599dae
call fcn.00592270
mov eax, dword [rbp + 0x5c]
add eax, dword [rbp + 0x5c]
mov dword [rbp + 0x54], eax
mov eax, dword [rbp + 0x5c]
add eax, dword [rbp + 0x5c]
mov ecx, dword [rbp + 0x58]
add ecx, dword [rbp + 0x58]
cmp eax, ecx
jge 0x599e08
lea rcx, [rbp + 0x58]
lea rdx, [rbp + 0x58]
lea r8, [rbp + 0x54]
lea r9, [rbp + 0x5c]
lea rax, [rbp + 0x5c]
mov qword [rsp + 0x20], rax
call fcn.0055e470
lea rcx, [rbp + 0x5c]
lea rdx, [rbp + 0x5c]
lea r8, [rbp + 0x5c]
lea r9, [rbp + 0x58]
lea rax, [rbp + 0x54]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x54]
mov qword [rsp + 0x28], rax
call fcn.00593ec0
mov eax, dword [rbp + 0x5c]
mov dword [rbp + 0x5c], eax
mov eax, dword [rbp + 0x5c]
imul eax, dword [rbp + 0x5c]
mov dword [rbp + 0x5c], eax
mov dword [rbp + 0x54], 0
mov dword [rbp + 0x58], 0
mov eax, dword [rbp + 0x54]
lea rax, [rax + rax*2]
lea rax, [rax + rax*8]
mov dword [rbp + 0x5c], eax
add dword [rbp + 0x5c], 0x363
mov eax, dword [rbp + 0x54]
sub eax, dword [rbp + 0x5c]
cmp eax, dword [rbp + 0x5c]
jge 0x599e73
mov eax, dword [rbp + 0x5c]
mov dword [rbp + 0x5c], eax
mov eax, dword [rbp + 0x5c]
imul eax, eax, 0x35
mov dword [rbp + 0x5c], eax
mov eax, dword [rbp + 0x54]
add eax, dword [rbp + 0x54]
cmp dword [rbp + 0x5c], eax
jne 0x599e90
mov eax, dword [rbp + 0x5c]
add eax, dword [rbp + 0x5c]
mov dword [rbp + 0x54], eax
add dword [rbp + 0x58], 1
cmp dword [rbp + 0x58], 4
jne 0x599e4d
nop
mov dword [rbp + 0x5c], 0
mov eax, dword [rbp + 0x58]
imul eax, eax, 0x309
mov dword [rbp + 0x58], eax
mov eax, dword [rbp + 0x54]
add eax, dword [rbp + 0x54]
cmp dword [rbp + 0x58], eax
jne 0x599ec5
mov eax, dword [rbp + 0x58]
imul eax, eax, 0x255
mov dword [rbp + 0x54], eax
mov eax, dword [rbp + 0x58]
add eax, dword [rbp + 0x54]
cmp dword [rbp + 0x5c], eax
jne 0x599ed7
add dword [rbp + 0x54], 0x221
mov eax, dword [rbp + 0x5c]
add eax, dword [rbp + 0x5c]
mov ecx, dword [rbp + 0x58]
add ecx, dword [rbp + 0x58]
cmp eax, ecx
jge 0x599ef3
mov eax, 0x1ce
sub eax, dword [rbp + 0x54]
mov dword [rbp + 0x58], eax
add dword [rbp + 0x5c], 1
cmp dword [rbp + 0x5c], 3
jne 0x599ea2
nop
mov dword [rbp + 0x54], 0
mov eax, dword [rbp + 0x58]
sub eax, dword [rbp + 0x54]
test eax, eax
jge 0x599f20
lea rcx, [rbp + 0x58]
lea rdx, [rbp + 0x54]
lea r8, [rbp + 0x5c]
call fcn.00563310
mov eax, dword [rbp + 0x5c]
imul eax, dword [rbp + 0x5c]
mov dword [rbp + 0x5c], eax
mov dword [rbp + 0x5c], 0
mov eax, dword [rbp + 0x58]
imul eax, eax, 0x311
mov dword [rbp + 0x58], eax
mov eax, dword [rbp + 0x54]
add eax, dword [rbp + 0x54]
cmp dword [rbp + 0x5c], eax
jne 0x599f4f
add dword [rbp + 0x54], 0x23d
mov eax, dword [rbp + 0x5c]
add eax, dword [rbp + 0x5c]
mov ecx, dword [rbp + 0x58]
add ecx, dword [rbp + 0x58]
cmp eax, ecx
jge 0x599f6b
mov eax, dword [rbp + 0x54]
sub eax, 0x189
mov dword [rbp + 0x58], eax
mov eax, dword [rbp + 0x58]
add eax, dword [rbp + 0x54]
cmp eax, dword [rbp + 0x5c]
jle 0x599f82
mov eax, dword [rbp + 0x54]
add eax, 0x2f3
mov dword [rbp + 0x58], eax
add dword [rbp + 0x5c], 1
cmp dword [rbp + 0x5c], 3
jne 0x599f31
nop
mov eax, dword [rbp + 0x5c]
cmp eax, dword [rbp + 0x5c]
jle 0x599fa2
lea rcx, [rbp + 0x5c]
lea rdx, [rbp + 0x58]
call fcn.00540ba0
mov rcx, qword [rbp + 0x880]
call sub.ws2_32.dll_closesocket
mov dword [rbp + 0x5c], 0
mov eax, dword [rbp + 0x58]
imul eax, eax, 0x3ac
mov dword [rbp + 0x58], eax
mov eax, dword [rbp + 0x54]
sub eax, dword [rbp + 0x5c]
cmp dword [rbp + 0x58], eax
jne 0x599fd2
mov eax, dword [rbp + 0x58]
mov dword [rbp + 0x54], eax
mov eax, dword [rbp + 0x58]
add eax, dword [rbp + 0x5c]
cmp eax, dword [rbp + 0x5c]
jle 0x599fe6
mov eax, dword [rbp + 0x54]
sub eax, 0x4c
mov dword [rbp + 0x58], eax
mov eax, dword [rbp + 0x54]
sub eax, dword [rbp + 0x5c]
cmp eax, dword [rbp + 0x5c]
jge 0x599ff8
add dword [rbp + 0x58], 0x378
add dword [rbp + 0x5c], 1
cmp dword [rbp + 0x5c], 3
jne 0x599fb5
nop
lea rcx, [rbp + 0x5c]
lea rdx, [rbp + 0x58]
lea r8, [rbp + 0x58]
lea r9, [rbp + 0x54]
call fcn.0053be40
mov eax, dword [rbp + 0x5c]
add eax, dword [rbp + 0x5c]
mov dword [rbp + 0x54], eax
mov eax, dword [rbp + 0x5c]
add eax, dword [rbp + 0x5c]
mov ecx, dword [rbp + 0x58]
add ecx, dword [rbp + 0x58]
cmp eax, ecx
jge 0x59a03e
lea rcx, [rbp + 0x58]
lea rdx, [rbp + 0x58]
call fcn.0055a730
mov eax, dword [rbp + 0x54]
sub eax, 0x1d8
mov dword [rbp + 0x58], eax
mov eax, dword [rbp + 0x5c]
mov dword [rbp + 0x5c], eax
nop
lea rcx, [rbp + 0x38]
mov edx, 3
call fcn.0040e6b0
lea rcx, [rbp + 0x60]
call fcn.0040e5d0
lea rsp, [rbp + 0x870]
pop rbp
ret