Function at 0x590f90
Capabilities:
Send data
Send data on socket

Disassembly:
push rbp
push rbx
sub rsp, 0xa8
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 + 0xc0], ecx
mov qword [rbp + 0xc8], rdx
nop
mov byte [rbp + 0x6f], 0
mov eax, dword [rbp + 0x88]
cmp eax, dword [rbp + 0x84]
jle 0x590fe5
call fcn.00546c80
mov eax, dword [rbp + 0x84]
add eax, dword [rbp + 0x74]
mov ecx, dword [rbp + 0x70]
add ecx, dword [rbp + 0x7c]
cmp eax, ecx
jge 0x591028
lea rcx, [rbp + 0x70]
lea rdx, [rbp + 0x78]
lea r8, [rbp + 0x90]
lea r9, [rbp + 0x8c]
lea rax, [rbp + 0x88]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x74]
mov qword [rsp + 0x28], rax
call fcn.0055e030
mov dword [rbp + 0x74], 0
mov eax, dword [rbp + 0x84]
add eax, 0x38a
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x74]
sub eax, dword [rbp + 0x80]
mov ecx, dword [rbp + 0x7c]
sub ecx, dword [rbp + 0x78]
cmp eax, ecx
jle 0x591063
mov eax, dword [rbp + 0x94]
imul eax, eax, 0x1f5
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0x8c]
sub eax, dword [rbp + 0x84]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0x8c], eax
add dword [rbp + 0x74], 1
cmp dword [rbp + 0x74], 3
jne 0x59102f
nop
mov eax, dword [rbp + 0x8c]
add eax, dword [rbp + 0x88]
mov dword [rbp + 0x94], eax
mov dword [rbp + 0x74], 0
cmp dword [rbp + 0x74], 2
jge 0x591102
add dword [rbp + 0x74], 1
mov eax, dword [rbp + 0x88]
add eax, 0x330
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x78]
add eax, 0x96
mov dword [rbp + 0x70], eax
mov eax, dword [rbp + 0x94]
sub eax, dword [rbp + 0x8c]
cmp dword [rbp + 0x70], eax
jne 0x5910f0
mov eax, dword [rbp + 0x8c]
sub eax, dword [rbp + 0x84]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0x88], eax
cmp dword [rbp + 0x74], 2
jl 0x5910ab
nop
nop
lea rcx, [0x00592158]
lea rdx, [0x0059217c]
mov r8d, 1
call fcn.004102c0
cmp eax, 0x5b
jge 0x591132
mov eax, dword [rbp + 0x70]
imul eax, eax, 0xbb
mov dword [rbp + 0x80], eax
lea rcx, [rbp + 0x58]
call fcn.0040e5d0
mov eax, dword [rbp + 0x8c]
sub eax, dword [rbp + 0x84]
mov dword [rbp + 0x90], eax
lea rcx, [rbp + 0x58]
mov rdx, qword [0x0060ec88]
call fcn.0040fe40
mov eax, dword [rbp + 0x84]
add eax, dword [rbp + 0x74]
mov ecx, dword [rbp + 0x70]
add ecx, dword [rbp + 0x78]
cmp eax, ecx
jge 0x59117f
mov eax, dword [rbp + 0x94]
sub eax, 0x1b2
mov dword [rbp + 0x7c], eax
lea rcx, [rbp + 0x58]
mov rdx, qword [0x0060ecd8]
call fcn.0040fe40
mov eax, dword [rbp + 0x78]
sub eax, 0x16b
mov dword [rbp + 0x7c], 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 + 0x88]
imul eax, dword [rbp + 0x84]
mov dword [rbp + 0x8c], eax
lea rcx, [rbp + 0x58]
lea rdx, [0x005921a8]
call fcn.0040fe40
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 + 0x94]
sub eax, 0x188
mov dword [rbp + 0x7c], 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 + 0x88]
imul eax, dword [rbp + 0x84]
mov dword [rbp + 0x8c], eax
lea rcx, [rbp + 0x58]
lea rdx, [0x005921b8]
call fcn.0040fe40
mov eax, dword [rbp + 0x94]
sub eax, 0x1ba
mov dword [rbp + 0x7c], eax
lea rcx, [rbp + 0x58]
mov rdx, qword [0x0060ece0]
call fcn.0040fe40
mov eax, dword [rbp + 0x88]
imul eax, dword [rbp + 0x74]
mov dword [rbp + 0x8c], eax
lea rcx, [rbp + 0x58]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
mov eax, dword [rbp + 0x94]
imul eax, eax, 0x1cb
mov dword [rbp + 0x78], eax
lea rcx, [rbp + 0x58]
mov rdx, qword [0x0060ed10]
call fcn.0040fe40
mov dword [rbp + 0x84], 0
cmp dword [rbp + 0x84], 1
jge 0x59132b
add dword [rbp + 0x84], 1
mov eax, dword [rbp + 0x80]
add eax, 0x37d
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x7c]
add eax, dword [rbp + 0x94]
cmp dword [rbp + 0x74], eax
jne 0x5912ee
mov eax, dword [rbp + 0x8c]
add eax, dword [rbp + 0x88]
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0x74]
add eax, 0x36e
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x84]
add eax, dword [rbp + 0x80]
mov ecx, dword [rbp + 0x70]
add ecx, dword [rbp + 0x7c]
cmp eax, ecx
jge 0x591322
mov eax, dword [rbp + 0x94]
sub eax, 0x1b8
mov dword [rbp + 0x7c], eax
cmp dword [rbp + 0x84], 1
jl 0x5912b5
nop
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0x74]
mov ecx, dword [rbp + 0x80]
add ecx, dword [rbp + 0x7c]
cmp eax, ecx
jge 0x59134b
lea rcx, [rbp + 0x70]
call fcn.00548a50
mov eax, dword [rbp + 0x78]
sub eax, 0x189
mov dword [rbp + 0x70], eax
lea rcx, [0x005921c8]
lea rdx, [0x0059217c]
mov r8d, 1
call fcn.004102c0
cmp eax, 0x54
jge 0x591385
mov eax, dword [rbp + 0x80]
add eax, 0x41
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x8c]
add eax, dword [rbp + 0x88]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x8c]
sub eax, dword [rbp + 0x84]
mov dword [rbp + 0x90], eax
mov ecx, 0x20000
call fcn.00409020
mov qword [rbp + 0x98], rax
nop
mov rcx, qword [rbp + 0xc8]
xor edx, edx
xor r8, r8
call fcn.0053df00
mov dword [rbp + 0x74], 0
mov eax, 0x3be
sub eax, dword [rbp + 0x80]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x94]
sub eax, dword [rbp + 0x90]
cmp dword [rbp + 0x70], eax
jne 0x591403
mov eax, dword [rbp + 0x84]
sub dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x7c]
imul eax, eax, 0x74
mov dword [rbp + 0x70], eax
mov eax, dword [rbp + 0x94]
sub eax, dword [rbp + 0x90]
cmp dword [rbp + 0x70], eax
jne 0x59143b
mov eax, dword [rbp + 0x8c]
sub eax, dword [rbp + 0x88]
mov dword [rbp + 0x90], eax
add dword [rbp + 0x74], 1
cmp dword [rbp + 0x74], 3
jne 0x5913d4
nop
mov dword [rbp + 0x74], 0
mov eax, dword [rbp + 0x88]
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x7c]
imul eax, eax, 0x6d
mov dword [rbp + 0x70], eax
mov eax, dword [rbp + 0x78]
add eax, dword [rbp + 0x90]
cmp dword [rbp + 0x80], eax
jne 0x591485
mov eax, dword [rbp + 0x8c]
add eax, dword [rbp + 0x88]
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0x84]
sub dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0x8c], eax
add dword [rbp + 0x74], 1
cmp dword [rbp + 0x74], 3
jne 0x59144d
nop
mov eax, dword [rbp + 0x94]
sub eax, 0x1c8
mov dword [rbp + 0x78], eax
lea rcx, [0x005921ec]
lea rdx, [0x0059217c]
mov r8d, 1
call fcn.004102c0
cmp eax, 0x53
jge 0x5914e5
mov eax, dword [rbp + 0x80]
add eax, 0x40
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x8c]
add eax, dword [rbp + 0x8c]
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0x84]
sub eax, dword [rbp + 0x74]
mov ecx, dword [rbp + 0x70]
sub ecx, dword [rbp + 0x78]
cmp eax, ecx
jle 0x591528
lea rcx, [rbp + 0x7c]
lea rdx, [rbp + 0x94]
lea r8, [rbp + 0x8c]
lea r9, [rbp + 0x88]
call fcn.0055f770
mov rcx, qword [rbp + 0xc8]
call fcn.0053e8e0
movsxd rax, eax
mov qword [rbp + 0x60], rax
mov dword [rbp + 0x74], 0
mov eax, dword [rbp + 0x88]
imul eax, dword [rbp + 0x84]
mov dword [rbp + 0x8c], eax
mov eax, 0x3e5
sub eax, dword [rbp + 0x80]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x74]
sub eax, dword [rbp + 0x80]
mov ecx, dword [rbp + 0x7c]
sub ecx, dword [rbp + 0x78]
cmp eax, ecx
jle 0x591589
mov eax, dword [rbp + 0x94]
sub eax, 0x1d0
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0x78]
sub eax, dword [rbp + 0x8c]
cmp eax, dword [rbp + 0x8c]
jge 0x5915a6
mov eax, dword [rbp + 0x88]
mov dword [rbp + 0x8c], eax
add dword [rbp + 0x74], 1
cmp dword [rbp + 0x74], 3
jne 0x591542
nop
mov eax, dword [rbp + 0x8c]
add eax, dword [rbp + 0x88]
mov dword [rbp + 0x90], eax
mov dword [rbp + 0x74], 0
mov eax, dword [rbp + 0x84]
sub dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0x8c], eax
mov eax, 0x14
sub eax, dword [rbp + 0x70]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x78]
add eax, dword [rbp + 0x90]
cmp dword [rbp + 0x80], eax
jne 0x591614
mov eax, dword [rbp + 0x8c]
add eax, dword [rbp + 0x8c]
mov dword [rbp + 0x94], eax
add dword [rbp + 0x74], 1
cmp dword [rbp + 0x74], 3
jne 0x5915ca
nop
mov eax, dword [rbp + 0x88]
add eax, dword [rbp + 0x74]
mov ecx, dword [rbp + 0x80]
add ecx, dword [rbp + 0x7c]
cmp eax, ecx
jge 0x591668
lea rcx, [rbp + 0x80]
lea rdx, [rbp + 0x7c]
lea r8, [rbp + 0x94]
lea r9, [rbp + 0x8c]
lea rax, [rbp + 0x88]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x74]
mov qword [rsp + 0x28], rax
call fcn.0054f640
mov dword [rbp + 0x84], 0
cmp dword [rbp + 0x84], 2
jge 0x5916ef
add dword [rbp + 0x84], 1
mov eax, dword [rbp + 0x74]
add eax, 0x376
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x84]
sub eax, dword [rbp + 0x80]
mov ecx, dword [rbp + 0x70]
sub ecx, dword [rbp + 0x78]
cmp eax, ecx
jle 0x5916b6
mov eax, dword [rbp + 0x94]
sub eax, 0x1c1
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x78]
add eax, dword [rbp + 0x8c]
cmp eax, dword [rbp + 0x8c]
jle 0x5916d7
mov eax, dword [rbp + 0x88]
imul eax, dword [rbp + 0x74]
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x74]
add eax, 0x3f0
mov dword [rbp + 0x88], eax
cmp dword [rbp + 0x84], 2
jl 0x59167b
nop
mov eax, dword [rbp + 0x90]
imul eax, eax, 0x216
mov dword [rbp + 0x78], eax
lea rcx, [rbp + 0x88]
call fcn.00590db0
lea rcx, [0x00592210]
lea rdx, [0x0059217c]
mov r8d, 1
call fcn.004102c0
cmp eax, 0x52
jge 0x5919ac
mov eax, dword [rbp + 0x80]
add eax, 0x12
mov dword [rbp + 0x84], eax
jmp 0x5919ac
mov rcx, qword [rbp + 0xc8]
call fcn.0053e8e0
mov ebx, eax
mov rcx, qword [rbp + 0xc8]
call fcn.0053d4a0
sub ebx, eax
cmp ebx, 0x20000
jle 0x59176f
mov dword [rbp + 0x68], 0x20000
jmp 0x59178e
mov rcx, qword [rbp + 0xc8]
call fcn.0053e8e0
mov ebx, eax
mov rcx, qword [rbp + 0xc8]
call fcn.0053d4a0
sub ebx, eax
mov dword [rbp + 0x68], ebx
mov rcx, qword [rbp + 0xc8]
mov rdx, qword [rbp + 0x98]
mov r8d, dword [rbp + 0x68]
call fcn.0053fdc0
movsxd rcx, dword [rbp + 0xc0]
mov rdx, qword [rbp + 0x98]
mov r8d, dword [rbp + 0x68]
xor r9, r9
call sub.ws2_32.dll_send
cmp eax, dword [rbp + 0x68]
jne 0x5919b7
movsxd rax, dword [rbp + 0x68]
sub qword [rbp + 0x60], rax
mov eax, dword [rbp + 0x90]
add eax, dword [rbp + 0x8c]
mov dword [rbp + 0x94], eax
mov dword [rbp + 0x74], 0
cmp dword [rbp + 0x74], 2
jge 0x59184c
add dword [rbp + 0x74], 1
mov eax, 0x3d9
sub eax, dword [rbp + 0x80]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x78]
add eax, dword [rbp + 0x94]
cmp dword [rbp + 0x80], eax
jne 0x591828
mov eax, dword [rbp + 0x8c]
add eax, dword [rbp + 0x88]
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0x88]
add eax, 0x36a
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x78]
add eax, 0xaf
mov dword [rbp + 0x70], eax
cmp dword [rbp + 0x74], 2
jl 0x5917ef
nop
lea rcx, [0x00592234]
lea rdx, [0x0059217c]
mov r8d, 1
call fcn.004102c0
cmp eax, 0x54
jge 0x59187b
mov eax, 0x69
sub eax, dword [rbp + 0x80]
mov dword [rbp + 0x74], eax
mov eax, dword [rbp + 0x8c]
sub eax, dword [rbp + 0x88]
mov dword [rbp + 0x90], eax
mov eax, dword [rbp + 0x74]
sub eax, dword [rbp + 0x80]
mov ecx, dword [rbp + 0x7c]
sub ecx, dword [rbp + 0x78]
cmp eax, ecx
jle 0x5918a9
lea rcx, [rbp + 0x7c]
call fcn.00561a50
mov eax, dword [rbp + 0x94]
imul eax, eax, 0x1df
mov dword [rbp + 0x78], eax
lea rcx, [rbp + 0x8c]
lea rdx, [rbp + 0x84]
lea r8, [rbp + 0x80]
lea r9, [rbp + 0x7c]
call fcn.00589aa0
mov eax, dword [rbp + 0x78]
sub eax, 0x16c
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x8c]
sub eax, dword [rbp + 0x88]
mov dword [rbp + 0x90], eax
mov dword [rbp + 0x74], 0
mov eax, dword [rbp + 0x88]
add eax, 0x34b
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x84]
sub eax, dword [rbp + 0x80]
mov ecx, dword [rbp + 0x70]
sub ecx, dword [rbp + 0x78]
cmp eax, ecx
jle 0x591932
mov eax, dword [rbp + 0x94]
sub eax, 0x196
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x78]
add eax, dword [rbp + 0x8c]
cmp eax, dword [rbp + 0x8c]
jle 0x591955
mov eax, dword [rbp + 0x88]
add eax, 0x340
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x84]
add eax, dword [rbp + 0x74]
mov ecx, dword [rbp + 0x80]
add ecx, dword [rbp + 0x7c]
cmp eax, ecx
jge 0x59197a
mov eax, dword [rbp + 0x94]
sub eax, 0x18b
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x78]
sub eax, dword [rbp + 0x8c]
cmp eax, dword [rbp + 0x8c]
jge 0x59199d
mov eax, dword [rbp + 0x88]
add eax, 0x336
mov dword [rbp + 0x8c], eax
add dword [rbp + 0x74], 1
cmp dword [rbp + 0x74], 3
jne 0x5918fb
nop
cmp qword [rbp + 0x60], 0
jg 0x591742
nop
cmp qword [rbp + 0x60], 0
jne 0x5919c3
mov byte [rbp + 0x6f], 1
mov eax, dword [rbp + 0x8c]
sub eax, dword [rbp + 0x84]
mov dword [rbp + 0x90], eax
mov rcx, qword [rbp + 0xc8]
xor edx, edx
xor r8, r8
call fcn.0053df00
mov eax, dword [rbp + 0x94]
imul eax, eax, 0x2c3
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x84]
add eax, dword [rbp + 0x80]
mov ecx, dword [rbp + 0x70]
add ecx, dword [rbp + 0x78]
cmp eax, ecx
jge 0x591a1e
lea rcx, [rbp + 0x78]
lea rdx, [rbp + 0x90]
call fcn.005648a0
lea rcx, [0x00592258]
lea rdx, [0x0059217c]
mov r8d, 1
call fcn.004102c0
cmp eax, 0x4d
jge 0x591a4c
mov eax, dword [rbp + 0x78]
sub eax, dword [rbp + 0x88]
mov dword [rbp + 0x80], eax
mov eax, dword [rbp + 0x90]
imul eax, eax, 0x204
mov dword [rbp + 0x78], eax
mov dword [rbp + 0x80], 0
mov eax, dword [rbp + 0x94]
sub eax, 0xaf
mov dword [rbp + 0x7c], eax
mov eax, 0x316
sub eax, dword [rbp + 0x84]
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x94]
sub eax, dword [rbp + 0x84]
cmp dword [rbp + 0x70], eax
jne 0x591aa3
mov eax, 0x6c
sub eax, dword [rbp + 0x70]
mov dword [rbp + 0x74], eax
mov eax, dword [rbp + 0x78]
add eax, dword [rbp + 0x94]
cmp dword [rbp + 0x80], eax
jne 0x591ac6
mov eax, dword [rbp + 0x8c]
add eax, dword [rbp + 0x88]
mov dword [rbp + 0x94], eax
add dword [rbp + 0x80], 1
cmp dword [rbp + 0x80], 4
jne 0x591a65
nop
mov dword [rbp + 0x74], 0
cmp dword [rbp + 0x74], 2
jge 0x591b4e
add dword [rbp + 0x74], 1
mov eax, dword [rbp + 0x84]
add eax, 0x361
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x84]
add eax, dword [rbp + 0x80]
mov ecx, dword [rbp + 0x70]
add ecx, dword [rbp + 0x78]
cmp eax, ecx
jge 0x591b1f
mov eax, dword [rbp + 0x94]
imul eax, eax, 0x1cc
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0x78]
sub eax, dword [rbp + 0x8c]
cmp eax, dword [rbp + 0x88]
jge 0x591b3c
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x7c]
imul eax, eax, 0x5b
mov dword [rbp + 0x80], eax
cmp dword [rbp + 0x74], 2
jl 0x591ae4
nop
lea rcx, [rbp + 0x88]
lea rdx, [rbp + 0x74]
call fcn.00538540
mov dword [rbp + 0x84], 0
cmp dword [rbp + 0x84], 1
jge 0x591bd1
add dword [rbp + 0x84], 1
mov eax, dword [rbp + 0x8c]
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x7c]
shl eax, 4
lea rax, [rax + rax*2]
mov dword [rbp + 0x80], eax
mov eax, dword [rbp + 0x78]
add eax, dword [rbp + 0x90]
cmp dword [rbp + 0x80], eax
jne 0x591bb8
mov eax, dword [rbp + 0x8c]
add eax, dword [rbp + 0x88]
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0x88]
imul eax, dword [rbp + 0x74]
mov dword [rbp + 0x8c], eax
cmp dword [rbp + 0x84], 1
jl 0x591b72
nop
nop
mov rcx, qword [rbp + 0x98]
call fcn.00409050
mov eax, dword [rbp + 0x90]
add eax, dword [rbp + 0x8c]
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0x88]
cmp eax, dword [rbp + 0x84]
jle 0x591c1a
lea rcx, [rbp + 0x80]
lea rdx, [rbp + 0x7c]
lea r8, [rbp + 0x78]
lea r9, [rbp + 0x90]
call fcn.00543a90
mov eax, dword [rbp + 0x8c]
sub eax, dword [rbp + 0x84]
mov dword [rbp + 0x90], eax
mov dword [rbp + 0x80], 0
mov eax, dword [rbp + 0x84]
imul eax, dword [rbp + 0x74]
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x74]
add eax, 0x3e0
mov dword [rbp + 0x88], eax
mov eax, 0x85
sub eax, dword [rbp + 0x70]
mov dword [rbp + 0x74], eax
mov eax, dword [rbp + 0x74]
sub eax, dword [rbp + 0x70]
mov ecx, dword [rbp + 0x78]
sub ecx, dword [rbp + 0x94]
cmp eax, ecx
jle 0x591c86
mov eax, dword [rbp + 0x90]
imul eax, eax, 0x22f
mov dword [rbp + 0x94], eax
mov eax, dword [rbp + 0x8c]
sub eax, dword [rbp + 0x84]
mov dword [rbp + 0x90], eax
add dword [rbp + 0x80], 1
cmp dword [rbp + 0x80], 4
jne 0x591c36
nop
mov eax, dword [rbp + 0x94]
sub eax, 0x19c
mov dword [rbp + 0x7c], eax
lea rcx, [rbp + 0x8c]
lea rdx, [rbp + 0x84]
call fcn.005850c0
lea rcx, [rbp + 0x8c]
lea rdx, [rbp + 0x84]
lea r8, [rbp + 0x80]
lea r9, [rbp + 0x7c]
call fcn.00589aa0
mov eax, dword [rbp + 0x78]
sub eax, 0x16c
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x8c]
sub eax, dword [rbp + 0x88]
mov dword [rbp + 0x90], eax
mov dword [rbp + 0x74], 0
mov eax, dword [rbp + 0x88]
imul eax, dword [rbp + 0x84]
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x7c]
imul eax, eax, 0x56
mov dword [rbp + 0x80], eax
mov eax, dword [rbp + 0x94]
sub eax, dword [rbp + 0x8c]
cmp dword [rbp + 0x70], eax
jne 0x591d5c
mov eax, dword [rbp + 0x8c]
sub eax, dword [rbp + 0x84]
mov dword [rbp + 0x90], eax
add dword [rbp + 0x74], 1
cmp dword [rbp + 0x74], 3
jne 0x591d0e
nop
mov dword [rbp + 0x74], 0
mov eax, dword [rbp + 0x88]
imul eax, dword [rbp + 0x84]
mov dword [rbp + 0x8c], eax
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0x8c], eax
mov eax, 0x33
sub eax, dword [rbp + 0x80]
mov dword [rbp + 0x84], eax
mov eax, dword [rbp + 0x74]
sub eax, dword [rbp + 0x80]
mov ecx, dword [rbp + 0x7c]
sub ecx, dword [rbp + 0x78]
cmp eax, ecx
jle 0x591dc1
mov eax, dword [rbp + 0x90]
imul eax, eax, 0x1fd
mov dword [rbp + 0x78], eax
add dword [rbp + 0x74], 1
cmp dword [rbp + 0x74], 3
jne 0x591d6e
nop
jmp 0x591ecd
nop
lea rcx, [rbp + 0x30]
mov edx, 3
call fcn.0040e6b0
lea rcx, [rbp + 0x58]
call fcn.0040e5d0
movzx rax, byte [rbp + 0x6f]
lea rsp, [rbp + 0xa8]
pop rbx
pop rbp
ret