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

Disassembly:
push rbp
sub rsp, 0xb0
mov rbp, rsp
mov qword [rbp + 0x30], 0
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x48], rbp
mov dword [rbp + 0xc0], ecx
mov qword [rbp + 0xc8], rdx
mov dword [rbp + 0xd0], r8d
nop
mov eax, dword [rbp + 0x90]
imul eax, eax, 0x1f5
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0xa4]
add eax, dword [rbp + 0xa0]
mov ecx, dword [rbp + 0x9c]
add ecx, dword [rbp + 0x80]
cmp eax, ecx
jge 0x5941db
lea rcx, [rbp + 0x80]
call fcn.005627b0
mov eax, dword [rbp + 0x8c]
imul eax, eax, 0x206
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0x84]
cmp eax, dword [rbp + 0xa4]
jle 0x594222
lea rcx, [rbp + 0xa0]
lea rdx, [rbp + 0x9c]
lea r8, [rbp + 0x78]
lea r9, [rbp + 0x90]
lea rax, [rbp + 0x88]
mov qword [rsp + 0x20], rax
call fcn.00540330
mov eax, dword [rbp + 0xa4]
imul eax, dword [rbp + 0xa0]
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0x90]
sub eax, 0x1e0
mov dword [rbp + 0x80], eax
call fcn.005897c0
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0xa8]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x84]
add eax, dword [rbp + 0xac]
mov ecx, dword [rbp + 0x98]
add ecx, dword [rbp + 0x7c]
cmp eax, ecx
jge 0x5942b0
lea rcx, [rbp + 0x98]
lea rdx, [rbp + 0x80]
lea r8, [rbp + 0x94]
lea r9, [rbp + 0x8c]
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xa4]
mov qword [rsp + 0x28], rax
call fcn.005553f0
mov dword [rbp + 0x64], 0
mov eax, dword [rbp + 0x84]
imul eax, dword [rbp + 0xa0]
mov dword [rbp + 0x88], eax
nop
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0xac]
mov dword [rbp + 0x88], eax
mov rcx, qword [0x00539e30]
mov dl, 1
call fcn.0053c000
mov qword [rbp + 0x68], rax
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0xa8]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0xa4]
add eax, dword [rbp + 0xa0]
mov ecx, dword [rbp + 0x7c]
add ecx, dword [rbp + 0x78]
cmp eax, ecx
jge 0x594331
lea rcx, [rbp + 0x80]
lea rdx, [rbp + 0x90]
lea r8, [rbp + 0x88]
call fcn.00563310
mov eax, dword [rbp + 0xa4]
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0x94]
sub eax, 0x1be
mov dword [rbp + 0x80], eax
call fcn.005897c0
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0xa8]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x84]
add eax, dword [rbp + 0xac]
mov ecx, dword [rbp + 0x98]
add ecx, dword [rbp + 0x7c]
cmp eax, ecx
jge 0x5943b5
lea rcx, [rbp + 0x98]
lea rdx, [rbp + 0x7c]
lea r8, [rbp + 0x94]
lea r9, [rbp + 0x8c]
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xac]
mov qword [rsp + 0x28], rax
call fcn.00548890
mov eax, dword [rbp + 0x84]
cmp eax, dword [rbp + 0xac]
jle 0x5943ed
lea rcx, [rbp + 0xa0]
lea rdx, [rbp + 0x9c]
lea r8, [rbp + 0x78]
lea r9, [rbp + 0x90]
lea rax, [rbp + 0x88]
mov qword [rsp + 0x20], rax
call fcn.00542650
mov eax, dword [rbp + 0xa8]
imul eax, dword [rbp + 0xac]
mov dword [rbp + 0x88], eax
mov dword [rbp + 0xac], 0
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x80]
imul eax, eax, 0x74
mov dword [rbp + 0x9c], eax
mov eax, dword [rbp + 0x94]
sub eax, dword [rbp + 0x8c]
cmp dword [rbp + 0x9c], eax
jne 0x59444b
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0x84]
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0xa4]
mov dword [rbp + 0x88], eax
add dword [rbp + 0xac], 1
cmp dword [rbp + 0xac], 3
jne 0x59440a
nop
mov eax, dword [rbp + 0x78]
sub eax, 0x16a
mov dword [rbp + 0x7c], eax
nop
mov dword [rbp + 0x60], 0
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0xa4]
mov dword [rbp + 0x8c], eax
lea rcx, [rbp + 0x50]
call fcn.0040e5d0
mov eax, dword [rbp + 0x84]
imul eax, dword [rbp + 0xa0]
mov dword [rbp + 0x88], eax
lea rcx, [rbp + 0x50]
mov rdx, qword [0x0060ec88]
call fcn.0040fe40
mov eax, dword [rbp + 0xa0]
sub eax, dword [rbp + 0x9c]
mov ecx, dword [rbp + 0x80]
sub ecx, dword [rbp + 0x94]
cmp eax, ecx
jle 0x5944e5
mov eax, dword [rbp + 0x90]
imul eax, eax, 0x1ed
mov dword [rbp + 0x78], eax
lea rcx, [rbp + 0x50]
mov rdx, qword [0x0060ecd8]
call fcn.0040fe40
mov eax, dword [rbp + 0xa0]
add eax, 0x3f3
mov dword [rbp + 0xa4], eax
lea rcx, [rbp + 0x40]
mov edx, 2
call fcn.0042c720
lea rcx, [rbp + 0x50]
mov rdx, qword [rbp + 0x40]
call fcn.0040fe40
mov eax, dword [rbp + 0x78]
add eax, 0x179
mov dword [rbp + 0x7c], eax
lea rcx, [rbp + 0x50]
lea rdx, [0x00595c78]
call fcn.0040fe40
mov eax, dword [rbp + 0x88]
sub eax, dword [rbp + 0xa4]
mov dword [rbp + 0x8c], eax
lea rcx, [rbp + 0x38]
mov edx, 3
call fcn.0042c720
lea rcx, [rbp + 0x50]
mov rdx, qword [rbp + 0x38]
call fcn.0040fe40
mov eax, dword [rbp + 0x84]
cmp eax, dword [rbp + 0xac]
jle 0x59458d
mov eax, dword [rbp + 0x80]
add eax, 0x10a
mov dword [rbp + 0x9c], eax
lea rcx, [rbp + 0x30]
mov edx, 2
call fcn.0042c720
lea rcx, [rbp + 0x50]
mov rdx, qword [rbp + 0x30]
call fcn.0040fe40
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0x84]
mov dword [rbp + 0x8c], eax
lea rcx, [rbp + 0x50]
lea rdx, [0x00595c88]
call fcn.0040fe40
mov eax, dword [rbp + 0xa8]
cmp eax, dword [rbp + 0xa4]
jle 0x5945eb
mov eax, dword [rbp + 0x9c]
imul eax, eax, 0xba
mov dword [rbp + 0xa0], eax
lea rcx, [rbp + 0x50]
mov rdx, qword [0x0060ece0]
call fcn.0040fe40
mov eax, dword [rbp + 0x8c]
shl eax, 6
lea rax, [rax + rax*8]
mov dword [rbp + 0x94], eax
lea rcx, [rbp + 0x50]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
mov eax, dword [rbp + 0xa4]
mov dword [rbp + 0xa8], eax
lea rcx, [rbp + 0x50]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
mov eax, dword [rbp + 0xa4]
add eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x7c]
add ecx, dword [rbp + 0x80]
cmp eax, ecx
jge 0x59467d
lea rcx, [rbp + 0x78]
lea rdx, [rbp + 0x8c]
lea r8, [rbp + 0xa8]
lea r9, [rbp + 0xa4]
lea rax, [rbp + 0x98]
mov qword [rsp + 0x20], rax
call fcn.00567c50
mov dword [rbp + 0x98], 0
mov eax, 0x3b6
sub eax, dword [rbp + 0xac]
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x80]
add eax, dword [rbp + 0x94]
cmp dword [rbp + 0xa0], eax
jne 0x5946bf
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0xa8]
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0xa8]
imul eax, dword [rbp + 0xac]
mov dword [rbp + 0x88], eax
mov eax, 0x3cb
sub eax, dword [rbp + 0xac]
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0xac]
sub eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x7c]
sub ecx, dword [rbp + 0x78]
cmp eax, ecx
jle 0x59470c
mov eax, dword [rbp + 0x90]
sub eax, 0x1d6
mov dword [rbp + 0x80], eax
add dword [rbp + 0x98], 1
cmp dword [rbp + 0x98], 4
jne 0x594687
nop
mov eax, dword [rbp + 0x84]
cmp eax, dword [rbp + 0xac]
jle 0x594759
lea rcx, [rbp + 0xa0]
lea rdx, [rbp + 0x9c]
lea r8, [rbp + 0x78]
lea r9, [rbp + 0x90]
lea rax, [rbp + 0x88]
mov qword [rsp + 0x20], rax
call fcn.00542650
call fcn.005897c0
mov eax, dword [rbp + 0x84]
add eax, dword [rbp + 0xa0]
mov ecx, dword [rbp + 0x9c]
add ecx, dword [rbp + 0x7c]
cmp eax, ecx
jge 0x5947ad
lea rcx, [rbp + 0x7c]
lea rdx, [rbp + 0x94]
lea r8, [rbp + 0x88]
lea r9, [rbp + 0xa8]
lea rax, [rbp + 0xac]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x9c]
mov qword [rsp + 0x28], rax
call fcn.00561140
mov dword [rbp + 0xa0], 0
mov eax, dword [rbp + 0xac]
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x78]
add eax, 0x96
mov dword [rbp + 0x9c], eax
mov eax, dword [rbp + 0x90]
sub eax, dword [rbp + 0x88]
cmp dword [rbp + 0x7c], eax
jne 0x5947ef
mov eax, dword [rbp + 0xa4]
sub dword [rbp + 0x88], eax
mov eax, dword [rbp + 0xac]
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0x7c]
imul eax, eax, 0x2b
mov dword [rbp + 0xa4], eax
add dword [rbp + 0xa0], 1
cmp dword [rbp + 0xa0], 3
jne 0x5947b7
nop
mov eax, dword [rbp + 0x84]
imul eax, dword [rbp + 0xac]
mov dword [rbp + 0x88], eax
movsxd rcx, dword [rbp + 0xd0]
call fcn.00409020
mov qword [rbp + 0x70], rax
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0xa8]
mov dword [rbp + 0x90], eax
nop
mov eax, dword [rbp + 0xd0]
mov dword [rbp + 0x5c], eax
mov eax, dword [rbp + 0xa4]
imul eax, dword [rbp + 0xa0]
mov dword [rbp + 0xa8], eax
mov dword [rbp + 0xa0], 0
mov eax, dword [rbp + 0xa4]
add eax, 0x374
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0xa4]
add eax, dword [rbp + 0xa0]
mov ecx, dword [rbp + 0x9c]
add ecx, dword [rbp + 0x80]
cmp eax, ecx
jge 0x5948b4
mov eax, dword [rbp + 0x94]
sub eax, 0x19f
mov dword [rbp + 0x80], eax
mov eax, dword [rbp + 0x80]
add eax, dword [rbp + 0x8c]
cmp eax, dword [rbp + 0x88]
jle 0x5948db
mov eax, dword [rbp + 0xa8]
imul eax, dword [rbp + 0xac]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0xac]
mov dword [rbp + 0x84], eax
mov eax, 0x73
sub eax, dword [rbp + 0x98]
mov dword [rbp + 0xac], eax
add dword [rbp + 0xa0], 1
cmp dword [rbp + 0xa0], 3
jne 0x594874
nop
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0xac]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x60]
cmp eax, dword [rbp + 0xd0]
jge 0x594973
movsxd rcx, dword [rbp + 0xc0]
mov rdx, qword [rbp + 0x70]
mov r8d, dword [rbp + 0x5c]
xor r9, r9
call sub.ws2_32.dll_recv
mov dword [rbp + 0x58], eax
cmp dword [rbp + 0x58], 1
jl 0x594973
mov rcx, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x70]
mov r8d, dword [rbp + 0x58]
call fcn.00540650
mov eax, dword [rbp + 0x58]
sub dword [rbp + 0x5c], eax
mov eax, dword [rbp + 0x58]
add dword [rbp + 0x60], eax
mov eax, dword [rbp + 0x60]
cmp eax, dword [rbp + 0xd0]
jl 0x59492b
nop
mov eax, dword [rbp + 0x90]
imul eax, eax, 0x1ac
mov dword [rbp + 0x80], eax
mov eax, dword [rbp + 0xa4]
add eax, dword [rbp + 0xa0]
mov ecx, dword [rbp + 0x9c]
add ecx, dword [rbp + 0x80]
cmp eax, ecx
jge 0x5949d8
lea rcx, [rbp + 0x80]
lea rdx, [rbp + 0x90]
lea r8, [rbp + 0x88]
lea r9, [rbp + 0xa4]
lea rax, [rbp + 0xa0]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x7c]
mov qword [rsp + 0x28], rax
call fcn.00563e10
mov eax, dword [rbp + 0x94]
sub eax, 0x1a1
mov dword [rbp + 0x80], eax
lea rcx, [rbp + 0xa8]
lea rdx, [rbp + 0xa4]
lea r8, [rbp + 0x98]
lea r9, [rbp + 0x80]
lea rax, [rbp + 0x94]
mov qword [rsp + 0x20], rax
call fcn.0058f180
mov eax, dword [rbp + 0x8c]
imul eax, eax, 0x22f
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0xa8]
cmp eax, dword [rbp + 0xa4]
jle 0x594a51
lea rcx, [rbp + 0xa0]
lea rdx, [rbp + 0x9c]
lea r8, [rbp + 0x80]
call fcn.0053ea20
mov eax, dword [rbp + 0x90]
imul eax, eax, 0x1df
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0x60]
cmp eax, dword [rbp + 0xd0]
jne 0x594de7
mov rcx, qword [rbp + 0x68]
call fcn.0053e8e0
cmp eax, dword [rbp + 0xd0]
jne 0x594de7
mov eax, dword [rbp + 0xa4]
imul eax, dword [rbp + 0xa0]
mov dword [rbp + 0x88], eax
mov rcx, qword [rbp + 0x68]
xor edx, edx
xor r8, r8
call fcn.0053df00
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0xa4]
mov dword [rbp + 0x8c], eax
mov rcx, qword [rbp + 0x68]
call fcn.0053e8e0
mov rcx, qword [rbp + 0x68]
mov rdx, qword [rbp + 0xc8]
mov r8d, eax
call fcn.0053fdc0
mov eax, dword [rbp + 0x88]
sub eax, dword [rbp + 0xa4]
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0xa8]
mov dword [rbp + 0x90], eax
mov dword [rbp + 0x98], 0
mov eax, dword [rbp + 0xa0]
add eax, 0x3ec
mov dword [rbp + 0xa4], eax
mov eax, dword [rbp + 0x94]
add eax, dword [rbp + 0x8c]
cmp dword [rbp + 0x9c], eax
jne 0x594b39
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0xa4]
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0xa0]
add eax, 0x3dd
mov dword [rbp + 0x84], eax
mov eax, 0x82
sub eax, dword [rbp + 0x9c]
mov dword [rbp + 0xa0], eax
add dword [rbp + 0x98], 1
cmp dword [rbp + 0x98], 4
jne 0x594b01
nop
mov eax, dword [rbp + 0xa8]
add eax, 0x2e9
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0x84]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x84]
add eax, dword [rbp + 0xa0]
mov ecx, dword [rbp + 0x9c]
add ecx, dword [rbp + 0x7c]
cmp eax, ecx
jge 0x594be1
lea rcx, [rbp + 0x7c]
lea rdx, [rbp + 0x94]
lea r8, [rbp + 0x88]
lea r9, [rbp + 0xa8]
lea rax, [rbp + 0xac]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x9c]
mov qword [rsp + 0x28], rax
call fcn.00561140
mov dword [rbp + 0xa0], 0
mov eax, dword [rbp + 0x84]
sub eax, dword [rbp + 0xa4]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0xa4]
add eax, 0x394
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0x80]
add eax, 0x9a
mov dword [rbp + 0x9c], eax
mov eax, dword [rbp + 0x94]
sub eax, dword [rbp + 0x8c]
cmp dword [rbp + 0x9c], eax
jne 0x594c47
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0xa8]
mov dword [rbp + 0x90], eax
add dword [rbp + 0xa0], 1
cmp dword [rbp + 0xa0], 3
jne 0x594beb
nop
mov dword [rbp + 0xa4], 0
cmp dword [rbp + 0xa4], 1
jge 0x594cc9
add dword [rbp + 0xa4], 1
mov eax, dword [rbp + 0xa8]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x7c]
imul eax, eax, 0x33
mov dword [rbp + 0xa0], eax
mov eax, dword [rbp + 0x78]
add eax, dword [rbp + 0x90]
cmp dword [rbp + 0x98], eax
jne 0x594cad
mov eax, dword [rbp + 0x8c]
imul eax, eax, 0x23d
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0x88]
imul eax, dword [rbp + 0xa0]
mov dword [rbp + 0x88], eax
cmp dword [rbp + 0xa4], 1
jl 0x594c6b
nop
mov eax, dword [rbp + 0x78]
sub eax, 0x189
mov dword [rbp + 0x80], eax
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0xa4]
mov dword [rbp + 0x88], eax
mov rcx, qword [rbp + 0x68]
call fcn.0053e8e0
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x84]
cmp eax, dword [rbp + 0xac]
jle 0x594d2c
lea rcx, [rbp + 0x98]
lea rdx, [rbp + 0x7c]
lea r8, [rbp + 0x78]
lea r9, [rbp + 0x8c]
lea rax, [rbp + 0x88]
mov qword [rsp + 0x20], rax
call fcn.00542650
mov eax, dword [rbp + 0xa4]
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0x78]
add eax, 0x16d
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x84]
imul eax, dword [rbp + 0xac]
mov dword [rbp + 0x88], eax
mov dword [rbp + 0xac], 0
cmp dword [rbp + 0xac], 2
jge 0x594de6
add dword [rbp + 0xac], 1
mov eax, dword [rbp + 0xa8]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x98]
add eax, 0x41
mov dword [rbp + 0xa4], eax
mov eax, dword [rbp + 0xa4]
add eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x7c]
add ecx, dword [rbp + 0x80]
cmp eax, ecx
jge 0x594db7
mov eax, dword [rbp + 0x94]
sub eax, 0x18b
mov dword [rbp + 0x80], eax
mov eax, dword [rbp + 0x80]
add eax, dword [rbp + 0x8c]
cmp eax, dword [rbp + 0x88]
jle 0x594ddd
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0xa4]
mov dword [rbp + 0x8c], eax
cmp dword [rbp + 0xac], 2
jl 0x594d6a
nop
nop
mov dword [rbp + 0xac], 0
mov eax, dword [rbp + 0xa4]
mov dword [rbp + 0xa8], eax
mov eax, 0x91
sub eax, dword [rbp + 0x9c]
mov dword [rbp + 0xa0], eax
mov eax, dword [rbp + 0x94]
add eax, dword [rbp + 0x90]
cmp dword [rbp + 0x98], eax
jne 0x594e36
mov eax, dword [rbp + 0x88]
sub eax, dword [rbp + 0x84]
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0xa4]
imul eax, dword [rbp + 0xa0]
mov dword [rbp + 0x88], eax
add dword [rbp + 0xac], 1
cmp dword [rbp + 0xac], 3
jne 0x594df2
nop
mov eax, dword [rbp + 0x90]
sub eax, 0x1c7
mov dword [rbp + 0x80], eax
lea rcx, [rbp + 0xa4]
lea rdx, [rbp + 0x98]
lea r8, [rbp + 0x80]
lea r9, [rbp + 0x94]
lea rax, [rbp + 0x88]
mov qword [rsp + 0x20], rax
call fcn.0053b4f0
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0xa4]
mov dword [rbp + 0x8c], eax
mov dword [rbp + 0xac], 0
cmp dword [rbp + 0xac], 2
jge 0x594f23
add dword [rbp + 0xac], 1
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0x88], eax
mov eax, 0x84
sub eax, dword [rbp + 0x9c]
mov dword [rbp + 0xa0], eax
mov eax, dword [rbp + 0xac]
sub eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x7c]
sub ecx, dword [rbp + 0x78]
cmp eax, ecx
jle 0x594f08
mov eax, dword [rbp + 0x90]
imul eax, eax, 0x20e
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0x84]
mov dword [rbp + 0x90], eax
cmp dword [rbp + 0xac], 2
jl 0x594ebe
nop
mov rcx, qword [rbp + 0x70]
call fcn.00409050
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0xa8]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x84]
cmp eax, dword [rbp + 0xac]
jle 0x594f52
call fcn.00543660
mov eax, dword [rbp + 0xa8]
cmp eax, dword [rbp + 0xa4]
jle 0x594f8d
lea rcx, [rbp + 0xa4]
lea rdx, [rbp + 0x98]
lea r8, [rbp + 0x80]
lea r9, [rbp + 0x94]
lea rax, [rbp + 0x8c]
mov qword [rsp + 0x20], rax
call fcn.0053d670
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0xac]
mov dword [rbp + 0x88], eax
mov dword [rbp + 0xac], 0
cmp dword [rbp + 0xac], 1
jge 0x595026
add dword [rbp + 0xac], 1
mov eax, dword [rbp + 0xa8]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x9c]
imul eax, eax, 0x27
mov dword [rbp + 0xa0], eax
mov eax, dword [rbp + 0x78]
add eax, dword [rbp + 0x88]
cmp eax, dword [rbp + 0xa4]
jle 0x594ff7
mov eax, dword [rbp + 0x80]
add eax, 0x94
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0x94]
sub eax, dword [rbp + 0x88]
cmp eax, dword [rbp + 0xa4]
jge 0x59501d
mov eax, dword [rbp + 0x80]
add eax, 0xc1
mov dword [rbp + 0x98], eax
cmp dword [rbp + 0xac], 1
jl 0x594fb2
nop
mov eax, dword [rbp + 0xac]
add eax, dword [rbp + 0x9c]
mov ecx, dword [rbp + 0x80]
add ecx, dword [rbp + 0x94]
cmp eax, ecx
jge 0x59506d
lea rcx, [rbp + 0x78]
lea rdx, [rbp + 0x90]
lea r8, [rbp + 0x88]
lea r9, [rbp + 0xa4]
lea rax, [rbp + 0xa0]
mov qword [rsp + 0x20], rax
call fcn.00567c50
mov dword [rbp + 0xa0], 0
mov eax, dword [rbp + 0x84]
add eax, 0x339
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x80]
add eax, 0x7f
mov dword [rbp + 0x9c], eax
mov eax, dword [rbp + 0x78]
add eax, dword [rbp + 0x8c]
cmp dword [rbp + 0x9c], eax
jne 0x5950bb
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0xa8]
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0xa4]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0xa4]
add eax, 0x393
mov dword [rbp + 0xa8], eax
add dword [rbp + 0xa0], 1
cmp dword [rbp + 0xa0], 3
jne 0x595077
nop
mov eax, dword [rbp + 0x8c]
imul eax, eax, 0x23a
mov dword [rbp + 0x94], eax
lea rcx, [rbp + 0xa8]
call fcn.00536080
lea rcx, [rbp + 0x88]
call fcn.00587920
mov eax, dword [rbp + 0xa8]
imul eax, dword [rbp + 0xac]
mov dword [rbp + 0x88], eax
nop
mov dword [rbp + 0xa0], 0
mov eax, dword [rbp + 0xa4]
sub eax, 0x359
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x80]
add eax, dword [rbp + 0x8c]
cmp eax, dword [rbp + 0x88]
jle 0x595171
mov eax, dword [rbp + 0x84]
imul eax, dword [rbp + 0xac]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0xac]
add eax, 0x3d3
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x78]
add eax, 0x98
mov dword [rbp + 0x9c], eax
mov eax, dword [rbp + 0x94]
sub eax, dword [rbp + 0x88]
cmp dword [rbp + 0x9c], eax
jne 0x5951b8
mov eax, dword [rbp + 0x88]
sub eax, dword [rbp + 0x84]
mov dword [rbp + 0x8c], eax
add dword [rbp + 0xa0], 1
cmp dword [rbp + 0xa0], 4
jne 0x595138
nop
mov dword [rbp + 0xa0], 0
mov eax, dword [rbp + 0x84]
imul eax, dword [rbp + 0xac]
mov dword [rbp + 0x88], eax
mov eax, 0x3f1
sub eax, dword [rbp + 0x9c]
mov dword [rbp + 0xa4], eax
mov eax, dword [rbp + 0x80]
add eax, dword [rbp + 0x90]
cmp dword [rbp + 0xa0], eax
jne 0x595222
mov eax, dword [rbp + 0x8c]
imul eax, eax, 0x21b
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0xa4]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0xac]
mov dword [rbp + 0xa8], eax
add dword [rbp + 0xa0], 1
cmp dword [rbp + 0xa0], 3
jne 0x5951d7
nop
mov eax, dword [rbp + 0x90]
imul eax, eax, 0x1ec
mov dword [rbp + 0x78], eax
mov dword [rbp + 0xa0], 0
mov eax, dword [rbp + 0x84]
add eax, 0x35f
mov dword [rbp + 0x88], eax
mov eax, 0x84
sub eax, dword [rbp + 0x9c]
mov dword [rbp + 0xac], eax
add dword [rbp + 0xa0], 1
cmp dword [rbp + 0xa0], 3
jne 0x59526a
nop
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0x84]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x84]
add eax, dword [rbp + 0xac]
mov ecx, dword [rbp + 0x98]
add ecx, dword [rbp + 0x7c]
cmp eax, ecx
jge 0x595303
lea rcx, [rbp + 0x98]
lea rdx, [rbp + 0x80]
lea r8, [rbp + 0x94]
lea r9, [rbp + 0x8c]
lea rax, [rbp + 0x88]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xa4]
mov qword [rsp + 0x28], rax
call fcn.00548890
mov eax, dword [rbp + 0xa4]
add eax, dword [rbp + 0xa0]
mov ecx, dword [rbp + 0x9c]
add ecx, dword [rbp + 0x80]
cmp eax, ecx
jge 0x59534c
lea rcx, [rbp + 0x9c]
lea rdx, [rbp + 0x80]
lea r8, [rbp + 0x90]
lea r9, [rbp + 0x88]
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x20], rax
call fcn.0055e470
mov eax, dword [rbp + 0xa4]
mov dword [rbp + 0xa8], eax
mov rcx, qword [rbp + 0x68]
call fcn.0040b1e0
jmp 0x59537d
mov eax, dword [rbp + 0x78]
add eax, 0x165
mov dword [rbp + 0x9c], eax
mov eax, dword [rbp + 0x84]
imul eax, dword [rbp + 0xac]
mov dword [rbp + 0x88], eax
mov dword [rbp + 0xac], 0
mov eax, 0x394
sub eax, dword [rbp + 0x98]
mov dword [rbp + 0xa8], eax
mov eax, dword [rbp + 0xac]
sub eax, dword [rbp + 0xa0]
mov ecx, dword [rbp + 0x7c]
sub ecx, dword [rbp + 0x78]
cmp eax, ecx
jle 0x5953e3
mov eax, dword [rbp + 0x94]
sub eax, 0x19e
mov dword [rbp + 0x80], eax
mov eax, dword [rbp + 0x7c]
add eax, dword [rbp + 0x8c]
cmp eax, dword [rbp + 0x88]
jle 0x595406
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0xa4]
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0xa4]
imul eax, eax, 0x36d
mov dword [rbp + 0xa8], eax
add dword [rbp + 0xac], 1
cmp dword [rbp + 0xac], 3
jne 0x5953a9
nop
mov eax, dword [rbp + 0x84]
imul eax, dword [rbp + 0xac]
mov dword [rbp + 0x88], eax
mov dword [rbp + 0xa0], 0
mov eax, dword [rbp + 0xa8]
imul eax, dword [rbp + 0xac]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0xa4]
add eax, 0x38b
mov dword [rbp + 0xa8], eax
mov eax, 0x90
sub eax, dword [rbp + 0x9c]
mov dword [rbp + 0xac], eax
mov eax, dword [rbp + 0xac]
sub eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x7c]
sub ecx, dword [rbp + 0x78]
cmp eax, ecx
jle 0x59549f
mov eax, dword [rbp + 0x78]
add eax, 0x17a
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x90]
sub eax, dword [rbp + 0x88]
cmp dword [rbp + 0x9c], eax
jne 0x5954c5
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0xa8]
mov dword [rbp + 0x90], eax
add dword [rbp + 0xa0], 1
cmp dword [rbp + 0xa0], 3
jne 0x595446
nop
mov eax, dword [rbp + 0x84]
add eax, dword [rbp + 0xac]
mov ecx, dword [rbp + 0x98]
add ecx, dword [rbp + 0x7c]
cmp eax, ecx
jge 0x595526
lea rcx, [rbp + 0xa0]
lea rdx, [rbp + 0x7c]
lea r8, [rbp + 0x78]
lea r9, [rbp + 0x8c]
lea rax, [rbp + 0x88]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0xa4]
mov qword [rsp + 0x28], rax
call fcn.005438f0
mov eax, dword [rbp + 0xa4]
add eax, dword [rbp + 0xa0]
mov ecx, dword [rbp + 0x9c]
add ecx, dword [rbp + 0x80]
cmp eax, ecx
jge 0x59554e
lea rcx, [rbp + 0x98]
call fcn.00548a50
mov dword [rbp + 0xac], 0
cmp dword [rbp + 0xac], 2
jge 0x5955c3
add dword [rbp + 0xac], 1
mov eax, dword [rbp + 0xa8]
sub eax, dword [rbp + 0xa4]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0xa4]
mov dword [rbp + 0x88], eax
mov eax, 0x3eb
sub eax, dword [rbp + 0x9c]
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0xa4]
sub eax, dword [rbp + 0xa0]
mov ecx, dword [rbp + 0x7c]
sub ecx, dword [rbp + 0x78]
cmp eax, ecx
jle 0x5955ba
mov eax, dword [rbp + 0x7c]
imul eax, eax, 0x56
mov dword [rbp + 0xa0], eax
cmp dword [rbp + 0xac], 2
jl 0x595561
nop
mov dword [rbp + 0x98], 0
mov eax, dword [rbp + 0xa0]
add eax, 0x3c2
mov dword [rbp + 0xa4], eax
mov eax, dword [rbp + 0xa8]
add eax, dword [rbp + 0xa4]
cmp dword [rbp + 0x94], eax
jne 0x595603
mov eax, dword [rbp + 0x94]
add eax, 0xd8
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x80]
add eax, dword [rbp + 0x8c]
cmp eax, dword [rbp + 0x88]
jle 0x59562a
mov eax, dword [rbp + 0xa8]
imul eax, dword [rbp + 0xac]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0xac]
add eax, 0x3a8
mov dword [rbp + 0xa8], eax
add dword [rbp + 0x98], 1
cmp dword [rbp + 0x98], 3
jne 0x5955ce
nop
nop
lea rcx, [rbp + 0x30]
mov edx, 3
call fcn.0040e6b0
lea rcx, [rbp + 0x50]
call fcn.0040e5d0
mov eax, dword [rbp + 0x64]
lea rsp, [rbp + 0xb0]
pop rbp
ret