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

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
push rbp
sub rsp, 0x188
mov r12, rcx
mov r10, r9
mov r14, r8
mov r13, rdx
xor esi, esi
mov ebx, dword [r12]
lea rdi, [r12 + 0x328]
test ebx, ebx
je 0x1400fad02
cmp dword [rsp + 0x1f8], 0
je 0x1400f99b8
cmp ebx, 1
je 0x1400fae74
mov rbp, qword [rsp + 0x1f0]
test rbp, rbp
jne 0x1400f99dc
mov rax, rsi
add rsp, 0x188
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rbx, qword [rdi]
mov dl, 1
cmp r10, rbx
je 0x1400fae61
mov r11, qword [rdi + 8]
sub rbx, r11
mov eax, ebx
neg rbx
add rbx, r10
mov qword [rdi + 8], rbx
mov ebx, eax
mov ecx, dword [rdi + 0x18]
sub ebx, ecx
mov dword [rdi + 0x18], eax
mov r15d, ecx
mov qword [rdi + 0x10], r11
cmp ebx, 8
jae 0x1400f9a1d
mov dword [rdi + 0x1c], eax
mov ecx, eax
mov r15d, eax
jmp 0x1400f9a20
mov dword [rdi + 0x1c], ecx
xor dl, dl
lea rbx, [rbp + r10]
add rcx, r11
xor r9d, r9d
mov r8d, eax
cmp rbx, rcx
seta r9b
xor ecx, ecx
add r8, r11
cmp r10, r8
mov qword [rdi], rbx
setb cl
test ecx, r9d
je 0x1400f9a5b
mov r15, rbx
sub r15, r11
cmp r15, rax
cmovg r15d, eax
mov dword [rdi + 0x1c], r15d
test dl, dl
jne 0x1400f9a65
mov edx, dword [rdi + 0x18]
mov dword [rdi + 0x24], edx
cmp dword [r12 + 0x108], 0
je 0x1400f9b2f
mov r9, qword [r12 + 0x2a0]
cmp r10, r9
je 0x1400fae3c
mov rcx, qword [r12 + 0x2a8]
sub r9, rcx
mov r8d, r9d
neg r9
add r9, r10
mov qword [r12 + 0x2a8], r9
mov r9d, r8d
mov edx, dword [r12 + 0x2b8]
sub r9d, edx
mov qword [rsp + 0x80], rcx
mov dword [r12 + 0x2b8], r8d
mov qword [r12 + 0x2b0], rcx
cmp r9d, 8
jae 0x1400f9ada
mov dword [r12 + 0x2bc], r8d
mov edx, r8d
jmp 0x1400f9ae2
mov dword [r12 + 0x2bc], edx
mov rcx, qword [rsp + 0x80]
add rdx, rcx
mov r9d, r8d
cmp rbx, rdx
mov edx, 0
seta dl
add r9, rcx
xor ecx, ecx
cmp r10, r9
mov qword [r12 + 0x2a0], rbx
setb cl
test ecx, edx
je 0x1400f9b2f
mov rdx, qword [rsp + 0x80]
neg rdx
add rdx, rbx
cmp rdx, r8
cmovg edx, r8d
mov dword [r12 + 0x2bc], edx
cmp dword [rsp + 0x1f8], 0
je 0x1400f9b61
mov rdi, rsp
mov rcx, r12
mov ebx, dword [rsp + 0x200]
mov rdx, r13
mov r8, r14
mov r9, r10
mov qword [rdi + 0x20], rbp
mov dword [rdi + 0x28], ebx
call fcn.1400f1650
nop
jmp 0x1400fac96
mov rdx, qword [r12 + 0x330]
neg rdx
add rdx, r10
add rdx, rbp
cmp edx, 0xe0000000
jbe 0x1400f9fb8
mov qword [rsp + 0x80], rbx
mov ebp, 1
mov ebx, dword [r12 + 0xc4]
cmp ebx, 6
mov dword [rsp + 0x88], ebx
mov ebx, 0
setae bl
mov edx, 1
mov ecx, dword [r12 + 0xb0]
mov r8, r10
sub ecx, ebx
shl ebp, cl
mov ecx, dword [r12 + 0xac]
shl edx, cl
mov r9, qword [rdi + 8]
sub r8, r9
neg edx
lea ebx, [rbp - 1]
add edx, r8d
and r8d, ebx
mov ecx, dword [r12 + 0xb4]
cmove r8d, ebp
mov ebx, 1
sub edx, r8d
xor r8d, r8d
add r11, rdx
add r9, rdx
mov qword [rdi + 0x10], r11
mov r11d, r15d
sub r11d, edx
cmp r15d, edx
mov r15d, 1
cmovbe r11d, r15d
mov r15d, eax
sub r15d, edx
cmp eax, edx
mov dword [rdi + 0x1c], r11d
mov r11d, 1
cmovbe r15d, r11d
mov r11, qword [r12 + 0x158]
shl ebx, cl
xor ecx, ecx
mov qword [r12 + 0x168], r11
mov r11d, ebx
sar r11d, 3
shr r11d, 0x1c
add r11d, ebx
sar r11d, 4
mov dword [rdi + 0x18], r15d
mov qword [rdi + 8], r9
mov r15, qword [rdi + 0x30]
mov rbp, qword [rsp + 0x1f0]
mov eax, dword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
test r11d, r11d
jle 0x1400f9d4c
vmovd xmm0, edx
vpshufd xmm1, xmm0, 0
vpcmpeqd xmm2, xmm2, xmm2
vmovdqu xmm0, xmmword [0x1402264f0]
vmovups xmmword [rsp + 0xc0], xmm6
vpsubd xmm3, xmm1, xmm0
movsxd r8, r8d
inc ecx
vmovdqu xmm5, xmmword [r15 + r8*4]
vpsubd xmm6, xmm5, xmm0
vpcmpgtd xmm4, xmm3, xmm6
vpxor xmm6, xmm4, xmm2
vpand xmm6, xmm1, xmm6
vpsubd xmm5, xmm5, xmm6
vmovdqu xmm6, xmmword [r15 + r8*4 + 0x10]
vpandn xmm4, xmm4, xmm5
vmovdqu xmmword [r15 + r8*4], xmm4
vpsubd xmm4, xmm6, xmm0
vpcmpgtd xmm5, xmm3, xmm4
vpxor xmm4, xmm5, xmm2
vpand xmm4, xmm1, xmm4
vpsubd xmm6, xmm6, xmm4
vmovdqu xmm4, xmmword [r15 + r8*4 + 0x20]
vpandn xmm5, xmm5, xmm6
vmovdqu xmmword [r15 + r8*4 + 0x10], xmm5
vpsubd xmm5, xmm4, xmm0
vpcmpgtd xmm6, xmm3, xmm5
vpxor xmm5, xmm6, xmm2
vpand xmm5, xmm1, xmm5
vpsubd xmm4, xmm4, xmm5
vmovdqu xmm5, xmmword [r15 + r8*4 + 0x30]
vpandn xmm6, xmm6, xmm4
vpsubd xmm4, xmm5, xmm0
vpcmpgtd xmm4, xmm3, xmm4
vmovdqu xmmword [r15 + r8*4 + 0x20], xmm6
vpxor xmm6, xmm4, xmm2
vpand xmm6, xmm1, xmm6
vpsubd xmm5, xmm5, xmm6
vpandn xmm4, xmm4, xmm5
vmovdqu xmmword [r15 + r8*4 + 0x30], xmm4
add r8d, 0x10
cmp ecx, r11d
jb 0x1400f9c93
vmovups xmm6, xmmword [rsp + 0xc0]
mov eax, dword [r12 + 0xc4]
cmp eax, 1
je 0x1400f9e66
mov r11d, 1
mov ecx, dword [r12 + 0xb0]
shl r11d, cl
xor ecx, ecx
cmp eax, 6
je 0x1400fad7a
mov r15d, r11d
sar r15d, 3
shr r15d, 0x1c
add r15d, r11d
xor r11d, r11d
sar r15d, 4
mov rax, qword [rdi + 0x40]
test r15d, r15d
jle 0x1400f9e66
vmovd xmm0, edx
vpshufd xmm1, xmm0, 0
vpcmpeqd xmm2, xmm2, xmm2
vmovdqu xmm0, xmmword [0x1402264f0]
vmovups xmmword [rsp + 0xc0], xmm6
vpsubd xmm3, xmm1, xmm0
movsxd r11, r11d
inc ecx
vmovdqu xmm5, xmmword [rax + r11*4]
vpsubd xmm6, xmm5, xmm0
vpcmpgtd xmm4, xmm3, xmm6
vpxor xmm6, xmm4, xmm2
vpand xmm6, xmm1, xmm6
vpsubd xmm5, xmm5, xmm6
vmovdqu xmm6, xmmword [rax + r11*4 + 0x10]
vpandn xmm4, xmm4, xmm5
vmovdqu xmmword [rax + r11*4], xmm4
vpsubd xmm4, xmm6, xmm0
vpcmpgtd xmm5, xmm3, xmm4
vpxor xmm4, xmm5, xmm2
vpand xmm4, xmm1, xmm4
vpsubd xmm6, xmm6, xmm4
vmovdqu xmm4, xmmword [rax + r11*4 + 0x20]
vpandn xmm5, xmm5, xmm6
vmovdqu xmmword [rax + r11*4 + 0x10], xmm5
vpsubd xmm5, xmm4, xmm0
vpcmpgtd xmm6, xmm3, xmm5
vpxor xmm5, xmm6, xmm2
vpand xmm5, xmm1, xmm5
vpsubd xmm4, xmm4, xmm5
vmovdqu xmm5, xmmword [rax + r11*4 + 0x30]
vpandn xmm6, xmm6, xmm4
vpsubd xmm4, xmm5, xmm0
vpcmpgtd xmm4, xmm3, xmm4
vmovdqu xmmword [rax + r11*4 + 0x20], xmm6
vpxor xmm6, xmm4, xmm2
vpand xmm6, xmm1, xmm6
vpsubd xmm5, xmm5, xmm6
vpandn xmm4, xmm4, xmm5
vmovdqu xmmword [rax + r11*4 + 0x30], xmm4
add r11d, 0x10
cmp ecx, r15d
jb 0x1400f9db5
vmovups xmm6, xmmword [rsp + 0xc0]
mov ecx, dword [rdi + 0x28]
test ecx, ecx
je 0x1400f9f6f
mov r11d, 1
xor r15d, r15d
shl r11d, cl
mov eax, r11d
sar eax, 3
shr eax, 0x1c
add eax, r11d
xor r11d, r11d
sar eax, 4
mov rcx, qword [rdi + 0x38]
test eax, eax
jle 0x1400f9f6f
vmovd xmm0, edx
vpshufd xmm1, xmm0, 0
vpcmpeqd xmm2, xmm2, xmm2
vmovdqu xmm0, xmmword [0x1402264f0]
vmovups xmmword [rsp + 0xc0], xmm6
vpsubd xmm3, xmm1, xmm0
movsxd r15, r15d
inc r11d
vmovdqu xmm5, xmmword [rcx + r15*4]
vpsubd xmm6, xmm5, xmm0
vpcmpgtd xmm4, xmm3, xmm6
vpxor xmm6, xmm4, xmm2
vpand xmm6, xmm1, xmm6
vpsubd xmm5, xmm5, xmm6
vmovdqu xmm6, xmmword [rcx + r15*4 + 0x10]
vpandn xmm4, xmm4, xmm5
vmovdqu xmmword [rcx + r15*4], xmm4
vpsubd xmm4, xmm6, xmm0
vpcmpgtd xmm5, xmm3, xmm4
vpxor xmm4, xmm5, xmm2
vpand xmm4, xmm1, xmm4
vpsubd xmm6, xmm6, xmm4
vmovdqu xmm4, xmmword [rcx + r15*4 + 0x20]
vpandn xmm5, xmm5, xmm6
vmovdqu xmmword [rcx + r15*4 + 0x10], xmm5
vpsubd xmm5, xmm4, xmm0
vpcmpgtd xmm6, xmm3, xmm5
vpxor xmm5, xmm6, xmm2
vpand xmm5, xmm1, xmm5
vpsubd xmm4, xmm4, xmm5
vmovdqu xmm5, xmmword [rcx + r15*4 + 0x30]
vpandn xmm6, xmm6, xmm4
vpsubd xmm4, xmm5, xmm0
vpcmpgtd xmm4, xmm3, xmm4
vmovdqu xmmword [rcx + r15*4 + 0x20], xmm6
vpxor xmm6, xmm4, xmm2
vpand xmm6, xmm1, xmm6
vpsubd xmm5, xmm5, xmm6
vpandn xmm4, xmm4, xmm5
vmovdqu xmmword [rcx + r15*4 + 0x30], xmm4
add r15d, 0x10
cmp r11d, eax
jb 0x1400f9ebd
vmovups xmm6, xmmword [rsp + 0xc0]
mov r11, qword [r12 + 0x160]
mov r15, qword [r12 + 0x168]
cmp r11, r15
mov qword [rdi + 0xb8], 0
cmova r15, r11
mov r11d, dword [rdi + 0x24]
mov qword [r12 + 0x168], r15
mov r15d, r11d
sub r15d, edx
cmp r11d, edx
mov r11d, 0
cmovb r15d, r11d
mov dword [rdi + 0x24], r15d
mov dword [rdi + 0x20], r11d
cmp rbp, 7
jb 0x1400fac62
mov ecx, dword [rdi + 0x24]
lea r15, [r12 + 0x250]
mov r11, qword [r15 + 0x10]
mov qword [r15 + 0x18], r11
mov r11, qword [r15]
lea edx, [rcx + 0x180]
mov qword [r15 + 8], r11
mov r11d, dword [r15 - 0x160]
mov dword [rdi + 0xb0], r11d
mov r11, qword [rdi + 8]
neg r11
add r11, r10
mov rax, qword [r15 + 0xc8]
mov dword [r15 + 0x48], 0
mov qword [rdi + 0xa8], rax
cmp r11d, edx
jbe 0x1400fa035
neg ecx
mov edx, 0xc0
add ecx, r11d
add ecx, 0xfffffe80
cmp ecx, 0xc0
cmovb edx, ecx
sub r11d, edx
mov dword [rdi + 0x24], r11d
mov r11d, dword [r12 + 0x344]
cmp r11d, dword [r12 + 0x340]
jae 0x1400fa04f
mov r11d, 1
jmp 0x1400fa071
mov rdx, qword [rdi + 0xb8]
test rdx, rdx
je 0x1400fa06e
xor r11d, r11d
cmp r11d, dword [rdx + 0x48]
mov r11d, 2
adc r11, 0
jmp 0x1400fa071
xor r11d, r11d
mov rdx, qword [r12 + 0x320]
mov eax, dword [rax + 0x11e4]
mov dword [rdx + 0x11e4], eax
mov rcx, qword [r12 + 0x318]
mov r9, qword [r12 + 0x320]
mov r8d, dword [rcx + 0x11e8]
mov dword [r9 + 0x11e8], r8d
mov rax, qword [r12 + 0x318]
mov rcx, qword [r12 + 0x320]
mov edx, dword [rax + 0x11ec]
mov dword [rcx + 0x11ec], edx
mov r8, qword [r12 + 0x2f8]
cmp r8, qword [r12 + 0x308]
jb 0x1400fad4c
cmp dword [r12 + 0x108], 0
je 0x1400fa187
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rsp + 0xe0], xmm0
vmovdqu xmmword [rsp + 0xf0], xmm0
vmovq qword [rsp + 0x100], xmm0
mov r11, qword [r12 + 0x2e0]
lea rcx, [r12 + 0x2a0]
mov qword [rsp + 0xe0], r11
lea r8, [r12 + 0x108]
mov r11, qword [rcx + 0x48]
lea rdx, [rsp + 0xe0]
mov qword [rdx + 0x20], r11
mov r11, rsp
mov r9, r10
mov qword [r11 + 0x20], rbp
mov qword [rdx - 0x50], r10
call fcn.140114830
mov r10, qword [rsp + 0x90]
cmp rax, 0xffffffffffffff88
ja 0x1400fac96
mov r11, rsp
lea rcx, [rsp + 0xe0]
mov r9, qword [r12 + 0x320]
mov rdx, rdi
add r9, 0x11e4
mov r8, r15
mov qword [r11 + 0x20], r10
mov qword [r11 + 0x28], rbp
call fcn.140115930
jmp 0x1400fa1d4
mov rdx, rsp
lea r11, [r11 + r11*4]
shl r11, 4
mov rcx, rdi
movsxd rax, dword [r12 + 0xc4]
mov r9, r10
mov qword [rdi + 0xe0], 0
lea rdi, [0x140000000]
mov r8, qword [r12 + 0x320]
mov qword [rdx + 0x20], rbp
lea r11, [r11 + rax*8]
add r8, 0x11e4
mov rdx, r15
call qword [rdi + r11 + 0x226260]
mov rdi, rax
sub rbx, rdi
mov r8, rdi
mov rdx, rbx
mov rcx, qword [r15 + 0x18]
call fcn.1401bb6d0
add qword [r15 + 0x18], rdi
cmp dword [r12 + 0x228], 0
jne 0x1400fab42
mov rax, qword [r12 + 0x320]
mov edi, dword [r12 + 8]
mov dword [rsp + 0x160], edi
mov r10, qword [r12 + 0x410]
lea rdi, [rax + 0xcb4]
mov qword [rsp + 0x150], rdi
lea rdi, [rax + 0x404]
mov qword [rsp + 0x148], rdi
lea rdi, [rax + 0x708]
mov qword [rsp + 0x140], rdi
mov rdi, qword [r15 + 0x30]
mov qword [rsp + 0x130], rdi
mov rdi, qword [r15 + 0x20]
mov qword [rsp + 0x128], rdi
mov rdi, qword [r15 + 0x28]
mov r11d, dword [r12 + 0xc4]
mov qword [rsp + 0x120], rdi
lea rdi, [r13 + r14]
mov dword [rsp + 0x170], r11d
mov qword [rsp + 0x118], rdi
mov r11, qword [r12 + 0x250]
mov rdi, qword [r15 + 8]
sub rdi, r11
mov r9d, dword [r12 + 0xac]
mov qword [rsp + 0x138], r11
mov rcx, qword [r15 + 0x10]
mov rdx, qword [r15 + 0x18]
sar rdi, 3
sub rdx, rcx
mov r11d, dword [r12 + 0xf0]
mov qword [rsp + 0x168], r10
lea r10, [r10 + 0xd4]
mov rbx, qword [r12 + 0x318]
mov qword [rsp + 0x178], rax
mov dword [rsp + 0x158], r9d
mov qword [rsp + 0x110], r10
cmp r11d, 1
je 0x1400fa30d
cmp r11d, 2
jne 0x1400fa2ff
mov r9d, 1
jmp 0x1400fa310
cmp dword [rsp + 0x170], 1
je 0x1400fad1d
xor r9d, r9d
mov rax, rsp
mov qword [rax + 0x20], r13
mov qword [rax + 0x28], r14
mov qword [rax + 0x30], rcx
mov rcx, rbx
mov qword [rax + 0x38], rdx
mov qword [rax + 0x40], r10
mov qword [rax + 0x48], 0x1904
mov r11d, dword [rsp + 0x160]
mov dword [rax + 0x50], r11d
mov rdx, qword [rsp + 0x178]
mov r8d, dword [rsp + 0x170]
call fcn.1401190a0
cmp rax, 0xffffffffffffff88
ja 0x1400faab1
mov r10, qword [rsp + 0x118]
lea r11, [rax + r13]
sub r10, r11
cmp r10, 4
jl 0x1400faaaa
cmp rdi, 0x80
jae 0x1400fa3c3
mov byte [r13 + rax], dil
lea r10, [rax + r13 + 1]
mov qword [rsp + 0x108], r10
test rdi, rdi
jne 0x1400fa40e
add rbx, 0x404
mov r8d, 0xde0
mov rdx, rbx
mov rcx, qword [rsp + 0x148]
call fcn.1401bb6d0
mov rax, qword [rsp + 0x108]
sub rax, r13
jmp 0x1400faab1
cmp rdi, 0x7f00
jae 0x1400fa3ef
mov r10, rdi
shr r10, 8
add r10, 0xffffffffffffff80
mov byte [r13 + rax], r10b
mov byte [r11 + 1], dil
lea r11, [rax + r13 + 2]
mov qword [rsp + 0x108], r11
jmp 0x1400fa40e
mov byte [r13 + rax], 0xff
lea r10, [rdi - 0x7f00]
mov word [r11 + 1], r10w
lea r11, [rax + r13 + 3]
mov qword [rsp + 0x108], r11
mov r11, qword [r15 + 0x28]
xor ecx, ecx
mov qword [rsp + 0xa8], r11
mov r11, qword [rsp + 0x108]
mov r8, qword [r12 + 0x250]
mov rdx, qword [r15 + 8]
sub rdx, r8
lea r11, [r11 + 1]
shr rdx, 3
mov r10, qword [r15 + 0x20]
mov rax, qword [r15 + 0x30]
mov qword [rsp + 0xb0], r11
test edx, edx
jbe 0x1400fa50e
mov qword [rsp + 0x90], r12
xor r11d, r11d
mov qword [rsp + 0x98], r13
mov qword [rsp + 0xa0], r14
mov r12, qword [rsp + 0xa8]
movzx r9d, word [r8 + rcx*8 + 4]
movzx r13d, word [r8 + rcx*8 + 6]
cmp r9d, 0x3f
ja 0x1400fa49a
lea r14, [0x140000000]
movzx r9d, byte [r14 + r9 + 0x2261a0]
jmp 0x1400fa4a9
xor r14d, r14d
bsr r9d, r9d
cmove r9d, r14d
add r9d, 0x13
mov byte [r10 + rcx], r9b
xor r14d, r14d
bsr r9d, dword [r8 + rcx*8]
cmove r9d, r14d
mov byte [rax + rcx], r9b
cmp r13d, 0x7f
ja 0x1400fa4d5
lea r14, [0x140000000]
movzx r14d, byte [r14 + r13 + 0x2261e0]
jmp 0x1400fa4e7
bsr r14d, r13d
mov r13d, 0
cmove r14d, r13d
add r14d, 0x24
inc r11d
mov byte [r12 + rcx], r14b
mov ecx, r11d
cmp r11d, edx
jb 0x1400fa476
mov r12, qword [rsp + 0x90]
mov r13, qword [rsp + 0x98]
mov r14, qword [rsp + 0xa0]
mov r11d, dword [r15 + 0x48]
cmp r11d, 1
jne 0x1400fa525
mov r11d, dword [r15 + 0x4c]
mov byte [r10 + r11], 0x23
mov r11d, dword [r15 + 0x48]
cmp r11d, 2
jne 0x1400fa53c
mov r11d, dword [r15 + 0x4c]
mov r10, qword [rsp + 0xa8]
mov byte [r10 + r11], 0x34
mov r11, rsp
lea rdx, [rsp + 0xd8]
mov r10, qword [rdx + 0x38]
mov r9, rdi
mov dword [rdx], 0x23
mov qword [r11 + 0x20], r10
mov qword [r11 + 0x28], 0x1904
mov rcx, qword [rdx + 0x90]
mov r8, qword [rdx + 0x50]
call fcn.1401197f0
mov r11, qword [rsp + 0x178]
lea r15, [rbx + 0xcb4]
mov r10d, dword [rbx + 0x11e0]
mov r9, rax
mov qword [rsp + 0x90], r15
mov dword [r11 + 0x11e0], r10d
mov r10, rsp
mov r8d, dword [rsp + 0xd8]
lea rcx, [r11 + 0x11e0]
mov qword [r10 + 0x30], r15
lea r15, [0x140226400]
mov qword [r10 + 0x20], rdi
mov dword [r10 + 0x28], 9
mov qword [r10 + 0x38], r15
mov dword [r10 + 0x40], 6
mov dword [r10 + 0x48], 1
mov r11d, dword [rsp + 0x170]
mov dword [r10 + 0x50], r11d
mov rdx, qword [rsp + 0x168]
call fcn.14011ac60
mov dword [rsp + 0xb8], eax
mov r10, rsp
mov r9d, 9
mov r11d, eax
mov rdx, qword [rsp + 0x118]
mov rcx, qword [rsp + 0xb0]
sub rdx, rcx
mov dword [r10 + 0x20], r11d
mov r15, qword [rsp + 0x168]
mov r11d, dword [rsp + 0xd8]
mov qword [r10 + 0x28], r15
mov dword [r10 + 0x30], r11d
mov r11, qword [rsp + 0x128]
mov qword [r10 + 0x38], r11
lea r11, [0x140226400]
mov qword [r10 + 0x40], rdi
mov qword [r10 + 0x48], r11
mov dword [r10 + 0x50], 6
mov dword [r10 + 0x58], 0x23
mov r11, qword [rsp + 0x90]
mov qword [r10 + 0x60], r11
mov qword [r10 + 0x68], 0x524
mov r11, qword [rsp + 0x110]
mov qword [r10 + 0x70], r11
mov qword [r10 + 0x78], 0x1904
mov r8, qword [rsp + 0x150]
call fcn.14011b570
cmp rax, 0xffffffffffffff88
ja 0x1400faab1
mov r10, qword [rsp + 0x108]
lea rdx, [rsp + 0xd4]
mov r15, qword [rdx + 0x3c]
mov r9, rdi
mov dword [rdx], 0x1f
lea r11, [rax + r10 + 1]
mov r10, rsp
mov qword [rdx - 0x34], r11
mov qword [r10 + 0x20], r15
mov qword [r10 + 0x28], 0x1904
mov rcx, qword [rdx + 0x94]
mov r8, qword [rdx + 0x5c]
call fcn.1401197f0
mov qword [rsp + 0x98], rax
mov r11, qword [rsp + 0x178]
lea r15, [rbx + 0x404]
mov r10d, dword [rbx + 0x11d8]
mov eax, dword [rsp + 0xd4]
cmp eax, 0x1c
mov dword [r11 + 0x11d8], r10d
mov r10, rsp
mov qword [rsp + 0x90], r15
lea rcx, [r11 + 0x11d8]
mov r8d, dword [rsp + 0xd4]
mov qword [r10 + 0x30], r15
lea r15, [0x14022651c]
mov qword [r10 + 0x38], r15
mov r15d, 0
setbe r15b
mov qword [r10 + 0x20], rdi
mov dword [r10 + 0x28], 8
mov dword [r10 + 0x40], 5
mov dword [r10 + 0x48], r15d
mov r11d, dword [rsp + 0x170]
mov dword [r10 + 0x50], r11d
mov rdx, qword [rsp + 0x168]
mov r9, qword [rsp + 0x98]
call fcn.14011ac60
mov dword [rsp + 0xa8], eax
mov r10, rsp
mov r9d, 8
mov r11d, eax
mov rdx, qword [rsp + 0x118]
mov rcx, qword [rsp + 0xa0]
sub rdx, rcx
mov dword [r10 + 0x20], r11d
mov r15, qword [rsp + 0x168]
mov r11d, dword [rsp + 0xd4]
mov qword [r10 + 0x28], r15
mov dword [r10 + 0x30], r11d
mov r11, qword [rsp + 0x130]
mov qword [r10 + 0x38], r11
lea r11, [0x14022651c]
mov qword [r10 + 0x40], rdi
mov qword [r10 + 0x48], r11
mov dword [r10 + 0x50], 5
mov dword [r10 + 0x58], 0x1c
mov r11, qword [rsp + 0x90]
mov qword [r10 + 0x60], r11
mov qword [r10 + 0x68], 0x304
mov r11, qword [rsp + 0x110]
mov qword [r10 + 0x70], r11
mov qword [r10 + 0x78], 0x1904
mov r8, qword [rsp + 0x148]
call fcn.14011b570
cmp rax, 0xffffffffffffff88
ja 0x1400faab1
mov r10, qword [rsp + 0xa0]
lea rdx, [rsp + 0xd0]
mov r15, qword [rdx + 0x40]
mov r9, rdi
mov dword [rdx], 0x34
lea r11, [rax + r10]
mov r10, rsp
mov qword [rdx - 0x40], r11
mov qword [r10 + 0x20], r15
mov qword [r10 + 0x28], 0x1904
mov rcx, qword [rdx + 0x98]
mov r8, qword [rdx + 0x50]
call fcn.1401197f0
mov rcx, qword [rsp + 0x178]
lea r11, [0x140226460]
mov r10d, dword [rbx + 0x11dc]
add rbx, 0x708
mov r9, rax
mov dword [rcx + 0x11dc], r10d
mov r10, rsp
add rcx, 0x11dc
mov r8d, dword [rsp + 0xd0]
mov qword [r10 + 0x20], rdi
mov dword [r10 + 0x28], 9
mov qword [r10 + 0x30], rbx
mov qword [r10 + 0x38], r11
mov dword [r10 + 0x40], 6
mov dword [r10 + 0x48], 1
mov r15d, dword [rsp + 0x170]
mov dword [r10 + 0x50], r15d
mov rdx, qword [rsp + 0x168]
call fcn.14011ac60
mov dword [rsp + 0x98], eax
mov r10, rsp
mov r9d, 9
mov r11d, eax
mov rdx, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x90]
sub rdx, rcx
mov dword [r10 + 0x20], r11d
mov r15, qword [rsp + 0x168]
mov r11d, dword [rsp + 0xd0]
mov qword [r10 + 0x28], r15
mov dword [r10 + 0x30], r11d
mov r11, qword [rsp + 0x120]
mov qword [r10 + 0x38], r11
lea r11, [0x140226460]
mov qword [r10 + 0x40], rdi
mov qword [r10 + 0x48], r11
mov dword [r10 + 0x50], 6
mov dword [r10 + 0x58], 0x34
mov qword [r10 + 0x60], rbx
mov qword [r10 + 0x68], 0x5ac
mov rbx, qword [rsp + 0x110]
mov qword [r10 + 0x70], rbx
mov qword [r10 + 0x78], 0x1904
mov r8, qword [rsp + 0x140]
call fcn.14011b570
cmp rax, 0xffffffffffffff88
ja 0x1400faab1
mov ebx, dword [rsp + 0xb8]
xor r10d, r10d
cmp ebx, 2
mov r11, qword [rsp + 0xb0]
mov r15d, dword [rsp + 0xa8]
cmovne r11, r10
shl ebx, 6
cmp r15d, 2
mov r10d, dword [rsp + 0x98]
cmove r11, qword [rsp + 0xa0]
cmp r10d, 2
mov rcx, qword [rsp + 0x90]
cmove r11, rcx
add rcx, rax
shl r15d, 4
add ebx, r15d
mov rdx, qword [rsp + 0x118]
mov qword [rsp + 0xb0], r11
sub rdx, rcx
mov qword [rsp + 0x90], rcx
lea ebx, [rbx + r10*4]
mov r10, qword [rsp + 0x108]
mov byte [r10], bl
mov rbx, rsp
mov r10, qword [rsp + 0x148]
mov qword [rbx + 0x20], r10
mov r10, qword [rsp + 0x130]
mov qword [rbx + 0x28], r10
mov r10, qword [rsp + 0x150]
mov qword [rbx + 0x30], r10
mov r10, qword [rsp + 0x128]
mov qword [rbx + 0x38], r10
mov r10, qword [rsp + 0x138]
mov qword [rbx + 0x40], r10
mov qword [rbx + 0x48], rdi
xor edi, edi
cmp dword [rsp + 0x158], 0x39
seta dil
mov dword [rbx + 0x50], edi
mov edi, dword [rsp + 0x160]
mov dword [rbx + 0x58], edi
mov r8, qword [rsp + 0x140]
mov r9, qword [rsp + 0x120]
call fcn.14011b8c0
cmp rax, 0xffffffffffffff88
ja 0x1400faab1
add rax, qword [rsp + 0x90]
cmp qword [rsp + 0xb0], 0
je 0x1400faaa5
mov rbx, qword [rsp + 0xb0]
neg rbx
add rbx, rax
cmp rbx, 4
jl 0x1400fac79
sub rax, r13
jmp 0x1400faab1
mov rax, 0xffffffffffffffba
test rax, rax
je 0x1400fac79
xor ebx, ebx
cmp rax, 0xffffffffffffffba
sete bl
xor edi, edi
cmp rbp, r14
setbe dil
test edi, ebx
jne 0x1400fac79
cmp rax, 0xffffffffffffff88
ja 0x1400fab09
mov ebx, dword [r12 + 0xc4]
mov ecx, 6
cmp ebx, 8
mov r8, rbp
lea edi, [rbx + 0x3f]
cmovge ecx, edi
shr r8, cl
neg r8
add r8, rbp
add r8, 0xfffffffffffffffe
cmp rax, r8
jae 0x1400fac79
cmp rax, 0xffffffffffffff88
ja 0x1400fac7b
cmp rax, 1
jbe 0x1400fac7b
mov rbx, qword [r12 + 0x318]
mov rdi, qword [r12 + 0x320]
mov qword [r12 + 0x318], rdi
mov qword [r12 + 0x320], rbx
jmp 0x1400fac83
mov r9, qword [r12 + 0x238]
xor r13d, r13d
mov rbx, qword [r12 + 0x230]
xor r11d, r11d
mov rdx, qword [r12 + 0x250]
xor r10d, r10d
mov rax, qword [r15 + 8]
lea rdi, [r9 + r9*4]
sub rax, rdx
lea r14, [rbx + rdi*4]
sar rax, 3
je 0x1400fac53
mov ebx, dword [rdx + r13*8]
mov dword [r10 + r14 + 4], ebx
movzx edi, word [rdx + r13*8 + 4]
mov dword [r10 + r14 + 8], edi
movzx r9d, word [rdx + r13*8 + 6]
lea ecx, [r9 + 3]
mov dword [r10 + r14 + 0xc], ecx
mov r8d, dword [r15 + 0x4c]
cmp r13, r8
jne 0x1400fabcf
mov ecx, dword [r15 + 0x48]
cmp ecx, 1
jne 0x1400fabbe
add edi, 0x10000
mov dword [r10 + r14 + 8], edi
jmp 0x1400fabcf
cmp ecx, 2
jne 0x1400fabcf
add r9d, 0x10003
mov dword [r10 + r14 + 0xc], r9d
cmp ebx, 3
ja 0x1400fac24
mov r9d, r13d
mov ecx, r9d
sub ecx, ebx
test edi, edi
jne 0x1400fabf5
dec ecx
dec r9d
cmp ebx, 3
cmovae ecx, r9d
inc ebx
mov dword [r10 + r14 + 0x10], ebx
jmp 0x1400fabfa
mov dword [r10 + r14 + 0x10], ebx
test ecx, ecx
jl 0x1400fad32
movsxd rcx, ecx
lea r9, [rcx + rcx*4]
mov r9d, dword [r14 + r9*4 + 4]
cmp ebx, 4
jne 0x1400fac1d
dec r9d
mov dword [r10 + r14 + 4], r9d
jmp 0x1400fac2c
mov dword [r10 + r14 + 4], r9d
jmp 0x1400fac2c
add ebx, 0xfffffffd
mov dword [r10 + r14 + 4], ebx
add edi, r11d
inc r13
mov r11d, dword [r10 + r14 + 0xc]
mov dword [r10 + r14], edi
add r11d, edi
add r10, 0x14
cmp r13, rax
jb 0x1400fab7c
mov r9, qword [r12 + 0x238]
add rax, r9
mov qword [r12 + 0x238], rax
xor eax, eax
jmp 0x1400fac96
mov rdx, rbp
lea rcx, [r12 + 0x2f0]
mov r8d, dword [rcx - 0x234]
call fcn.1401158a0
xor eax, eax
mov rdi, qword [r12 + 0x318]
cmp dword [rdi + 0x11d8], 2
jne 0x1400fac96
mov dword [rdi + 0x11d8], 1
cmp rax, 0xffffffffffffff88
ja 0x1400facee
mov rdi, qword [r12 + 0x198]
add rax, rsi
add qword [r12 + 0x1a0], rax
mov rcx, qword [r12 + 0x190]
lea rbx, [rbp + rdi]
mov qword [r12 + 0x198], rbx
test rcx, rcx
je 0x1400facee
lea rdx, [rbp + rdi + 1]
cmp rdx, rcx
jbe 0x1400facee
mov rax, 0xffffffffffffffb8
add rsp, 0x188
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
add rsp, 0x188
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rax, 0xffffffffffffffc4
add rsp, 0x188
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
xor r9d, r9d
cmp dword [r12 + 0xc0], 0
seta r9b
jmp 0x1400fa310
movsxd rcx, ecx
lea r9, [0x140000000]
neg rcx
mov r9d, dword [r9 + rcx*4 + 0x22650c]
jmp 0x1400fac0e
mov r11, rsp
lea rcx, [r12 + 0x2f0]
mov r9, qword [rcx + 0x30]
mov rdx, rdi
add r9, 0x11e4
mov r8, r15
mov qword [r11 + 0x20], r10
mov qword [r11 + 0x28], rbp
call fcn.140115930
jmp 0x1400fa1d4
mov eax, r11d
xor r9d, r9d
sar eax, 3
shr eax, 0x1c
add eax, r11d
sar eax, 4
mov r15, qword [rdi + 0x40]
test eax, eax
jle 0x1400f9e66
vmovd xmm0, edx
vpshufd xmm1, xmm0, 0
vmovdqu xmm4, xmmword [0x1402264f0]
vpcmpeqd xmm0, xmm0, xmm0
vmovdqu xmm3, xmmword [0x140226500]
vpsubd xmm2, xmm1, xmm4
vmovups xmmword [rsp + 0xc0], xmm6
vmovups xmmword [rsp + 0x80], xmm15
xor r11d, r11d
lea r8, [r15 + r9*4]
vmovdqu xmm5, xmmword [r8]
vpcmpeqd xmm15, xmm3, xmm5
add r11d, 4
vpand xmm6, xmm1, xmm15
vpaddd xmm6, xmm5, xmm6
vpsubd xmm15, xmm6, xmm4
vpcmpgtd xmm5, xmm2, xmm15
vpxor xmm15, xmm5, xmm0
vpand xmm15, xmm1, xmm15
vpsubd xmm6, xmm6, xmm15
vpandn xmm5, xmm5, xmm6
vmovdqu xmmword [r8], xmm5
add r8, 0x10
cmp r11d, 0x10
jb 0x1400fadd2
inc ecx
add r9d, r11d
add r11d, 0xfffffff0
sub r9d, r11d
movsxd r9, r9d
cmp ecx, eax
jb 0x1400fadcb
vmovups xmm6, xmmword [rsp + 0xc0]
vmovups xmm15, xmmword [rsp + 0x80]
jmp 0x1400f9e66
mov rdx, qword [r12 + 0x2b0]
mov qword [rsp + 0x80], rdx
mov edx, dword [r12 + 0x2bc]
mov r8d, dword [r12 + 0x2b8]
jmp 0x1400f9ae2
mov r15d, dword [rdi + 0x1c]
mov ecx, r15d
mov r11, qword [rdi + 0x10]
mov eax, dword [rdi + 0x18]
jmp 0x1400f9a22
mov rbx, rsp
lea r8, [r12 + 0xa8]
mov r9, qword [r8 + 0xe8]
mov rcx, r13
mov eax, dword [r8 + 0x98]
dec r9
mov rdx, r14
mov dword [rbx + 0x20], eax
mov qword [rsp + 0x90], r10
call fcn.1400f30c0
mov r10, qword [rsp + 0x90]
mov rsi, rax
cmp rsi, 0xffffffffffffff88
ja 0x1400f99c5
mov dword [r12], 2
sub r14, rsi
add r13, rsi
jmp 0x1400f99b8