Function at 0x1400ca420
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, 0x1c8
mov r14, rdx
mov qword [rsp + 0x28], rcx
movabs r13, 0x8000000000000000
mov rax, qword [rdx]
lea rsi, [rax + 0xa0]
mov rcx, qword [rax + 0xb0]
mov qword [rsp + 0xa8], rcx
movups xmm0, xmmword [rax + 0xa0]
movups xmmword [rsp + 0x98], xmm0
mov rcx, qword [rax + 0xb0]
mov qword [rsp + 0x90], rcx
movups xmm0, xmmword [rax + 0xa0]
movups xmmword [rsp + 0x50], xmm0
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], 8
mov qword [rsp + 0x48], 0
mov rbx, qword [rdx + 8]
mov rdi, qword [rdx + 0x10]
mov ebp, 8
xor r15d, r15d
xor r12d, r12d
mov qword [rsp + 0x30], rbx
mov rax, qword [rsi]
mov rcx, rdi
test rax, rax
je 0x1400ca516
mov rcx, rdi
sub rcx, rax
jbe 0x1400ca510
cmp byte [rbx + rax], 0xc0
jge 0x1400ca516
jmp 0x1400caa81
jne 0x1400caa81
test rcx, rcx
je 0x1400caa81
movzx ecx, byte [rbx + rax]
mov r9d, ecx
test cl, cl
jns 0x1400ca590
mov edx, ecx
and edx, 0x1f
movzx r9d, byte [rbx + rax + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x1400ca580
movzx r8d, byte [rbx + rax + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp cl, 0xf0
jb 0x1400ca7a8
movzx r9d, byte [rbx + rax + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and r9d, 0x3f
or r9d, r8d
or r9d, edx
cmp r9d, 0x110000
jne 0x1400ca590
jmp 0x1400caa81
shl edx, 6
or edx, r9d
mov r9d, edx
nop dword [rax]
cmp r9d, 0x3a
je 0x1400caa4f
mov rdx, rdi
test rax, rax
je 0x1400ca5c6
mov rdx, rdi
sub rdx, rax
jbe 0x1400ca5c0
cmp cl, 0xc0
jge 0x1400ca5c6
jmp 0x1400caa81
jne 0x1400caa81
test rdx, rdx
je 0x1400caa81
mov r9d, ecx
test cl, cl
jns 0x1400ca640
mov edx, ecx
and edx, 0x1f
movzx r9d, byte [rbx + rax + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x1400ca62c
movzx r8d, byte [rbx + rax + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp cl, 0xf0
jb 0x1400ca7c0
movzx r9d, byte [rbx + rax + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and r9d, 0x3f
or r9d, r8d
or r9d, edx
cmp r9d, 0x110000
jne 0x1400ca640
jmp 0x1400caa81
shl edx, 6
or edx, r9d
mov r9d, edx
nop word cs:[rax + rax]
cmp r9d, 0x29
je 0x1400caa4f
mov rdx, rdi
test rax, rax
je 0x1400ca676
mov rdx, rdi
sub rdx, rax
jbe 0x1400ca670
cmp cl, 0xc0
jge 0x1400ca676
jmp 0x1400caa81
jne 0x1400caa81
test rdx, rdx
je 0x1400caa81
test cl, cl
jns 0x1400ca6e0
mov edx, ecx
and edx, 0x1f
movzx r9d, byte [rbx + rax + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x1400ca6d5
movzx r8d, byte [rbx + rax + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp cl, 0xf0
jb 0x1400ca7d8
movzx ecx, byte [rbx + rax + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
or ecx, edx
cmp ecx, 0x110000
jne 0x1400ca6e0
jmp 0x1400caa81
shl edx, 6
or edx, r9d
mov ecx, edx
nop dword [rax]
cmp ecx, 0x2d
jne 0x1400ca7f0
lea rcx, [rsp + 0x198]
mov rdx, r14
call fcn.1400c0e70
lea rcx, [rsp + 0x160]
mov rdx, r14
call fcn.1400c0e70
mov byte [rsp + 0x190], 7
mov rbp, qword [rsp + 0x40]
test r15, r15
je 0x1400ca747
imul rax, r15, 0x38
xor ecx, ecx
xor r12d, r12d
nop word cs:[rax + rax]
cmp byte [rbp + rcx + 0x30], 7
je 0x1400ca963
inc r12
add rcx, 0x38
cmp rax, rcx
jne 0x1400ca730
cmp r15, qword [rsp + 0x38]
jne 0x1400ca765
lea rcx, [rsp + 0x38]
mov rdx, r15
call fcn.1400d4820
mov rbp, qword [rsp + 0x40]
mov r15, qword [rsp + 0x48]
imul rax, r15, 0x38
mov rcx, qword [rsp + 0x190]
mov qword [rbp + rax + 0x30], rcx
movups xmm0, xmmword [rsp + 0x160]
movups xmm1, xmmword [rsp + 0x170]
movups xmm2, xmmword [rsp + 0x180]
movups xmmword [rbp + rax + 0x20], xmm2
movups xmmword [rbp + rax + 0x10], xmm1
movups xmmword [rbp + rax], xmm0
mov r12d, 1
jmp 0x1400ca8ec
shl edx, 0xc
or r8d, edx
mov r9d, r8d
cmp r9d, 0x3a
jne 0x1400ca59a
jmp 0x1400caa4f
shl edx, 0xc
or r8d, edx
mov r9d, r8d
cmp r9d, 0x29
jne 0x1400ca64a
jmp 0x1400caa4f
shl edx, 0xc
or r8d, edx
mov ecx, r8d
cmp ecx, 0x2d
je 0x1400ca6e9
nop word [rax + rax]
lea rcx, [rsp + 0x100]
mov rdx, r14
call fcn.1400c0e70
lea rcx, [rsp + 0x80]
mov rdx, r14
call fcn.1400cb940
mov rax, qword [rsp + 0x80]
movzx r12d, byte [rsp + 0x88]
cmp rax, r13
jne 0x1400cabf5
mov rbx, rsi
mov rsi, r13
movups xmm0, xmmword [rsp + 0x100]
movups xmm1, xmmword [rsp + 0x110]
movups xmm2, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x130], xmm0
movaps xmmword [rsp + 0x140], xmm1
movaps xmmword [rsp + 0x150], xmm2
test r15, r15
je 0x1400ca890
imul rax, r15, 0x38
xor ecx, ecx
xor r13d, r13d
jmp 0x1400ca87c
inc r13
add rcx, 0x38
cmp rax, rcx
je 0x1400ca890
movzx edx, byte [rbp + rcx + 0x30]
cmp dl, r12b
jne 0x1400ca870
cmp dl, 7
je 0x1400ca870
jmp 0x1400ca9d8
cmp r15, qword [rsp + 0x38]
jne 0x1400ca8ae
lea rcx, [rsp + 0x38]
mov rdx, r15
call fcn.1400d4820
mov rbp, qword [rsp + 0x40]
mov r15, qword [rsp + 0x48]
imul rax, r15, 0x38
movaps xmm0, xmmword [rsp + 0x130]
movaps xmm1, xmmword [rsp + 0x140]
movaps xmm2, xmmword [rsp + 0x150]
movups xmmword [rbp + rax + 0x20], xmm2
movups xmmword [rbp + rax + 0x10], xmm1
movups xmmword [rbp + rax], xmm0
mov byte [rbp + rax + 0x30], r12b
xor r12d, r12d
mov r13, rsi
mov rsi, rbx
mov rbx, qword [rsp + 0x30]
inc r15
mov qword [rsp + 0x48], r15
mov rcx, r14
call fcn.1400c1030
test al, al
jne 0x1400ca4ef
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0xa8], rax
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x98], xmm0
movups xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x80], xmm0
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x90], rax
test rdi, rdi
je 0x1400cacba
js 0x1400caa81
movzx eax, byte [0x140188180]
xor ecx, ecx
mov rdx, rdi
call fcn.1400f2120
mov r14, rax
test rax, rax
jne 0x1400cacc0
jmp 0x1400caa81
lea rcx, [rsp + 0x100]
mov rdx, r14
call fcn.1400c0e70
cmp r12, r15
jae 0x1400caa81
imul rax, r12, 0x38
movups xmm0, xmmword [rbp + rax]
movups xmm1, xmmword [rbp + rax + 0x10]
movups xmm2, xmmword [rbp + rax + 0x20]
movups xmmword [rsp + 0xa4], xmm2
movups xmmword [rsp + 0x94], xmm1
movups xmmword [rsp + 0x84], xmm0
test rdi, rdi
je 0x1400caa83
js 0x1400caa81
movzx eax, byte [0x140188180]
xor ecx, ecx
mov rdx, rdi
call fcn.1400f2120
mov r14, rax
test rax, rax
jne 0x1400caa89
jmp 0x1400caa81
lea rcx, [rsp + 0x100]
mov rdx, r14
call fcn.1400c0e70
cmp r13, r15
jae 0x1400caa81
mov rax, qword [rsp + 0x40]
imul rcx, r13, 0x38
movups xmm0, xmmword [rax + rcx]
movups xmm1, xmmword [rax + rcx + 0x10]
movups xmm2, xmmword [rax + rcx + 0x20]
movups xmmword [rsp + 0x84], xmm0
movups xmmword [rsp + 0x94], xmm1
movups xmmword [rsp + 0xa4], xmm2
test rdi, rdi
je 0x1400cab05
mov rsi, qword [rsp + 0x30]
js 0x1400caa81
movzx eax, byte [0x140188180]
xor ecx, ecx
mov rdx, rdi
call fcn.1400f2120
mov r14, rax
test rax, rax
jne 0x1400cab10
jmp 0x1400caa81
cmp r12, 1
jne 0x1400cabb7
test rdi, rdi
je 0x1400cac66
js 0x1400caa81
movzx eax, byte [0x140188180]
xor ecx, ecx
mov rdx, rdi
call fcn.1400f2120
mov r14, rax
test rax, rax
jne 0x1400cac6c
ud2
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
movups xmm0, xmmword [rsp + 0x80]
movups xmm1, xmmword [rsp + 0x90]
movups xmm2, xmmword [rsp + 0xa0]
mov rcx, qword [rsp + 0x28]
movups xmmword [rcx + 0x1c], xmm0
movups xmmword [rcx + 0x2c], xmm1
movups xmmword [rcx + 0x3c], xmm2
mov eax, dword [rsp + 0xb0]
mov dword [rcx + 0x4c], eax
movups xmm0, xmmword [rsp + 0x100]
movups xmm1, xmmword [rsp + 0x110]
movups xmm2, xmmword [rsp + 0x120]
movups xmmword [rcx + 0x70], xmm2
movups xmmword [rcx + 0x60], xmm1
movups xmmword [rcx + 0x50], xmm0
mov qword [rcx], rdi
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], rdi
mov dword [rcx + 0x18], 0xe
jmp 0x1400cab87
mov r14d, 1
mov rsi, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rsi
mov r8, rdi
call sub.msvcrt.dll_memcpy
movups xmm0, xmmword [rsp + 0x80]
movups xmm1, xmmword [rsp + 0x90]
movups xmm2, xmmword [rsp + 0xa0]
mov rcx, qword [rsp + 0x28]
movups xmmword [rcx + 0x1c], xmm0
movups xmmword [rcx + 0x2c], xmm1
movups xmmword [rcx + 0x3c], xmm2
mov eax, dword [rsp + 0xb0]
mov dword [rcx + 0x4c], eax
movups xmm0, xmmword [rsp + 0x100]
movups xmm1, xmmword [rsp + 0x110]
movups xmm2, xmmword [rsp + 0x120]
movups xmmword [rcx + 0x70], xmm2
movups xmmword [rcx + 0x60], xmm1
movups xmmword [rcx + 0x50], xmm0
mov qword [rcx], rdi
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], rdi
mov dword [rcx + 0x18], 0xd
cmp qword [rsp + 0x38], 0
je 0x1400caba2
mov r8, qword [rsp + 0x40]
mov rcx, qword [0x140188170]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
nop
add rsp, 0x1c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x78], rax
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x68], xmm0
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 0x48], rax
movups xmmword [rcx + 0x38], xmm0
movups xmm0, xmmword [rsp + 0x38]
movups xmm1, xmmword [rsp + 0x48]
movups xmm2, xmmword [rsp + 0x58]
movups xmmword [rcx + 0x28], xmm2
movups xmmword [rcx + 0x18], xmm1
movups xmmword [rcx + 8], xmm0
mov qword [rcx], r13
jmp 0x1400caba2
mov rcx, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0x28]
mov qword [rdx + 0x78], rcx
movups xmm0, xmmword [rsp + 0xe9]
movups xmmword [rdx + 0x69], xmm0
movups xmm0, xmmword [rsp + 0xd9]
movups xmmword [rdx + 0x59], xmm0
movups xmm0, xmmword [rsp + 0xc9]
movups xmmword [rdx + 0x49], xmm0
movups xmm0, xmmword [rsp + 0x89]
movups xmm1, xmmword [rsp + 0x99]
movups xmm2, xmmword [rsp + 0xa9]
movups xmm3, xmmword [rsp + 0xb9]
movups xmmword [rdx + 0x39], xmm3
movups xmmword [rdx + 0x29], xmm2
movups xmmword [rdx + 0x19], xmm1
movups xmmword [rdx + 9], xmm0
mov qword [rdx], rax
mov byte [rdx + 8], r12b
jmp 0x1400cab87
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
movups xmm0, xmmword [rsp + 0x198]
movups xmm1, xmmword [rsp + 0x1a8]
movups xmm2, xmmword [rsp + 0x1b8]
mov rax, qword [rsp + 0x28]
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm1
movups xmmword [rax + 0x70], xmm2
mov qword [rax], rdi
mov qword [rax + 8], r14
mov qword [rax + 0x10], rdi
mov dword [rax + 0x18], 0xc
jmp 0x1400cab87
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0x80]
movaps xmm1, xmmword [rsp + 0x90]
movaps xmm2, xmmword [rsp + 0xa0]
mov rax, qword [rsp + 0x28]
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm1
movups xmmword [rax + 0x70], xmm2
mov qword [rax], rdi
mov qword [rax + 8], r14
mov qword [rax + 0x10], rdi
mov dword [rax + 0x18], 0xf
jmp 0x1400cab87