Function at 0x1400cad10
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, 0xb8
mov r15, rdx
mov rbp, rcx
mov rcx, qword [rdx]
mov rbx, qword [rdx + 0x10]
lea rsi, [rcx + 0xa0]
mov rdi, qword [rcx + 0xa0]
cmp rdi, rbx
jne 0x1400cad9d
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x88], rax
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x78], xmm0
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x70], rax
movups xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x60], xmm0
mov rbx, qword [r15 + 8]
test rdi, rdi
je 0x1400cb3f0
js 0x1400cb855
movzx eax, byte [0x140188180]
xor ecx, ecx
mov rdx, rdi
call fcn.1400f2120
mov r14, rax
test rax, rax
jne 0x1400cb3f6
jmp 0x1400cb855
mov dword [rsp + 0x5c], r8d
lea rax, [rcx + 0xa8]
mov qword [rsp + 0x28], rax
mov rax, qword [rcx + 0xa8]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rcx
mov r14, qword [rcx + 0xb0]
mov rdx, qword [r15 + 8]
lea r13, [0x140120124]
lea r12, [0x14011f290]
mov qword [rsp + 0x20], rdx
jmp 0x1400cae05
test cl, 1
je 0x1400cb480
nop dword [rax + rax]
mov rcx, r15
call fcn.1400c1030
mov rdx, qword [rsp + 0x20]
test al, al
je 0x1400cb2f0
mov r10, r12
mov r12, qword [rsi]
mov rax, rbx
test r12, r12
je 0x1400cae36
mov rax, rbx
sub rax, r12
jbe 0x1400cae30
cmp byte [rdx + r12], 0xc0
jge 0x1400cae36
jmp 0x1400cb855
jne 0x1400cb855
test rax, rax
je 0x1400cb855
movzx eax, byte [rdx + r12]
mov r8d, eax
test al, al
jns 0x1400caeb0
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [rdx + r12 + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x1400cae9f
movzx r9d, byte [rdx + r12 + 2]
shl r8d, 6
and r9d, 0x3f
or r9d, r8d
cmp al, 0xf0
jb 0x1400caff4
movzx r8d, byte [rdx + r12 + 3]
and ecx, 7
shl ecx, 0x12
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
or r8d, ecx
cmp r8d, 0x110000
jne 0x1400caeb0
jmp 0x1400cb855
shl ecx, 6
or ecx, r8d
mov r8d, ecx
nop dword [rax + rax]
cmp r8d, 0x3e
je 0x1400cb2f3
mov rcx, rbx
test r12, r12
je 0x1400caee6
mov rcx, rbx
sub rcx, r12
jbe 0x1400caee0
cmp al, 0xc0
jge 0x1400caee6
jmp 0x1400cb855
jne 0x1400cb855
test rcx, rcx
je 0x1400cb855
test al, al
jns 0x1400caf50
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [rdx + r12 + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x1400caf43
movzx r9d, byte [rdx + r12 + 2]
shl r8d, 6
and r9d, 0x3f
or r9d, r8d
cmp al, 0xf0
jb 0x1400cb00c
movzx eax, byte [rdx + r12 + 3]
and ecx, 7
shl ecx, 0x12
shl r9d, 6
and eax, 0x3f
or eax, r9d
or eax, ecx
cmp eax, 0x110000
jne 0x1400caf50
jmp 0x1400cb855
shl ecx, 6
or ecx, r8d
mov eax, ecx
nop dword [rax + rax]
cmp r12, rdi
mov rdx, qword [rsp + 0x30]
jne 0x1400cb030
mov rcx, qword [rsp + 0x38]
cmp qword [rdx + 0xa8], rcx
jne 0x1400cb030
cmp qword [rdx + 0xb0], r14
jne 0x1400cb030
cmp eax, 0x5f
mov r12, r10
je 0x1400cadf0
mov ecx, eax
and ecx, 0xffffffdf
add ecx, 0xffffffbf
cmp ecx, 0x1a
jb 0x1400cadf0
cmp eax, 0x80
jb 0x1400cb480
mov edx, eax
shl edx, 0xb
mov r8d, 0x35
xor ecx, ecx
mov r9d, 0x35
nop dword [rax + rax]
shr r8, 1
add r8, rcx
mov r10d, dword [r13 + r8*4]
shl r10d, 0xb
cmp r10d, edx
je 0x1400cb0b4
lea r11, [r8 + 1]
cmp r10d, edx
cmova r9, r8
cmovb rcx, r11
mov r8, r9
sub r8, rcx
ja 0x1400cafc0
jmp 0x1400cb0ba
shl ecx, 0xc
or r9d, ecx
mov r8d, r9d
cmp r8d, 0x3e
jne 0x1400caeba
jmp 0x1400cb2f3
shl ecx, 0xc
or r9d, ecx
mov eax, r9d
cmp r12, rdi
mov rdx, qword [rsp + 0x30]
je 0x1400caf5e
nop word cs:[rax + rax]
lea ecx, [rax - 0x2e]
cmp ecx, 0x31
mov r12, r10
ja 0x1400cb04f
movabs rdx, 0x2a00000000001
bt rdx, rcx
jb 0x1400cadf0
mov ecx, eax
and ecx, 0xffffffdf
add ecx, 0xffffffbf
cmp ecx, 0x1a
jb 0x1400cadf0
cmp eax, 0x80
jb 0x1400cb155
mov ecx, eax
shl ecx, 0xb
mov r8d, 0x35
xor edx, edx
mov r9d, 0x35
nop
shr r8, 1
add r8, rdx
mov r10d, dword [r13 + r8*4]
shl r10d, 0xb
cmp r10d, ecx
je 0x1400cb16b
lea r11, [r8 + 1]
cmp r10d, ecx
cmova r9, r8
cmovb rdx, r11
mov r8, r9
sub r8, rdx
ja 0x1400cb080
jmp 0x1400cb171
inc r8
mov rcx, r8
cmp rcx, 0x34
ja 0x1400cb855
jne 0x1400cb0d3
mov r8d, 0x33
mov edx, 0x5b9
jmp 0x1400cb0e8
mov edx, dword [r13 + rcx*4 + 4]
shr edx, 0x15
test rcx, rcx
je 0x1400cb166
lea r8, [rcx - 1]
mov r8d, dword [r13 + r8*4]
mov r9d, 0x1fffff
and r8d, r9d
mov ecx, dword [r13 + rcx*4]
shr ecx, 0x15
mov r9, rcx
not r9
add r9, rdx
je 0x1400caddf
sub eax, r8d
dec rdx
xor r8d, r8d
nop word cs:[rax + rax]
cmp rcx, 0x5b8
ja 0x1400cb855
lea r9, [0x1401201f8]
movzx r9d, byte [rcx + r9]
add r8d, r9d
cmp r8d, eax
ja 0x1400caddf
inc rcx
cmp rdx, rcx
jne 0x1400cb120
mov rcx, rdx
jmp 0x1400caddf
add eax, 0xffffffd0
cmp eax, 0xa
jb 0x1400cadf0
jmp 0x1400cb480
xor r8d, r8d
jmp 0x1400cb0f6
inc r8
mov rdx, r8
cmp rdx, 0x34
ja 0x1400cb855
jne 0x1400cb18b
mov r9d, 0x33
mov r8d, 0x5b9
jmp 0x1400cb1a1
mov r8d, dword [r13 + rdx*4 + 4]
shr r8d, 0x15
test rdx, rdx
je 0x1400cb2e3
lea r9, [rdx - 1]
mov r10d, dword [r13 + r9*4]
mov r9d, 0x1fffff
and r10d, r9d
mov edx, dword [r13 + rdx*4]
shr edx, 0x15
mov r9, rdx
not r9
add r9, r8
je 0x1400cb1fc
mov r9d, eax
sub r9d, r10d
dec r8
xor r10d, r10d
nop
cmp rdx, 0x5b8
ja 0x1400cb855
lea r11, [0x1401201f8]
movzx r11d, byte [rdx + r11]
add r10d, r11d
cmp r10d, r9d
ja 0x1400cb1fc
inc rdx
cmp r8, rdx
jne 0x1400cb1d0
mov rdx, r8
test dl, 1
jne 0x1400cadf0
mov r8d, 0x27
xor edx, edx
mov r9d, 0x27
nop word cs:[rax + rax]
shr r8, 1
add r8, rdx
mov r10d, dword [r12 + r8*4]
shl r10d, 0xb
cmp r10d, ecx
je 0x1400cb24c
lea r11, [r8 + 1]
cmp r10d, ecx
cmova r9, r8
cmovb rdx, r11
mov r8, r9
sub r8, rdx
ja 0x1400cb220
jmp 0x1400cb252
inc r8
mov rdx, r8
cmp rdx, 0x26
ja 0x1400cb855
lea r10, [0x14011f32c]
jne 0x1400cb272
mov r8d, 0x25
mov ecx, 0x113
jmp 0x1400cb283
mov ecx, dword [r12 + rdx*4 + 4]
shr ecx, 0x15
test rdx, rdx
je 0x1400cb2eb
lea r8, [rdx - 1]
mov r8d, dword [r12 + r8*4]
mov r9d, 0x1fffff
and r8d, r9d
mov edx, dword [r12 + rdx*4]
shr edx, 0x15
mov r9, rdx
not r9
add r9, rcx
je 0x1400cb2d5
sub eax, r8d
dec rcx
xor r8d, r8d
nop dword [rax + rax]
cmp rdx, 0x112
ja 0x1400cb855
movzx r9d, byte [rdx + r10]
add r8d, r9d
cmp r8d, eax
ja 0x1400cb2d5
inc rdx
cmp rcx, rdx
jne 0x1400cb2b0
mov rdx, rcx
test dl, 1
jne 0x1400cadf0
jmp 0x1400cb480
xor r10d, r10d
jmp 0x1400cb1af
xor r8d, r8d
jmp 0x1400cb290
mov r12, qword [rsi]
mov rax, qword [rsp + 0x28]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0xa0], xmm0
cmp rbx, r12
jne 0x1400cb363
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x88], rax
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x78], xmm0
movups xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x60], xmm0
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x70], rax
test rbx, rbx
je 0x1400cb43a
js 0x1400cb855
movzx eax, byte [0x140188180]
xor ecx, ecx
mov rdx, rbx
mov edx, ebx
mov rax, rbx
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movaps xmm2, xmmword [rsp + 0x80]
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm1
movups xmmword [rbp + 0x70], xmm2
mov qword [rbp], rdi
mov qword [rbp + 8], r14
mov qword [rbp + 0x10], rdi
mov dword [rbp + 0x18], 0x14
jmp 0x1400cb8e7
mov edi, 1
lea rcx, [rsp + 0x60]
mov rdx, r15
call fcn.1400c0e70
test rbx, rbx
je 0x1400cb7f8
js 0x1400cb855
movzx eax, byte [0x140188180]
xor ecx, ecx
mov rdx, rbx
call fcn.1400f2120
mov rdi, rax
test rax, rax
jne 0x1400cb7fd
jmp 0x1400cb855
mov edi, 1
mov rcx, rdi
mov rdx, qword [rsp + 0x20]
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov qword [rbp], rbx
mov qword [rbp + 8], rdi
mov qword [rbp + 0x10], rbx
mov dword [rbp + 0x18], 0x13
movups xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rsp + 0x70]
movups xmm2, xmmword [rsp + 0x80]
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm1
movups xmmword [rbp + 0x70], xmm2
jmp 0x1400cb8e7