Function at 0x1400ce6e4
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, 0x148
mov rbx, rdx
mov rsi, rcx
mov ebp, dword [rdx + 0x40]
cmp ebp, 2
je 0x1400ce718
mov eax, dword [rbx + 0x54]
mov dword [rsp + 0x80], eax
movups xmm0, xmmword [rbx + 0x44]
movaps xmmword [rsp + 0x70], xmm0
mov r14d, dword [rbx + 0x58]
cmp r14d, 2
je 0x1400ce738
mov eax, dword [rbx + 0x6c]
mov dword [rsp + 0xa0], eax
movups xmm0, xmmword [rbx + 0x5c]
movaps xmmword [rsp + 0x90], xmm0
mov r13d, dword [rbx + 0x70]
cmp r13d, 2
je 0x1400ce75b
mov eax, dword [rbx + 0x84]
mov dword [rsp + 0xc0], eax
movups xmm0, xmmword [rbx + 0x74]
movaps xmmword [rsp + 0xb0], xmm0
mov r15d, dword [rbx + 0x88]
cmp r15d, 2
je 0x1400ce784
mov eax, dword [rbx + 0x9c]
mov dword [rsp + 0xe0], eax
movups xmm0, xmmword [rbx + 0x8c]
movaps xmmword [rsp + 0xd0], xmm0
mov r12b, byte [rbx + 0xdc]
mov eax, dword [rbx + 0xd8]
mov dword [rsp + 0x4c], eax
mov rdx, qword [rbx + 0x30]
mov r8, qword [rbx + 0x38]
lea rcx, [rsp + 0x58]
call fcn.1400786f0
mov r9b, byte [rbx + 0xdd]
mov r10b, byte [rbx + 0xde]
mov r11b, byte [rbx + 0xdf]
mov cl, byte [rbx + 0xe0]
mov dl, byte [rbx + 0xe1]
mov rdi, qword [rbx + 0xd0]
test rdi, rdi
je 0x1400ce7de
lock inc qword [rdi]
jle 0x1400ceac6
mov dword [rsp + 0x48], r15d
mov eax, dword [rbx + 0xa0]
mov dword [rsp + 0x44], eax
cmp eax, 2
je 0x1400ce80e
mov eax, dword [rbx + 0xb4]
mov dword [rsp + 0x100], eax
movups xmm0, xmmword [rbx + 0xa4]
movaps xmmword [rsp + 0xf0], xmm0
mov byte [rsp + 0x31], r12b
mov r15d, dword [rbx + 0xb8]
cmp r15d, 0xf
je 0x1400ce83c
mov eax, dword [rbx + 0xcc]
mov dword [rsp + 0x140], eax
movups xmm0, xmmword [rbx + 0xbc]
movaps xmmword [rsp + 0x130], xmm0
mov r12b, byte [rbx + 0xe4]
mov al, byte [rbx + 0xe2]
mov byte [rsp + 0x2d], al
mov al, byte [rbx + 0xe3]
mov byte [rsp + 0x2e], al
mov al, byte [rbx + 0xe5]
mov byte [rsp + 0x2c], al
mov eax, dword [rsp + 0x140]
mov dword [rsp + 0x120], eax
movaps xmm0, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0x110], xmm0
cmp qword [rbx], 0
mov byte [rsp + 0x30], cl
mov byte [rsp + 0x2f], dl
je 0x1400ce901
mov dword [rsp + 0x34], r13d
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x3c], ebp
mov r14, qword [rbx + 8]
test r14, r14
je 0x1400ce905
mov byte [rsp + 0x29], r11b
mov byte [rsp + 0x2a], r10b
mov byte [rsp + 0x2b], r9b
mov r13d, dword [rbx + 0x10]
mov ebp, dword [rbx + 0x14]
movzx eax, word [rbx + 0x24]
mov word [rsp + 0x32], ax
mov eax, dword [rbx + 0x20]
mov dword [rsp + 0x40], eax
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x50], rax
call fcn.1402d8dfd
mov rbx, rax
mov r8d, 0xdc
mov rcx, rax
mov rdx, r14
call sub.msvcrt.dll_memcpy
shl rbp, 0x20
mov r9b, byte [rsp + 0x2b]
mov r10b, byte [rsp + 0x2a]
mov r11b, byte [rsp + 0x29]
jmp 0x1400ce916
xor ecx, ecx
jmp 0x1400ce92f
mov r13d, dword [rbx + 0x10]
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x50], rax
xor ebp, ebp
xor ebx, ebx
mov eax, r13d
or rax, rbp
mov ecx, 1
mov ebp, dword [rsp + 0x3c]
mov r14d, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x34]
xor r8d, r8d
test r12b, r12b
setne r8b
cmp r12b, 2
mov edx, 2
cmovne edx, r8d
mov dword [rsi + 0x40], ebp
mov r8d, dword [rsp + 0x80]
mov dword [rsi + 0x54], r8d
movaps xmm0, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x44], xmm0
mov dword [rsi + 0x58], r14d
mov r8d, dword [rsp + 0xa0]
mov dword [rsi + 0x6c], r8d
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [rsi + 0x5c], xmm0
mov dword [rsi + 0x70], r13d
mov r8d, dword [rsp + 0xc0]
mov dword [rsi + 0x84], r8d
movaps xmm0, xmmword [rsp + 0xb0]
movups xmmword [rsi + 0x74], xmm0
mov r8d, dword [rsp + 0x48]
mov dword [rsi + 0x88], r8d
mov r8d, dword [rsp + 0xe0]
mov dword [rsi + 0x9c], r8d
movaps xmm0, xmmword [rsp + 0xd0]
movups xmmword [rsi + 0x8c], xmm0
mov r8b, byte [rsp + 0x31]
mov byte [rsi + 0xdc], r8b
mov r8d, dword [rsp + 0x4c]
mov dword [rsi + 0xd8], r8d
mov r8, qword [rsp + 0x68]
mov qword [rsi + 0x38], r8
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [rsi + 0x28], xmm0
mov byte [rsi + 0xdd], r9b
mov byte [rsi + 0xde], r10b
mov byte [rsi + 0xdf], r11b
mov r8b, byte [rsp + 0x30]
mov byte [rsi + 0xe0], r8b
mov r8b, byte [rsp + 0x2f]
mov byte [rsi + 0xe1], r8b
mov qword [rsi + 0xd0], rdi
mov byte [rsi + 0xe4], dl
mov edx, dword [rsp + 0x44]
mov dword [rsi + 0xa0], edx
mov edx, dword [rsp + 0x100]
mov dword [rsi + 0xb4], edx
movaps xmm0, xmmword [rsp + 0xf0]
movups xmmword [rsi + 0xa4], xmm0
mov dl, byte [rsp + 0x2d]
mov byte [rsi + 0xe2], dl
mov dl, byte [rsp + 0x2c]
mov byte [rsi + 0xe5], dl
mov dl, byte [rsp + 0x2e]
mov byte [rsi + 0xe3], dl
mov dword [rsi + 0xb8], r15d
mov edx, dword [rsp + 0x120]
mov dword [rsi + 0xcc], edx
movaps xmm0, xmmword [rsp + 0x110]
movups xmmword [rsi + 0xbc], xmm0
mov qword [rsi], rcx
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], rax
mov rax, qword [rsp + 0x50]
mov qword [rsi + 0x18], rax
mov eax, dword [rsp + 0x40]
mov dword [rsi + 0x20], eax
movzx eax, word [rsp + 0x32]
mov word [rsi + 0x24], ax
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2