Function at 0x42199e
Capabilities:
Encode data using xor
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, 0xc8
mov rax, r8
mov rsi, rdx
mov qword [rsp + 0xc0], rcx
xorps xmm0, xmm0
lea rcx, [rsp + 0x30]
movaps xmmword [rcx + 0x30], xmm0
movaps xmmword [rcx + 0x20], xmm0
movaps xmmword [rcx + 0x10], xmm0
movaps xmmword [rcx], xmm0
add r8, 0x10
lea r9, [rax + 0x20]
lea rdx, [rax + 0x30]
mov qword [rsp + 0x20], rdx
mov rdx, rax
call fcn.0042138e
xor eax, eax
mov rcx, qword [rsi + rax*8]
xor qword [rsp + rax*8 + 0x30], rcx
lea rcx, [rax + 1]
mov rax, rcx
cmp rcx, 8
jne 0x4219f1
lea rax, [rsi + 0x40]
mov qword [rsp + 0xb0], rax
lea rax, [rsi + 0x80]
mov qword [rsp + 0xa0], rax
lea rax, [rsi + 0xc0]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xb8], rsi
lea rax, [rsi + 0x100]
mov qword [rsp + 0x90], rax
mov eax, 8
mov qword [rsp + 0xa8], rax
lea rcx, [rsp + 0x30]
call fcn.004215da
mov r8, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
mov r13, qword [rsp + 0x60]
mov rcx, r8
rol rcx, 0x2c
movabs rbp, 0xfff0fff0fff0fff
and rcx, rbp
mov r15, r8
rol r15, 0x3c
movabs rax, 0xf000f000f000f000
and r15, rax
or r15, rcx
mov rcx, r11
rol rcx, 0x2c
and rcx, rbp
mov rdi, r11
rol rdi, 0x3c
and rdi, rax
mov rdx, r9
rol rdx, 0x2c
or rdi, rcx
mov rsi, r9
rol rsi, 0x3c
and rdx, rbp
and rsi, rax
or rsi, rdx
mov rcx, r14
rol rcx, 0x2c
and rcx, rbp
mov rdx, r14
rol rdx, 0x3c
and rdx, rax
or rdx, rcx
mov qword [rsp + 0x88], rbx
mov rcx, rbx
rol rcx, 0x2c
and rcx, rbp
rol rbx, 0x3c
and rbx, rax
or rbx, rcx
mov rcx, r12
mov qword [rsp + 0x70], r12
mov r10, r12
rol r10, 0x2c
and r10, rbp
rol rcx, 0x3c
and rcx, rax
mov qword [rsp + 0x80], r13
mov r12, r13
rol r12, 0x2c
or rcx, r10
rol r13, 0x3c
and r12, rbp
and r13, rax
or r13, r12
mov qword [rsp + 0x78], r13
mov r12, qword [rsp + 0x68]
mov r10, r12
rol r10, 0x2c
and r10, rbp
mov r13, r12
rol r13, 0x3c
and r13, rax
xor r8, r15
mov rax, r8
rol rax, 0x18
or r13, r10
mov r10, r8
rol r10, 0x28
movabs rbp, 0xff00ff00ff00ff
and rax, rbp
movabs rbp, 0xff00ff00ff00ff00
and r10, rbp
or r10, rax
xor r12, r13
xor r15, r12
xor r15, r10
mov qword [rsp + 0x30], r15
xor r11, rdi
mov rax, r11
rol rax, 0x18
movabs r15, 0xff00ff00ff00ff
and rax, r15
mov r10, r11
rol r10, 0x28
and r10, rbp
or r10, rax
xor r8, rdi
xor r9, rsi
xor r8, r12
xor r8, r10
mov rax, r9
rol rax, 0x18
mov qword [rsp + 0x38], r8
mov r8, r9
rol r8, 0x28
mov r10, r15
and rax, r15
and r8, rbp
or r8, rax
xor r11, rsi
xor r14, rdx
xor r11, r8
mov qword [rsp + 0x40], r11
mov rax, r14
rol rax, 0x18
and rax, r10
mov rsi, r10
mov r8, r14
rol r8, 0x28
and r8, rbp
or r8, rax
xor r9, rdx
mov r10, qword [rsp + 0x88]
xor r10, rbx
xor r9, r12
xor r9, r8
mov qword [rsp + 0x48], r9
mov rax, r10
rol rax, 0x18
and rax, rsi
mov rdx, r10
rol rdx, 0x28
and rdx, rbp
or rdx, rax
xor r14, rbx
mov r8, qword [rsp + 0x70]
xor r8, rcx
xor r14, r12
xor r14, rdx
mov qword [rsp + 0x50], r14
mov rax, r8
rol rax, 0x18
and rax, rsi
mov rdx, r8
mov r9, r8
rol rdx, 0x28
and rdx, rbp
or rdx, rax
xor r10, rcx
mov r8, qword [rsp + 0x80]
mov r11, qword [rsp + 0x78]
xor r8, r11
xor r10, rdx
mov qword [rsp + 0x58], r10
mov rax, r8
rol rax, 0x18
and rax, rsi
mov rcx, r8
rol rcx, 0x28
and rcx, rbp
or rcx, rax
xor r9, r11
xor r9, rcx
mov qword [rsp + 0x60], r9
mov rax, r12
rol rax, 0x18
and rax, rsi
rol r12, 0x28
and r12, rbp
or r12, rax
xor r8, r13
xor r8, r12
mov qword [rsp + 0x68], r8
xor eax, eax
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rdx + rax*8]
xor qword [rsp + rax*8 + 0x30], rcx
lea rcx, [rax + 1]
mov rax, rcx
cmp rcx, 8
jne 0x421ce0
cmp qword [rsp + 0xa8], 0x68
je 0x422328
lea rcx, [rsp + 0x30]
call fcn.004215da
mov r11, qword [rsp + 0x30]
mov r10, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
mov rax, r11
rol rax, 0x28
movabs rbp, 0xff00ff00ff00ff
and rax, rbp
mov r13, r11
rol r13, 0x38
movabs rcx, 0xff00ff00ff00ff00
and r13, rcx
or r13, rax
mov rsi, r10
rol rsi, 0x28
and rsi, rbp
mov rax, r10
rol rax, 0x38
and rax, rcx
mov rdi, r9
rol rdi, 0x28
or rax, rsi
mov r15, r9
rol r15, 0x38
and rdi, rbp
and r15, rcx
or r15, rdi
mov rsi, r8
rol rsi, 0x28
and rsi, rbp
mov r14, r8
rol r14, 0x38
and r14, rcx
or r14, rsi
mov rsi, rdx
mov qword [rsp + 0x70], rdx
mov rdi, rdx
rol rdi, 0x28
and rdi, rbp
rol rsi, 0x38
and rsi, rcx
or rsi, rdi
mov qword [rsp + 0x80], rbx
mov rdi, rbx
rol rdi, 0x28
and rdi, rbp
rol rbx, 0x38
and rbx, rcx
mov qword [rsp + 0x78], r12
mov rbp, r12
rol rbp, 0x28
or rbx, rdi
rol r12, 0x38
movabs rdi, 0xff00ff00ff00ff
and rbp, rdi
and r12, rcx
or r12, rbp
mov rbp, qword [rsp + 0x68]
mov rdi, rbp
rol rdi, 0x28
movabs rcx, 0xff00ff00ff00ff
and rdi, rcx
mov rcx, rbp
rol rcx, 0x38
movabs rdx, 0xff00ff00ff00ff00
and rcx, rdx
or rcx, rdi
xor r11, r13
xor rbp, rcx
mov rdi, r11
rol rdi, 0x20
xor r13, rbp
xor r13, rdi
mov qword [rsp + 0x30], r13
xor r10, rax
xor r11, rax
mov rax, r10
rol rax, 0x20
xor r11, rbp
xor r11, rax
mov qword [rsp + 0x38], r11
xor r9, r15
xor r10, r15
mov rax, r9
rol rax, 0x20
xor r10, rax
xor r8, r14
mov qword [rsp + 0x40], r10
mov rax, r8
rol rax, 0x20
xor r9, r14
xor r9, rbp
xor r9, rax
mov rdx, qword [rsp + 0x70]
xor rdx, rsi
mov qword [rsp + 0x48], r9
mov rax, rdx
rol rax, 0x20
xor r8, rsi
xor r8, rbp
xor r8, rax
mov r9, qword [rsp + 0x80]
xor r9, rbx
mov qword [rsp + 0x50], r8
mov rax, r9
rol rax, 0x20
xor rdx, rbx
xor rdx, rax
mov qword [rsp + 0x58], rdx
mov rdx, qword [rsp + 0x78]
xor rdx, r12
xor r9, r12
mov rax, rdx
rol rax, 0x20
xor r9, rax
mov qword [rsp + 0x60], r9
rol rbp, 0x20
xor rdx, rcx
xor rdx, rbp
mov qword [rsp + 0x68], rdx
xor eax, eax
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rdx + rax*8]
xor qword [rsp + rax*8 + 0x30], rcx
lea rcx, [rax + 1]
mov rax, rcx
cmp rcx, 8
jne 0x421ef7
lea rcx, [rsp + 0x30]
call fcn.004215da
mov rcx, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
mov r13, qword [rsp + 0x60]
mov r10, rcx
rol r10, 0x24
movabs rdx, 0xf000f000f000f
and r10, rdx
mov r15, rcx
rol r15, 0x34
movabs rax, 0xfff0fff0fff0fff0
and r15, rax
or r15, r10
mov r10, r11
rol r10, 0x24
and r10, rdx
mov rdi, r11
rol rdi, 0x34
and rdi, rax
mov rbx, r9
rol rbx, 0x24
or rdi, r10
mov rsi, r9
rol rsi, 0x34
and rbx, rdx
and rsi, rax
or rsi, rbx
mov r10, r8
rol r10, 0x24
and r10, rdx
mov r14, r8
rol r14, 0x34
and r14, rax
or r14, r10
mov rbx, rbp
mov qword [rsp + 0x88], rbp
mov r10, rbp
rol r10, 0x24
and r10, rdx
rol rbx, 0x34
and rbx, rax
or rbx, r10
mov rbp, r12
mov qword [rsp + 0x70], r12
mov r10, r12
rol r10, 0x24
and r10, rdx
rol rbp, 0x34
and rbp, rax
mov qword [rsp + 0x80], r13
mov r12, r13
rol r12, 0x24
or rbp, r10
rol r13, 0x34
and r12, rdx
and r13, rax
or r13, r12
mov qword [rsp + 0x78], r13
mov r12, qword [rsp + 0x68]
mov r10, r12
rol r10, 0x24
and r10, rdx
mov r13, r12
rol r13, 0x34
and r13, rax
xor rcx, r15
mov rax, rcx
rol rax, 0x18
or r13, r10
mov r10, rcx
rol r10, 0x28
movabs rdx, 0xff00ff00ff00ff
and rax, rdx
movabs rdx, 0xff00ff00ff00ff00
and r10, rdx
or r10, rax
xor r12, r13
xor r15, r12
xor r15, r10
mov qword [rsp + 0x30], r15
xor r11, rdi
mov rax, r11
rol rax, 0x18
movabs r15, 0xff00ff00ff00ff
and rax, r15
mov r10, r11
rol r10, 0x28
and r10, rdx
or r10, rax
xor rcx, rdi
xor r9, rsi
xor rcx, r12
xor rcx, r10
mov rax, r9
rol rax, 0x18
mov qword [rsp + 0x38], rcx
mov rcx, r9
rol rcx, 0x28
mov r10, r15
and rax, r15
and rcx, rdx
or rcx, rax
xor r11, rsi
xor r8, r14
xor r11, rcx
mov qword [rsp + 0x40], r11
mov rax, r8
rol rax, 0x18
and rax, r10
mov rsi, r10
mov rcx, r8
rol rcx, 0x28
and rcx, rdx
mov r11, rdx
or rcx, rax
xor r9, r14
mov rdx, qword [rsp + 0x88]
xor rdx, rbx
xor r9, r12
xor r9, rcx
mov qword [rsp + 0x48], r9
mov rax, rdx
rol rax, 0x18
and rax, r10
mov rcx, rdx
mov r9, rdx
rol rcx, 0x28
and rcx, r11
or rcx, rax
xor r8, rbx
mov rdx, qword [rsp + 0x70]
xor rdx, rbp
xor r8, r12
xor r8, rcx
mov qword [rsp + 0x50], r8
mov rax, rdx
rol rax, 0x18
and rax, r10
mov rcx, rdx
mov r8, rdx
rol rcx, 0x28
and rcx, r11
or rcx, rax
xor r9, rbp
mov rdx, qword [rsp + 0x80]
mov r10, qword [rsp + 0x78]
xor rdx, r10
xor r9, rcx
mov qword [rsp + 0x58], r9
mov rax, rdx
rol rax, 0x18
and rax, rsi
mov rcx, rdx
rol rcx, 0x28
and rcx, r11
or rcx, rax
xor r8, r10
xor r8, rcx
mov qword [rsp + 0x60], r8
mov rax, r12
rol rax, 0x18
and rax, rsi
rol r12, 0x28
and r12, r11
or r12, rax
xor rdx, r13
xor rdx, r12
mov qword [rsp + 0x68], rdx
xor eax, eax
mov r14, qword [rsp + 0x98]
mov rcx, qword [r14 + rax*8]
xor qword [rsp + rax*8 + 0x30], rcx
lea rcx, [rax + 1]
mov rax, rcx
cmp rcx, 8
jne 0x4221a1
lea rcx, [rsp + 0x30]
call fcn.004215da
mov rdi, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x68]
mov rbx, rdi
rol rbx, 0x30
mov r9, rax
rol r9, 0x30
xor rdi, rbx
xor rax, r9
mov rsi, rdi
rol rsi, 0x20
xor rbx, rax
xor rbx, rsi
mov rsi, qword [rsp + 0x60]
mov qword [rsp + 0x30], rbx
mov rbx, r11
rol rbx, 0x30
xor r11, rbx
xor rdi, rbx
mov rbx, r11
rol rbx, 0x20
xor rdi, rax
xor rdi, rbx
mov rbx, r10
rol rbx, 0x30
mov qword [rsp + 0x38], rdi
xor r10, rbx
xor r11, rbx
mov rdi, r10
rol rdi, 0x20
xor r11, rdi
mov qword [rsp + 0x40], r11
mov r11, r8
rol r11, 0x30
xor r8, r11
xor r10, r11
mov r11, r8
rol r11, 0x20
xor r10, rax
xor r10, r11
mov qword [rsp + 0x48], r10
mov r10, rdx
rol r10, 0x30
xor rdx, r10
xor r8, r10
mov r10, rdx
rol r10, 0x20
xor r8, rax
xor r8, r10
mov r10, rcx
rol r10, 0x30
mov qword [rsp + 0x50], r8
xor rcx, r10
xor rdx, r10
mov r8, rcx
rol r8, 0x20
xor rdx, r8
mov qword [rsp + 0x58], rdx
mov rdx, rsi
rol rdx, 0x30
xor rsi, rdx
xor rcx, rdx
mov rdx, rsi
rol rdx, 0x20
xor rcx, rdx
mov qword [rsp + 0x60], rcx
rol rax, 0x20
xor rsi, r9
xor rsi, rax
mov qword [rsp + 0x68], rsi
xor eax, eax
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rdx + rax*8]
xor qword [rsp + rax*8 + 0x30], rcx
lea rcx, [rax + 1]
mov rax, rcx
cmp rcx, 8
jne 0x4222d9
add qword [rsp + 0xa8], 0x20
mov eax, 0x100
add qword [rsp + 0xb0], rax
add qword [rsp + 0xa0], rax
add r14, rax
mov qword [rsp + 0x98], r14
add rdx, rax
mov qword [rsp + 0x90], rdx
jmp 0x421a55
xor eax, eax
movabs rcx, 0xff000000ff0000
mov rdx, qword [rsp + rax*8 + 0x30]
mov r8, rdx
shr r8, 8
xor r8, rdx
and r8, rcx
xor rdx, r8
shl r8, 8
xor r8, rdx
mov qword [rsp + rax*8 + 0x30], r8
lea rdx, [rax + 1]
mov rax, rdx
cmp rdx, 8
jne 0x422334
lea rcx, [rsp + 0x30]
call fcn.004215da
xor eax, eax
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rdx + rax*8 + 0x380]
xor qword [rsp + rax*8 + 0x30], rcx
lea rcx, [rax + 1]
mov rax, rcx
cmp rcx, 8
jne 0x422376
mov rdx, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
mov r13, qword [rsp + 0x68]
mov rax, rdx
shr rax, 1
xor rax, r9
movabs rdi, 0x5555555555555555
and rax, rdi
xor r9, rax
add rax, rax
xor rax, rdx
mov rdx, r10
shr rdx, 1
xor rdx, r12
and rdx, rdi
xor r12, rdx
add rdx, rdx
xor rdx, r10
mov r10, r11
shr r10, 1
xor r10, r8
and r10, rdi
xor r8, r10
add r10, r10
xor r10, r11
mov rbx, rcx
shr rbx, 1
xor rbx, r13
and rbx, rdi
xor r13, rbx
add rbx, rbx
xor rbx, rcx
mov rdi, rax
shr rdi, 2
xor rdi, rdx
movabs r11, 0x3333333333333333
and rdi, r11
xor rdx, rdi
shl rdi, 2
xor rdi, rax
mov rcx, r10
shr rcx, 2
xor rcx, rbx
and rcx, r11
xor rbx, rcx
shl rcx, 2
xor rcx, r10
mov rax, rdi
shr rax, 4
xor rax, rcx
movabs r10, 0xf0f0f0f0f0f0f0f
and rax, r10
xor rcx, rax
shl rax, 4
xor rax, rdi
mov edi, eax
shr edi, 0x10
mov r14, rax
shr r14, 0x20
mov r15, rax
shr r15, 0x30
mov rsi, qword [rsp + 0xc0]
mov byte [rsi], al
mov byte [rsi + 1], dil
mov rdi, rax
mov byte [rsi + 2], r14b
mov r14, rax
mov byte [rsi + 3], r15b
mov ebp, ecx
shr ebp, 0x10
mov byte [rsi + 4], cl
mov byte [rsi + 5], bpl
mov r15, rcx
shr r15, 0x20
mov byte [rsi + 6], r15b
mov r15, rcx
shr r15, 0x30
mov byte [rsi + 7], r15b
mov byte [rsi + 8], ah
mov r15, r9
shr r15, 2
xor r15, r12
and r15, r11
xor r12, r15
shl r15, 2
xor r15, r9
shr eax, 0x18
shr rdi, 0x28
shr r14, 0x38
mov byte [rsi + 9], al
mov r9, rcx
mov byte [rsi + 0xa], dil
mov rdi, rcx
mov byte [rsi + 0xb], r14b
mov byte [rsi + 0xc], ch
mov ebp, ecx
mov rax, r8
shr rax, 2
xor rax, r13
and rax, r11
xor r13, rax
shl rax, 2
xor rax, r8
mov rcx, r15
shr rcx, 4
xor rcx, rax
and rcx, r10
xor rax, rcx
shl rcx, 4
xor rcx, r15
shr ebp, 0x18
mov byte [rsi + 0xd], bpl
shr r9, 0x28
shr rdi, 0x38
mov byte [rsi + 0xe], r9b
mov r8d, ecx
shr r8d, 0x10
mov byte [rsi + 0xf], dil
mov r9, rcx
shr r9, 0x20
mov byte [rsi + 0x10], cl
mov byte [rsi + 0x11], r8b
mov r8, rcx
shr r8, 0x30
mov byte [rsi + 0x12], r9b
mov r9, rcx
mov byte [rsi + 0x13], r8b
mov r8d, eax
shr r8d, 0x10
mov byte [rsi + 0x14], al
mov byte [rsi + 0x15], r8b
mov r8, rax
shr r8, 0x20
mov byte [rsi + 0x16], r8b
mov r8, rax
shr r8, 0x30
mov byte [rsi + 0x17], r8b
mov r8, rcx
mov byte [rsi + 0x18], ch
shr ecx, 0x18
shr r9, 0x28
shr r8, 0x38
mov byte [rsi + 0x19], cl
mov rcx, rax
mov byte [rsi + 0x1a], r9b
mov r9, rax
mov byte [rsi + 0x1b], r8b
mov byte [rsi + 0x1c], ah
mov r8d, eax
mov rax, rdx
shr rax, 4
xor rax, rbx
and rax, r10
xor rbx, rax
shl rax, 4
xor rax, rdx
shr r8d, 0x18
mov byte [rsi + 0x1d], r8b
shr rcx, 0x28
shr r9, 0x38
mov byte [rsi + 0x1e], cl
mov ecx, eax
shr ecx, 0x10
mov byte [rsi + 0x1f], r9b
mov rdx, rax
shr rdx, 0x20
mov byte [rsi + 0x20], al
mov byte [rsi + 0x21], cl
mov rcx, rax
shr rcx, 0x30
mov byte [rsi + 0x22], dl
mov rdx, rax
mov byte [rsi + 0x23], cl
mov ecx, ebx
shr ecx, 0x10
mov byte [rsi + 0x24], bl
mov byte [rsi + 0x25], cl
mov rcx, rbx
shr rcx, 0x20
mov byte [rsi + 0x26], cl
mov rcx, rbx
shr rcx, 0x30
mov byte [rsi + 0x27], cl
mov rcx, rax
mov byte [rsi + 0x28], ah
shr eax, 0x18
shr rdx, 0x28
shr rcx, 0x38
mov byte [rsi + 0x29], al
mov r8, rbx
mov byte [rsi + 0x2a], dl
mov rdx, rbx
mov byte [rsi + 0x2b], cl
mov byte [rsi + 0x2c], bh
mov ecx, ebx
mov rax, r12
shr rax, 4
mov rbx, r13
xor rax, r13
and rax, r10
xor rbx, rax
shl rax, 4
xor rax, r12
shr ecx, 0x18
mov byte [rsi + 0x2d], cl
shr r8, 0x28
shr rdx, 0x38
mov byte [rsi + 0x2e], r8b
mov ecx, eax
shr ecx, 0x10
mov byte [rsi + 0x2f], dl
mov rdx, rax
shr rdx, 0x20
mov byte [rsi + 0x30], al
mov byte [rsi + 0x31], cl
mov rcx, rax
shr rcx, 0x30
mov byte [rsi + 0x32], dl
mov rdx, rax
mov byte [rsi + 0x33], cl
mov ecx, ebx
shr ecx, 0x10
mov byte [rsi + 0x34], bl
mov byte [rsi + 0x35], cl
mov rcx, rbx
shr rcx, 0x20
mov byte [rsi + 0x36], cl
mov rcx, rbx
shr rcx, 0x30
mov byte [rsi + 0x37], cl
mov rcx, rax
mov byte [rsi + 0x38], ah
shr eax, 0x18
mov byte [rsi + 0x39], al
shr rdx, 0x28
shr rcx, 0x38
mov byte [rsi + 0x3a], dl
mov rax, rbx
mov byte [rsi + 0x3b], cl
mov rcx, rbx
mov byte [rsi + 0x3c], bh
mov edx, ebx
shr edx, 0x18
mov byte [rsi + 0x3d], dl
shr rax, 0x28
mov byte [rsi + 0x3e], al
shr rcx, 0x38
mov byte [rsi + 0x3f], cl
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret