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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
movsxd r9, dword [rcx + 0x64]
lea rdi, [rcx + 0x20]
mov ebp, dword [rcx + 0x60]
mov rbx, rcx
mov ecx, ebp
mov eax, 0x80
and ecx, 7
mov rsi, rdx
shr eax, cl
or byte [r9 + rdi], al
inc r9d
cmp r9d, 0x20
jle 0x140022da9
cmp r9d, 0x40
jge 0x140022d9c
mov eax, 0x40
movsxd rcx, r9d
sub eax, r9d
add rcx, rdi
movsxd r8, eax
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov rcx, rbx
call fcn.140023110
xor r9d, r9d
jmp 0x140022dab
jge 0x140022dc3
mov eax, 0x20
movsxd rcx, r9d
sub eax, r9d
add rcx, rdi
movsxd r8, eax
xor edx, edx
call sub.VCRUNTIME140.dll_memset
movups xmm0, xmmword [rbx]
mov rcx, rbx
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rdi + 0x30], xmm1
call fcn.140023110
movzx eax, byte [rbx + 0x6f]
mov byte [rsi], al
movzx eax, byte [rbx + 0x6e]
mov byte [rsi + 1], al
mov rax, qword [rbx + 0x68]
shr rax, 0x28
mov byte [rsi + 2], al
mov rax, qword [rbx + 0x68]
shr rax, 0x20
mov byte [rsi + 3], al
mov eax, dword [rbx + 0x68]
shr rax, 0x18
mov byte [rsi + 4], al
mov eax, dword [rbx + 0x68]
shr rax, 0x10
mov byte [rsi + 5], al
mov eax, dword [rbx + 0x68]
shr rax, 8
mov byte [rsi + 6], al
movzx eax, byte [rbx + 0x68]
mov byte [rsi + 7], al
movzx eax, byte [rbx + 0x77]
mov byte [rsi + 8], al
movzx eax, byte [rbx + 0x76]
mov byte [rsi + 9], al
mov rax, qword [rbx + 0x70]
shr rax, 0x28
mov byte [rsi + 0xa], al
mov rax, qword [rbx + 0x70]
shr rax, 0x20
mov byte [rsi + 0xb], al
mov eax, dword [rbx + 0x70]
shr rax, 0x18
mov byte [rsi + 0xc], al
mov eax, dword [rbx + 0x70]
shr rax, 0x10
mov byte [rsi + 0xd], al
mov eax, dword [rbx + 0x70]
shr rax, 8
mov byte [rsi + 0xe], al
movzx eax, byte [rbx + 0x70]
mov byte [rsi + 0xf], al
movzx eax, byte [rbx + 0x7f]
mov byte [rsi + 0x10], al
movzx eax, byte [rbx + 0x7e]
mov byte [rsi + 0x11], al
mov rax, qword [rbx + 0x78]
shr rax, 0x28
mov byte [rsi + 0x12], al
mov rax, qword [rbx + 0x78]
shr rax, 0x20
mov byte [rsi + 0x13], al
mov eax, dword [rbx + 0x78]
shr rax, 0x18
mov byte [rsi + 0x14], al
mov eax, dword [rbx + 0x78]
shr rax, 0x10
mov byte [rsi + 0x15], al
mov eax, dword [rbx + 0x78]
shr rax, 8
mov byte [rsi + 0x16], al
movzx eax, byte [rbx + 0x78]
mov byte [rsi + 0x17], al
movzx eax, byte [rbx + 0x87]
mov byte [rsi + 0x18], al
movzx eax, byte [rbx + 0x86]
mov byte [rsi + 0x19], al
mov rax, qword [rbx + 0x80]
shr rax, 0x28
mov byte [rsi + 0x1a], al
mov rax, qword [rbx + 0x80]
shr rax, 0x20
mov byte [rsi + 0x1b], al
mov eax, dword [rbx + 0x80]
shr rax, 0x18
mov byte [rsi + 0x1c], al
mov eax, dword [rbx + 0x80]
shr rax, 0x10
mov byte [rsi + 0x1d], al
mov eax, dword [rbx + 0x80]
shr rax, 8
mov byte [rsi + 0x1e], al
movzx eax, byte [rbx + 0x80]
mov byte [rsi + 0x1f], al
movzx eax, byte [rbx + 0x8f]
mov byte [rsi + 0x20], al
movzx eax, byte [rbx + 0x8e]
mov byte [rsi + 0x21], al
mov rax, qword [rbx + 0x88]
shr rax, 0x28
mov byte [rsi + 0x22], al
mov rax, qword [rbx + 0x88]
shr rax, 0x20
mov byte [rsi + 0x23], al
mov eax, dword [rbx + 0x88]
shr rax, 0x18
mov byte [rsi + 0x24], al
mov eax, dword [rbx + 0x88]
shr rax, 0x10
mov byte [rsi + 0x25], al
mov eax, dword [rbx + 0x88]
shr rax, 8
mov byte [rsi + 0x26], al
movzx eax, byte [rbx + 0x88]
mov byte [rsi + 0x27], al
movzx eax, byte [rbx + 0x97]
mov byte [rsi + 0x28], al
movzx eax, byte [rbx + 0x96]
mov byte [rsi + 0x29], al
mov rax, qword [rbx + 0x90]
shr rax, 0x28
mov byte [rsi + 0x2a], al
mov rax, qword [rbx + 0x90]
shr rax, 0x20
mov byte [rsi + 0x2b], al
mov eax, dword [rbx + 0x90]
shr rax, 0x18
mov byte [rsi + 0x2c], al
mov eax, dword [rbx + 0x90]
shr rax, 0x10
mov byte [rsi + 0x2d], al
mov eax, dword [rbx + 0x90]
shr rax, 8
mov byte [rsi + 0x2e], al
movzx eax, byte [rbx + 0x90]
mov byte [rsi + 0x2f], al
movzx eax, byte [rbx + 0x9f]
mov byte [rsi + 0x30], al
movzx eax, byte [rbx + 0x9e]
mov byte [rsi + 0x31], al
mov rax, qword [rbx + 0x98]
shr rax, 0x28
mov byte [rsi + 0x32], al
mov rax, qword [rbx + 0x98]
shr rax, 0x20
mov byte [rsi + 0x33], al
mov eax, dword [rbx + 0x98]
shr rax, 0x18
mov byte [rsi + 0x34], al
mov eax, dword [rbx + 0x98]
shr rax, 0x10
mov byte [rsi + 0x35], al
mov eax, dword [rbx + 0x98]
shr rax, 8
mov byte [rsi + 0x36], al
movzx eax, byte [rbx + 0x98]
mov byte [rsi + 0x37], al
movzx eax, byte [rbx + 0xa7]
mov byte [rsi + 0x38], al
movzx eax, byte [rbx + 0xa6]
mov byte [rsi + 0x39], al
mov rax, qword [rbx + 0xa0]
shr rax, 0x28
mov byte [rsi + 0x3a], al
mov rax, qword [rbx + 0xa0]
shr rax, 0x20
mov byte [rsi + 0x3b], al
mov eax, dword [rbx + 0xa0]
shr rax, 0x18
mov byte [rsi + 0x3c], al
mov eax, dword [rbx + 0xa0]
shr rax, 0x10
mov byte [rsi + 0x3d], al
mov eax, dword [rbx + 0xa0]
shr rax, 8
mov byte [rsi + 0x3e], al
movzx eax, byte [rbx + 0xa0]
mov byte [rsi + 0x3f], al
mov rsi, qword [rsp + 0x40]
mov dword [rbx + 0x60], ebp
mov rbp, qword [rsp + 0x38]
mov dword [rbx + 0x64], 0x20
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret