Function at 0x140023c80
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, 0x168
movaps xmmword [rsp + 0x150], xmm6
mov rsi, rcx
test dl, dl
je 0x140023cf0
mov eax, dword [rsp + 0x1d0]
lea rcx, [rsp + 0x70]
mov rdx, r8
mov r8, r9
mov r9d, eax
call fcn.14002b010
cmp dword [rsp + 0x70], 3
jne 0x140023d15
mov rax, qword [rsp + 0x98]
mov qword [rsi + 0x28], rax
movups xmm0, xmmword [rsp + 0x78]
movups xmm1, xmmword [rsp + 0x88]
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov qword [rsi], 4
jmp 0x140023eaa
movzx eax, word [r8 + 0x98]
test ax, ax
je 0x140023d2d
mov word [rsp + 0x24], ax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x30], eax
movzx eax, byte [rsp + 0x74]
mov byte [rsp + 0x34], al
jmp 0x140023d34
lea rdx, [rsp + 0x70]
mov r8d, 0xe0
mov rcx, rsi
call sub.msvcrt.dll_memcpy
jmp 0x140023eaa
mov word [rsp + 0x24], 0xc8
movzx eax, byte [rsp + 0x34]
mov byte [rsp + 0x3c], al
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x38], eax
mov r14, qword [r9]
movzx ebx, byte [r9 + 8]
movzx edi, byte [r9 + 9]
movzx r13d, word [r9 + 0xa]
mov r12d, dword [r9 + 0xc]
mov r15d, dword [r9 + 0x10]
mov ebp, dword [r9 + 0x14]
mov rax, qword [r9 + 0x18]
mov qword [rsp + 0x40], rax
mov rax, qword [r9 + 0x20]
mov qword [rsp + 0x48], rax
movups xmm6, xmmword [r9 + 0x28]
mov rax, qword [r9 + 0x38]
mov qword [rsp + 0x68], rax
mov rax, qword [r9 + 0x40]
mov qword [rsp + 0x60], rax
mov rax, qword [r9 + 0x48]
mov qword [rsp + 0x58], rax
mov rax, qword [r9 + 0x50]
mov qword [rsp + 0x50], rax
movzx eax, word [r9 + 0x58]
mov word [rsp + 0x26], ax
movzx eax, word [r9 + 0x5e]
mov word [rsp + 0x74], ax
mov eax, dword [r9 + 0x5a]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x28], eax
movzx eax, byte [rsp + 0x3c]
mov byte [rsp + 0x2c], al
mov rcx, r8
call fcn.140021330
cmp r14, 3
jne 0x140023e10
mov byte [rsi + 8], bl
mov byte [rsi + 9], dil
mov word [rsi + 0xa], r13w
mov dword [rsi + 0xc], r12d
mov dword [rsi + 0x10], r15d
mov dword [rsi + 0x14], ebp
mov rax, qword [rsp + 0x40]
mov qword [rsi + 0x18], rax
mov rax, qword [rsp + 0x48]
mov qword [rsi + 0x20], rax
movlps qword [rsi + 0x28], xmm6
mov eax, 4
jmp 0x140023ea7
mov qword [rsi + 8], r14
mov byte [rsi + 0x10], bl
mov byte [rsi + 0x11], dil
mov word [rsi + 0x12], r13w
mov dword [rsi + 0x14], r12d
mov dword [rsi + 0x18], r15d
mov dword [rsi + 0x1c], ebp
mov rax, qword [rsp + 0x40]
mov qword [rsi + 0x20], rax
mov rax, qword [rsp + 0x48]
mov qword [rsi + 0x28], rax
movups xmmword [rsi + 0x30], xmm6
mov rax, qword [rsp + 0x68]
mov qword [rsi + 0x40], rax
mov rax, qword [rsp + 0x60]
mov qword [rsi + 0x48], rax
mov rax, qword [rsp + 0x58]
mov qword [rsi + 0x50], rax
mov rax, qword [rsp + 0x50]
mov qword [rsi + 0x58], rax
movzx eax, word [rsp + 0x26]
mov word [rsi + 0x60], ax
mov eax, dword [rsp + 0x70]
mov dword [rsi + 0x62], eax
movzx eax, word [rsp + 0x74]
mov word [rsi + 0x66], ax
mov qword [rsi + 0x68], 0
movzx eax, word [rsp + 0x24]
mov word [rsi + 0x70], ax
mov byte [rsi + 0x72], 3
movzx eax, byte [rsp + 0x2c]
mov byte [rsi + 0x77], al
mov eax, dword [rsp + 0x28]
mov dword [rsi + 0x73], eax
mov eax, 3
mov qword [rsi], rax
movaps xmm6, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret