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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
movaps xmmword [rsp + 0xb0], xmm10
movaps xmmword [rsp + 0xa0], xmm9
movaps xmmword [rsp + 0x90], xmm8
movaps xmmword [rsp + 0x80], xmm7
movaps xmmword [rsp + 0x70], xmm6
mov r12, rcx
call fcn.1401fe5a0
mov r8d, dword [r12 + 0x68]
cmp r8d, 2
mov qword [rsp + 0x60], r12
jl 0x1401eb97f
lea rax, [r12 + 0x58]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x28], 1
xorps xmm6, xmm6
movaps xmm8, xmmword [0x1403cd740]
movaps xmm9, xmmword [0x1403cd750]
movaps xmm7, xmmword [0x1403cd760]
jmp 0x1401eb440
add dword [rsp + 0x28], 1
cmp dword [rsp + 0x28], r8d
jge 0x1401eb97f
mov ebx, dword [r12 + 0x28]
test ebx, ebx
jle 0x1401eb4b0
mov rcx, qword [r12 + 0x60]
mov rax, qword [r12 + 0xf8]
movsxd r15, dword [rsp + 0x28]
mov rbp, qword [rax + r15*8]
mov rdx, rbx
neg rdx
mov al, 1
mov esi, 1
jmp 0x1401eb48c
cmp rsi, rbx
setb al
lea rdi, [rdx + rsi]
add rdi, 1
add rsi, 1
add rbp, 0xc
cmp rdi, 1
je 0x1401eb4a5
cmp byte [rbp], 0
je 0x1401eb470
mov rdi, qword [rcx + r15*8]
mov rdi, qword [rdi + 8]
mov rdi, qword [rdi + rsi*8 - 8]
cmp dword [rdi + 0x38], 0
jne 0x1401eb470
test al, 1
jne 0x1401eb430
jmp 0x1401eb4ba
movsxd r15, dword [rsp + 0x28]
mov rcx, qword [r12 + 0x60]
mov rdx, qword [rcx + r15*8]
lea rax, [rsp + 0x50]
movups xmmword [rax], xmm6
lea rcx, [rsp + 0x48]
call fcn.140228a50
mov eax, dword [r12 + 0x30]
cmp eax, dword [rsp + 0x28]
jle 0x1401eb4e3
add eax, 0xffffffff
mov dword [r12 + 0x30], eax
mov ecx, dword [r12 + 0x28]
test ecx, ecx
jle 0x1401eb550
mov rax, qword [r12 + 0x60]
mov rdx, qword [r12 + 0xf8]
mov rdx, qword [rdx + r15*8]
add rdx, 8
xor ebp, ebp
jmp 0x1401eb51d
add rbp, 1
add rdx, 0xc
cmp rcx, rbp
je 0x1401eb555
cmp byte [rdx - 8], 0
jne 0x1401eb510
mov ebx, dword [rdx - 4]
cmp rbp, rbx
jne 0x1401eb510
movsxd rbx, ebx
movsxd rdi, dword [rdx]
mov rdi, qword [rax + rdi*8]
mov rdi, qword [rdi + 8]
mov rbx, qword [rdi + rbx*8]
add dword [rbx + 0x38], 0xffffffff
jmp 0x1401eb510
mov rax, qword [r12 + 0x60]
lea rdx, [rax + r15*8]
lea r8, [rax + r15*8]
add r8, 8
mov rcx, qword [rsp + 0x68]
call fcn.140228890
mov rax, qword [r12 + 0x60]
lea rcx, [rax + r15*8]
lea rdx, [rax + r15*8]
add rdx, 8
mov eax, dword [rsp + 0x28]
not eax
add eax, dword [r12 + 0x68]
movsxd r8, eax
shl r8, 3
call sub.msvcrt.dll_memmove
add dword [r12 + 0x68], 0xffffffff
mov eax, dword [r12 + 0x28]
test eax, eax
jle 0x1401eb830
xor r12d, r12d
jmp 0x1401eb5f9
mov qword [r14], 0
mov eax, dword [r13 + 0x88]
mov dword [rsi + 0x88], eax
mov eax, dword [r13 + 0x8c]
mov dword [rsi + 0x8c], eax
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx + 0x60]
mov rax, qword [rax + r15*8]
mov rax, qword [rax + 8]
mov r13, qword [rax + r12*8]
mov eax, dword [rcx + 0x28]
add dword [r13 + 0x38], 0xffffffff
add r12, 1
movsxd rcx, eax
cmp r12, rcx
jge 0x1401eb830
mov rbp, qword [rsp + 0x60]
mov rcx, qword [rbp + 0xf8]
mov rcx, qword [rcx + r15*8]
lea rdx, [r12 + r12*2]
cmp byte [rcx + rdx*4], 0
je 0x1401eb5e9
mov rcx, qword [rsp + 0x50]
mov r13, qword [rcx + r12*8]
mov rcx, qword [rbp + 0x60]
mov rcx, qword [rcx + r15*8]
mov rcx, qword [rcx + 8]
mov rsi, qword [rcx + r12*8]
cmp rsi, r13
je 0x1401eb5e4
mov rdi, qword [rsi + 0x80]
cmp rdi, 2
jae 0x1401eb654
mov rdi, qword [rsi + 0x78]
cmp rdi, 2
jae 0x1401eb66e
lea r14, [rsi + 0x68]
cmp byte [rsi + 0x76], 0
jne 0x1401eb688
jmp 0x1401eb690
mov rcx, rdi
call fcn.1400ddf80
mov rcx, rdi
call fcn.14030dfb0
mov rdi, qword [rsi + 0x78]
cmp rdi, 2
jb 0x1401eb648
mov rcx, rdi
call fcn.1400ddf80
mov rcx, rdi
call fcn.14030dfb0
lea r14, [rsi + 0x68]
cmp byte [rsi + 0x76], 0
je 0x1401eb690
mov rcx, r14
call fcn.14030abf0
lea rdi, [rsi + 0x58]
cmp byte [rsi + 0x66], 0
je 0x1401eb6a2
mov rcx, rdi
call fcn.14030abf0
mov qword [rsp + 0x38], rdi
mov rdi, qword [rsi + 0x48]
test rdi, rdi
je 0x1401eb705
mov ebp, dword [rsi + 0x50]
test ebp, ebp
js 0x1401eb6fd
test rbp, rbp
je 0x1401eb6fd
shl rbp, 4
xor ebx, ebx
jmp 0x1401eb6e2
mov qword [rdi + rbx + 8], 0
add rbx, 0x10
cmp rbp, rbx
je 0x1401eb6f4
mov rcx, qword [rdi + rbx + 8]
test rcx, rcx
je 0x1401eb6d0
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x1401eb6d0
mov rdi, qword [rsi + 0x48]
test rdi, rdi
je 0x1401eb705
mov rcx, rdi
call fcn.140309590
mov qword [rsp + 0x30], r14
movups xmmword [rsi + 0x14], xmm8
movups xmmword [rsi + 4], xmm6
movups xmmword [rsi + 0x24], xmm9
mov word [rsi + 0x34], 0
lea r14, [rsi + 0x48]
movups xmmword [rsi + 0x48], xmm6
movups xmmword [rsi + 0x58], xmm6
movups xmmword [rsi + 0x68], xmm6
movups xmmword [rsi + 0x78], xmm6
mov dword [rsi + 0xa0], 0
movups xmmword [rsi + 0x90], xmm7
mov qword [rsi + 0x88], 0
movdqu xmm0, xmmword [r13 + 4]
movdqu xmm1, xmmword [r13 + 0x14]
movdqu xmm2, xmmword [r13 + 0x24]
movdqu xmmword [rsi + 4], xmm0
movdqu xmmword [rsi + 0x24], xmm2
movdqu xmmword [rsi + 0x14], xmm1
movzx eax, word [r13 + 0x34]
mov word [rsi + 0x34], ax
mov eax, dword [r13 + 0x3c]
mov dword [rsi + 0x3c], eax
mov eax, dword [r13 + 0x38]
mov dword [rsi + 0x38], eax
movups xmmword [rsi + 0x48], xmm6
movups xmmword [rsi + 0x58], xmm6
movups xmmword [rsi + 0x68], xmm6
movups xmmword [rsi + 0x78], xmm6
mov dword [rsi + 0xa0], 0
movups xmmword [rsi + 0x90], xmm7
mov qword [rsi + 0x88], 0
movsxd rdi, dword [r13 + 0x50]
mov dword [rsi + 0x54], edi
mov dword [rsi + 0x50], edi
cmp qword [r13 + 0x48], 0
je 0x1401eb5ab
shl rdi, 4
mov qword [rsp + 0x40], rdi
lea rcx, [rsp + 0x40]
call fcn.140308c80
mov rcx, rax
mov rax, qword [rsp + 0x40]
sub rax, rdi
shr rax, 4
add dword [rsi + 0x54], eax
mov qword [rsi + 0x48], rcx
mov rdx, qword [r13 + 0x48]
movsxd rdi, dword [rsi + 0x50]
shl rdi, 4
nop dword [rax]
test rdi, rdi
je 0x1401eb5b2
lea rbx, [rcx + 0x10]
lea rbp, [rdx + 0x10]
add rdi, 0xfffffffffffffff0
call fcn.1401ea3b0
mov rdx, rbp
mov rcx, rbx
jmp 0x1401eb800
mov r12, qword [rsp + 0x60]
mov rcx, r12
call fcn.1401fe5a0
mov eax, dword [rsp + 0x58]
test eax, eax
jle 0x1401eb960
xor r14d, r14d
jmp 0x1401eb87b
mov rdi, qword [rsi + 0x48]
test rdi, rdi
je 0x1401eb85f
mov rcx, rdi
call fcn.140309590
mov rcx, rsi
call fcn.14030dfb0
mov eax, dword [rsp + 0x58]
add r14, 1
movsxd rcx, eax
cmp r14, rcx
jge 0x1401eb960
mov rcx, qword [rsp + 0x50]
mov rsi, qword [rcx + r14*8]
test rsi, rsi
je 0x1401eb86b
mov rdi, qword [rsi + 0x80]
cmp rdi, 2
jae 0x1401eb8b0
mov rdi, qword [rsi + 0x78]
cmp rdi, 2
jae 0x1401eb8ca
cmp byte [rsi + 0x76], 0
jne 0x1401eb8e0
jmp 0x1401eb8e9
mov rcx, rdi
call fcn.1400ddf80
mov rcx, rdi
call fcn.14030dfb0
mov rdi, qword [rsi + 0x78]
cmp rdi, 2
jb 0x1401eb8a0
mov rcx, rdi
call fcn.1400ddf80
mov rcx, rdi
call fcn.14030dfb0
cmp byte [rsi + 0x76], 0
je 0x1401eb8e9
lea rcx, [rsi + 0x68]
call fcn.14030abf0
cmp byte [rsi + 0x66], 0
je 0x1401eb8f8
lea rcx, [rsi + 0x58]
call fcn.14030abf0
mov rdi, qword [rsi + 0x48]
test rdi, rdi
je 0x1401eb85f
mov ebp, dword [rsi + 0x50]
test ebp, ebp
js 0x1401eb857
test rbp, rbp
je 0x1401eb857
shl rbp, 4
xor ebx, ebx
jmp 0x1401eb946
mov qword [rdi + rbx + 8], 0
add rbx, 0x10
cmp rbp, rbx
je 0x1401eb84e
mov rcx, qword [rdi + rbx + 8]
test rcx, rcx
je 0x1401eb930
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x1401eb930
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1401eb96f
call fcn.140309590
mov r8d, dword [r12 + 0x68]
cmp dword [rsp + 0x28], r8d
jl 0x1401eb440
mov ecx, dword [r12 + 0x28]
cmp ecx, 2
jl 0x1401ec25f
mov edi, 1
xorps xmm6, xmm6
movaps xmm8, xmmword [0x1403cd770]
movaps xmm7, xmmword [0x1403cd740]
movaps xmm9, xmmword [0x1403cd750]
movaps xmm10, xmmword [0x1403cd760]
test r8d, r8d
mov qword [rsp + 0x28], rdi
jg 0x1401eb9e0
jmp 0x1401eb9cf
mov r8d, dword [r12 + 0x68]
test r8d, r8d
mov qword [rsp + 0x28], rdi
jg 0x1401eb9e0
movsxd rcx, edi
lea rax, [rsp + 0x50]
movups xmmword [rax], xmm6
jmp 0x1401ebe5d
mov rax, qword [r12 + 0xf8]
movsxd rdx, edi
mov rbp, qword [rax]
mov qword [rsp + 0x68], rdx
lea rdx, [rdx + rdx*2]
cmp byte [rbp + rdx*4], 0
je 0x1401eba10
mov rdi, qword [rsp + 0x28]
add edi, 1
cmp edi, ecx
jl 0x1401eb9c0
jmp 0x1401ec25f
mov ebp, r8d
lea rbx, [rbp - 1]
xor edi, edi
nop dword [rax]
cmp rbx, rdi
je 0x1401eba39
mov rsi, qword [rax + rdi*8 + 8]
add rdi, 1
cmp byte [rsi + rdx*4], 0
je 0x1401eba20
cmp rdi, rbp
jb 0x1401eb9fe
lea rax, [rsp + 0x50]
movups xmmword [rax], xmm6
xor edi, edi
mov rcx, r12
xor r12d, r12d
jmp 0x1401eba66
add r12, 1
mov rcx, qword [rsp + 0x60]
movsxd rax, dword [rcx + 0x68]
cmp r12, rax
jge 0x1401ebe50
mov rax, qword [rcx + 0x60]
mov rax, qword [rax + r12*8]
mov rax, qword [rax + 8]
mov rcx, qword [rsp + 0x68]
mov r14, qword [rax + rcx*8]
mov ecx, 0xa8
call fcn.14030dfa0
mov r15, rax
mov rbx, rax
movups xmmword [r15 + 0x78], xmm6
movups xmmword [r15 + 0x68], xmm6
movups xmmword [r15 + 0x58], xmm6
movups xmmword [r15 + 0x48], xmm6
mov dword [r15 + 0xa0], 0
mov qword [r15 + 0x98], 0xffffffffffffffff
movups xmmword [r15 + 0x88], xmm8
movups xmmword [r15 + 4], xmm6
movups xmmword [r15 + 0x14], xmm7
movups xmmword [r15 + 0x24], xmm9
mov word [r15 + 0x34], 0
mov qword [r15 + 0x38], 0
mov rcx, r15
call fcn.1401f9d70
mov esi, dword [rsp + 0x5c]
mov rdx, qword [rsp + 0x50]
mov rcx, rdi
cmp ecx, esi
jge 0x1401ebb10
movsxd rax, ecx
add ecx, 1
mov dword [rsp + 0x58], ecx
mov qword [rdx + rax*8], rbx
mov eax, ecx
mov qword [rsp + 0x38], rax
jmp 0x1401ebcb0
mov qword [rsp + 0x30], rdx
cmp esi, 0x7fffffff
jne 0x1401ebb29
lea rcx, [0x1403cf092]
call fcn.140255450
mov r13d, esi
sar r13d, 1
add r13d, esi
cmp esi, 0x55555554
mov eax, 0x7fffffff
cmovge r13d, eax
lea eax, [rsi + 1]
cmp eax, r13d
cmovg r13d, eax
movsxd rsi, r13d
shl rsi, 3
mov qword [rsp + 0x40], rsi
test byte [rsp + 0x30], 0x10
je 0x1401ebb90
mov rcx, qword [rsp + 0x30]
lea rdx, [rsp + 0x40]
call fcn.140309a70
test al, al
je 0x1401ebb90
mov qword [rsp + 0x50], 0
mov r9b, 1
xor edx, edx
mov rbp, qword [rsp + 0x30]
jmp 0x1401ebbb6
test r13d, r13d
je 0x1401ebbac
lea rcx, [rsp + 0x40]
call fcn.140308c80
mov rbp, rax
xor r9d, r9d
mov rdx, qword [rsp + 0x30]
jmp 0x1401ebbb6
xor r9d, r9d
mov rdx, qword [rsp + 0x30]
xor ebp, ebp
mov rax, qword [rsp + 0x40]
sub rax, rsi
shr rax, 3
add eax, r13d
cmp r13d, 0x7fffffff
cmove eax, r13d
mov dword [rsp + 0x5c], eax
test rdx, rdx
je 0x1401ebc80
test rbp, rbp
je 0x1401ebc80
movsxd r8, edi
cmp edi, 2
ja 0x1401ebc06
test r8, r8
je 0x1401ebc80
cmp r8, 1
jne 0x1401ebc3e
mov rax, qword [rdx]
mov qword [rbp], rax
jmp 0x1401ebc80
movdqu xmm0, xmmword [rdx + r8*8 - 0x10]
movdqu xmmword [rbp + r8*8 - 0x10], xmm0
cmp edi, 8
jb 0x1401ebc2d
shl r8, 3
mov rcx, rbp
mov rsi, r9
call fcn.140252bb0
mov r9, rsi
jmp 0x1401ebc80
test r8b, 4
jne 0x1401ebc4f
mov rax, rbp
test r8b, 2
jne 0x1401ebc6e
jmp 0x1401ebc80
mov rax, qword [rdx]
mov qword [rbp], rax
mov rax, qword [rdx + 8]
mov qword [rbp + 8], rax
jmp 0x1401ebc80
movups xmm0, xmmword [rdx]
movups xmmword [rbp], xmm0
movdqu xmm0, xmmword [rdx + 0x10]
movdqu xmmword [rbp + 0x10], xmm0
lea rax, [rbp + 0x20]
add rdx, 0x20
test r8b, 2
je 0x1401ebc80
movdqu xmm0, xmmword [rdx]
movdqu xmmword [rax], xmm0
nop word cs:[rax + rax]
mov qword [rsp + 0x50], rbp
movsxd rax, dword [rsp + 0x58]
lea ecx, [rax + 1]
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x58], ecx
mov qword [rbp + rax*8], rbx
mov rcx, qword [rsp + 0x30]
test rcx, rcx
sete al
or r9b, al
jne 0x1401ebcb0
call fcn.140309590
cmp r14, r15
mov rdi, qword [rsp + 0x38]
je 0x1401eba50
mov rbp, qword [rbx + 0x80]
cmp rbp, 2
jae 0x1401ebce0
mov rbp, qword [rbx + 0x78]
cmp rbp, 2
jae 0x1401ebcfa
cmp byte [rbx + 0x76], 0
jne 0x1401ebd10
jmp 0x1401ebd19
mov rcx, rbp
call fcn.1400ddf80
mov rcx, rbp
call fcn.14030dfb0
mov rbp, qword [rbx + 0x78]
cmp rbp, 2
jb 0x1401ebcd5
mov rcx, rbp
call fcn.1400ddf80
mov rcx, rbp
call fcn.14030dfb0
cmp byte [rbx + 0x76], 0
je 0x1401ebd19
lea rcx, [r15 + 0x68]
call fcn.14030abf0
cmp byte [rbx + 0x66], 0
je 0x1401ebd28
lea rcx, [r15 + 0x58]
call fcn.14030abf0
lea r13, [r15 + 0x48]
mov rbp, qword [r13]
test rbp, rbp
je 0x1401ebd9d
mov edi, dword [rbx + 0x50]
test edi, edi
js 0x1401ebd80
test rdi, rdi
je 0x1401ebd80
shl rdi, 4
xor esi, esi
jmp 0x1401ebd62
mov qword [rbp + rsi + 8], 0
add rsi, 0x10
cmp rdi, rsi
je 0x1401ebd87
mov rcx, qword [rbp + rsi + 8]
test rcx, rcx
je 0x1401ebd50
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x1401ebd50
mov rdi, qword [rsp + 0x38]
jmp 0x1401ebd95
mov rbp, qword [r13]
test rbp, rbp
mov rdi, qword [rsp + 0x38]
je 0x1401ebd9d
mov rcx, rbp
call fcn.140309590
lea rax, [r15 + 4]
add r15, 0x40
movups xmmword [rbx + 0x14], xmm7
movups xmmword [rax], xmm6
mov qword [rbx + 0x24], 3
mov qword [rbx + 0x2c], 0xffffff
mov word [rbx + 0x34], 0
movups xmmword [r13 + 0x30], xmm6
movups xmmword [r13 + 0x20], xmm6
movups xmmword [r13 + 0x10], xmm6
movups xmmword [r13], xmm6
mov dword [rbx + 0xa0], 0
mov qword [rbx + 0x98], 0xffffffffffffffff
movups xmmword [rbx + 0x88], xmm8
movdqu xmm0, xmmword [r14 + 4]
movdqu xmm1, xmmword [r14 + 0x14]
movdqu xmm2, xmmword [r14 + 0x24]
movdqu xmmword [rax], xmm0
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax + 0x20], xmm2
movzx ecx, word [r14 + 0x34]
mov word [rax + 0x30], cx
mov eax, dword [r14 + 0x3c]
mov dword [rbx + 0x3c], eax
mov eax, dword [r14 + 0x38]
mov dword [rbx + 0x38], eax
add r14, 0x40
cmp r14, r15
je 0x1401eba50
mov rcx, r15
mov rdx, r14
call fcn.1401eee00
jmp 0x1401eba50
mov r12, rcx
mov rdi, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x68]
mov rax, qword [r12 + 0x20]
mov r15, rcx
mov esi, dword [rax + rcx*4]
mov rcx, r12
mov edx, edi
call fcn.1401febb0
mov eax, dword [r12 + 0x28]
add eax, 0xffffffff
lea ecx, [rdi - 1]
cmp eax, ecx
cmovge eax, ecx
mov rcx, qword [r12 + 0x20]
cdqe
add dword [rcx + rax*4], esi
mov eax, dword [r12 + 0x68]
test eax, eax
jle 0x1401ec110
xor r13d, r13d
jmp 0x1401ebeda
mov qword [rbp], 0
mov eax, dword [r14 + 0x88]
mov dword [rsi + 0x88], eax
mov eax, dword [r14 + 0x8c]
mov dword [rsi + 0x8c], eax
mov eax, dword [r12 + 0x68]
mov rdi, qword [rsp + 0x28]
add r13, 1
movsxd rcx, eax
cmp r13, rcx
jge 0x1401ec110
mov rcx, qword [r12 + 0xf8]
mov rcx, qword [rcx + r13*8]
lea rdx, [r15 + r15*2]
cmp byte [rcx + rdx*4], 0
je 0x1401ebeca
mov rbp, r15
mov rcx, qword [rsp + 0x50]
mov r14, qword [rcx + r13*8]
mov rcx, qword [r12 + 0x60]
mov rcx, qword [rcx + r13*8]
mov rcx, qword [rcx + 8]
mov rsi, qword [rcx + r15*8]
cmp rsi, r14
je 0x1401ebeca
mov rdi, qword [rsi + 0x80]
cmp rdi, 2
jae 0x1401ebf35
mov rdi, qword [rsi + 0x78]
cmp rdi, 2
jae 0x1401ebf4f
lea rdi, [rsi + 0x68]
cmp byte [rsi + 0x76], 0
jne 0x1401ebf69
jmp 0x1401ebf71
mov rcx, rdi
call fcn.1400ddf80
mov rcx, rdi
call fcn.14030dfb0
mov rdi, qword [rsi + 0x78]
cmp rdi, 2
jb 0x1401ebf29
mov rcx, rdi
call fcn.1400ddf80
mov rcx, rdi
call fcn.14030dfb0
lea rdi, [rsi + 0x68]
cmp byte [rsi + 0x76], 0
je 0x1401ebf71
mov rcx, rdi
call fcn.14030abf0
mov qword [rsp + 0x38], rdi
lea rdi, [rsi + 0x58]
cmp byte [rsi + 0x66], 0
je 0x1401ebf88
mov rcx, rdi
call fcn.14030abf0
mov qword [rsp + 0x30], rdi
mov rbp, qword [rsi + 0x48]
test rbp, rbp
je 0x1401ebfe5
mov edi, dword [rsi + 0x50]
test edi, edi
js 0x1401ebfdd
test rdi, rdi
je 0x1401ebfdd
shl rdi, 4
xor ebx, ebx
jmp 0x1401ebfc2
mov qword [rbp + rbx + 8], 0
add rbx, 0x10
cmp rdi, rbx
je 0x1401ebfd4
mov rcx, qword [rbp + rbx + 8]
test rcx, rcx
je 0x1401ebfb0
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x1401ebfb0
mov rbp, qword [rsi + 0x48]
test rbp, rbp
je 0x1401ebfe5
mov rcx, rbp
call fcn.140309590
movups xmmword [rsi + 0x14], xmm7
movups xmmword [rsi + 4], xmm6
movups xmmword [rsi + 0x24], xmm9
mov word [rsi + 0x34], 0
lea rbp, [rsi + 0x48]
movups xmmword [rsi + 0x48], xmm6
movups xmmword [rsi + 0x58], xmm6
movups xmmword [rsi + 0x68], xmm6
movups xmmword [rsi + 0x78], xmm6
mov dword [rsi + 0xa0], 0
movups xmmword [rsi + 0x90], xmm10
mov qword [rsi + 0x88], 0
movdqu xmm0, xmmword [r14 + 4]
movdqu xmm1, xmmword [r14 + 0x14]
movdqu xmm2, xmmword [r14 + 0x24]
movdqu xmmword [rsi + 4], xmm0
movdqu xmmword [rsi + 0x24], xmm2
movdqu xmmword [rsi + 0x14], xmm1
movzx eax, word [r14 + 0x34]
mov word [rsi + 0x34], ax
mov eax, dword [r14 + 0x3c]
mov dword [rsi + 0x3c], eax
mov eax, dword [r14 + 0x38]
mov dword [rsi + 0x38], eax
movups xmmword [rsi + 0x48], xmm6
movups xmmword [rsi + 0x58], xmm6
movups xmmword [rsi + 0x68], xmm6
movups xmmword [rsi + 0x78], xmm6
mov dword [rsi + 0xa0], 0
movups xmmword [rsi + 0x90], xmm10
mov qword [rsi + 0x88], 0
movsxd rdi, dword [r14 + 0x50]
mov dword [rsi + 0x54], edi
mov dword [rsi + 0x50], edi
cmp qword [r14 + 0x48], 0
je 0x1401ebe9e
shl rdi, 4
mov qword [rsp + 0x40], rdi
lea rcx, [rsp + 0x40]
call fcn.140308c80
mov rcx, rax
mov rax, qword [rsp + 0x40]
sub rax, rdi
shr rax, 4
add dword [rsi + 0x54], eax
mov qword [rsi + 0x48], rcx
mov rdx, qword [r14 + 0x48]
movsxd rdi, dword [rsi + 0x50]
shl rdi, 4
nop dword [rax + rax]
test rdi, rdi
je 0x1401ebea6
lea rbx, [rcx + 0x10]
lea r12, [rdx + 0x10]
add rdi, 0xfffffffffffffff0
call fcn.1401ea3b0
mov rdx, r12
mov r12, qword [rsp + 0x60]
mov rcx, rbx
jmp 0x1401ec0e0
mov rcx, r12
call fcn.1401fe5a0
mov r14d, dword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
test r14d, r14d
jle 0x1401ec240
xor ebp, ebp
jmp 0x1401ec15b
mov rbx, qword [r12 + 0x48]
test rbx, rbx
mov rdi, qword [rsp + 0x28]
je 0x1401ec146
mov rcx, rbx
call fcn.140309590
mov rcx, r12
call fcn.14030dfb0
add rbp, 1
cmp rbp, r14
je 0x1401ec240
mov r12, qword [r15 + rbp*8]
test r12, r12
je 0x1401ec14e
mov rbx, qword [r12 + 0x80]
cmp rbx, 2
jae 0x1401ec190
mov rbx, qword [r12 + 0x78]
cmp rbx, 2
jae 0x1401ec1ab
cmp byte [r12 + 0x76], 0
jne 0x1401ec1c3
jmp 0x1401ec1cd
mov rcx, rbx
call fcn.1400ddf80
mov rcx, rbx
call fcn.14030dfb0
mov rbx, qword [r12 + 0x78]
cmp rbx, 2
jb 0x1401ec17d
mov rcx, rbx
call fcn.1400ddf80
mov rcx, rbx
call fcn.14030dfb0
cmp byte [r12 + 0x76], 0
je 0x1401ec1cd
lea rcx, [r12 + 0x68]
call fcn.14030abf0
cmp byte [r12 + 0x66], 0
je 0x1401ec1df
lea rcx, [r12 + 0x58]
call fcn.14030abf0
mov rbx, qword [r12 + 0x48]
test rbx, rbx
je 0x1401ec146
mov esi, dword [r12 + 0x50]
test esi, esi
js 0x1401ec13e
test rsi, rsi
je 0x1401ec13e
shl rsi, 4
xor edi, edi
jmp 0x1401ec226
mov qword [rbx + rdi + 8], 0
add rdi, 0x10
cmp rsi, rdi
je 0x1401ec12f
mov rcx, qword [rbx + rdi + 8]
test rcx, rcx
je 0x1401ec210
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x1401ec210
test r15, r15
je 0x1401ec24d
mov rcx, r15
call fcn.140309590
mov r12, qword [rsp + 0x60]
mov ecx, dword [r12 + 0x28]
cmp edi, ecx
jl 0x1401eb9c0
test ecx, ecx
je 0x1401ec2bf
mov rbp, qword [r12 + 0x20]
movsxd r8, ecx
movabs rsi, 0x3fffffffffffffff
lea rdx, [r8 - 1]
and rdx, rsi
xor edi, edi
mov rax, rbp
cmp rdx, 7
jb 0x1401ec3a6
add rdx, 1
mov r9, rdx
and r9, 0xfffffffffffffff8
lea rbx, [r9 - 8]
mov rdi, rbx
shr rdi, 3
add rdi, 1
mov eax, edi
and eax, 3
cmp rbx, 0x18
jae 0x1401ec2d0
pxor xmm0, xmm0
xor esi, esi
pxor xmm1, xmm1
jmp 0x1401ec34a
mov dword [r12 + 0x100], 0xffffffff
jmp 0x1401ec45f
add rsi, 0xfffffffffffffffd
and rdi, rsi
pxor xmm0, xmm0
xor esi, esi
pxor xmm1, xmm1
nop word cs:[rax + rax]
nop dword [rax + rax]
movdqu xmm2, xmmword [rbp + rsi*4]
paddd xmm2, xmm0
movdqu xmm0, xmmword [rbp + rsi*4 + 0x10]
paddd xmm0, xmm1
movdqu xmm1, xmmword [rbp + rsi*4 + 0x20]
movdqu xmm3, xmmword [rbp + rsi*4 + 0x30]
movdqu xmm4, xmmword [rbp + rsi*4 + 0x40]
paddd xmm4, xmm1
paddd xmm4, xmm2
movdqu xmm2, xmmword [rbp + rsi*4 + 0x50]
paddd xmm2, xmm3
paddd xmm2, xmm0
movdqu xmm0, xmmword [rbp + rsi*4 + 0x60]
paddd xmm0, xmm4
movdqu xmm1, xmmword [rbp + rsi*4 + 0x70]
paddd xmm1, xmm2
add rsi, 0x20
add rdi, 0xfffffffffffffffc
jne 0x1401ec2f0
test rax, rax
je 0x1401ec37c
lea rdi, [rsi*4 + 0x10]
add rdi, rbp
shl rax, 5
xor esi, esi
movdqu xmm2, xmmword [rdi + rsi - 0x10]
paddd xmm0, xmm2
movdqu xmm2, xmmword [rdi + rsi]
paddd xmm1, xmm2
add rsi, 0x20
cmp rax, rsi
jne 0x1401ec360
paddd xmm0, xmm1
pshufd xmm1, xmm0, 0xee
paddd xmm1, xmm0
pshufd xmm0, xmm1, 0x55
paddd xmm0, xmm1
movd edi, xmm0
cmp rdx, r9
je 0x1401ec3cb
lea rax, [r9*4]
add rax, rbp
lea rdx, [r8*4]
add rdx, rbp
nop word cs:[rax + rax]
nop dword [rax + rax]
add edi, dword [rax]
add rax, 4
cmp rax, rdx
jne 0x1401ec3c0
cmp edi, 0x2710
je 0x1401ec45f
mov dword [r12 + 0x100], 0xffffffff
cmp ecx, 2
jl 0x1401ec415
test edi, edi
jle 0x1401ec41e
xor ecx, ecx
xor ebx, ebx
imul eax, dword [rbp + rcx*4], 0x2710
cdq
idiv edi
mov dword [rbp + rcx*4], eax
add ebx, eax
add rcx, 1
movsxd rax, dword [r12 + 0x28]
add rax, 0xffffffffffffffff
cmp rcx, rax
jl 0x1401ec3f0
jmp 0x1401ec454
mov dword [rbp], 0x2710
jmp 0x1401ec45f
xor edi, edi
xor ebx, ebx
nop word cs:[rax + rax]
nop dword [rax]
mov eax, 0x2710
xor edx, edx
idiv ecx
mov dword [rbp + rdi*4], eax
add ebx, eax
add rdi, 1
movsxd rcx, dword [r12 + 0x28]
mov rax, rcx
add rax, 0xffffffffffffffff
cmp rdi, rax
jl 0x1401ec430
mov ecx, 0x2710
sub ecx, ebx
mov dword [rbp + rax*4], ecx
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm8, xmmword [rsp + 0x90]
movaps xmm9, xmmword [rsp + 0xa0]
movaps xmm10, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret