Function at 0x1400f2fc0
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 0x1400f3030
mov ebx, 0xfffffffd
jmp 0x1400f566d
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 0x1400f3026
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 0x1400f3026
xor edx, edx
mov qword [rsp + 0x148], r12
mov r8d, 0x4110
mov rcx, r14
call fcn.1400fddca
mov rcx, qword [rbp - 0x28]
lea r12, [r14 + 0x3ea0]
mov rdx, r12
call fcn.1400e9fc0
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 0x1400f30a0
cmp dword [rdi + 0x20], ebx
je 0x1400f415c
cmp dword [rdi + 0x24], ebx
je 0x1400f415c
cmp dword [rdi + 0x28], ebx
je 0x1400f415c
cmp dword [rdi + 0x2c], ebx
je 0x1400f415c
cmp dword [rdi + 0x34], ebx
je 0x1400f310f
cmp dword [rdi + 0x38], ebx
jne 0x1400f415c
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.1400e7b10
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 0x1400f3141
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.1400f0b40
mov r8d, dword [rbp + 0xb0]
xor r9d, r9d
mov rdx, r15
mov rcx, r14
call fcn.1400f0b40
mov ecx, ebx
lea rax, [r14 + 0x3ea4]
nop
mov edx, dword [rax - 4]
cmp edx, 0x1400
jl 0x1400f37da
mov r8d, dword [rax]
cmp r8d, 0x1400
jl 0x1400f37da
cmp edx, 0x16c00
jg 0x1400f37da
cmp r8d, 0x16c00
jg 0x1400f37da
inc ecx
add rax, 8
cmp ecx, 0x25
jl 0x1400f31e0
cmp dword [rbp + 0xb0], ebx
je 0x1400f37b6
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 0x1400f37b6
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 0x1400f3420
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 0x1400f35a0
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.1400e7b10
jmp 0x1400f384a
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 0x1400f37e1
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 0x1400f38a3
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.1400eb600
mov rcx, qword [rbp - 0x60]
inc r14d
jmp 0x1400f3903
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.1400eb790
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 0x1400f3870
cmp dword [rbp + 0xb0], 0
mov ebx, 0
mov r14, qword [rbp - 0x48]
lea r12, [r14 + 0x3ea0]
je 0x1400f3ec3
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 0x1400f3ec3
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 0x1400f3b63
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 0x1400f3cf1
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 0x1400f3ee0
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 0x1400f3ed1
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 0x1400f3fa0
mov r14, qword [rbp - 0x48]
lea r12, [r14 + 0x3ea0]
jmp 0x1400f5619
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.1400e7b10
mov r9, qword [rbp - 0x30]
lea r8, [rbp - 0x10]
mov rcx, qword [rdi + 0x58]
mov rdx, r12
mov dword [rsp + 0x20], esi
call fcn.1400ed0c0
mov r8, r15
mov rdx, r14
mov rcx, rdi
call fcn.1400fc580
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 0x1400f41c0
sar r9d, 0xb
lea r13d, [r10 + 6]
mov dword [r14 + 0x410c], r9d
cmp dword [rbp + 0xb0], ebx
jne 0x1400f4215
cmp dword [rdi + 0x260], ebx
jne 0x1400f4215
cmp dword [rdi + 0x25c], ebx
je 0x1400f422f
mov r8, qword [r15 + 0x40]
lea rdx, [r14 + 0x3e88]
mov r9d, r13d
mov dword [rsp + 0x20], esi
mov rcx, r12
call fcn.1400f0050
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 0x1400f4280
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 0x1400f431c
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 0x1400f4260
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 0x1400f43a0
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 0x1400f452b
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 0x1400f4540
mov eax, dword [rbp + 0xb0]
cmp eax, 2
jae 0x1400f4686
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.1400e7b10
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 0x1400f4617
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.1400eb600
mov ecx, dword [rsp + 0x40]
inc ebx
jmp 0x1400f4660
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.1400eb790
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 0x1400f45e5
mov eax, dword [rbp + 0xb0]
lea r12, [r14 + 0x3ea0]
xor ebx, ebx
test eax, eax
jne 0x1400f51b2
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 0x1400f4c22
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 0x1400f48c0
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 0x1400f4a50
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 0x1400f51b2
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 0x1400f4e20
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 0x1400f4fa0
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 0x1400f51d0
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 0x1400f51c0
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 0x1400f5262
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 0x1400f527f
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 0x1400f52a2
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 0x1400f52c9
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 0x1400f52e8
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 0x1400f530b
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 0x1400f5340
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 0x1400f5378
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 0x1400f53b0
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 0x1400f5400
mov r14, qword [rbp - 0x48]
mov r8, qword [rbp - 0x38]
mov rdx, r14
mov rcx, qword [rbp - 0x58]
call fcn.1400fc580
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 0x1400f55e0
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.1400f98d0
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.1400fcc70
add rsp, 0x150
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret