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

Disassembly:
push rbp
sub rsp, 0xa0
mov rbp, rsp
mov qword [rbp + 0x30], 0
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x58], 0
mov qword [rbp + 0x48], rbp
mov dword [rbp + 0xb0], ecx
mov qword [rbp + 0xb8], rdx
mov qword [rbp + 0xc0], r8
nop
mov eax, dword [rbp + 0x88]
sub eax, dword [rbp + 0x9c]
mov dword [rbp + 0x84], eax
mov dword [rbp + 0x98], 0
mov eax, dword [rbp + 0x9c]
add eax, 0x365
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x98]
sub eax, dword [rbp + 0x94]
mov ecx, dword [rbp + 0x8c]
sub ecx, dword [rbp + 0x90]
cmp eax, ecx
jle 0x592680
mov eax, dword [rbp + 0x84]
add eax, dword [rbp + 0x88]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x9c]
add eax, 0x376
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x9c]
add eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x94]
add ecx, dword [rbp + 0x8c]
cmp eax, ecx
jge 0x5926c0
mov eax, dword [rbp + 0x90]
sub eax, 0x1c1
mov dword [rbp + 0x8c], eax
add dword [rbp + 0x98], 1
cmp dword [rbp + 0x98], 3
jne 0x592640
nop
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x94]
add ecx, dword [rbp + 0x8c]
cmp eax, ecx
jge 0x59270b
lea rcx, [rbp + 0x94]
lea rdx, [rbp + 0x90]
lea r8, [rbp + 0x84]
call fcn.00546a00
mov eax, dword [rbp + 0x88]
imul eax, dword [rbp + 0x9c]
mov dword [rbp + 0x88], eax
mov dword [rbp + 0x98], 0
mov eax, dword [rbp + 0x9c]
sub dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x9c]
mov dword [rbp + 0x88], eax
mov eax, 0x45
sub eax, dword [rbp + 0x94]
mov dword [rbp + 0x9c], eax
mov eax, dword [rbp + 0x8c]
add eax, dword [rbp + 0x90]
cmp dword [rbp + 0x98], eax
jne 0x592778
mov eax, dword [rbp + 0x84]
imul eax, eax, 0x230
mov dword [rbp + 0x90], eax
add dword [rbp + 0x98], 1
cmp dword [rbp + 0x98], 3
jne 0x592728
nop
mov eax, dword [rbp + 0x88]
cmp eax, dword [rbp + 0x9c]
jle 0x5927b8
lea rcx, [rbp + 0x98]
lea rdx, [rbp + 0x94]
lea r8, [rbp + 0x90]
lea r9, [rbp + 0x84]
call fcn.00543a90
mov eax, dword [rbp + 0x88]
imul eax, dword [rbp + 0x98]
mov dword [rbp + 0x88], eax
mov dword [rbp + 0x98], 0
mov eax, dword [rbp + 0x88]
imul eax, dword [rbp + 0x9c]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x9c]
add eax, 0x3af
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x9c]
sub eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x94]
sub ecx, dword [rbp + 0x8c]
cmp eax, ecx
jle 0x592828
mov eax, dword [rbp + 0x90]
sub eax, 0x1ba
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x8c]
add eax, dword [rbp + 0x88]
cmp eax, dword [rbp + 0x88]
jle 0x592848
mov eax, dword [rbp + 0x88]
mov dword [rbp + 0x88], eax
add dword [rbp + 0x98], 1
cmp dword [rbp + 0x98], 3
jne 0x5927d5
nop
mov eax, dword [rbp + 0x84]
imul eax, eax, 0x1eb
mov dword [rbp + 0x8c], eax
call fcn.005897c0
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0x88]
mov dword [rbp + 0x84], eax
mov byte [rbp + 0x77], 0
mov eax, dword [rbp + 0x90]
sub eax, 0x1a0
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x9c]
mov dword [rbp + 0x88], eax
mov dword [rbp + 0x98], 0
mov eax, dword [rbp + 0x9c]
add eax, 0x34e
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x8c]
add eax, 0x94
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0x90]
sub eax, dword [rbp + 0x84]
cmp dword [rbp + 0x94], eax
jne 0x5928fc
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0x88]
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x88]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x94]
add eax, 0x49
mov dword [rbp + 0x9c], eax
add dword [rbp + 0x98], 1
cmp dword [rbp + 0x98], 4
jne 0x5928b2
nop
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0x88]
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x9c]
add eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x94]
add ecx, dword [rbp + 0x8c]
cmp eax, ecx
jge 0x59298f
lea rcx, [rbp + 0x98]
lea rdx, [rbp + 0x8c]
lea r8, [rbp + 0x90]
lea r9, [rbp + 0x84]
lea rax, [rbp + 0x88]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x9c]
mov qword [rsp + 0x28], rax
call fcn.00548890
mov eax, dword [rbp + 0x9c]
add eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x94]
add ecx, dword [rbp + 0x8c]
cmp eax, ecx
jge 0x5929cc
lea rcx, [rbp + 0x98]
lea rdx, [rbp + 0x8c]
lea r8, [rbp + 0x90]
lea r9, [rbp + 0x84]
call fcn.005444f0
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0x88]
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x9c]
add eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x94]
add ecx, dword [rbp + 0x8c]
cmp eax, ecx
jge 0x592a33
lea rcx, [rbp + 0x98]
lea rdx, [rbp + 0x8c]
lea r8, [rbp + 0x90]
lea r9, [rbp + 0x84]
lea rax, [rbp + 0x88]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x9c]
mov qword [rsp + 0x28], rax
call fcn.00548890
mov eax, dword [rbp + 0x9c]
add eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x94]
add ecx, dword [rbp + 0x8c]
cmp eax, ecx
jge 0x592a70
lea rcx, [rbp + 0x98]
lea rdx, [rbp + 0x8c]
lea r8, [rbp + 0x90]
lea r9, [rbp + 0x84]
call fcn.005444f0
nop
call fcn.0058eeb0
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0x88]
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x9c]
add eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x94]
add ecx, dword [rbp + 0x8c]
cmp eax, ecx
jge 0x592add
lea rcx, [rbp + 0x98]
lea rdx, [rbp + 0x8c]
lea r8, [rbp + 0x90]
lea r9, [rbp + 0x88]
lea rax, [rbp + 0x88]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x9c]
mov qword [rsp + 0x28], rax
call fcn.0055a580
mov ecx, 0x20000
call fcn.00409020
mov qword [rbp + 0x78], rax
nop
mov rcx, qword [rbp + 0xb8]
call fcn.0053d0d0
lea rcx, [rbp + 0x9c]
lea rdx, [rbp + 0x94]
lea r8, [rbp + 0x8c]
call fcn.00538f10
mov eax, dword [rbp + 0x90]
sub eax, 0x1af
mov dword [rbp + 0x8c], eax
call fcn.005897c0
lea rcx, [rbp + 0x58]
call fcn.0040e5d0
mov eax, dword [rbp + 0x98]
sub eax, dword [rbp + 0x94]
mov ecx, dword [rbp + 0x8c]
sub ecx, dword [rbp + 0x90]
cmp eax, ecx
jle 0x592b61
mov eax, dword [rbp + 0x84]
imul eax, eax, 0x220
mov dword [rbp + 0x90], eax
lea rcx, [rbp + 0x58]
mov rdx, qword [0x0060ec88]
call fcn.0040fe40
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0x9c]
mov ecx, dword [rbp + 0x94]
add ecx, dword [rbp + 0x8c]
cmp eax, ecx
jge 0x592b9f
mov eax, dword [rbp + 0x8c]
add eax, 0x12c
mov dword [rbp + 0x94], eax
lea rcx, [rbp + 0x58]
mov rdx, qword [0x0060ecd8]
call fcn.0040fe40
mov eax, dword [rbp + 0x98]
mov dword [rbp + 0x88], eax
lea rcx, [rbp + 0x40]
mov edx, 2
call fcn.0042c720
lea rcx, [rbp + 0x58]
mov rdx, qword [rbp + 0x40]
call fcn.0040fe40
mov eax, dword [rbp + 0x90]
add eax, 0x179
mov dword [rbp + 0x94], eax
lea rcx, [rbp + 0x58]
lea rdx, [0x00593c88]
call fcn.0040fe40
mov eax, dword [rbp + 0x88]
imul eax, dword [rbp + 0x9c]
mov dword [rbp + 0x88], eax
lea rcx, [rbp + 0x38]
mov edx, 3
call fcn.0042c720
lea rcx, [rbp + 0x58]
mov rdx, qword [rbp + 0x38]
call fcn.0040fe40
mov eax, dword [rbp + 0x9c]
add eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x94]
add ecx, dword [rbp + 0x8c]
cmp eax, ecx
jge 0x592c56
mov eax, dword [rbp + 0x90]
sub eax, 0x16a
mov dword [rbp + 0x8c], eax
lea rcx, [rbp + 0x30]
mov edx, 2
call fcn.0042c720
lea rcx, [rbp + 0x58]
mov rdx, qword [rbp + 0x30]
call fcn.0040fe40
mov eax, dword [rbp + 0x9c]
mov dword [rbp + 0x88], eax
lea rcx, [rbp + 0x58]
lea rdx, [0x00593c98]
call fcn.0040fe40
mov eax, dword [rbp + 0x98]
sub eax, dword [rbp + 0x94]
mov ecx, dword [rbp + 0x8c]
sub ecx, dword [rbp + 0x90]
cmp eax, ecx
jle 0x592cbc
mov eax, dword [rbp + 0x84]
imul eax, eax, 0x1dc
mov dword [rbp + 0x8c], eax
lea rcx, [rbp + 0x58]
mov rdx, qword [0x0060ece0]
call fcn.0040fe40
mov eax, dword [rbp + 0x9c]
imul eax, dword [rbp + 0x98]
mov dword [rbp + 0x88], eax
lea rcx, [rbp + 0x58]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
mov eax, dword [rbp + 0x9c]
sub eax, dword [rbp + 0x94]
mov ecx, dword [rbp + 0x8c]
sub ecx, dword [rbp + 0x90]
cmp eax, ecx
jle 0x592d1d
mov eax, dword [rbp + 0x90]
sub eax, 0x1ac
mov dword [rbp + 0x8c], eax
lea rcx, [rbp + 0x58]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
mov eax, dword [rbp + 0x90]
sub eax, 0x194
mov dword [rbp + 0x8c], eax
lea rcx, [rbp + 0x88]
lea rdx, [rbp + 0x98]
lea r8, [rbp + 0x94]
lea r9, [rbp + 0x90]
lea rax, [rbp + 0x84]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x88]
mov qword [rsp + 0x28], rax
call fcn.005382d0
mov eax, dword [rbp + 0x9c]
imul eax, dword [rbp + 0x98]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x90]
sub eax, 0x1a9
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x9c]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x90]
sub eax, 0x196
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x9c]
imul eax, dword [rbp + 0x98]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x90]
add eax, 0x182
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x9c]
sub eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x8c]
sub ecx, dword [rbp + 0x90]
cmp eax, ecx
jle 0x592e35
lea rcx, [rbp + 0x84]
lea rdx, [rbp + 0x88]
lea r8, [rbp + 0x9c]
lea r9, [rbp + 0x98]
lea rax, [rbp + 0x94]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x90]
mov qword [rsp + 0x28], rax
call fcn.00568390
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0x88]
mov dword [rbp + 0x84], eax
mov dword [rbp + 0x98], 0
cmp dword [rbp + 0x98], 2
jge 0x592f06
add dword [rbp + 0x98], 1
mov eax, dword [rbp + 0x9c]
add eax, 0x355
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x9c]
sub eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x94]
sub ecx, dword [rbp + 0x8c]
cmp eax, ecx
jle 0x592ea5
mov eax, dword [rbp + 0x84]
sub eax, 0x1c0
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x90]
sub eax, dword [rbp + 0x88]
cmp eax, dword [rbp + 0x88]
jge 0x592ecb
mov eax, dword [rbp + 0x9c]
add eax, 0x38a
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x9c]
sub eax, dword [rbp + 0x94]
mov ecx, dword [rbp + 0x8c]
sub ecx, dword [rbp + 0x90]
cmp eax, ecx
jle 0x592ef9
mov eax, dword [rbp + 0x84]
imul eax, eax, 0x1d5
mov dword [rbp + 0x8c], eax
cmp dword [rbp + 0x98], 2
jl 0x592e5e
nop
mov eax, dword [rbp + 0x88]
cmp eax, dword [rbp + 0x9c]
jle 0x592f21
lea rcx, [rbp + 0x98]
call fcn.00542490
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0x60], rax
mov eax, dword [rbp + 0x84]
imul eax, eax, 0x1ca
mov dword [rbp + 0x8c], eax
call fcn.005897c0
mov eax, dword [rbp + 0x88]
sub eax, dword [rbp + 0x9c]
mov dword [rbp + 0x84], eax
mov dword [rbp + 0x9c], 0
cmp dword [rbp + 0x9c], 1
jge 0x592fe1
add dword [rbp + 0x9c], 1
mov eax, dword [rbp + 0x88]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x9c]
add eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x94]
add ecx, dword [rbp + 0x8c]
cmp eax, ecx
jge 0x592fa9
mov eax, dword [rbp + 0x90]
sub eax, 0x167
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x84]
sub eax, dword [rbp + 0x88]
cmp dword [rbp + 0x8c], eax
jne 0x592fc9
mov eax, dword [rbp + 0x88]
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x94]
imul eax, eax, 0x17
mov dword [rbp + 0x98], eax
cmp dword [rbp + 0x9c], 1
jl 0x592f68
nop
mov eax, dword [rbp + 0x9c]
imul eax, dword [rbp + 0x98]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x90]
sub eax, 0x165
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x88]
imul eax, dword [rbp + 0x98]
mov dword [rbp + 0x88], eax
mov dword [rbp + 0x98], 0
mov eax, dword [rbp + 0x88]
imul eax, dword [rbp + 0x9c]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x8c]
imul eax, eax, 0x59
mov dword [rbp + 0x9c], eax
mov eax, dword [rbp + 0x90]
add eax, dword [rbp + 0x84]
cmp dword [rbp + 0x98], eax
jne 0x59306c
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0x88]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x88]
imul eax, dword [rbp + 0x9c]
mov dword [rbp + 0x88], eax
add dword [rbp + 0x98], 1
cmp dword [rbp + 0x98], 3
jne 0x593024
nop
mov dword [rbp + 0x98], 0
add dword [rbp + 0x88], 0x351
mov eax, dword [rbp + 0x8c]
add eax, 0x77
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0x90]
sub eax, dword [rbp + 0x84]
cmp dword [rbp + 0x94], eax
jne 0x5930d9
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0x88]
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x88]
imul eax, dword [rbp + 0x9c]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x9c]
mov dword [rbp + 0x88], eax
add dword [rbp + 0x98], 1
cmp dword [rbp + 0x98], 3
jne 0x59309a
nop
jmp 0x5931ad
lea rcx, [rbp + 0x9c]
lea rdx, [rbp + 0x94]
lea r8, [rbp + 0x8c]
lea r9, [rbp + 0x84]
lea rax, [rbp + 0x88]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x88]
mov qword [rsp + 0x28], rax
call fcn.0053acd0
call fcn.0058eeb0
mov eax, dword [rbp + 0x9c]
sub dword [rbp + 0x88], eax
cmp qword [rbp + 0x60], 0x20000
jle 0x59316b
mov dword [rbp + 0x70], 0x20000
jmp 0x593171
mov eax, dword [rbp + 0x60]
mov dword [rbp + 0x70], eax
movsxd rcx, dword [rbp + 0xb0]
mov rdx, qword [rbp + 0x78]
mov r8d, dword [rbp + 0x70]
xor r9, r9
call sub.ws2_32.dll_recv
mov dword [rbp + 0x6c], eax
cmp dword [rbp + 0x6c], 0
jle 0x5931b8
mov rcx, qword [rbp + 0xb8]
mov rdx, qword [rbp + 0x78]
mov r8d, dword [rbp + 0x6c]
call fcn.00540650
movsxd rax, dword [rbp + 0x6c]
sub qword [rbp + 0x60], rax
cmp qword [rbp + 0x60], 0
jg 0x59310e
nop
mov dword [rbp + 0x98], 0
mov eax, dword [rbp + 0x9c]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x9c]
sub eax, dword [rbp + 0x94]
mov ecx, dword [rbp + 0x8c]
sub ecx, dword [rbp + 0x90]
cmp eax, ecx
jle 0x5931fd
mov eax, dword [rbp + 0x84]
imul eax, eax, 0x22d
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x9c]
sub dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x9c]
mov dword [rbp + 0x88], eax
add dword [rbp + 0x98], 1
cmp dword [rbp + 0x98], 3
jne 0x5931c3
nop
mov eax, dword [rbp + 0x84]
imul eax, eax, 0x23e
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x9c]
add eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x94]
add ecx, dword [rbp + 0x8c]
cmp eax, ecx
jge 0x593267
lea rcx, [rbp + 0x94]
lea rdx, [rbp + 0x90]
call fcn.0055a730
mov eax, dword [rbp + 0x84]
imul eax, eax, 0x22f
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x88]
cmp eax, dword [rbp + 0x9c]
jle 0x593293
lea rcx, [rbp + 0x98]
call fcn.00542490
mov dword [rbp + 0x9c], 0
cmp dword [rbp + 0x9c], 1
jge 0x593315
add dword [rbp + 0x9c], 1
mov eax, dword [rbp + 0x88]
imul eax, dword [rbp + 0x98]
mov dword [rbp + 0x88], eax
mov eax, 0x3e6
sub eax, dword [rbp + 0x94]
mov dword [rbp + 0x98], eax
mov eax, dword [rbp + 0x98]
sub eax, dword [rbp + 0x94]
mov ecx, dword [rbp + 0x8c]
sub ecx, dword [rbp + 0x90]
cmp eax, ecx
jle 0x593300
mov eax, dword [rbp + 0x84]
imul eax, eax, 0x1f1
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x88]
mov dword [rbp + 0x84], eax
cmp dword [rbp + 0x9c], 1
jl 0x5932a6
nop
cmp qword [rbp + 0x60], 0
jne 0x593321
mov byte [rbp + 0x77], 1
mov dword [rbp + 0x98], 0
cmp dword [rbp + 0x98], 2
jge 0x593397
add dword [rbp + 0x98], 1
mov eax, 0x392
sub eax, dword [rbp + 0x9c]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x8c]
add eax, dword [rbp + 0x90]
cmp dword [rbp + 0x98], eax
jne 0x593373
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0x88]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x88]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x8c]
add eax, 0x68
mov dword [rbp + 0x94], eax
cmp dword [rbp + 0x98], 2
jl 0x593334
nop
mov eax, dword [rbp + 0x9c]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x90]
add eax, 0x176
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x88]
imul eax, dword [rbp + 0x98]
mov dword [rbp + 0x88], eax
mov dword [rbp + 0x98], 0
mov eax, dword [rbp + 0x9c]
add eax, 0x365
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x9c]
add eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x94]
add ecx, dword [rbp + 0x8c]
cmp eax, ecx
jge 0x593413
mov eax, dword [rbp + 0x90]
sub eax, 0x1b0
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x8c]
add eax, dword [rbp + 0x88]
cmp eax, dword [rbp + 0x88]
jle 0x593433
mov eax, dword [rbp + 0x88]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x8c]
add eax, 0x5f
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0x8c]
add eax, dword [rbp + 0x84]
cmp eax, dword [rbp + 0x88]
jle 0x593462
mov eax, dword [rbp + 0x88]
mov dword [rbp + 0x88], eax
add dword [rbp + 0x98], 1
cmp dword [rbp + 0x98], 3
jne 0x5933d3
nop
mov rcx, qword [rbp + 0xb8]
xor edx, edx
xor r8, r8
call fcn.0053df00
mov eax, dword [rbp + 0x9c]
mov dword [rbp + 0x88], eax
mov dword [rbp + 0x98], 0
mov eax, dword [rbp + 0x9c]
add eax, 0x380
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x9c]
add eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x94]
add ecx, dword [rbp + 0x8c]
cmp eax, ecx
jge 0x5934de
mov eax, dword [rbp + 0x90]
sub eax, 0x16b
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x8c]
add eax, dword [rbp + 0x84]
cmp eax, dword [rbp + 0x88]
jle 0x593504
mov eax, dword [rbp + 0x88]
sub eax, dword [rbp + 0x9c]
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x9c]
add eax, 0x37a
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x9c]
add eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x94]
add ecx, dword [rbp + 0x8c]
cmp eax, ecx
jge 0x593544
mov eax, dword [rbp + 0x90]
sub eax, 0x184
mov dword [rbp + 0x8c], eax
add dword [rbp + 0x98], 1
cmp dword [rbp + 0x98], 4
jne 0x59349e
nop
nop
mov eax, dword [rbp + 0x9c]
sub eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x94]
sub ecx, dword [rbp + 0x90]
cmp eax, ecx
jle 0x5935af
lea rcx, [rbp + 0x8c]
lea rdx, [rbp + 0x90]
lea r8, [rbp + 0x88]
lea r9, [rbp + 0x88]
lea rax, [rbp + 0x9c]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x94]
mov qword [rsp + 0x28], rax
call fcn.0055f990
mov dword [rbp + 0x98], 0
mov eax, dword [rbp + 0x9c]
add eax, 0x360
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x9c]
add eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x94]
add ecx, dword [rbp + 0x8c]
cmp eax, ecx
jge 0x5935f9
mov eax, dword [rbp + 0x90]
sub eax, 0x18a
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x8c]
add eax, dword [rbp + 0x84]
cmp eax, dword [rbp + 0x88]
jle 0x593619
mov eax, dword [rbp + 0x9c]
sub dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x9c]
add eax, 0x399
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x9c]
add eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x94]
add ecx, dword [rbp + 0x90]
cmp eax, ecx
jge 0x593659
mov eax, dword [rbp + 0x90]
sub eax, 0x1a4
mov dword [rbp + 0x8c], eax
add dword [rbp + 0x98], 1
cmp dword [rbp + 0x98], 4
jne 0x5935b9
nop
lea rcx, [rbp + 0x88]
lea rdx, [rbp + 0x9c]
lea r8, [rbp + 0x94]
call fcn.00590c00
mov dword [rbp + 0x98], 0
mov eax, dword [rbp + 0x9c]
sub dword [rbp + 0x88], eax
mov eax, 0x3b7
sub eax, dword [rbp + 0x9c]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x9c]
add eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x94]
add ecx, dword [rbp + 0x8c]
cmp eax, ecx
jge 0x5936de
mov eax, dword [rbp + 0x90]
sub eax, 0x1a2
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x8c]
add eax, dword [rbp + 0x84]
cmp eax, dword [rbp + 0x88]
jle 0x5936fe
mov eax, dword [rbp + 0x9c]
sub dword [rbp + 0x88], eax
add dword [rbp + 0x98], 1
cmp dword [rbp + 0x98], 3
jne 0x593692
nop
mov dword [rbp + 0x98], 0
mov eax, dword [rbp + 0x88]
imul eax, dword [rbp + 0x9c]
mov dword [rbp + 0x88], eax
mov eax, 0x3b9
sub eax, dword [rbp + 0x9c]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x9c]
add eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x94]
add ecx, dword [rbp + 0x90]
cmp eax, ecx
jge 0x59376c
mov eax, dword [rbp + 0x90]
sub eax, 0x1a4
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x8c]
add eax, dword [rbp + 0x84]
cmp eax, dword [rbp + 0x88]
jle 0x593792
mov eax, dword [rbp + 0x88]
sub eax, dword [rbp + 0x9c]
mov dword [rbp + 0x84], eax
add dword [rbp + 0x98], 1
cmp dword [rbp + 0x98], 3
jne 0x593719
nop
mov eax, dword [rbp + 0x90]
sub eax, 0x194
mov dword [rbp + 0x8c], eax
mov rcx, qword [rbp + 0x78]
call fcn.00409050
mov eax, dword [rbp + 0x9c]
cmp eax, dword [rbp + 0x98]
jle 0x5937fd
lea rcx, [rbp + 0x98]
lea rdx, [rbp + 0x8c]
lea r8, [rbp + 0x90]
lea r9, [rbp + 0x84]
lea rax, [rbp + 0x88]
mov qword [rsp + 0x20], rax
call fcn.00542650
call fcn.0058eeb0
mov eax, dword [rbp + 0x88]
sub eax, dword [rbp + 0x9c]
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x9c]
add eax, dword [rbp + 0x98]
mov ecx, dword [rbp + 0x94]
add ecx, dword [rbp + 0x8c]
cmp eax, ecx
jge 0x593869
lea rcx, [rbp + 0x94]
lea rdx, [rbp + 0x8c]
lea r8, [rbp + 0x90]
lea r9, [rbp + 0x88]
lea rax, [rbp + 0x88]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x9c]
mov qword [rsp + 0x28], rax
call fcn.005553f0
mov eax, dword [rbp + 0x88]
cmp eax, dword [rbp + 0x9c]
jle 0x5938ae
lea rcx, [rbp + 0x98]
lea rdx, [rbp + 0x94]
lea r8, [rbp + 0x8c]
lea r9, [rbp + 0x84]
call fcn.00540aa0
jmp 0x5938ae
nop
lea rcx, [rbp + 0x30]
mov edx, 3
call fcn.0040e6b0
lea rcx, [rbp + 0x58]
call fcn.0040e5d0
movzx rax, byte [rbp + 0x77]
lea rsp, [rbp + 0xa0]
pop rbp
ret