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

Disassembly:
mov qword [rsp + 0x20], r9
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xe8
mov rax, qword [0x1402a0480]
xor rax, rsp
mov qword [rbp + 7], rax
mov rsi, rdx
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x30], rcx
mov rbx, r9
movabs r9, 0x7878787878787879
mov qword [rsp + 0x28], r8
mov rcx, r8
mov rax, r9
sub rcx, rdx
mov r13, r8
imul rcx
add r8, 0xffffffffffffff78
sar rdx, 6
mov rcx, r8
mov rax, rdx
sub rcx, rsi
shr rax, 0x3f
add rdx, rax
mov rax, r9
sar rdx, 1
mov r9, rbx
imul rdi, rdx, 0x88
imul rcx
add rdi, rsi
mov rcx, rsi
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 0x28
jle 0x1400c1822
lea rax, [rdx + 1]
sar rax, 3
imul r14, rax, 0x88
imul r15, rax, 0x110
lea r12, [rsi + r14]
mov rdx, r12
lea r8, [rsi + r15]
call fcn.1400c1680
mov rcx, rdi
lea r8, [r14 + rdi]
sub rcx, r14
mov r9, rbx
mov rdx, rdi
call fcn.1400c1680
lea r8, [r13 - 0x88]
mov r9, rbx
mov rsi, r8
mov rcx, r8
sub rsi, r14
sub rcx, r15
mov rdx, rsi
call fcn.1400c1680
mov r9, rbx
mov r8, rsi
mov rdx, rdi
mov rcx, r12
call fcn.1400c1680
mov rsi, qword [rsp + 0x20]
jmp 0x1400c182a
mov rdx, rdi
call fcn.1400c1680
lea rbx, [rdi + 0x88]
cmp rsi, rdi
jae 0x1400c1875
nop word [rax + rax]
lea r14, [rdi - 0x88]
mov r8, rdi
mov rdx, r14
lea rcx, [rbp + 0x7f]
call fcn.1400c3c40
test al, al
jne 0x1400c1875
mov r8, r14
lea rcx, [rbp + 0x7f]
mov rdx, rdi
call fcn.1400c3c40
test al, al
jne 0x1400c1875
mov rdi, r14
cmp rsi, r14
jb 0x1400c1840
cmp rbx, r13
jae 0x1400c18b2
nop word [rax + rax]
mov r8, rdi
lea rcx, [rbp + 0x7f]
mov rdx, rbx
call fcn.1400c3c40
test al, al
jne 0x1400c18b2
mov r8, rbx
lea rcx, [rbp + 0x7f]
mov rdx, rdi
call fcn.1400c3c40
test al, al
jne 0x1400c18b2
add rbx, 0x88
cmp rbx, r13
jb 0x1400c1880
mov rsi, rbx
mov r15, rdi
nop dword [rax + rax]
cmp rsi, r13
jae 0x1400c1a08
lea r12, [rbx + 0x40]
lea r14, [rbx + 0x20]
mov r8, rsi
lea rcx, [rbp + 0x7f]
mov rdx, rdi
call fcn.1400c3c40
test al, al
jne 0x1400c19f8
mov r8, rdi
lea rcx, [rbp + 0x7f]
mov rdx, rsi
call fcn.1400c3c40
test al, al
jne 0x1400c1a08
cmp rbx, rsi
je 0x1400c19e3
mov rax, qword [rbx]
mov rdx, rsi
movups xmm1, xmmword [r14]
mov qword [rsp + 0x40], rax
mov rcx, rbx
movzx eax, byte [rbx + 8]
movups xmm0, xmmword [r14 + 0x10]
mov byte [rsp + 0x48], al
mov rax, qword [rbx + 0xc]
mov qword [rbp - 0x7d], rax
mov eax, dword [rbx + 0x14]
mov dword [rbp - 0x75], eax
mov eax, dword [rbx + 0x18]
mov qword [r14 + 0x18], 0xf
mov dword [rbp - 0x71], eax
xor eax, eax
mov qword [r14 + 0x10], rax
mov byte [r14], al
movaps xmmword [rbp - 0x69], xmm1
movups xmm1, xmmword [r12]
movaps xmmword [rbp - 0x59], xmm0
movups xmm0, xmmword [r12 + 0x10]
mov qword [r12 + 0x10], rax
mov qword [r12 + 0x18], 0xf
mov byte [r12], al
movzx eax, byte [rbx + 0x60]
mov byte [rbp - 0x29], al
movzx eax, byte [rbx + 0x61]
mov byte [rbp - 0x28], al
mov eax, dword [rbx + 0x64]
mov dword [rbp - 0x25], eax
movzx eax, byte [rbx + 0x68]
mov byte [rbp - 0x21], al
movzx eax, byte [rbx + 0x69]
mov byte [rbp - 0x20], al
mov eax, dword [rbx + 0x6c]
mov dword [rbp - 0x1d], eax
mov eax, dword [rbx + 0x70]
mov dword [rbp - 0x19], eax
mov eax, dword [rbx + 0x74]
mov dword [rbp - 0x15], eax
mov rax, qword [rbx + 0x78]
mov qword [rbp - 0x11], rax
mov eax, dword [rbx + 0x80]
mov dword [rbp - 9], eax
mov eax, dword [rbx + 0x84]
mov dword [rbp - 5], eax
movaps xmmword [rbp - 0x49], xmm1
movaps xmmword [rbp - 0x39], xmm0
call fcn.1400c2f90
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.1400c2f90
lea rcx, [rsp + 0x40]
call fcn.1400c2ab0
add rbx, 0x88
add r14, 0x88
add r12, 0x88
add rsi, 0x88
cmp rsi, r13
jb 0x1400c18d1
mov rax, qword [rsp + 0x20]
cmp r15, rax
jbe 0x1400c1b92
lea r14, [r15 - 0x88]
mov r13, rax
lea r12, [rdi + 0x38]
nop dword [rax]
nop dword [rax + rax]
mov r8, rdi
lea rcx, [rbp + 0x7f]
mov rdx, r14
call fcn.1400c3c40
test al, al
jne 0x1400c1b6e
mov r8, r14
lea rcx, [rbp + 0x7f]
mov rdx, rdi
call fcn.1400c3c40
test al, al
jne 0x1400c1b85
sub rdi, 0x88
sub r12, 0x88
cmp rdi, r14
je 0x1400c1b6e
mov rax, qword [rdi]
mov rdx, r14
movups xmm0, xmmword [r12 - 0x18]
mov qword [rsp + 0x40], rax
mov rcx, rdi
movzx eax, byte [r12 - 0x30]
movups xmm1, xmmword [r12 - 8]
mov byte [rsp + 0x48], al
mov rax, qword [r12 - 0x2c]
mov qword [rbp - 0x7d], rax
mov eax, dword [r12 - 0x24]
mov dword [rbp - 0x75], eax
mov eax, dword [r12 - 0x20]
mov qword [r12], 0xf
mov dword [rbp - 0x71], eax
xor eax, eax
mov qword [r12 - 8], rax
mov byte [r12 - 0x18], al
movaps xmmword [rbp - 0x69], xmm0
movups xmm0, xmmword [r12 + 8]
movaps xmmword [rbp - 0x59], xmm1
movups xmm1, xmmword [r12 + 0x18]
mov qword [r12 + 0x18], rax
mov qword [r12 + 0x20], 0xf
mov byte [r12 + 8], al
movzx eax, byte [r12 + 0x28]
mov byte [rbp - 0x29], al
movzx eax, byte [r12 + 0x29]
mov byte [rbp - 0x28], al
mov eax, dword [r12 + 0x2c]
mov dword [rbp - 0x25], eax
movzx eax, byte [r12 + 0x30]
mov byte [rbp - 0x21], al
movzx eax, byte [r12 + 0x31]
mov byte [rbp - 0x20], al
mov eax, dword [r12 + 0x34]
mov dword [rbp - 0x1d], eax
mov eax, dword [r12 + 0x38]
mov dword [rbp - 0x19], eax
mov eax, dword [r12 + 0x3c]
mov dword [rbp - 0x15], eax
mov rax, qword [r12 + 0x40]
mov qword [rbp - 0x11], rax
mov eax, dword [r12 + 0x48]
mov dword [rbp - 9], eax
mov eax, dword [r12 + 0x4c]
mov dword [rbp - 5], eax
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
call fcn.1400c2f90
lea rdx, [rsp + 0x40]
mov rcx, r14
call fcn.1400c2f90
lea rcx, [rsp + 0x40]
call fcn.1400c2ab0
sub r15, 0x88
sub r14, 0x88
cmp r13, r15
jb 0x1400c1a30
mov rax, qword [rsp + 0x20]
mov r13, qword [rsp + 0x28]
cmp r15, rax
jne 0x1400c1d6f
cmp rsi, r13
je 0x1400c203f
xor r14d, r14d
cmp rbx, rsi
je 0x1400c1c81
mov rax, qword [rdi]
mov rdx, rbx
movups xmm1, xmmword [rdi + 0x20]
mov qword [rsp + 0x40], rax
mov rcx, rdi
movzx eax, byte [rdi + 8]
movups xmm0, xmmword [rdi + 0x30]
mov byte [rsp + 0x48], al
mov rax, qword [rdi + 0xc]
mov qword [rbp - 0x7d], rax
mov eax, dword [rdi + 0x14]
mov dword [rbp - 0x75], eax
mov eax, dword [rdi + 0x18]
mov qword [rdi + 0x30], r14
mov qword [rdi + 0x38], 0xf
mov byte [rdi + 0x20], r14b
mov dword [rbp - 0x71], eax
movaps xmmword [rbp - 0x69], xmm1
movups xmm1, xmmword [rdi + 0x40]
movaps xmmword [rbp - 0x59], xmm0
movups xmm0, xmmword [rdi + 0x50]
mov qword [rdi + 0x50], r14
mov qword [rdi + 0x58], 0xf
mov byte [rdi + 0x40], r14b
movzx eax, byte [rdi + 0x60]
mov byte [rbp - 0x29], al
movzx eax, byte [rdi + 0x61]
mov byte [rbp - 0x28], al
mov eax, dword [rdi + 0x64]
mov dword [rbp - 0x25], eax
movzx eax, byte [rdi + 0x68]
mov byte [rbp - 0x21], al
movzx eax, byte [rdi + 0x69]
mov byte [rbp - 0x20], al
mov eax, dword [rdi + 0x6c]
mov dword [rbp - 0x1d], eax
mov eax, dword [rdi + 0x70]
mov dword [rbp - 0x19], eax
mov eax, dword [rdi + 0x74]
mov dword [rbp - 0x15], eax
mov rax, qword [rdi + 0x78]
mov qword [rbp - 0x11], rax
mov eax, dword [rdi + 0x80]
mov dword [rbp - 9], eax
mov eax, dword [rdi + 0x84]
mov dword [rbp - 5], eax
movaps xmmword [rbp - 0x49], xmm1
movaps xmmword [rbp - 0x39], xmm0
call fcn.1400c2f90
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1400c2f90
lea rcx, [rsp + 0x40]
call fcn.1400c2ab0
mov rax, qword [rdi]
mov rdx, rsi
movups xmm1, xmmword [rdi + 0x20]
mov qword [rsp + 0x40], rax
mov rcx, rdi
movzx eax, byte [rdi + 8]
add rbx, 0x88
movups xmm0, xmmword [rdi + 0x30]
mov byte [rsp + 0x48], al
mov rax, qword [rdi + 0xc]
mov qword [rbp - 0x7d], rax
mov eax, dword [rdi + 0x14]
mov dword [rbp - 0x75], eax
mov eax, dword [rdi + 0x18]
mov qword [rdi + 0x30], r14
mov qword [rdi + 0x38], 0xf
mov byte [rdi + 0x20], 0
mov dword [rbp - 0x71], eax
movaps xmmword [rbp - 0x69], xmm1
movups xmm1, xmmword [rdi + 0x40]
movaps xmmword [rbp - 0x59], xmm0
movups xmm0, xmmword [rdi + 0x50]
mov qword [rdi + 0x50], r14
mov qword [rdi + 0x58], 0xf
mov byte [rdi + 0x40], 0
movzx eax, byte [rdi + 0x60]
mov byte [rbp - 0x29], al
movzx eax, byte [rdi + 0x61]
mov byte [rbp - 0x28], al
mov eax, dword [rdi + 0x64]
mov dword [rbp - 0x25], eax
movzx eax, byte [rdi + 0x68]
mov byte [rbp - 0x21], al
movzx eax, byte [rdi + 0x69]
mov byte [rbp - 0x20], al
mov eax, dword [rdi + 0x6c]
mov dword [rbp - 0x1d], eax
mov eax, dword [rdi + 0x70]
mov dword [rbp - 0x19], eax
mov eax, dword [rdi + 0x74]
mov dword [rbp - 0x15], eax
mov rax, qword [rdi + 0x78]
mov qword [rbp - 0x11], rax
mov eax, dword [rdi + 0x80]
mov dword [rbp - 9], eax
mov eax, dword [rdi + 0x84]
mov dword [rbp - 5], eax
movaps xmmword [rbp - 0x49], xmm1
movaps xmmword [rbp - 0x39], xmm0
call fcn.1400c2f90
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.1400c2f90
lea rcx, [rsp + 0x40]
call fcn.1400c2ab0
add rdi, 0x88
add rsi, 0x88
jmp 0x1400c18c0
add r15, 0xffffffffffffff78
cmp rsi, r13
jne 0x1400c1f57
sub rdi, 0x88
xor r14d, r14d
cmp r15, rdi
je 0x1400c1e77
mov rax, qword [r15]
mov rdx, rdi
movups xmm1, xmmword [r15 + 0x20]
mov qword [rsp + 0x40], rax
mov rcx, r15
movzx eax, byte [r15 + 8]
movups xmm0, xmmword [r15 + 0x30]
mov byte [rsp + 0x48], al
mov rax, qword [r15 + 0xc]
mov qword [rbp - 0x7d], rax
mov eax, dword [r15 + 0x14]
mov dword [rbp - 0x75], eax
mov eax, dword [r15 + 0x18]
mov qword [r15 + 0x30], r14
mov qword [r15 + 0x38], 0xf
mov byte [r15 + 0x20], r14b
mov dword [rbp - 0x71], eax
movaps xmmword [rbp - 0x69], xmm1
movups xmm1, xmmword [r15 + 0x40]
movaps xmmword [rbp - 0x59], xmm0
movups xmm0, xmmword [r15 + 0x50]
mov qword [r15 + 0x50], r14
mov qword [r15 + 0x58], 0xf
mov byte [r15 + 0x40], r14b
movzx eax, byte [r15 + 0x60]
mov byte [rbp - 0x29], al
movzx eax, byte [r15 + 0x61]
mov byte [rbp - 0x28], al
mov eax, dword [r15 + 0x64]
mov dword [rbp - 0x25], eax
movzx eax, byte [r15 + 0x68]
mov byte [rbp - 0x21], al
movzx eax, byte [r15 + 0x69]
mov byte [rbp - 0x20], al
mov eax, dword [r15 + 0x6c]
mov dword [rbp - 0x1d], eax
mov eax, dword [r15 + 0x70]
mov dword [rbp - 0x19], eax
mov eax, dword [r15 + 0x74]
mov dword [rbp - 0x15], eax
mov rax, qword [r15 + 0x78]
mov qword [rbp - 0x11], rax
mov eax, dword [r15 + 0x80]
mov dword [rbp - 9], eax
mov eax, dword [r15 + 0x84]
mov dword [rbp - 5], eax
movaps xmmword [rbp - 0x49], xmm1
movaps xmmword [rbp - 0x39], xmm0
call fcn.1400c2f90
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.1400c2f90
lea rcx, [rsp + 0x40]
call fcn.1400c2ab0
mov rax, qword [rdi]
sub rbx, 0x88
movups xmm1, xmmword [rdi + 0x20]
mov qword [rsp + 0x40], rax
mov rdx, rbx
movzx eax, byte [rdi + 8]
mov rcx, rdi
movups xmm0, xmmword [rdi + 0x30]
mov byte [rsp + 0x48], al
mov rax, qword [rdi + 0xc]
mov qword [rbp - 0x7d], rax
mov eax, dword [rdi + 0x14]
mov dword [rbp - 0x75], eax
mov eax, dword [rdi + 0x18]
mov qword [rdi + 0x30], r14
mov qword [rdi + 0x38], 0xf
mov byte [rdi + 0x20], 0
mov dword [rbp - 0x71], eax
movaps xmmword [rbp - 0x69], xmm1
movups xmm1, xmmword [rdi + 0x40]
movaps xmmword [rbp - 0x59], xmm0
movups xmm0, xmmword [rdi + 0x50]
mov qword [rdi + 0x50], r14
mov qword [rdi + 0x58], 0xf
mov byte [rdi + 0x40], 0
movzx eax, byte [rdi + 0x60]
mov byte [rbp - 0x29], al
movzx eax, byte [rdi + 0x61]
mov byte [rbp - 0x28], al
mov eax, dword [rdi + 0x64]
mov dword [rbp - 0x25], eax
movzx eax, byte [rdi + 0x68]
mov byte [rbp - 0x21], al
movzx eax, byte [rdi + 0x69]
mov byte [rbp - 0x20], al
mov eax, dword [rdi + 0x6c]
mov dword [rbp - 0x1d], eax
mov eax, dword [rdi + 0x70]
mov dword [rbp - 0x19], eax
mov eax, dword [rdi + 0x74]
mov dword [rbp - 0x15], eax
mov rax, qword [rdi + 0x78]
mov qword [rbp - 0x11], rax
mov eax, dword [rdi + 0x80]
mov dword [rbp - 9], eax
mov eax, dword [rdi + 0x84]
mov dword [rbp - 5], eax
movaps xmmword [rbp - 0x49], xmm1
movaps xmmword [rbp - 0x39], xmm0
call fcn.1400c2f90
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1400c2f90
lea rcx, [rsp + 0x40]
call fcn.1400c2ab0
jmp 0x1400c18c0
mov rax, qword [rsi]
mov rdx, r15
movups xmm1, xmmword [rsi + 0x20]
mov qword [rsp + 0x40], rax
mov rcx, rsi
movzx eax, byte [rsi + 8]
movups xmm0, xmmword [rsi + 0x30]
mov byte [rsp + 0x48], al
mov rax, qword [rsi + 0xc]
mov qword [rbp - 0x7d], rax
mov eax, dword [rsi + 0x14]
mov dword [rbp - 0x75], eax
mov eax, dword [rsi + 0x18]
mov qword [rsi + 0x30], 0
mov qword [rsi + 0x38], 0xf
mov byte [rsi + 0x20], 0
mov dword [rbp - 0x71], eax
movaps xmmword [rbp - 0x69], xmm1
movups xmm1, xmmword [rsi + 0x40]
movaps xmmword [rbp - 0x59], xmm0
movups xmm0, xmmword [rsi + 0x50]
mov qword [rsi + 0x50], 0
mov qword [rsi + 0x58], 0xf
mov byte [rsi + 0x40], 0
movzx eax, byte [rsi + 0x60]
mov byte [rbp - 0x29], al
movzx eax, byte [rsi + 0x61]
mov byte [rbp - 0x28], al
mov eax, dword [rsi + 0x64]
mov dword [rbp - 0x25], eax
movzx eax, byte [rsi + 0x68]
mov byte [rbp - 0x21], al
movzx eax, byte [rsi + 0x69]
mov byte [rbp - 0x20], al
mov eax, dword [rsi + 0x6c]
mov dword [rbp - 0x1d], eax
mov eax, dword [rsi + 0x70]
mov dword [rbp - 0x19], eax
mov eax, dword [rsi + 0x74]
mov dword [rbp - 0x15], eax
mov rax, qword [rsi + 0x78]
mov qword [rbp - 0x11], rax
mov eax, dword [rsi + 0x80]
mov dword [rbp - 9], eax
mov eax, dword [rsi + 0x84]
mov dword [rbp - 5], eax
movaps xmmword [rbp - 0x49], xmm1
movaps xmmword [rbp - 0x39], xmm0
call fcn.1400c2f90
lea rdx, [rsp + 0x40]
mov rcx, r15
call fcn.1400c2f90
lea rcx, [rsp + 0x40]
call fcn.1400c2ab0
add rsi, 0x88
jmp 0x1400c18c0
mov rax, qword [rsp + 0x30]
mov qword [rax], rdi
mov qword [rax + 8], rbx
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.1401842c0
add rsp, 0xe8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret