Function at 0x1400300eb
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, 0xd8
mov rax, r8
mov rsi, rdx
mov qword [rsp + 0xc8], 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.14002fad7
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 0x14003013e
lea rax, [rsi + 0x40]
mov qword [rsp + 0xb8], rax
lea rax, [rsi + 0x80]
mov qword [rsp + 0xa8], rax
lea rax, [rsi + 0xc0]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xc0], rsi
lea rax, [rsi + 0x100]
mov qword [rsp + 0x98], rax
mov eax, 8
mov qword [rsp + 0xb0], rax
lea rcx, [rsp + 0x30]
call fcn.14002fd25
mov r8, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
mov rcx, r8
rol rcx, 0x2c
movabs rax, 0xfff0fff0fff0fff
and rcx, rax
mov rbx, r8
rol rbx, 0x3c
movabs rbp, 0xf000f000f000f000
and rbx, rbp
or rbx, rcx
mov rcx, r11
rol rcx, 0x2c
and rcx, rax
mov r14, r11
rol r14, 0x3c
and r14, rbp
mov rdx, r9
rol rdx, 0x2c
or r14, rcx
mov r13, r9
rol r13, 0x3c
and rdx, rax
and r13, rbp
or r13, rdx
mov rcx, r12
rol rcx, 0x2c
and rcx, rax
mov rdx, r12
rol rdx, 0x3c
and rdx, rbp
or rdx, rcx
mov qword [rsp + 0xd0], r15
mov rcx, r15
rol rcx, 0x2c
and rcx, rax
rol r15, 0x3c
and r15, rbp
or r15, rcx
mov qword [rsp + 0x80], rsi
mov r10, rsi
rol r10, 0x2c
and r10, rax
mov rcx, rsi
rol rcx, 0x3c
and rcx, rbp
mov qword [rsp + 0x88], rdi
mov rsi, rdi
rol rsi, 0x2c
or rcx, r10
mov qword [rsp + 0x90], rcx
rol rdi, 0x3c
and rsi, rax
and rdi, rbp
or rdi, rsi
mov rsi, qword [rsp + 0x68]
mov r10, rsi
rol r10, 0x2c
and r10, rax
mov rcx, rsi
rol rcx, 0x3c
and rcx, rbp
xor r8, rbx
mov rax, r8
rol rax, 0x18
or rcx, r10
mov qword [rsp + 0x78], rcx
mov r10, r8
rol r10, 0x28
movabs rbp, 0xff00ff00ff00ff
and rax, rbp
movabs rbp, 0xff00ff00ff00ff00
and r10, rbp
or r10, rax
xor rsi, rcx
xor rbx, rsi
xor rbx, r10
mov qword [rsp + 0x30], rbx
xor r11, r14
mov rax, r11
rol rax, 0x18
movabs rcx, 0xff00ff00ff00ff
and rax, rcx
mov r10, r11
rol r10, 0x28
and r10, rbp
or r10, rax
xor r8, r14
xor r9, r13
xor r8, rsi
xor r8, r10
mov rax, r9
rol rax, 0x18
mov qword [rsp + 0x38], r8
mov r8, r9
rol r8, 0x28
and rax, rcx
and r8, rbp
or r8, rax
xor r11, r13
xor r12, rdx
xor r11, r8
mov qword [rsp + 0x40], r11
mov rax, r12
rol rax, 0x18
and rax, rcx
mov r11, rcx
mov r8, r12
rol r8, 0x28
and r8, rbp
or r8, rax
xor r9, rdx
mov r10, qword [rsp + 0xd0]
xor r10, r15
xor r9, rsi
xor r9, r8
mov qword [rsp + 0x48], r9
mov rax, r10
rol rax, 0x18
and rax, rcx
mov rdx, r10
rol rdx, 0x28
and rdx, rbp
or rdx, rax
xor r12, r15
mov r8, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x90]
xor r8, rcx
xor r12, rsi
xor r12, rdx
mov qword [rsp + 0x50], r12
mov rax, r8
rol rax, 0x18
and rax, r11
mov rdx, r8
mov r9, r8
rol rdx, 0x28
and rdx, rbp
or rdx, rax
xor r10, rcx
mov r8, qword [rsp + 0x88]
xor r8, rdi
xor r10, rdx
mov qword [rsp + 0x58], r10
mov rax, r8
rol rax, 0x18
and rax, r11
mov rcx, r8
rol rcx, 0x28
and rcx, rbp
or rcx, rax
xor r9, rdi
xor r9, rcx
mov qword [rsp + 0x60], r9
mov rax, rsi
rol rax, 0x18
and rax, r11
rol rsi, 0x28
and rsi, rbp
or rsi, rax
xor r8, qword [rsp + 0x78]
xor r8, rsi
mov qword [rsp + 0x68], r8
xor eax, eax
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rdx + rax*8]
xor qword [rsp + rax*8 + 0x30], rcx
lea rcx, [rax + 1]
mov rax, rcx
cmp rcx, 8
jne 0x14003043d
cmp qword [rsp + 0xb0], 0x68
je 0x140030a68
lea rcx, [rsp + 0x30]
call fcn.14002fd25
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 rcx, 0xff00ff00ff00ff
and rax, rcx
mov r13, r11
rol r13, 0x38
movabs rbp, 0xff00ff00ff00ff00
and r13, rbp
or r13, rax
mov rsi, r10
rol rsi, 0x28
and rsi, rcx
mov rax, r10
rol rax, 0x38
and rax, rbp
mov rdi, r9
rol rdi, 0x28
or rax, rsi
mov r15, r9
rol r15, 0x38
and rdi, rcx
and r15, rbp
or r15, rdi
mov rsi, r8
rol rsi, 0x28
and rsi, rcx
mov r14, r8
rol r14, 0x38
and r14, rbp
or r14, rsi
mov qword [rsp + 0x88], rdx
mov rdi, rdx
rol rdi, 0x28
and rdi, rcx
rol rdx, 0x38
and rdx, rbp
or rdx, rdi
mov qword [rsp + 0x80], rbx
mov rdi, rbx
rol rdi, 0x28
and rdi, rcx
rol rbx, 0x38
and rbx, rbp
mov rsi, r12
mov qword [rsp + 0x78], r12
mov rbp, r12
rol rbp, 0x28
or rbx, rdi
rol rsi, 0x38
and rbp, rcx
movabs r12, 0xff00ff00ff00ff00
and rsi, r12
or rsi, rbp
mov rbp, qword [rsp + 0x68]
mov rdi, rbp
rol rdi, 0x28
and rdi, rcx
mov rcx, rbp
rol rcx, 0x38
and rcx, r12
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 r10, qword [rsp + 0x88]
xor r10, rdx
mov qword [rsp + 0x48], r9
mov rax, r10
rol rax, 0x20
xor r8, rdx
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 r10, rbx
xor r10, rax
mov qword [rsp + 0x58], r10
mov rdx, qword [rsp + 0x78]
xor rdx, rsi
xor r9, rsi
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 + 0xa8]
mov rcx, qword [rdx + rax*8]
xor qword [rsp + rax*8 + 0x30], rcx
lea rcx, [rax + 1]
mov rax, rcx
cmp rcx, 8
jne 0x140030646
lea rcx, [rsp + 0x30]
call fcn.14002fd25
mov rcx, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
mov r10, rcx
rol r10, 0x24
movabs rax, 0xf000f000f000f
and r10, rax
mov rbx, rcx
rol rbx, 0x34
movabs rdx, 0xfff0fff0fff0fff0
and rbx, rdx
or rbx, r10
mov r10, r11
rol r10, 0x24
and r10, rax
mov r14, r11
rol r14, 0x34
and r14, rdx
mov rsi, r9
rol rsi, 0x24
or r14, r10
mov r13, r9
rol r13, 0x34
and rsi, rax
and r13, rdx
or r13, rsi
mov r10, r8
rol r10, 0x24
and r10, rax
mov r12, r8
rol r12, 0x34
and r12, rdx
or r12, r10
mov qword [rsp + 0x90], r15
mov r10, r15
rol r10, 0x24
and r10, rax
rol r15, 0x34
and r15, rdx
or r15, r10
mov qword [rsp + 0x78], rbp
mov r10, rbp
rol r10, 0x24
and r10, rax
rol rbp, 0x34
and rbp, rdx
mov qword [rsp + 0x88], rdi
mov rsi, rdi
rol rsi, 0x24
or rbp, r10
rol rdi, 0x34
and rsi, rax
and rdi, rdx
or rdi, rsi
mov qword [rsp + 0x80], rdi
mov rsi, qword [rsp + 0x68]
mov r10, rsi
rol r10, 0x24
and r10, rax
mov rdi, rsi
rol rdi, 0x34
and rdi, rdx
xor rcx, rbx
mov rax, rcx
rol rax, 0x18
or rdi, r10
mov r10, rcx
rol r10, 0x28
movabs rdx, 0xff00ff00ff00ff
and rax, rdx
movabs rdx, 0xff00ff00ff00ff00
and r10, rdx
or r10, rax
xor rsi, rdi
xor rbx, rsi
xor rbx, r10
mov qword [rsp + 0x30], rbx
xor r11, r14
mov rax, r11
rol rax, 0x18
movabs rbx, 0xff00ff00ff00ff
and rax, rbx
mov r10, r11
rol r10, 0x28
and r10, rdx
or r10, rax
xor rcx, r14
xor r9, r13
xor rcx, rsi
xor rcx, r10
mov rax, r9
rol rax, 0x18
mov qword [rsp + 0x38], rcx
mov rcx, r9
rol rcx, 0x28
and rax, rbx
and rcx, rdx
or rcx, rax
xor r11, r13
xor r8, r12
xor r11, rcx
mov qword [rsp + 0x40], r11
mov rax, r8
rol rax, 0x18
and rax, rbx
mov rcx, r8
rol rcx, 0x28
and rcx, rdx
or rcx, rax
xor r9, r12
mov r10, qword [rsp + 0x90]
xor r10, r15
xor r9, rsi
xor r9, rcx
mov qword [rsp + 0x48], r9
mov rax, r10
rol rax, 0x18
and rax, rbx
mov rcx, r10
rol rcx, 0x28
and rcx, rdx
or rcx, rax
xor r8, r15
mov r9, qword [rsp + 0x78]
xor r9, rbp
xor r8, rsi
xor r8, rcx
mov qword [rsp + 0x50], r8
mov rax, r9
rol rax, 0x18
and rax, rbx
mov rcx, r9
rol rcx, 0x28
and rcx, rdx
or rcx, rax
xor r10, rbp
mov r8, qword [rsp + 0x88]
mov r11, qword [rsp + 0x80]
xor r8, r11
xor r10, rcx
mov qword [rsp + 0x58], r10
mov rax, r8
rol rax, 0x18
and rax, rbx
mov rcx, r8
rol rcx, 0x28
and rcx, rdx
or rcx, rax
xor r9, r11
xor r9, rcx
mov qword [rsp + 0x60], r9
mov rax, rsi
rol rax, 0x18
and rax, rbx
rol rsi, 0x28
and rsi, rdx
or rsi, rax
xor r8, rdi
xor r8, rsi
mov qword [rsp + 0x68], r8
xor eax, eax
mov r14, qword [rsp + 0xa0]
mov rcx, qword [r14 + rax*8]
xor qword [rsp + rax*8 + 0x30], rcx
lea rcx, [rax + 1]
mov rax, rcx
cmp rcx, 8
jne 0x1400308e1
lea rcx, [rsp + 0x30]
call fcn.14002fd25
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 + 0x98]
mov rcx, qword [rdx + rax*8]
xor qword [rsp + rax*8 + 0x30], rcx
lea rcx, [rax + 1]
mov rax, rcx
cmp rcx, 8
jne 0x140030a19
add qword [rsp + 0xb0], 0x20
mov eax, 0x100
add qword [rsp + 0xb8], rax
add qword [rsp + 0xa8], rax
add r14, rax
mov qword [rsp + 0xa0], r14
add rdx, rax
mov qword [rsp + 0x98], rdx
jmp 0x1400301a2
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 0x140030a74
lea rcx, [rsp + 0x30]
call fcn.14002fd25
xor eax, eax
mov rdx, qword [rsp + 0xc0]
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 0x140030ab6
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 + 0xc8]
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, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret