Function at 0x1400f27f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
mov rax, qword [0x14049f410]
xor rax, rsp
mov qword [rbp + 0x30], rax
xor ebx, ebx
mov qword [rbp - 0x58], rcx
mov rdi, rcx
mov qword [rbp - 0x38], rdx
mov rcx, qword [rcx + 0x58]
mov r15, rdx
mov edx, 0x4110
mov qword [rbp - 0x28], r9
mov r13, r8
mov qword [rbp - 0x68], r8
mov qword [rbp - 0x30], rbx
mov esi, ebx
mov rax, qword [rcx]
mov qword [rsp + 0x78], rbx
call qword [rax + 8]
mov qword [rbp - 0x48], rax
mov r14, rax
test rax, rax
jne 0x1400f2860
mov ebx, 0xfffffffd
jmp 0x1400f4e9d
mov rcx, qword [rdi + 0x58]
mov edx, 0x128
mov rax, qword [rcx]
call qword [rax + 8]
mov qword [rbp - 0x30], rax
test rax, rax
je 0x1400f2856
mov rcx, qword [rdi + 0x58]
mov edx, 0x128
mov rax, qword [rcx]
call qword [rax + 8]
mov qword [rbp - 0x20], rax
mov rsi, rax
test rax, rax
je 0x1400f2856
xor edx, edx
mov qword [rsp + 0x148], r12
mov r8d, 0x4110
mov rcx, r14
call fcn.1400fd5ea
mov rcx, qword [rbp - 0x28]
lea r12, [r14 + 0x3ea0]
mov rdx, r12
call fcn.1400e97f0
mov r8, qword [rbp - 0x30]
mov rdx, rbx
nop word [rax + rax]
mov rax, qword [r15 + 0x40]
lea r8, [r8 + 8]
mov ecx, dword [r15 + 0x60]
shl ecx, 6
mov eax, dword [rax + rdx]
sub eax, ecx
mov dword [r8 - 8], eax
mov rax, qword [r15 + 0x40]
mov ecx, dword [r15 + 0x64]
shl ecx, 6
mov eax, dword [rax + rdx + 0x94]
add rdx, 4
sub eax, ecx
mov dword [r8 - 4], eax
cmp rdx, 0x94
jl 0x1400f28d0
cmp dword [rdi + 0x20], ebx
je 0x1400f398c
cmp dword [rdi + 0x24], ebx
je 0x1400f398c
cmp dword [rdi + 0x28], ebx
je 0x1400f398c
cmp dword [rdi + 0x2c], ebx
je 0x1400f398c
cmp dword [rdi + 0x34], ebx
je 0x1400f293f
cmp dword [rdi + 0x38], ebx
jne 0x1400f398c
mov r9, qword [r15 + 0x28]
mov eax, 0x25
mov dword [rsp + 0x28], eax
mov rdx, r13
mov rcx, r12
mov qword [rbp - 0x40], rax
mov qword [rsp + 0x20], r14
lea r8d, [rax + 0x3b]
call fcn.1400e7340
mov rcx, rsi
mov rax, r12
mov esi, 2
mov edx, esi
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm1, xmmword [rax - 0x70]
movups xmmword [rcx - 0x70], xmm1
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x60], xmm0
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x50], xmm1
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x40], xmm0
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x30], xmm1
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x20], xmm0
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x1400f2971
movups xmm0, xmmword [rax]
mov r8d, dword [rbp + 0xb0]
lea r9d, [rdx + 1]
mov rdx, r15
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
mov rax, qword [rax + 0x20]
mov qword [rcx + 0x20], rax
mov rcx, r14
call fcn.1400f0370
mov r8d, dword [rbp + 0xb0]
xor r9d, r9d
mov rdx, r15
mov rcx, r14
call fcn.1400f0370
mov ecx, ebx
lea rax, [r14 + 0x3ea4]
nop
mov edx, dword [rax - 4]
cmp edx, 0x1400
jl 0x1400f300a
mov r8d, dword [rax]
cmp r8d, 0x1400
jl 0x1400f300a
cmp edx, 0x16c00
jg 0x1400f300a
cmp r8d, 0x16c00
jg 0x1400f300a
inc ecx
add rax, 8
cmp ecx, 0x25
jl 0x1400f2a10
cmp dword [rbp + 0xb0], ebx
je 0x1400f2fe6
mov rcx, qword [rdi + 0x58]
mov edx, 0x48
mov rsi, qword [r15 + 0x88]
mov qword [rbp - 0x50], rsi
mov rax, qword [rcx]
call qword [rax + 8]
mov qword [rbp - 0x78], rax
mov r10, rax
test rax, rax
je 0x1400f2fe6
mov eax, dword [r14 + 0x3f80]
lea r11, [rsi + 0x48]
mov dword [r10], eax
mov dword [rsp + 0x70], eax
mov eax, dword [r14 + 0x3f84]
mov dword [r10 + 4], eax
mov dword [rsp + 0x44], eax
mov eax, dword [r14 + 0x3f88]
mov dword [r10 + 8], eax
mov dword [rbp - 0x80], eax
mov eax, dword [r14 + 0x3f8c]
mov dword [r10 + 0xc], eax
mov dword [rsp + 0x48], eax
mov eax, dword [r14 + 0x3f90]
mov dword [r10 + 0x10], eax
mov dword [rsp + 0x64], eax
mov eax, dword [r14 + 0x3f94]
mov dword [r10 + 0x14], eax
mov dword [rbp - 0x7c], eax
mov eax, dword [r14 + 0x3f98]
mov dword [r10 + 0x18], eax
mov dword [rsp + 0x68], eax
mov eax, dword [r14 + 0x3f9c]
mov dword [r10 + 0x1c], eax
mov dword [rsp + 0x50], eax
mov eax, dword [r14 + 0x3fa0]
mov dword [r10 + 0x20], eax
mov dword [rsp + 0x6c], eax
mov eax, dword [r14 + 0x3fa4]
mov dword [r10 + 0x24], eax
mov r9d, dword [r14 + 0x3fa8]
mov dword [rsp + 0x54], eax
mov dword [r10 + 0x28], r9d
mov eax, dword [r14 + 0x3fac]
mov dword [r10 + 0x2c], eax
mov r8d, dword [r14 + 0x3fb0]
mov dword [rsp + 0x58], eax
mov dword [r10 + 0x30], r8d
mov eax, dword [r14 + 0x3fb4]
mov dword [r10 + 0x34], eax
mov edx, dword [r14 + 0x3fb8]
mov dword [rsp + 0x5c], eax
mov dword [r10 + 0x38], edx
mov eax, dword [r14 + 0x3fbc]
mov dword [r10 + 0x3c], eax
mov ecx, dword [r14 + 0x3fc0]
mov dword [rsp + 0x60], eax
mov dword [r10 + 0x40], ecx
mov eax, dword [r14 + 0x3fc4]
mov dword [r10 + 0x44], eax
mov r10, rbx
mov dword [rsp + 0x4c], eax
mov eax, dword [rsi + 0x20]
sar eax, 6
sub ecx, eax
mov eax, dword [rsi + 0x1c]
sar eax, 6
sub edx, eax
mov dword [rsp + 0x40], ecx
mov eax, dword [rsi + 0x18]
sar eax, 6
sub r8d, eax
mov dword [rbp - 0x70], edx
mov eax, dword [rsi + 0x14]
sar eax, 6
sub r9d, eax
mov eax, dword [rsi + 0x10]
sar eax, 6
sub dword [rsp + 0x6c], eax
mov eax, dword [rsi + 0xc]
sar eax, 6
sub dword [rsp + 0x68], eax
mov eax, dword [rsi + 8]
sar eax, 6
sub dword [rsp + 0x64], eax
mov eax, dword [rsi + 0x40]
mov dword [rbp - 0x6c], r9d
mov r9d, dword [rsi + 0x44]
sar r9d, 6
sar eax, 6
mov dword [rsp + 0x74], r9d
sub dword [rsp + 0x60], eax
mov eax, dword [rsi + 0x3c]
mov ecx, dword [rsp + 0x48]
sar eax, 6
sub dword [rsp + 0x5c], eax
mov eax, dword [rsi + 0x38]
sar eax, 6
sub dword [rsp + 0x58], eax
mov eax, dword [rsi + 0x34]
sar eax, 6
sub dword [rsp + 0x54], eax
mov eax, dword [rsi + 0x30]
sar eax, 6
sub dword [rsp + 0x50], eax
mov eax, dword [rsi + 0x2c]
sar eax, 6
sub dword [rbp - 0x7c], eax
mov eax, dword [rsi + 0x28]
sar eax, 6
sub ecx, eax
mov eax, dword [rsi + 4]
sar eax, 6
sub dword [rbp - 0x80], eax
mov eax, dword [rsi + 0x24]
sar eax, 6
sub dword [rsp + 0x44], eax
mov eax, dword [rsi]
mov esi, dword [rsp + 0x40]
sar eax, 6
sub dword [rsp + 0x70], eax
mov dword [rsp + 0x48], ecx
nop
mov eax, dword [rsp + 0x4c]
mov edx, dword [r11]
lea r11, [r11 + 0x48]
sub eax, r9d
imul edx, dword [rsp + 0x70]
imul eax, dword [r11 - 4]
movsxd r9, eax
mov eax, dword [r11 - 0x44]
imul eax, dword [rbp - 0x80]
cdqe
add r9, rax
mov eax, dword [r11 - 0x20]
imul eax, ecx
movsxd rcx, eax
mov eax, dword [r11 - 0x1c]
add r9, rcx
imul eax, dword [rbp - 0x7c]
movsxd rcx, eax
mov eax, dword [r11 - 0x18]
add r9, rcx
imul eax, dword [rsp + 0x50]
movsxd rcx, eax
mov eax, dword [r11 - 0x14]
add r9, rcx
imul eax, dword [rsp + 0x54]
movsxd rcx, eax
mov eax, dword [r11 - 0x10]
add r9, rcx
imul eax, dword [rsp + 0x58]
movsxd rcx, eax
mov eax, dword [r11 - 0xc]
add r9, rcx
imul eax, dword [rsp + 0x5c]
movsxd rcx, eax
mov eax, dword [r11 - 8]
add r9, rcx
imul eax, dword [rsp + 0x60]
movsxd rcx, eax
mov eax, dword [r11 - 0x40]
add r9, rcx
imul eax, dword [rsp + 0x64]
movsxd rcx, eax
mov eax, dword [r11 - 0x3c]
add r9, rcx
imul eax, dword [rsp + 0x68]
movsxd rcx, eax
mov eax, dword [r11 - 0x38]
add r9, rcx
imul eax, dword [rsp + 0x6c]
movsxd rcx, eax
mov eax, dword [r11 - 0x34]
add r9, rcx
imul eax, dword [rbp - 0x6c]
movsxd rcx, eax
mov eax, dword [r11 - 0x30]
add r9, rcx
imul eax, r8d
movsxd rcx, eax
mov eax, dword [r11 - 0x2c]
add r9, rcx
imul eax, dword [rbp - 0x70]
movsxd rcx, eax
mov eax, dword [r11 - 0x28]
add r9, rcx
imul eax, esi
movsxd rcx, eax
add r9, rcx
movsxd rax, edx
add r9, rax
mov eax, dword [r11 - 0x24]
imul eax, dword [rsp + 0x44]
movsxd rcx, eax
add r9, rcx
mov rax, r9
sar rax, 0x1f
add rax, r9
sar rax, 9
inc rax
sar rax, 1
mov dword [rbp + r10*4 - 0x10], eax
inc r10
mov ecx, dword [rsp + 0x48]
mov r9d, dword [rsp + 0x74]
cmp r10, 6
jl 0x1400f2c50
mov r12d, dword [rbp - 0x10]
mov r11d, 9
mov r15d, dword [rbp - 0xc]
mov edi, dword [rbp - 8]
mov r14d, dword [rbp - 4]
mov ebx, dword [rbp]
mov eax, dword [rbp + 4]
mov r9, qword [rbp - 0x50]
mov r13, qword [rbp - 0x78]
sar eax, 4
sar r12d, 4
mov r10d, eax
sar r15d, 4
sar edi, 4
sar r14d, 4
sar ebx, 4
add r9, 0x168
nop dword [rax + rax]
mov eax, dword [r9 + 0x48]
lea r13, [r13 + 8]
sar eax, 4
lea r9, [r9 + 4]
imul eax, r10d
movsxd r8, eax
mov eax, dword [r9 - 0x4c]
sar eax, 4
imul eax, r14d
cdqe
add r8, rax
mov eax, dword [r9 - 0x94]
sar eax, 4
imul eax, edi
cdqe
add r8, rax
mov eax, dword [r9 - 0xdc]
sar eax, 4
imul eax, r15d
cdqe
add r8, rax
mov eax, dword [r9 - 0x124]
sar eax, 4
imul eax, r12d
cdqe
add r8, rax
mov eax, dword [r9 - 4]
sar eax, 4
imul eax, ebx
cdqe
add r8, rax
mov eax, dword [r9 + 0x68]
sar eax, 4
imul eax, r10d
movsxd rdx, eax
mov eax, dword [r9 + 0x20]
sar eax, 4
imul eax, ebx
cdqe
add rdx, rax
mov eax, dword [r9 - 0x28]
sar eax, 4
imul eax, r14d
cdqe
add rdx, rax
mov eax, dword [r9 - 0x70]
sar eax, 4
imul eax, edi
cdqe
add rdx, rax
mov eax, dword [r9 - 0xb8]
sar eax, 4
imul eax, r15d
cdqe
add rdx, rax
mov eax, dword [r9 - 0x100]
sar eax, 4
imul eax, r12d
cdqe
add rdx, rax
movsxd rax, dword [r9 - 0x16c]
shl rax, 8
lea rcx, [r8 + rax]
sar rcx, 0x1f
add rcx, r8
add rcx, rax
sar rcx, 0xd
inc rcx
sar rcx, 1
mov dword [r13 - 8], ecx
movsxd rax, dword [r9 - 0x148]
shl rax, 8
lea rcx, [rdx + rax]
sar rcx, 0x1f
add rcx, rdx
add rcx, rax
sar rcx, 0xd
inc rcx
sar rcx, 1
mov dword [r13 - 4], ecx
sub r11, 1
jne 0x1400f2dd0
mov r10, qword [rbp - 0x78]
mov r14, qword [rbp - 0x48]
mov rdx, r10
mov rdi, qword [rbp - 0x58]
mov eax, dword [r10]
mov dword [r14 + 0x3f80], eax
mov eax, dword [r10 + 4]
mov dword [r14 + 0x3f84], eax
mov eax, dword [r10 + 8]
mov dword [r14 + 0x3f88], eax
mov eax, dword [r10 + 0xc]
mov dword [r14 + 0x3f8c], eax
mov eax, dword [r10 + 0x10]
mov dword [r14 + 0x3f90], eax
mov eax, dword [r10 + 0x14]
mov dword [r14 + 0x3f94], eax
mov eax, dword [r10 + 0x18]
mov dword [r14 + 0x3f98], eax
mov eax, dword [r10 + 0x1c]
mov dword [r14 + 0x3f9c], eax
mov eax, dword [r10 + 0x20]
mov dword [r14 + 0x3fa0], eax
mov eax, dword [r10 + 0x24]
mov dword [r14 + 0x3fa4], eax
mov eax, dword [r10 + 0x28]
mov dword [r14 + 0x3fa8], eax
mov eax, dword [r10 + 0x2c]
mov dword [r14 + 0x3fac], eax
mov eax, dword [r10 + 0x30]
mov dword [r14 + 0x3fb0], eax
mov eax, dword [r10 + 0x34]
mov dword [r14 + 0x3fb4], eax
mov eax, dword [r10 + 0x38]
mov dword [r14 + 0x3fb8], eax
mov eax, dword [r10 + 0x3c]
mov dword [r14 + 0x3fbc], eax
mov eax, dword [r10 + 0x40]
mov dword [r14 + 0x3fc0], eax
mov eax, dword [r10 + 0x44]
mov dword [r14 + 0x3fc4], eax
mov rcx, qword [rdi + 0x58]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov r15, qword [rbp - 0x38]
lea r12, [r14 + 0x3ea0]
mov r13, qword [rbp - 0x68]
xor ebx, ebx
mov r9, qword [r15 + 0x28]
mov r8d, 0x60
mov dword [rsp + 0x28], 0x25
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x20], r14
call fcn.1400e7340
jmp 0x1400f307a
mov rax, qword [rbp - 0x20]
mov rcx, r12
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm1, xmmword [rax - 0x70]
movups xmmword [rcx - 0x70], xmm1
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x60], xmm0
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x50], xmm1
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x40], xmm0
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x30], xmm1
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x20], xmm0
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x10], xmm1
sub rsi, 1
jne 0x1400f3011
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
mov rax, qword [rax + 0x20]
mov qword [rcx + 0x20], rax
mov r13, r12
mov qword [rbp - 0x60], rbx
mov r12, r14
mov qword [rbp - 0x78], 0x25
mov r14d, ebx
mov rsi, rbx
mov rcx, rbx
mov edx, 0xc00
nop word [rax + rax]
mov rax, qword [r15 + 0x30]
cmp byte [rsi + rax], 0
je 0x1400f30d3
movsxd rax, r14d
mov r9d, 5
mov rdx, r13
mov rcx, r12
lea r8, [rax + rax*8]
shl r8, 6
add r8, qword [r15 + 0x50]
call fcn.1400eae30
mov rcx, qword [rbp - 0x60]
inc r14d
jmp 0x1400f3133
add rcx, qword [r15 + 0x78]
mov r8, r13
mov eax, dword [rcx]
cmp eax, edx
cmovg eax, edx
mov rdx, qword [rbp - 0x68]
mov dword [rsp + 0x78], eax
mov eax, dword [rcx + 4]
mov dword [rsp + 0x7c], eax
movsxd rax, ebx
lea r9, [rax + rax*8]
mov rax, qword [r15 + 0x28]
shl r9, 5
add r9, qword [r15 + 0x58]
movzx ecx, byte [rsi + rax]
mov rax, qword [rsp + 0x78]
mov dword [rsp + 0x30], ecx
mov rcx, rdi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x60
call fcn.1400eafc0
mov rcx, qword [rbp - 0x60]
inc ebx
add rcx, 8
mov qword [rbp - 0x60], rcx
add r12, 0x90
add r13, 8
inc rsi
mov edx, 0xc00
sub qword [rbp - 0x78], 1
jne 0x1400f30a0
cmp dword [rbp + 0xb0], 0
mov ebx, 0
mov r14, qword [rbp - 0x48]
lea r12, [r14 + 0x3ea0]
je 0x1400f36f3
mov rcx, qword [rdi + 0x58]
lea edx, [rbx + 0x50]
mov rsi, qword [r15 + 0x80]
mov qword [rbp - 0x78], rsi
mov rax, qword [rcx]
call qword [rax + 8]
mov qword [rbp - 0x50], rax
mov r10, rax
test rax, rax
je 0x1400f36f3
mov eax, dword [r14 + 0x3f30]
lea r11, [rsi + 0x50]
mov dword [r10], eax
mov r13d, ebx
mov dword [rsp + 0x4c], eax
mov eax, dword [r14 + 0x3f34]
mov dword [r10 + 4], eax
mov dword [rbp - 0x80], eax
mov eax, dword [r14 + 0x3f38]
mov dword [r10 + 8], eax
mov dword [rsp + 0x48], eax
mov eax, dword [r14 + 0x3f3c]
mov dword [r10 + 0xc], eax
mov dword [rsp + 0x40], eax
mov eax, dword [r14 + 0x3f40]
mov dword [r10 + 0x10], eax
mov dword [rsp + 0x58], eax
mov eax, dword [r14 + 0x3f44]
mov dword [r10 + 0x14], eax
mov dword [rsp + 0x44], eax
mov eax, dword [r14 + 0x3f48]
mov dword [r10 + 0x18], eax
mov dword [rsp + 0x54], eax
mov eax, dword [r14 + 0x3f4c]
mov dword [r10 + 0x1c], eax
mov dword [rsp + 0x70], eax
mov eax, dword [r14 + 0x3f50]
mov dword [r10 + 0x20], eax
mov dword [rsp + 0x50], eax
mov eax, dword [r14 + 0x3f54]
mov dword [r10 + 0x24], eax
mov dword [rsp + 0x6c], eax
mov eax, dword [r14 + 0x3f58]
mov dword [r10 + 0x28], eax
mov dword [rbp - 0x7c], eax
mov eax, dword [r14 + 0x3f5c]
mov dword [r10 + 0x2c], eax
mov r9d, dword [r14 + 0x3f60]
mov dword [rsp + 0x68], eax
mov dword [r10 + 0x30], r9d
mov eax, dword [r14 + 0x3f64]
mov dword [r10 + 0x34], eax
mov r8d, dword [r14 + 0x3f68]
mov dword [rsp + 0x64], eax
mov dword [r10 + 0x38], r8d
mov eax, dword [r14 + 0x3f6c]
mov dword [r10 + 0x3c], eax
mov edx, dword [r14 + 0x3f70]
mov dword [rsp + 0x60], eax
mov dword [r10 + 0x40], edx
mov eax, dword [r14 + 0x3f74]
mov dword [r10 + 0x44], eax
mov ecx, dword [r14 + 0x3f78]
mov dword [rsp + 0x5c], eax
mov dword [r10 + 0x48], ecx
mov eax, dword [r14 + 0x3f7c]
mov dword [rbp - 0x68], eax
mov dword [r10 + 0x4c], eax
mov eax, dword [rsi + 0x24]
sar eax, 6
sub ecx, eax
mov eax, dword [rsi + 0x20]
sar eax, 6
sub edx, eax
mov dword [rsp + 0x74], ecx
mov eax, dword [rsi + 0x1c]
sar eax, 6
sub r8d, eax
mov eax, dword [rsi + 0x18]
sar eax, 6
sub r9d, eax
mov eax, dword [rsi + 0x14]
sar eax, 6
sub dword [rbp - 0x7c], eax
mov eax, dword [rsi + 0x10]
sar eax, 6
sub dword [rsp + 0x50], eax
mov eax, dword [rsi + 0xc]
sar eax, 6
sub dword [rsp + 0x54], eax
mov dword [rbp - 0x6c], r9d
mov eax, dword [rsi + 8]
mov r14d, edx
mov ecx, dword [rsp + 0x40]
mov ebx, r8d
mov r9d, dword [rsi + 0x4c]
mov r10d, dword [rbp - 0x6c]
sar eax, 6
sub dword [rsp + 0x58], eax
mov eax, dword [rsi + 0x48]
sar eax, 6
sub dword [rsp + 0x5c], eax
mov eax, dword [rsi + 0x44]
sar eax, 6
sub dword [rsp + 0x60], eax
mov eax, dword [rsi + 0x40]
sar eax, 6
sub dword [rsp + 0x64], eax
mov eax, dword [rsi + 0x3c]
sar eax, 6
sub dword [rsp + 0x68], eax
mov eax, dword [rsi + 0x38]
sar eax, 6
sub dword [rsp + 0x6c], eax
mov eax, dword [rsi + 0x34]
sar eax, 6
sub dword [rsp + 0x70], eax
mov eax, dword [rsi + 0x30]
sar eax, 6
sub dword [rsp + 0x44], eax
mov eax, dword [rsi + 0x2c]
sar eax, 6
sub ecx, eax
sar r9d, 6
mov eax, dword [rsi + 4]
sar eax, 6
sub dword [rsp + 0x48], eax
mov eax, dword [rsi + 0x28]
sar eax, 6
sub dword [rbp - 0x80], eax
mov eax, dword [rsi]
mov esi, dword [rsp + 0x74]
sar eax, 6
sub dword [rsp + 0x4c], eax
mov dword [rsp + 0x78], r9d
mov dword [rsp + 0x40], ecx
mov eax, dword [rbp - 0x68]
mov edx, dword [r11]
lea r11, [r11 + 0x50]
sub eax, r9d
imul edx, dword [rsp + 0x4c]
imul eax, dword [r11 - 4]
movsxd r9, eax
mov eax, dword [r11 - 0x4c]
imul eax, dword [rsp + 0x48]
cdqe
add r9, rax
mov eax, dword [r11 - 0x24]
imul eax, ecx
movsxd rcx, eax
mov eax, dword [r11 - 0x20]
add r9, rcx
imul eax, dword [rsp + 0x44]
movsxd rcx, eax
mov eax, dword [r11 - 0x1c]
add r9, rcx
imul eax, dword [rsp + 0x70]
movsxd rcx, eax
mov eax, dword [r11 - 0x18]
add r9, rcx
imul eax, dword [rsp + 0x6c]
movsxd rcx, eax
mov eax, dword [r11 - 0x14]
add r9, rcx
imul eax, dword [rsp + 0x68]
movsxd rcx, eax
mov eax, dword [r11 - 0x10]
add r9, rcx
imul eax, dword [rsp + 0x64]
movsxd rcx, eax
mov eax, dword [r11 - 0xc]
add r9, rcx
imul eax, dword [rsp + 0x60]
movsxd rcx, eax
mov eax, dword [r11 - 8]
add r9, rcx
imul eax, dword [rsp + 0x5c]
movsxd rcx, eax
mov eax, dword [r11 - 0x48]
add r9, rcx
imul eax, dword [rsp + 0x58]
movsxd rcx, eax
mov eax, dword [r11 - 0x44]
add r9, rcx
imul eax, dword [rsp + 0x54]
movsxd rcx, eax
mov eax, dword [r11 - 0x40]
add r9, rcx
imul eax, dword [rsp + 0x50]
movsxd rcx, eax
mov eax, dword [r11 - 0x3c]
add r9, rcx
imul eax, dword [rbp - 0x7c]
movsxd rcx, eax
mov eax, dword [r11 - 0x38]
add r9, rcx
imul eax, r10d
movsxd rcx, eax
mov eax, dword [r11 - 0x34]
add r9, rcx
imul eax, ebx
movsxd rcx, eax
mov eax, dword [r11 - 0x30]
add r9, rcx
imul eax, r14d
movsxd rcx, eax
mov eax, dword [r11 - 0x2c]
add r9, rcx
imul eax, esi
movsxd rcx, eax
mov eax, dword [r11 - 0x28]
add r9, rcx
imul eax, dword [rbp - 0x80]
movsxd rcx, eax
add r9, rcx
movsxd rax, edx
add r9, rax
mov ecx, dword [rsp + 0x40]
mov rax, r9
sar rax, 0x1f
add rax, r9
mov r9d, dword [rsp + 0x78]
sar rax, 9
inc rax
sar rax, 1
mov dword [rbp + r13*4 - 0x10], eax
inc r13
cmp r13, 4
jl 0x1400f3393
mov r13d, dword [rbp - 0x10]
mov r11d, 0xa
mov r12d, dword [rbp - 0xc]
mov r15d, dword [rbp - 8]
mov edi, dword [rbp - 4]
mov r9, qword [rbp - 0x78]
mov r10, qword [rbp - 0x50]
add r9, 0xf0
mov r14, qword [rbp - 0x48]
mov rsi, r10
sar r13d, 4
sar r12d, 4
sar r15d, 4
sar edi, 4
xor ebx, ebx
mov eax, dword [r9 + 0x50]
lea rsi, [rsi + 8]
sar eax, 4
lea r9, [r9 + 4]
imul eax, edi
movsxd r8, eax
mov eax, dword [r9 - 0x54]
sar eax, 4
imul eax, r12d
cdqe
add r8, rax
mov eax, dword [r9 - 0xa4]
sar eax, 4
imul eax, r13d
cdqe
add r8, rax
mov eax, dword [r9 - 4]
sar eax, 4
imul eax, r15d
cdqe
add r8, rax
mov eax, dword [r9 + 0x74]
sar eax, 4
imul eax, edi
movsxd rdx, eax
mov eax, dword [r9 + 0x24]
sar eax, 4
imul eax, r15d
cdqe
add rdx, rax
mov eax, dword [r9 - 0x2c]
sar eax, 4
imul eax, r12d
cdqe
add rdx, rax
mov eax, dword [r9 - 0x7c]
sar eax, 4
imul eax, r13d
cdqe
add rdx, rax
movsxd rax, dword [r9 - 0xf4]
shl rax, 8
lea rcx, [rax + r8]
sar rcx, 0x1f
add rcx, rax
add rcx, r8
sar rcx, 0xd
inc rcx
sar rcx, 1
mov dword [rsi - 8], ecx
movsxd rax, dword [r9 - 0xcc]
shl rax, 8
lea rcx, [rax + rdx]
sar rcx, 0x1f
add rcx, rax
add rcx, rdx
sar rcx, 0xd
inc rcx
sar rcx, 1
mov dword [rsi - 4], ecx
sub r11, 1
jne 0x1400f3521
mov eax, dword [r10]
mov rdx, r10
mov dword [r14 + 0x3f30], eax
mov eax, dword [r10 + 4]
mov dword [r14 + 0x3f34], eax
mov eax, dword [r10 + 8]
mov dword [r14 + 0x3f38], eax
mov eax, dword [r10 + 0xc]
mov dword [r14 + 0x3f3c], eax
mov eax, dword [r10 + 0x10]
mov dword [r14 + 0x3f40], eax
mov eax, dword [r10 + 0x14]
mov rdi, qword [rbp - 0x58]
mov dword [r14 + 0x3f44], eax
mov eax, dword [r10 + 0x18]
mov dword [r14 + 0x3f48], eax
mov eax, dword [r10 + 0x1c]
mov dword [r14 + 0x3f4c], eax
mov eax, dword [r10 + 0x20]
mov dword [r14 + 0x3f50], eax
mov eax, dword [r10 + 0x24]
mov dword [r14 + 0x3f54], eax
mov eax, dword [r10 + 0x28]
mov dword [r14 + 0x3f58], eax
mov eax, dword [r10 + 0x2c]
mov dword [r14 + 0x3f5c], eax
mov eax, dword [r10 + 0x30]
mov dword [r14 + 0x3f60], eax
mov eax, dword [r10 + 0x34]
mov dword [r14 + 0x3f64], eax
mov eax, dword [r10 + 0x38]
mov dword [r14 + 0x3f68], eax
mov eax, dword [r10 + 0x3c]
mov dword [r14 + 0x3f6c], eax
mov eax, dword [r10 + 0x40]
mov dword [r14 + 0x3f70], eax
mov eax, dword [r10 + 0x44]
mov dword [r14 + 0x3f74], eax
mov eax, dword [r10 + 0x48]
mov dword [r14 + 0x3f78], eax
mov eax, dword [r10 + 0x4c]
mov dword [r14 + 0x3f7c], eax
mov rcx, qword [rdi + 0x58]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov r15, qword [rbp - 0x38]
lea r12, [r14 + 0x3ea0]
mov r11, qword [r15 + 0x40]
mov rsi, rbx
lea r9, [r11 + 0x128]
mov r10, rbx
mov r8, rbx
nop word [rax + rax]
mov eax, dword [r11 + r8*4 + 0x94]
mov ecx, dword [r12 + r8*8 + 4]
sar eax, 6
sub ecx, eax
mov eax, dword [r11 + r8*4]
imul ecx, dword [r9 + 0x94]
sar eax, 6
movsxd rdx, ecx
mov ecx, dword [r12 + r8*8]
inc r8
sub ecx, eax
imul ecx, dword [r9]
add r9, 4
movsxd rax, ecx
add r10, rax
add r10, rdx
cmp r8, 0x25
jl 0x1400f3710
mov rax, r10
add r9, 0x94
sar rax, 0x1f
add rax, r10
sar rax, 9
inc rax
sar rax, 1
mov dword [rbp + rsi*4 - 0x10], eax
inc rsi
cmp rsi, 9
jl 0x1400f3701
mov ebx, dword [rbp - 0x10]
lea r9, [r11 + 0x940]
mov esi, dword [rbp - 0xc]
mov r10, r12
mov r15d, dword [rbp - 8]
mov r13d, dword [rbp - 4]
mov edi, dword [rbp]
mov r14d, dword [rbp + 4]
mov eax, dword [rbp + 8]
mov ecx, dword [rbp + 0xc]
mov edx, dword [rbp + 0x10]
sar eax, 4
sar ecx, 4
mov r12d, eax
sar ebx, 4
sar esi, 4
sar r15d, 4
sar r13d, 4
sar edi, 4
sar r14d, 4
sar edx, 4
mov dword [rsp + 0x74], edx
mov dword [rbp - 0x68], ecx
nop dword [rax]
mov eax, dword [r9 + 0x128]
sar eax, 4
imul eax, edx
movsxd r8, eax
mov eax, dword [r9 - 0x818]
sar eax, 4
imul eax, ebx
cdqe
add r8, rax
mov eax, dword [r9 - 0x6f0]
sar eax, 4
imul eax, esi
cdqe
add r8, rax
mov eax, dword [r9 - 0x5c8]
sar eax, 4
imul eax, r15d
cdqe
add r8, rax
mov eax, dword [r9 - 0x4a0]
sar eax, 4
imul eax, r13d
cdqe
add r8, rax
mov eax, dword [r9 - 0x378]
sar eax, 4
imul eax, edi
cdqe
add r8, rax
mov eax, dword [r9 - 0x250]
sar eax, 4
imul eax, r14d
cdqe
add r8, rax
mov eax, dword [r9 - 0x128]
sar eax, 4
imul eax, r12d
cdqe
add r8, rax
mov eax, dword [r9]
sar eax, 4
imul eax, ecx
cdqe
add r8, rax
mov eax, dword [r9 + 0x1bc]
sar eax, 4
imul eax, edx
movsxd rdx, eax
mov eax, dword [r9 + 0x94]
sar eax, 4
imul eax, ecx
cdqe
add rdx, rax
mov eax, dword [r9 - 0x784]
sar eax, 4
imul eax, ebx
cdqe
add rdx, rax
mov eax, dword [r9 - 0x65c]
sar eax, 4
imul eax, esi
cdqe
add rdx, rax
mov eax, dword [r9 - 0x534]
sar eax, 4
imul eax, r15d
cdqe
add rdx, rax
mov eax, dword [r9 - 0x40c]
sar eax, 4
imul eax, r13d
cdqe
add rdx, rax
mov eax, dword [r9 - 0x2e4]
sar eax, 4
imul eax, edi
cdqe
add rdx, rax
mov eax, dword [r9 - 0x1bc]
sar eax, 4
imul eax, r14d
cdqe
lea r10, [r10 + 8]
add rdx, rax
mov eax, dword [r9 - 0x94]
sar eax, 4
lea r9, [r9 + 4]
imul eax, r12d
cdqe
add rdx, rax
movsxd rax, dword [r9 - 0x944]
shl rax, 8
lea rcx, [r8 + rax]
sar rcx, 0x1f
add rcx, r8
add rcx, rax
sar rcx, 0xd
inc rcx
sar rcx, 1
mov dword [r10 - 8], ecx
movsxd rax, dword [r9 - 0x8b0]
shl rax, 8
lea rcx, [rdx + rax]
sar rcx, 0x1f
add rcx, rdx
mov edx, dword [rsp + 0x74]
add rcx, rax
sar rcx, 0xd
inc rcx
sar rcx, 1
sub qword [rbp - 0x40], 1
mov dword [r10 - 4], ecx
mov ecx, dword [rbp - 0x68]
jne 0x1400f37d0
mov r14, qword [rbp - 0x48]
lea r12, [r14 + 0x3ea0]
jmp 0x1400f4e49
mov r9, qword [r15 + 0x28]
mov esi, 0x25
mov dword [rsp + 0x28], esi
mov rdx, r13
mov rcx, r12
mov qword [rbp - 0x40], rsi
mov qword [rsp + 0x20], r14
lea r8d, [rsi + 0x3b]
call fcn.1400e7340
mov r9, qword [rbp - 0x30]
lea r8, [rbp - 0x10]
mov rcx, qword [rdi + 0x58]
mov rdx, r12
mov dword [rsp + 0x20], esi
call fcn.1400ec8f0
mov r8, r15
mov rdx, r14
mov rcx, rdi
call fcn.1400fbdb0
mov r9d, ebx
lea r8, [r14 + 0x29a0]
mov r10d, 0xa68
nop word [rax + rax]
movzx edx, word [r8 - 0x29a0]
sub dx, word [r8 - 0x14d0]
movsx ecx, dx
mov word [r8], dx
lea r8, [r8 + 2]
mov eax, ecx
neg eax
test dx, dx
cmovle ecx, eax
add r9d, ecx
sub r10, 1
jne 0x1400f39f0
sar r9d, 0xb
lea r13d, [r10 + 6]
mov dword [r14 + 0x410c], r9d
cmp dword [rbp + 0xb0], ebx
jne 0x1400f3a45
cmp dword [rdi + 0x260], ebx
jne 0x1400f3a45
cmp dword [rdi + 0x25c], ebx
je 0x1400f3a5f
mov r8, qword [r15 + 0x40]
lea rdx, [r14 + 0x3e88]
mov r9d, r13d
mov dword [rsp + 0x20], esi
mov rcx, r12
call fcn.1400ef880
lea rax, [r14 + 0x3e70]
mov rsi, rbx
mov qword [rsp + 0x78], rax
lea rcx, [r14 + 0x29a8]
mov rdi, rax
mov qword [rbp - 0x78], rcx
mov rax, 0xffffffffffffc190
sub rax, r14
mov r14, rax
nop dword [rax]
mov rax, qword [r15 + 0x38]
mov r10, rbx
add rax, 0x10
mov r9, rcx
add rax, rsi
mov r11d, 0x1bc
nop word [rax + rax]
movsx rcx, word [r9 - 8]
lea r9, [r9 + 0xc]
movsxd r8, dword [rax - 0x10]
movsxd rdx, dword [rax - 0xc]
lea rax, [rax + 0x18]
imul r8, rcx
movsx rcx, word [r9 - 0x12]
imul rdx, rcx
movsx rcx, word [r9 - 0x10]
add r8, rdx
movsxd rdx, dword [rax - 0x20]
imul rdx, rcx
movsx rcx, word [r9 - 0xe]
add r8, rdx
movsxd rdx, dword [rax - 0x1c]
imul rdx, rcx
movsx rcx, word [r9 - 0xa]
add r8, rdx
movsxd rdx, dword [rax - 0x14]
imul rdx, rcx
movsx rcx, word [r9 - 0xc]
add r8, rdx
movsxd rdx, dword [rax - 0x18]
imul rdx, rcx
add r10, rdx
add r10, r8
sub r11, 1
jne 0x1400f3ab0
mov dword [rdi], r10d
lea rcx, [r14 + rdi]
mov rax, qword [r15 + 0x18]
mov r8d, dword [rcx + rax]
mov eax, r10d
cdq
xor eax, edx
sub eax, edx
cmp eax, r8d
jle 0x1400f3b4c
sar r10d, 0x1f
and r10d, 0xfffffffe
inc r10d
imul r10d, r8d
mov dword [rdi], r10d
mov rcx, qword [rbp - 0x78]
add rsi, 0x29a0
add rdi, 4
sub r13, 1
jne 0x1400f3a90
mov r14, qword [rbp - 0x48]
mov r13d, 0x5c8
mov rax, qword [rsp + 0x78]
lea r12, [r14 + 0x3fcc]
mov eax, dword [rax]
add dword [r14 + 0x3e88], eax
mov eax, dword [r14 + 0x3e74]
add dword [r14 + 0x3e8c], eax
mov eax, dword [r14 + 0x3e78]
add dword [r14 + 0x3e90], eax
mov eax, dword [r14 + 0x3e7c]
add dword [r14 + 0x3e94], eax
mov eax, dword [r14 + 0x3e80]
add dword [r14 + 0x3e98], eax
mov eax, dword [r14 + 0x3e84]
add dword [r14 + 0x3e9c], eax
nop word [rax + rax]
mov rsi, qword [r15 + 0x40]
lea r12, [r12 + 8]
mov edx, dword [r14 + 0x3e90]
mov ecx, dword [r14 + 0x3e94]
mov r9d, dword [r14 + 0x3e8c]
mov eax, dword [rsi + r13 - 0x250]
mov edi, dword [rsi + r13 - 0x128]
mov r11d, dword [r14 + 0x3e88]
mov r8d, dword [rsi + r13 - 0x94]
mov ebx, dword [r14 + 0x3e98]
mov r10d, dword [r14 + 0x3e9c]
sar ecx, 6
imul edi, ecx
imul r8d, ecx
mov ecx, dword [rsi + r13 - 0x5c8]
shl ecx, 3
sar edx, 6
imul eax, edx
sar edi, 7
sar r8d, 7
sar r9d, 6
sar r11d, 6
sar eax, 7
add edi, eax
sar ebx, 6
mov eax, dword [rsi + r13 - 0x378]
imul eax, r9d
sar r10d, 6
sar eax, 7
add edi, eax
mov eax, dword [rsi + r13 - 0x4a0]
imul eax, r11d
sar eax, 7
add edi, eax
mov eax, dword [rsi + r13]
imul eax, ebx
sar eax, 7
add edi, eax
mov eax, dword [rsi + r13 + 0x128]
imul eax, r10d
sar eax, 7
add edi, eax
mov eax, dword [rsi + r13 - 0x1bc]
imul eax, edx
sar eax, 7
add r8d, eax
mov eax, dword [rsi + r13 - 0x2e4]
imul eax, r9d
sar eax, 7
add r8d, eax
mov eax, dword [rsi + r13 - 0x40c]
imul eax, r11d
sar eax, 7
add r8d, eax
mov eax, dword [rsi + r13 + 0x1bc]
imul eax, r10d
sar eax, 7
add r8d, eax
mov eax, dword [rsi + r13 + 0x94]
imul eax, ebx
sar eax, 7
add r8d, eax
mov eax, dword [r15 + 0x60]
shl eax, 9
sub ecx, eax
add ecx, edi
sar ecx, 9
mov dword [r12 - 0xc], ecx
mov rax, qword [r15 + 0x40]
mov ecx, dword [rax + r13 - 0x534]
add r13, 4
mov eax, dword [r15 + 0x64]
shl ecx, 3
shl eax, 9
sub ecx, eax
add ecx, r8d
sar ecx, 9
mov dword [r12 - 8], ecx
cmp r13, 0x65c
jl 0x1400f3bd0
mov rbx, qword [rbp - 0xc]
lea r12, [r14 + 0x3ea0]
mov r11d, dword [rbp - 0x10]
mov eax, ebx
mov r10d, r11d
imul eax, ebx
imul r10d, r11d
add r10d, eax
je 0x1400f3d5b
mov eax, 0x40000000
cdq
idiv r10d
mov r10d, eax
mov rsi, qword [rbp - 4]
lea r9, [r14 + 0x3fcc]
mov r13, qword [rbp - 8]
mov edi, 0x25
nop
mov r8d, dword [r9 - 4]
lea r9, [r9 + 8]
imul r8d, r10d
mov edx, r10d
imul edx, dword [r9 - 8]
mov ecx, ebx
mov eax, r11d
sar r8d, 0xa
imul eax, r8d
sar edx, 0xa
imul ecx, edx
sar eax, 0xa
sar ecx, 0xa
add ecx, eax
mov eax, ebx
sub ecx, r13d
imul eax, r8d
mov dword [r9 - 0x134], ecx
mov ecx, r11d
imul ecx, edx
sar eax, 0xa
sar ecx, 0xa
sub ecx, eax
sub ecx, esi
mov dword [r9 - 0x130], ecx
sub rdi, 1
jne 0x1400f3d70
mov eax, dword [rbp + 0xb0]
cmp eax, 2
jae 0x1400f3eb6
mov r9, qword [r15 + 0x28]
mov edi, 0x25
mov rdx, qword [rbp - 0x68]
mov rcx, r12
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], r14
lea r8d, [rdi + 0x3b]
call fcn.1400e7340
xor ebx, ebx
mov qword [rbp - 0x78], rdi
mov rdi, qword [rbp - 0x58]
mov r13, r12
mov ecx, ebx
mov dword [rsp + 0x40], ebx
mov esi, ebx
mov r12, r14
mov rax, qword [r15 + 0x30]
cmp byte [rsi + rax], 0
je 0x1400f3e47
movsxd rax, ebx
mov r9d, 5
mov rdx, r13
mov rcx, r12
lea r8, [rax + rax*8]
shl r8, 6
add r8, qword [r15 + 0x50]
call fcn.1400eae30
mov ecx, dword [rsp + 0x40]
inc ebx
jmp 0x1400f3e90
mov rax, qword [r15 + 0x28]
mov r8, r13
movsxd rdx, ecx
movzx ecx, byte [rsi + rax]
mov rax, qword [r15 + 0x78]
lea r9, [rdx + rdx*8]
mov dword [rsp + 0x30], ecx
mov rcx, rdi
shl r9, 5
add r9, qword [r15 + 0x58]
mov rax, qword [rax + rdx*8]
mov rdx, qword [rbp - 0x68]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x60
call fcn.1400eafc0
mov ecx, dword [rsp + 0x40]
inc ecx
mov dword [rsp + 0x40], ecx
add r13, 8
add r12, 0x90
inc rsi
sub qword [rbp - 0x78], 1
jne 0x1400f3e15
mov eax, dword [rbp + 0xb0]
lea r12, [r14 + 0x3ea0]
xor ebx, ebx
test eax, eax
jne 0x1400f49e2
mov rsi, qword [r15 + 0x80]
lea edx, [rbx + 0x50]
mov rdi, qword [rbp - 0x58]
mov qword [rbp - 0x78], rsi
mov rcx, qword [rdi + 0x58]
mov rax, qword [rcx]
call qword [rax + 8]
mov qword [rbp - 0x50], rax
mov r10, rax
test rax, rax
je 0x1400f4452
mov eax, dword [r14 + 0x3f30]
lea r11, [rsi + 0x50]
mov dword [r10], eax
mov r13d, ebx
mov dword [rsp + 0x50], eax
mov eax, dword [r14 + 0x3f34]
mov dword [r10 + 4], eax
mov dword [rbp - 0x7c], eax
mov eax, dword [r14 + 0x3f38]
mov dword [r10 + 8], eax
mov dword [rsp + 0x40], eax
mov eax, dword [r14 + 0x3f3c]
mov dword [r10 + 0xc], eax
mov dword [rbp - 0x80], eax
mov eax, dword [r14 + 0x3f40]
mov dword [r10 + 0x10], eax
mov dword [rsp + 0x60], eax
mov eax, dword [r14 + 0x3f44]
mov dword [r10 + 0x14], eax
mov dword [rsp + 0x4c], eax
mov eax, dword [r14 + 0x3f48]
mov dword [r10 + 0x18], eax
mov dword [rsp + 0x5c], eax
mov eax, dword [r14 + 0x3f4c]
mov dword [r10 + 0x1c], eax
mov dword [rsp + 0x48], eax
mov eax, dword [r14 + 0x3f50]
mov dword [r10 + 0x20], eax
mov dword [rsp + 0x58], eax
mov eax, dword [r14 + 0x3f54]
mov dword [r10 + 0x24], eax
mov dword [rsp + 0x44], eax
mov eax, dword [r14 + 0x3f58]
mov dword [r10 + 0x28], eax
mov dword [rsp + 0x54], eax
mov eax, dword [r14 + 0x3f5c]
mov dword [r10 + 0x2c], eax
mov r9d, dword [r14 + 0x3f60]
mov dword [rsp + 0x70], eax
mov dword [r10 + 0x30], r9d
mov eax, dword [r14 + 0x3f64]
mov dword [r10 + 0x34], eax
mov r8d, dword [r14 + 0x3f68]
mov dword [rsp + 0x6c], eax
mov dword [r10 + 0x38], r8d
mov eax, dword [r14 + 0x3f6c]
mov dword [r10 + 0x3c], eax
mov edx, dword [r14 + 0x3f70]
mov dword [rsp + 0x68], eax
mov dword [r10 + 0x40], edx
mov eax, dword [r14 + 0x3f74]
mov dword [r10 + 0x44], eax
mov ecx, dword [r14 + 0x3f78]
mov dword [rsp + 0x64], eax
mov dword [r10 + 0x48], ecx
mov eax, dword [r14 + 0x3f7c]
mov dword [rbp - 0x60], eax
mov dword [r10 + 0x4c], eax
mov eax, dword [rsi + 0x24]
sar eax, 6
sub ecx, eax
mov eax, dword [rsi + 0x20]
sar eax, 6
sub edx, eax
mov dword [rsp + 0x78], ecx
mov eax, dword [rsi + 0x1c]
sar eax, 6
sub r8d, eax
mov eax, dword [rsi + 0x18]
sar eax, 6
sub r9d, eax
mov eax, dword [rsi + 0x14]
sar eax, 6
sub dword [rsp + 0x54], eax
mov eax, dword [rsi + 0x10]
sar eax, 6
sub dword [rsp + 0x58], eax
mov eax, dword [rsi + 0xc]
sar eax, 6
sub dword [rsp + 0x5c], eax
mov dword [rbp - 0x70], r9d
mov eax, dword [rsi + 8]
mov r14d, edx
mov ecx, dword [rbp - 0x80]
mov ebx, r8d
mov r9d, dword [rsi + 0x4c]
mov r10d, dword [rbp - 0x70]
sar eax, 6
sub dword [rsp + 0x60], eax
mov eax, dword [rsi + 0x48]
sar eax, 6
sub dword [rsp + 0x64], eax
mov eax, dword [rsi + 0x44]
sar eax, 6
sub dword [rsp + 0x68], eax
mov eax, dword [rsi + 0x40]
sar eax, 6
sub dword [rsp + 0x6c], eax
mov eax, dword [rsi + 0x3c]
sar eax, 6
sub dword [rsp + 0x70], eax
mov eax, dword [rsi + 0x38]
sar eax, 6
sub dword [rsp + 0x44], eax
mov eax, dword [rsi + 0x34]
sar eax, 6
sub dword [rsp + 0x48], eax
mov eax, dword [rsi + 0x30]
sar eax, 6
sub dword [rsp + 0x4c], eax
mov eax, dword [rsi + 0x2c]
sar eax, 6
sub ecx, eax
sar r9d, 6
mov eax, dword [rsi + 4]
sar eax, 6
sub dword [rsp + 0x40], eax
mov eax, dword [rsi + 0x28]
sar eax, 6
sub dword [rbp - 0x7c], eax
mov eax, dword [rsi]
mov esi, dword [rsp + 0x78]
sar eax, 6
sub dword [rsp + 0x50], eax
mov dword [rbp - 0x6c], r9d
mov dword [rbp - 0x80], ecx
nop word [rax + rax]
mov eax, dword [rbp - 0x60]
mov edx, dword [r11]
lea r11, [r11 + 0x50]
sub eax, r9d
imul edx, dword [rsp + 0x50]
imul eax, dword [r11 - 4]
movsxd r9, eax
mov eax, dword [r11 - 0x4c]
imul eax, dword [rsp + 0x40]
cdqe
add r9, rax
mov eax, dword [r11 - 0x24]
imul eax, ecx
movsxd rcx, eax
mov eax, dword [r11 - 0x20]
add r9, rcx
imul eax, dword [rsp + 0x4c]
movsxd rcx, eax
mov eax, dword [r11 - 0x1c]
add r9, rcx
imul eax, dword [rsp + 0x48]
movsxd rcx, eax
mov eax, dword [r11 - 0x18]
add r9, rcx
imul eax, dword [rsp + 0x44]
movsxd rcx, eax
mov eax, dword [r11 - 0x14]
add r9, rcx
imul eax, dword [rsp + 0x70]
movsxd rcx, eax
mov eax, dword [r11 - 0x10]
add r9, rcx
imul eax, dword [rsp + 0x6c]
movsxd rcx, eax
mov eax, dword [r11 - 0xc]
add r9, rcx
imul eax, dword [rsp + 0x68]
movsxd rcx, eax
mov eax, dword [r11 - 8]
add r9, rcx
imul eax, dword [rsp + 0x64]
movsxd rcx, eax
mov eax, dword [r11 - 0x48]
add r9, rcx
imul eax, dword [rsp + 0x60]
movsxd rcx, eax
mov eax, dword [r11 - 0x44]
add r9, rcx
imul eax, dword [rsp + 0x5c]
movsxd rcx, eax
mov eax, dword [r11 - 0x40]
add r9, rcx
imul eax, dword [rsp + 0x58]
movsxd rcx, eax
mov eax, dword [r11 - 0x3c]
add r9, rcx
imul eax, dword [rsp + 0x54]
movsxd rcx, eax
mov eax, dword [r11 - 0x38]
add r9, rcx
imul eax, r10d
movsxd rcx, eax
mov eax, dword [r11 - 0x34]
add r9, rcx
imul eax, ebx
movsxd rcx, eax
mov eax, dword [r11 - 0x30]
add r9, rcx
imul eax, r14d
movsxd rcx, eax
mov eax, dword [r11 - 0x2c]
add r9, rcx
imul eax, esi
movsxd rcx, eax
add r9, rcx
movsxd rax, edx
add r9, rax
mov eax, dword [r11 - 0x28]
imul eax, dword [rbp - 0x7c]
movsxd rcx, eax
add r9, rcx
mov ecx, dword [rbp - 0x80]
mov rax, r9
sar rax, 0x1f
add rax, r9
mov r9d, dword [rbp - 0x6c]
sar rax, 9
inc rax
sar rax, 1
mov dword [rbp + r13*4 - 0x10], eax
inc r13
cmp r13, 4
jl 0x1400f40f0
mov r13d, dword [rbp - 0x10]
mov r11d, 0xa
mov r12d, dword [rbp - 0xc]
mov r15d, dword [rbp - 8]
mov edi, dword [rbp - 4]
mov r9, qword [rbp - 0x78]
mov r10, qword [rbp - 0x50]
add r9, 0xf0
mov r14, qword [rbp - 0x48]
mov rsi, r10
sar r13d, 4
sar r12d, 4
sar r15d, 4
sar edi, 4
xor ebx, ebx
nop dword [rax]
mov eax, dword [r9 + 0x50]
lea rsi, [rsi + 8]
sar eax, 4
lea r9, [r9 + 4]
imul eax, edi
movsxd r8, eax
mov eax, dword [r9 - 0x54]
sar eax, 4
imul eax, r12d
cdqe
add r8, rax
mov eax, dword [r9 - 0xa4]
sar eax, 4
imul eax, r13d
cdqe
add r8, rax
mov eax, dword [r9 - 4]
sar eax, 4
imul eax, r15d
cdqe
add r8, rax
mov eax, dword [r9 + 0x74]
sar eax, 4
imul eax, edi
movsxd rdx, eax
mov eax, dword [r9 + 0x24]
sar eax, 4
imul eax, r15d
cdqe
add rdx, rax
mov eax, dword [r9 - 0x2c]
sar eax, 4
imul eax, r12d
cdqe
add rdx, rax
mov eax, dword [r9 - 0x7c]
sar eax, 4
imul eax, r13d
cdqe
add rdx, rax
movsxd rax, dword [r9 - 0xf4]
shl rax, 8
lea rcx, [r8 + rax]
sar rcx, 0x1f
add rcx, r8
add rcx, rax
sar rcx, 0xd
inc rcx
sar rcx, 1
mov dword [rsi - 8], ecx
movsxd rax, dword [r9 - 0xcc]
shl rax, 8
lea rcx, [rdx + rax]
sar rcx, 0x1f
add rcx, rdx
add rcx, rax
sar rcx, 0xd
inc rcx
sar rcx, 1
mov dword [rsi - 4], ecx
sub r11, 1
jne 0x1400f4280
mov eax, dword [r10]
mov rdx, r10
mov dword [r14 + 0x3f30], eax
mov eax, dword [r10 + 4]
mov dword [r14 + 0x3f34], eax
mov eax, dword [r10 + 8]
mov dword [r14 + 0x3f38], eax
mov eax, dword [r10 + 0xc]
mov dword [r14 + 0x3f3c], eax
mov eax, dword [r10 + 0x10]
mov dword [r14 + 0x3f40], eax
mov eax, dword [r10 + 0x14]
mov rdi, qword [rbp - 0x58]
mov dword [r14 + 0x3f44], eax
mov eax, dword [r10 + 0x18]
mov dword [r14 + 0x3f48], eax
mov eax, dword [r10 + 0x1c]
mov dword [r14 + 0x3f4c], eax
mov eax, dword [r10 + 0x20]
mov dword [r14 + 0x3f50], eax
mov eax, dword [r10 + 0x24]
mov dword [r14 + 0x3f54], eax
mov eax, dword [r10 + 0x28]
mov dword [r14 + 0x3f58], eax
mov eax, dword [r10 + 0x2c]
mov dword [r14 + 0x3f5c], eax
mov eax, dword [r10 + 0x30]
mov dword [r14 + 0x3f60], eax
mov eax, dword [r10 + 0x34]
mov dword [r14 + 0x3f64], eax
mov eax, dword [r10 + 0x38]
mov dword [r14 + 0x3f68], eax
mov eax, dword [r10 + 0x3c]
mov dword [r14 + 0x3f6c], eax
mov eax, dword [r10 + 0x40]
mov dword [r14 + 0x3f70], eax
mov eax, dword [r10 + 0x44]
mov dword [r14 + 0x3f74], eax
mov eax, dword [r10 + 0x48]
mov dword [r14 + 0x3f78], eax
mov eax, dword [r10 + 0x4c]
mov dword [r14 + 0x3f7c], eax
mov rcx, qword [rdi + 0x58]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov r15, qword [rbp - 0x38]
lea r12, [r14 + 0x3ea0]
mov rcx, qword [rdi + 0x58]
mov edx, 0x48
mov rsi, qword [r15 + 0x88]
mov qword [rbp - 0x50], rsi
mov rax, qword [rcx]
call qword [rax + 8]
mov qword [rbp - 0x78], rax
mov r10, rax
test rax, rax
je 0x1400f49e2
mov eax, dword [r14 + 0x3f80]
lea r11, [rsi + 0x48]
mov dword [r10], eax
mov r13, rbx
mov dword [rsp + 0x54], eax
mov eax, dword [r14 + 0x3f84]
mov dword [r10 + 4], eax
mov dword [rsp + 0x58], eax
mov eax, dword [r14 + 0x3f88]
mov dword [r10 + 8], eax
mov dword [rsp + 0x5c], eax
mov eax, dword [r14 + 0x3f8c]
mov dword [r10 + 0xc], eax
mov dword [rsp + 0x40], eax
mov eax, dword [r14 + 0x3f90]
mov dword [r10 + 0x10], eax
mov dword [rsp + 0x68], eax
mov eax, dword [r14 + 0x3f94]
mov dword [r10 + 0x14], eax
mov dword [rsp + 0x50], eax
mov eax, dword [r14 + 0x3f98]
mov dword [r10 + 0x18], eax
mov dword [rsp + 0x64], eax
mov eax, dword [r14 + 0x3f9c]
mov dword [r10 + 0x1c], eax
mov dword [rsp + 0x4c], eax
mov eax, dword [r14 + 0x3fa0]
mov dword [r10 + 0x20], eax
mov dword [rsp + 0x60], eax
mov eax, dword [r14 + 0x3fa4]
mov dword [r10 + 0x24], eax
mov r9d, dword [r14 + 0x3fa8]
mov dword [rsp + 0x48], eax
mov dword [r10 + 0x28], r9d
mov eax, dword [r14 + 0x3fac]
mov dword [r10 + 0x2c], eax
mov r8d, dword [r14 + 0x3fb0]
mov dword [rsp + 0x44], eax
mov dword [r10 + 0x30], r8d
mov eax, dword [r14 + 0x3fb4]
mov dword [r10 + 0x34], eax
mov edx, dword [r14 + 0x3fb8]
mov dword [rsp + 0x70], eax
mov dword [r10 + 0x38], edx
mov eax, dword [r14 + 0x3fbc]
mov dword [r10 + 0x3c], eax
mov ecx, dword [r14 + 0x3fc0]
mov dword [rsp + 0x6c], eax
mov dword [r10 + 0x40], ecx
mov eax, dword [r14 + 0x3fc4]
mov dword [r10 + 0x44], eax
mov dword [rsp + 0x74], eax
mov eax, dword [rsi + 0x20]
sar eax, 6
sub ecx, eax
mov eax, dword [rsi + 0x1c]
sar eax, 6
sub edx, eax
mov dword [rsp + 0x78], ecx
mov eax, dword [rsi + 0x18]
sar eax, 6
sub r8d, eax
mov eax, dword [rsi + 0x14]
sar eax, 6
sub r9d, eax
mov eax, dword [rsi + 0x10]
sar eax, 6
sub dword [rsp + 0x60], eax
mov eax, dword [rsi + 0xc]
sar eax, 6
sub dword [rsp + 0x64], eax
mov eax, dword [rsi + 8]
sar eax, 6
sub dword [rsp + 0x68], eax
mov eax, dword [rsi + 0x40]
mov dword [rbp - 0x70], r9d
mov r9d, dword [rsi + 0x44]
sar r9d, 6
sar eax, 6
sub dword [rsp + 0x6c], eax
mov dword [rbp - 0x6c], r9d
mov eax, dword [rsi + 0x3c]
mov ecx, dword [rsp + 0x50]
mov r10d, dword [rsp + 0x78]
sar eax, 6
sub dword [rsp + 0x70], eax
mov eax, dword [rsi + 0x38]
sar eax, 6
sub dword [rsp + 0x44], eax
mov eax, dword [rsi + 0x34]
sar eax, 6
sub dword [rsp + 0x48], eax
mov eax, dword [rsi + 0x30]
sar eax, 6
sub dword [rsp + 0x4c], eax
mov eax, dword [rsi + 0x2c]
sar eax, 6
sub ecx, eax
mov eax, dword [rsi + 0x28]
sar eax, 6
sub dword [rsp + 0x40], eax
mov eax, dword [rsi + 4]
sar eax, 6
sub dword [rsp + 0x5c], eax
mov eax, dword [rsi + 0x24]
sar eax, 6
sub dword [rsp + 0x58], eax
mov eax, dword [rsi]
mov esi, edx
sar eax, 6
sub dword [rsp + 0x54], eax
mov dword [rsp + 0x50], ecx
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [rsp + 0x74]
mov edx, dword [r11]
lea r11, [r11 + 0x48]
sub eax, r9d
imul edx, dword [rsp + 0x54]
imul eax, dword [r11 - 4]
movsxd r9, eax
mov eax, dword [r11 - 0x20]
imul eax, dword [rsp + 0x40]
cdqe
add r9, rax
mov eax, dword [r11 - 0x1c]
imul eax, ecx
movsxd rcx, eax
mov eax, dword [r11 - 0x18]
add r9, rcx
imul eax, dword [rsp + 0x4c]
movsxd rcx, eax
mov eax, dword [r11 - 0x14]
add r9, rcx
imul eax, dword [rsp + 0x48]
movsxd rcx, eax
mov eax, dword [r11 - 0x10]
add r9, rcx
imul eax, dword [rsp + 0x44]
movsxd rcx, eax
mov eax, dword [r11 - 0xc]
add r9, rcx
imul eax, dword [rsp + 0x70]
movsxd rcx, eax
mov eax, dword [r11 - 8]
add r9, rcx
imul eax, dword [rsp + 0x6c]
movsxd rcx, eax
mov eax, dword [r11 - 0x40]
add r9, rcx
imul eax, dword [rsp + 0x68]
movsxd rcx, eax
mov eax, dword [r11 - 0x3c]
add r9, rcx
imul eax, dword [rsp + 0x64]
movsxd rcx, eax
mov eax, dword [r11 - 0x38]
add r9, rcx
imul eax, dword [rsp + 0x60]
movsxd rcx, eax
mov eax, dword [r11 - 0x34]
add r9, rcx
imul eax, dword [rbp - 0x70]
movsxd rcx, eax
mov eax, dword [r11 - 0x30]
add r9, rcx
imul eax, r8d
movsxd rcx, eax
mov eax, dword [r11 - 0x2c]
add r9, rcx
imul eax, esi
movsxd rcx, eax
mov eax, dword [r11 - 0x28]
add r9, rcx
imul eax, r10d
movsxd rcx, eax
mov eax, dword [r11 - 0x44]
add r9, rcx
imul eax, dword [rsp + 0x5c]
movsxd rcx, eax
mov eax, dword [rsp + 0x58]
add r9, rcx
imul eax, dword [r11 - 0x24]
movsxd rcx, eax
add r9, rcx
movsxd rax, edx
add r9, rax
mov rax, r9
sar rax, 0x1f
add rax, r9
sar rax, 9
inc rax
sar rax, 1
mov dword [rbp + r13*4 - 0x10], eax
inc r13
mov ecx, dword [rsp + 0x50]
mov r9d, dword [rbp - 0x6c]
cmp r13, 6
jl 0x1400f4650
mov r12d, dword [rbp - 0x10]
mov r11d, 9
mov r15d, dword [rbp - 0xc]
mov edi, dword [rbp - 8]
mov r14d, dword [rbp - 4]
mov ebx, dword [rbp]
mov eax, dword [rbp + 4]
mov r9, qword [rbp - 0x50]
mov r13, qword [rbp - 0x78]
sar eax, 4
sar r12d, 4
mov r10d, eax
sar r15d, 4
sar edi, 4
sar r14d, 4
sar ebx, 4
add r9, 0x168
nop dword [rax]
mov eax, dword [r9 + 0x48]
lea r13, [r13 + 8]
sar eax, 4
lea r9, [r9 + 4]
imul eax, r10d
movsxd r8, eax
mov eax, dword [r9 - 0x4c]
sar eax, 4
imul eax, r14d
cdqe
add r8, rax
mov eax, dword [r9 - 0x94]
sar eax, 4
imul eax, edi
cdqe
add r8, rax
mov eax, dword [r9 - 0xdc]
sar eax, 4
imul eax, r15d
cdqe
add r8, rax
mov eax, dword [r9 - 0x124]
sar eax, 4
imul eax, r12d
cdqe
add r8, rax
mov eax, dword [r9 - 4]
sar eax, 4
imul eax, ebx
cdqe
add r8, rax
mov eax, dword [r9 + 0x68]
sar eax, 4
imul eax, r10d
movsxd rdx, eax
mov eax, dword [r9 + 0x20]
sar eax, 4
imul eax, ebx
cdqe
add rdx, rax
mov eax, dword [r9 - 0x28]
sar eax, 4
imul eax, r14d
cdqe
add rdx, rax
mov eax, dword [r9 - 0x70]
sar eax, 4
imul eax, edi
cdqe
add rdx, rax
mov eax, dword [r9 - 0xb8]
sar eax, 4
imul eax, r15d
cdqe
add rdx, rax
mov eax, dword [r9 - 0x100]
sar eax, 4
imul eax, r12d
cdqe
add rdx, rax
movsxd rax, dword [r9 - 0x16c]
shl rax, 8
lea rcx, [rax + r8]
sar rcx, 0x1f
add rcx, rax
add rcx, r8
sar rcx, 0xd
inc rcx
sar rcx, 1
mov dword [r13 - 8], ecx
movsxd rax, dword [r9 - 0x148]
shl rax, 8
lea rcx, [rax + rdx]
sar rcx, 0x1f
add rcx, rax
add rcx, rdx
sar rcx, 0xd
inc rcx
sar rcx, 1
mov dword [r13 - 4], ecx
sub r11, 1
jne 0x1400f47d0
mov r10, qword [rbp - 0x78]
mov r14, qword [rbp - 0x48]
mov rdx, r10
mov rdi, qword [rbp - 0x58]
mov eax, dword [r10]
mov dword [r14 + 0x3f80], eax
mov eax, dword [r10 + 4]
mov dword [r14 + 0x3f84], eax
mov eax, dword [r10 + 8]
mov dword [r14 + 0x3f88], eax
mov eax, dword [r10 + 0xc]
mov dword [r14 + 0x3f8c], eax
mov eax, dword [r10 + 0x10]
mov dword [r14 + 0x3f90], eax
mov eax, dword [r10 + 0x14]
mov dword [r14 + 0x3f94], eax
mov eax, dword [r10 + 0x18]
mov dword [r14 + 0x3f98], eax
mov eax, dword [r10 + 0x1c]
mov dword [r14 + 0x3f9c], eax
mov eax, dword [r10 + 0x20]
mov dword [r14 + 0x3fa0], eax
mov eax, dword [r10 + 0x24]
mov dword [r14 + 0x3fa4], eax
mov eax, dword [r10 + 0x28]
mov dword [r14 + 0x3fa8], eax
mov eax, dword [r10 + 0x2c]
mov dword [r14 + 0x3fac], eax
mov eax, dword [r10 + 0x30]
mov dword [r14 + 0x3fb0], eax
mov eax, dword [r10 + 0x34]
mov dword [r14 + 0x3fb4], eax
mov eax, dword [r10 + 0x38]
mov dword [r14 + 0x3fb8], eax
mov eax, dword [r10 + 0x3c]
mov dword [r14 + 0x3fbc], eax
mov eax, dword [r10 + 0x40]
mov dword [r14 + 0x3fc0], eax
mov eax, dword [r10 + 0x44]
mov dword [r14 + 0x3fc4], eax
mov rcx, qword [rdi + 0x58]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov r15, qword [rbp - 0x38]
lea r12, [r14 + 0x3ea0]
xor ebx, ebx
mov r11, qword [r15 + 0x40]
mov rsi, rbx
lea r9, [r11 + 0x128]
mov r10, rbx
mov r8, rbx
nop word [rax + rax]
mov eax, dword [r11 + r8*4 + 0x94]
mov ecx, dword [r12 + r8*8 + 4]
sar eax, 6
sub ecx, eax
mov eax, dword [r11 + r8*4]
imul ecx, dword [r9 + 0x94]
sar eax, 6
movsxd rdx, ecx
mov ecx, dword [r12 + r8*8]
inc r8
sub ecx, eax
imul ecx, dword [r9]
add r9, 4
movsxd rax, ecx
add r10, rax
add r10, rdx
cmp r8, 0x25
jl 0x1400f4a00
mov rax, r10
add r9, 0x94
sar rax, 0x1f
add rax, r10
sar rax, 9
inc rax
sar rax, 1
mov dword [rbp + rsi*4 - 0x10], eax
inc rsi
cmp rsi, 9
jl 0x1400f49f0
mov r10d, dword [rbp - 0x10]
mov eax, r10d
mov r9, qword [r15 + 0x10]
cdq
xor eax, edx
sub eax, edx
mov ecx, dword [r9]
cmp eax, ecx
jle 0x1400f4a92
sar r10d, 0x1f
and r10d, 0xfffffffe
inc r10d
imul r10d, ecx
mov esi, dword [rbp - 0xc]
mov eax, esi
mov ecx, dword [r9 + 4]
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jle 0x1400f4aaf
sar esi, 0x1f
and esi, 0xfffffffe
inc esi
imul esi, ecx
mov r13d, dword [rbp - 8]
mov eax, r13d
mov ecx, dword [r9 + 8]
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jle 0x1400f4ad2
sar r13d, 0x1f
and r13d, 0xfffffffe
inc r13d
imul r13d, ecx
mov ecx, dword [rbp - 4]
mov eax, ecx
mov r8d, dword [r9 + 0xc]
cdq
xor eax, edx
mov dword [rsp + 0x40], ecx
sub eax, edx
cmp eax, r8d
jle 0x1400f4af9
sar ecx, 0x1f
and ecx, 0xfffffffe
inc ecx
imul ecx, r8d
mov dword [rsp + 0x40], ecx
mov ecx, dword [rbp]
mov eax, ecx
mov r8d, dword [r9 + 0x10]
cdq
xor eax, edx
sub eax, edx
cmp eax, r8d
jle 0x1400f4b18
sar ecx, 0x1f
and ecx, 0xfffffffe
inc ecx
imul ecx, r8d
mov r8d, dword [rbp + 4]
mov eax, r8d
cdq
xor eax, edx
sub eax, edx
mov edx, dword [r9 + 0x14]
cmp eax, edx
jle 0x1400f4b3b
sar r8d, 0x1f
and r8d, 0xfffffffe
inc r8d
imul r8d, edx
mov eax, dword [r9 + 0x18]
mov r9d, dword [rbp + 8]
mov dword [rsp + 0x78], eax
mov eax, r9d
cdq
mov dword [rsp + 0x4c], r9d
xor eax, edx
sub eax, edx
mov edx, dword [rsp + 0x78]
cmp eax, edx
jle 0x1400f4b70
sar r9d, 0x1f
and r9d, 0xfffffffe
inc r9d
imul r9d, edx
mov dword [rsp + 0x4c], r9d
mov r9d, dword [rbp + 0xc]
mov rax, qword [r15 + 0x10]
mov dword [rsp + 0x48], r9d
mov eax, dword [rax + 0x1c]
mov dword [rsp + 0x78], eax
mov eax, r9d
cdq
xor eax, edx
sub eax, edx
mov edx, dword [rsp + 0x78]
cmp eax, edx
jle 0x1400f4ba8
sar r9d, 0x1f
and r9d, 0xfffffffe
inc r9d
imul r9d, edx
mov dword [rsp + 0x48], r9d
mov r9d, dword [rbp + 0x10]
mov rax, qword [r15 + 0x10]
mov dword [rsp + 0x44], r9d
mov eax, dword [rax + 0x20]
mov dword [rsp + 0x78], eax
mov eax, r9d
cdq
xor eax, edx
sub eax, edx
mov edx, dword [rsp + 0x78]
cmp eax, edx
jle 0x1400f4be0
sar r9d, 0x1f
and r9d, 0xfffffffe
inc r9d
imul r9d, edx
mov dword [rsp + 0x44], r9d
mov edi, dword [rsp + 0x40]
lea r9, [r11 + 0x6f0]
mov ebx, dword [rsp + 0x4c]
mov r15d, dword [rsp + 0x48]
mov r14d, dword [rsp + 0x44]
sar ecx, 4
sar r8d, 4
sar edi, 4
mov r11d, r8d
sar ebx, 4
sar r15d, 4
sar r10d, 4
sar esi, 4
sar r13d, 4
mov qword [rbp - 0x78], r12
mov r12d, ecx
sar r14d, 4
mov dword [rsp + 0x78], ecx
mov dword [rbp - 0x68], r8d
nop dword [rax + rax]
mov eax, dword [r9 + 0x378]
sar eax, 4
imul eax, r14d
movsxd r8, eax
mov eax, dword [r9 + 0x250]
sar eax, 4
imul eax, r15d
cdqe
add r8, rax
mov eax, dword [r9 + 0x128]
sar eax, 4
imul eax, ebx
cdqe
add r8, rax
mov eax, dword [r9 - 0x5c8]
sar eax, 4
imul eax, r10d
cdqe
add r8, rax
mov eax, dword [r9 - 0x4a0]
sar eax, 4
imul eax, esi
cdqe
add r8, rax
mov eax, dword [r9 - 0x378]
sar eax, 4
imul eax, r13d
cdqe
add r8, rax
mov eax, dword [r9 - 0x250]
sar eax, 4
imul eax, edi
cdqe
add r8, rax
mov eax, dword [r9 - 0x128]
sar eax, 4
imul eax, r12d
cdqe
add r8, rax
mov eax, dword [r9]
sar eax, 4
imul eax, r11d
cdqe
add r8, rax
mov eax, dword [r9 + 0x40c]
sar eax, 4
imul eax, r14d
movsxd rdx, eax
mov eax, dword [r9 + 0x2e4]
sar eax, 4
imul eax, r15d
cdqe
add rdx, rax
mov eax, dword [r9 + 0x1bc]
sar eax, 4
imul eax, ebx
cdqe
add rdx, rax
mov eax, dword [r9 + 0x94]
sar eax, 4
imul eax, r11d
cdqe
add rdx, rax
mov eax, dword [r9 - 0x534]
sar eax, 4
imul eax, r10d
cdqe
add rdx, rax
mov eax, dword [r9 - 0x40c]
sar eax, 4
imul eax, esi
cdqe
add rdx, rax
mov eax, dword [r9 - 0x2e4]
sar eax, 4
imul eax, r13d
cdqe
add rdx, rax
mov eax, dword [r9 - 0x1bc]
sar eax, 4
imul eax, edi
cdqe
lea r9, [r9 + 4]
add rdx, rax
mov eax, dword [r9 - 0x98]
sar eax, 4
imul eax, r12d
cdqe
add rdx, rax
movsxd rax, dword [r9 - 0x6f4]
shl rax, 8
lea rcx, [rax + r8]
sar rcx, 0x1f
add rcx, rax
add rcx, r8
mov r8, qword [rbp - 0x78]
sar rcx, 0xd
inc rcx
sar rcx, 1
mov dword [r8], ecx
movsxd rax, dword [r9 - 0x660]
shl rax, 8
lea rcx, [rdx + rax]
sar rcx, 0x1f
add rcx, rdx
add rcx, rax
sar rcx, 0xd
inc rcx
sar rcx, 1
mov dword [r8 + 4], ecx
add r8, 8
sub qword [rbp - 0x40], 1
mov qword [rbp - 0x78], r8
jne 0x1400f4c30
mov r14, qword [rbp - 0x48]
mov r8, qword [rbp - 0x38]
mov rdx, r14
mov rcx, qword [rbp - 0x58]
call fcn.1400fbdb0
xor ebx, ebx
lea r12, [r14 + 0x3ea0]
mov r9d, ebx
lea r8, [r14 + 0x29a0]
mov edi, 0xa68
nop dword [rax]
movzx edx, word [r8 - 0x29a0]
sub dx, word [r8 - 0x14d0]
movsx ecx, dx
mov word [r8], dx
lea r8, [r8 + 2]
mov eax, ecx
neg eax
test dx, dx
cmovle ecx, eax
add r9d, ecx
sub rdi, 1
jne 0x1400f4e10
sar r9d, 0xb
mov dword [r14 + 0x410c], r9d
movups xmm0, xmmword [r14 + 0x3e88]
mov rdi, qword [rbp - 0x58]
mov rcx, r12
mov rdx, qword [rbp - 0x28]
mov rax, qword [rdi + 0x50]
movups xmmword [rax + 0x3f4], xmm0
movsd xmm1, qword [r14 + 0x3e98]
movsd qword [rax + 0x404], xmm1
mov r8, qword [rdi + 0x50]
mov eax, dword [r14 + 0x410c]
mov dword [r8 + 0x414], eax
call fcn.1400f9100
mov rsi, qword [rbp - 0x20]
xor ebx, ebx
mov r12, qword [rsp + 0x148]
mov rcx, qword [rdi + 0x58]
mov rdx, r14
mov r8, qword [rcx]
call qword [r8 + 0x10]
mov rcx, qword [rdi + 0x58]
mov rdx, qword [rbp - 0x30]
mov r8, qword [rcx]
call qword [r8 + 0x10]
mov rcx, qword [rdi + 0x58]
mov rdx, rsi
mov r8, qword [rcx]
call qword [r8 + 0x10]
mov eax, ebx
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.1400fc4b0
add rsp, 0x150
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret