Function at 0x1400c9090
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
cmp dword [rcx + 0x40], 0
je 0x1400c9f30
jmp 0x1400c98a0
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
movzx eax, byte [rdx + 1]
lea rbp, str.RRRR_t_t_t_tjjjj
movzx r11d, byte [rdx]
mov r10, rdx
mov rsi, rcx
shl r11d, 8
or r11d, eax
mov rbx, r8
movzx eax, byte [rdx + 2]
mov rdi, r9
movzx r8d, byte [rdx + 4]
movzx ecx, byte [r10 + 0xc]
mov r9d, dword [rsi + 0x4c]
mov r13d, dword [rsi + 0x58]
shl r8d, 8
shl ecx, 8
shl r11d, 8
or r11d, eax
mov qword [rsp + 0x48], rbx
movzx eax, byte [rdx + 3]
shl r11d, 8
or r11d, eax
movzx eax, byte [rdx + 5]
or r8d, eax
xor r9d, r11d
movzx eax, byte [rdx + 6]
shl r8d, 8
or r8d, eax
movzx eax, byte [rdx + 7]
movzx edx, byte [rdx + 9]
shl r8d, 8
or r8d, eax
movzx eax, byte [r10 + 8]
shl eax, 8
or edx, eax
movzx eax, byte [r10 + 0xa]
shl edx, 8
or edx, eax
movzx eax, byte [r10 + 0xb]
shl edx, 8
or edx, eax
movzx eax, byte [r10 + 0xd]
or ecx, eax
movzx eax, byte [r10 + 0xe]
shl ecx, 8
or ecx, eax
movzx eax, byte [r10 + 0xf]
mov r10d, dword [rsi + 0x50]
xor r10d, r8d
shl ecx, 8
mov r8d, dword [rsi + 0x54]
or ecx, eax
xor r8d, edx
lea rax, [0x1403f1370]
xor r13d, ecx
xor r11d, r11d
mov edx, r11d
nop dword [rax + rax]
mov ecx, reloc.WS2_32.dll_recv
nop word [rax + rax]
and edx, dword [rax]
add rax, 0x40
sub rcx, 1
jne 0x1400c99a0
cmp rax, rbp
jl 0x1400c9990
mov r14, qword [str.pe__]
or r9d, edx
mov rbp, qword [0x1404b32c0]
mov eax, r8d
shr eax, 8
movzx edx, al
mov eax, r13d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 0x18
mov r15d, dword [r14 + rdx*4]
mov rdx, qword [0x1404b32c8]
xor r15d, dword [rdx + rcx*4]
movzx ecx, al
movzx eax, r10b
xor r15d, dword [rbp + rcx*4]
mov rcx, qword [0x1404b32d8]
xor r15d, dword [rcx + rax*4]
mov eax, r13d
xor r15d, dword [rsi + 0x5c]
shr eax, 8
movzx ecx, al
mov eax, r9d
shr eax, 0x10
movzx eax, al
mov r12d, dword [r14 + rcx*4]
xor r12d, dword [rdx + rax*4]
mov eax, r10d
shr eax, 0x18
movzx ecx, al
movzx eax, r8b
xor r12d, dword [rbp + rcx*4]
mov rcx, qword [0x1404b32d8]
xor r12d, dword [rcx + rax*4]
mov eax, r9d
xor r12d, dword [rsi + 0x60]
shr eax, 8
movzx ecx, al
mov eax, r10d
shr eax, 0x10
movzx eax, al
shr r10d, 8
mov ebp, dword [r14 + rcx*4]
xor ebp, dword [rdx + rax*4]
mov eax, r8d
shr eax, 0x18
movzx ecx, al
mov rax, qword [0x1404b32c0]
shr r8d, 0x10
xor ebp, dword [rax + rcx*4]
mov rcx, qword [0x1404b32d8]
movzx eax, r13b
shr r13d, 0x18
xor ebp, dword [rcx + rax*4]
xor ebp, dword [rsi + 0x64]
movzx ecx, r10b
movzx eax, r8b
mov r14d, dword [r14 + rcx*4]
xor r14d, dword [rdx + rax*4]
mov rcx, qword [0x1404b32c0]
movzx eax, r13b
xor r14d, dword [rcx + rax*4]
mov rcx, qword [0x1404b32d8]
movzx eax, r9b
xor r14d, dword [rcx + rax*4]
mov rax, qword [rsp + 0x40]
xor r14d, dword [rsi + 0x68]
add rsi, 0x6c
mov eax, dword [rax + 0x48]
shr eax, 1
sub eax, 1
mov dword [rsp + 0x40], eax
je 0x1400c9c97
mov rbx, qword [str.pe__]
mov r13, rdx
mov rdi, qword [0x1404b32c0]
mov r11, rcx
nop dword [rax]
mov eax, ebp
shr eax, 8
movzx ecx, al
mov eax, r14d
shr eax, 0x10
movzx eax, al
mov r10d, dword [rbx + rcx*4]
xor r10d, dword [r13 + rax*4]
mov eax, r15d
shr eax, 0x18
movzx ecx, al
movzx eax, r12b
xor r10d, dword [rdi + rcx*4]
xor r10d, dword [r11 + rax*4]
mov eax, r14d
shr eax, 8
movzx ecx, al
mov eax, r15d
xor r10d, dword [rsi]
shr eax, 0x10
movzx eax, al
mov r9d, dword [rbx + rcx*4]
xor r9d, dword [r13 + rax*4]
mov eax, r12d
shr eax, 0x18
movzx ecx, al
movzx eax, bpl
xor r9d, dword [rdi + rcx*4]
xor r9d, dword [r11 + rax*4]
mov eax, r15d
xor r9d, dword [rsi + 4]
shr eax, 8
movzx ecx, al
mov eax, r12d
shr eax, 0x10
movzx eax, al
shr r12d, 8
mov r8d, dword [rbx + rcx*4]
xor r8d, dword [r13 + rax*4]
mov eax, ebp
shr eax, 0x18
movzx ecx, al
movzx eax, r14b
shr ebp, 0x10
shr r14d, 0x18
xor r8d, dword [rdi + rcx*4]
xor r8d, dword [r11 + rax*4]
xor r8d, dword [rsi + 8]
movzx ecx, r12b
movzx eax, bpl
mov edx, dword [rbx + rcx*4]
xor edx, dword [r13 + rax*4]
movzx eax, r14b
xor edx, dword [rdi + rax*4]
movzx eax, r15b
xor edx, dword [r11 + rax*4]
mov eax, r8d
xor edx, dword [rsi + 0xc]
shr eax, 8
movzx ecx, al
mov eax, edx
shr eax, 0x10
movzx eax, al
mov r15d, dword [rbx + rcx*4]
xor r15d, dword [r13 + rax*4]
mov eax, r10d
shr eax, 0x18
movzx ecx, al
movzx eax, r9b
xor r15d, dword [rdi + rcx*4]
xor r15d, dword [r11 + rax*4]
mov eax, edx
xor r15d, dword [rsi + 0x10]
shr eax, 8
movzx ecx, al
mov eax, r10d
shr eax, 0x10
movzx eax, al
mov r12d, dword [rbx + rcx*4]
xor r12d, dword [r13 + rax*4]
mov eax, r9d
shr eax, 0x18
movzx ecx, al
movzx eax, r8b
xor r12d, dword [rdi + rcx*4]
xor r12d, dword [r11 + rax*4]
mov eax, r10d
xor r12d, dword [rsi + 0x14]
shr eax, 8
movzx ecx, al
mov eax, r9d
shr eax, 0x10
movzx eax, al
shr r9d, 8
mov ebp, dword [rbx + rcx*4]
xor ebp, dword [r13 + rax*4]
mov eax, r8d
shr eax, 0x18
movzx ecx, al
movzx eax, dl
shr r8d, 0x10
shr edx, 0x18
xor ebp, dword [rdi + rcx*4]
xor ebp, dword [r11 + rax*4]
xor ebp, dword [rsi + 0x18]
movzx eax, r8b
movzx ecx, r9b
mov r14d, dword [rbx + rcx*4]
xor r14d, dword [r13 + rax*4]
movzx eax, dl
xor r14d, dword [rdi + rax*4]
movzx eax, r10b
xor r14d, dword [r11 + rax*4]
xor r14d, dword [rsi + 0x1c]
add rsi, 0x20
add dword [rsp + 0x40], 0xffffffff
jne 0x1400c9af0
mov rbx, qword [rsp + 0x48]
xor r11d, r11d
mov rdi, qword [rsp + 0x58]
mov rcx, r11
lea r13, [0x1403f2770]
movzx eax, byte [rcx + r13]
add rcx, 0x40
and r11d, eax
cmp rcx, 0x100
jl 0x1400c9ca1
or r15d, r11d
mov eax, r12d
shr eax, 0x18
movzx ecx, al
mov eax, r15d
shr eax, 0x10
movzx r8d, byte [rcx + r13]
movzx ecx, al
shl r8d, 8
movzx eax, byte [rcx + r13]
xor r8d, eax
mov eax, r14d
shr eax, 8
movzx ecx, al
shl r8d, 8
movzx eax, byte [rcx + r13]
xor r8d, eax
movzx eax, bpl
shl r8d, 8
movzx ecx, byte [rax + r13]
mov eax, ebp
shr eax, 0x18
xor r8d, ecx
xor r8d, dword [rsi + 4]
movzx ecx, al
mov eax, r12d
shr eax, 0x10
movzx r9d, byte [rcx + r13]
movzx ecx, al
shl r9d, 8
movzx eax, byte [rcx + r13]
xor r9d, eax
mov eax, r15d
shr eax, 8
movzx ecx, al
shl r9d, 8
movzx eax, byte [rcx + r13]
xor r9d, eax
movzx eax, r14b
shl r9d, 8
movzx ecx, byte [rax + r13]
mov eax, r14d
shr eax, 0x18
xor r9d, ecx
xor r9d, dword [rsi + 8]
movzx ecx, al
mov eax, ebp
shr eax, 0x10
shr r14d, 0x10
shr ebp, 8
movzx edx, byte [rcx + r13]
movzx ecx, al
shl edx, 8
movzx eax, byte [rcx + r13]
xor edx, eax
mov eax, r12d
shr eax, 8
movzx ecx, al
shl edx, 8
movzx eax, byte [rcx + r13]
xor edx, eax
movzx eax, r15b
shl edx, 8
shr r15d, 0x18
movzx ecx, byte [rax + r13]
xor edx, ecx
movzx eax, r15b
xor edx, dword [rsi + 0xc]
movzx r10d, byte [rax + r13]
shl r10d, 8
movzx eax, r14b
movzx ecx, byte [rax + r13]
xor r10d, ecx
movzx eax, bpl
shl r10d, 8
movzx ecx, byte [rax + r13]
xor r10d, ecx
movzx eax, r12b
shl r10d, 8
movzx ecx, byte [rax + r13]
xor r10d, ecx
xor r10d, dword [rsi]
mov eax, r10d
mov byte [rdi + 3], r10b
shr eax, 0x18
mov ecx, r10d
shr ecx, 0x10
mov r11d, r10d
shr r11d, 8
mov byte [rdi], al
mov byte [rdi + 1], cl
mov byte [rdi + 2], r11b
test rbx, rbx
je 0x1400c9e2a
xor al, byte [rbx]
mov byte [rdi], al
movzx eax, byte [rbx + 1]
xor al, cl
mov byte [rdi + 1], al
movzx eax, byte [rbx + 2]
xor al, r11b
mov byte [rdi + 2], al
movzx eax, byte [rbx + 3]
xor al, r10b
mov byte [rdi + 3], al
test rbx, rbx
je 0x1400c9e2a
add rbx, 4
mov eax, r8d
mov byte [rdi + 7], r8b
shr eax, 0x18
mov ecx, r8d
shr ecx, 0x10
mov r10d, r8d
shr r10d, 8
mov byte [rdi + 4], al
mov byte [rdi + 5], cl
mov byte [rdi + 6], r10b
test rbx, rbx
je 0x1400c9e7b
xor al, byte [rbx]
mov byte [rdi + 4], al
movzx eax, byte [rbx + 1]
xor al, cl
mov byte [rdi + 5], al
movzx eax, byte [rbx + 2]
xor al, r10b
mov byte [rdi + 6], al
movzx eax, byte [rbx + 3]
xor al, r8b
mov byte [rdi + 7], al
test rbx, rbx
je 0x1400c9e7b
add rbx, 4
mov eax, r9d
mov byte [rdi + 0xb], r9b
shr eax, 0x18
mov ecx, r9d
shr ecx, 0x10
mov r8d, r9d
shr r8d, 8
mov byte [rdi + 8], al
mov byte [rdi + 9], cl
mov byte [rdi + 0xa], r8b
test rbx, rbx
je 0x1400c9ecc
xor al, byte [rbx]
mov byte [rdi + 8], al
movzx eax, byte [rbx + 1]
xor al, cl
mov byte [rdi + 9], al
movzx eax, byte [rbx + 2]
xor al, r8b
mov byte [rdi + 0xa], al
movzx eax, byte [rbx + 3]
xor al, r9b
mov byte [rdi + 0xb], al
test rbx, rbx
je 0x1400c9ecc
add rbx, 4
mov eax, edx
mov byte [rdi + 0xf], dl
shr eax, 0x18
mov ecx, edx
shr ecx, 0x10
mov r8d, edx
shr r8d, 8
mov byte [rdi + 0xc], al
mov byte [rdi + 0xd], cl
mov byte [rdi + 0xe], r8b
test rbx, rbx
je 0x1400c9f10
xor al, byte [rbx]
mov byte [rdi + 0xc], al
movzx eax, byte [rbx + 1]
xor al, cl
mov byte [rdi + 0xd], al
movzx eax, byte [rbx + 2]
xor al, r8b
mov byte [rdi + 0xe], al
movzx eax, byte [rbx + 3]
xor al, dl
mov byte [rdi + 0xf], al
mov rbx, qword [rsp + 0x50]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
movzx eax, byte [rdx + 1]
mov r10, rdx
movzx r11d, byte [rdx]
mov r14, rcx
mov rdi, r8
mov qword [rsp + 0x58], r8
movzx r8d, byte [rdx + 4]
mov rbx, r9
movzx ecx, byte [r10 + 0xc]
mov r15d, dword [r14 + 0x50]
mov r9d, dword [r14 + 0x4c]
mov esi, dword [r14 + 0x54]
shl r8d, 8
shl r11d, 8
or r11d, eax
shl ecx, 8
movzx eax, byte [rdx + 2]
shl r11d, 8
or r11d, eax
movzx eax, byte [rdx + 3]
shl r11d, 8
or r11d, eax
movzx eax, byte [rdx + 5]
or r8d, eax
xor r9d, r11d
movzx eax, byte [rdx + 6]
shl r8d, 8
or r8d, eax
movzx eax, byte [rdx + 7]
movzx edx, byte [rdx + 9]
shl r8d, 8
or r8d, eax
movzx eax, byte [r10 + 8]
shl eax, 8
xor r15d, r8d
mov r8d, dword [r14 + 0x58]
or edx, eax
movzx eax, byte [r10 + 0xa]
shl edx, 8
or edx, eax
movzx eax, byte [r10 + 0xb]
shl edx, 8
or edx, eax
movzx eax, byte [r10 + 0xd]
or ecx, eax
xor esi, edx
movzx eax, byte [r10 + 0xe]
shl ecx, 8
or ecx, eax
mov dword [rsp + 0x50], esi
movzx eax, byte [r10 + 0xf]
lea r10, str.ccccwwww
shl ecx, 8
or ecx, eax
lea rax, [0x1403eff70]
xor r8d, ecx
xor edx, edx
nop word [rax + rax]
mov ecx, reloc.WS2_32.dll_recv
nop word [rax + rax]
and edx, dword [rax]
add rax, 0x40
sub rcx, 1
jne 0x1400ca030
cmp rax, r10
jl 0x1400ca020
mov r13, qword [str.p_a__]
mov eax, esi
mov r12, qword [0x1404b32a8]
or r9d, edx
mov r10, qword [0x1404b32a0]
shr eax, 8
movzx edx, al
mov eax, r15d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 0x18
mov r11d, dword [r13 + rdx*4]
mov rdx, qword [str.p_v__]
xor r11d, dword [r12 + rcx*4]
movzx ecx, al
movzx eax, r8b
xor r11d, dword [r10 + rcx*4]
xor r11d, dword [rdx + rax*4]
mov eax, r8d
xor r11d, dword [r14 + 0x5c]
shr eax, 8
movzx ecx, al
mov eax, esi
shr eax, 0x10
movzx eax, al
mov esi, dword [r13 + rcx*4]
xor esi, dword [r12 + rax*4]
mov eax, r15d
shr eax, 0x18
movzx ecx, al
movzx eax, r9b
xor esi, dword [r10 + rcx*4]
xor esi, dword [rdx + rax*4]
mov eax, r8d
xor esi, dword [r14 + 0x60]
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
movzx eax, al
shr r8d, 0x18
mov ebp, dword [r12 + rcx*4]
shr r9d, 0x10
xor ebp, dword [r13 + rax*4]
mov eax, dword [rsp + 0x50]
shr eax, 0x18
movzx ecx, al
movzx eax, r15b
shr r15d, 8
xor ebp, dword [r10 + rcx*4]
xor ebp, dword [rdx + rax*4]
xor ebp, dword [r14 + 0x64]
movzx ecx, r15b
movzx eax, r8b
mov r15d, dword [r13 + rcx*4]
xor r15d, dword [r10 + rax*4]
movzx eax, r9b
xor r15d, dword [r12 + rax*4]
movzx eax, byte [rsp + 0x50]
xor r15d, dword [rdx + rax*4]
mov rax, qword [rsp + 0x48]
xor r15d, dword [r14 + 0x68]
add r14, 0x6c
mov eax, dword [rax + 0x48]
shr eax, 1
sub eax, 1
mov dword [rsp + 0x48], eax
je 0x1400ca2ff
mov rdi, r10
mov rbx, rdx
nop dword [rax]
mov eax, ebp
shr eax, 8
movzx ecx, al
mov eax, esi
shr eax, 0x10
movzx eax, al
mov r10d, dword [r13 + rcx*4]
xor r10d, dword [r12 + rax*4]
mov eax, r11d
shr eax, 0x18
movzx ecx, al
movzx eax, r15b
xor r10d, dword [rdi + rcx*4]
xor r10d, dword [rbx + rax*4]
mov eax, r15d
shr eax, 8
movzx ecx, al
mov eax, ebp
xor r10d, dword [r14]
shr eax, 0x10
movzx eax, al
mov r9d, dword [r13 + rcx*4]
xor r9d, dword [r12 + rax*4]
mov eax, esi
shr eax, 0x18
movzx ecx, al
movzx eax, r11b
xor r9d, dword [rdi + rcx*4]
xor r9d, dword [rbx + rax*4]
mov eax, r15d
xor r9d, dword [r14 + 4]
shr eax, 0x10
movzx ecx, al
mov eax, r11d
shr eax, 8
movzx eax, al
shr r11d, 0x10
mov r8d, dword [r12 + rcx*4]
shr r15d, 0x18
xor r8d, dword [r13 + rax*4]
mov eax, ebp
shr eax, 0x18
movzx ecx, al
movzx eax, sil
shr esi, 8
xor r8d, dword [rdi + rcx*4]
xor r8d, dword [rbx + rax*4]
xor r8d, dword [r14 + 8]
movzx ecx, sil
movzx eax, r15b
mov edx, dword [r13 + rcx*4]
xor edx, dword [rdi + rax*4]
movzx eax, r11b
xor edx, dword [r12 + rax*4]
movzx eax, bpl
xor edx, dword [rbx + rax*4]
mov eax, r8d
xor edx, dword [r14 + 0xc]
shr eax, 8
movzx ecx, al
mov eax, r9d
shr eax, 0x10
movzx eax, al
mov r11d, dword [r13 + rcx*4]
xor r11d, dword [r12 + rax*4]
mov eax, r10d
shr eax, 0x18
movzx ecx, al
movzx eax, dl
xor r11d, dword [rdi + rcx*4]
xor r11d, dword [rbx + rax*4]
mov eax, edx
xor r11d, dword [r14 + 0x10]
shr eax, 8
movzx ecx, al
mov eax, r8d
shr eax, 0x10
movzx eax, al
mov esi, dword [r13 + rcx*4]
xor esi, dword [r12 + rax*4]
mov eax, r9d
shr eax, 0x18
movzx ecx, al
movzx eax, r10b
xor esi, dword [rdi + rcx*4]
xor esi, dword [rbx + rax*4]
mov eax, edx
xor esi, dword [r14 + 0x14]
shr eax, 0x10
movzx ecx, al
mov eax, r10d
shr eax, 8
movzx eax, al
shr edx, 0x18
mov ebp, dword [r12 + rcx*4]
shr r10d, 0x10
xor ebp, dword [r13 + rax*4]
mov eax, r8d
shr eax, 0x18
movzx ecx, al
movzx eax, r9b
shr r9d, 8
xor ebp, dword [rdi + rcx*4]
xor ebp, dword [rbx + rax*4]
xor ebp, dword [r14 + 0x18]
movzx eax, dl
movzx ecx, r9b
mov r15d, dword [r13 + rcx*4]
xor r15d, dword [rdi + rax*4]
movzx eax, r10b
xor r15d, dword [r12 + rax*4]
movzx eax, r8b
xor r15d, dword [rbx + rax*4]
xor r15d, dword [r14 + 0x1c]
add r14, 0x20
add dword [rsp + 0x48], 0xffffffff
jne 0x1400ca150
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
mov r10, qword [0x1404b32a0]
mov rdx, qword [str.p_v__]
mov eax, ebp
shr eax, 0x10
movzx eax, al
mov r8d, dword [rdx + rax*4]
mov eax, esi
shr eax, 0x18
and r8d, 0xff0000
movzx eax, al
mov ecx, dword [r13 + rax*4]
mov eax, r15d
shr eax, 8
and ecx, 0xff000000
movzx eax, al
xor r8d, ecx
mov ecx, dword [r10 + rax*4]
and ecx, 0xff00
movzx eax, r11b
xor r8d, ecx
movzx ecx, byte [r12 + rax*4]
mov eax, r15d
shr eax, 0x10
xor r8d, ecx
xor r8d, dword [r14 + 4]
movzx eax, al
mov r9d, dword [rdx + rax*4]
mov eax, ebp
shr eax, 0x18
and r9d, 0xff0000
movzx eax, al
mov ecx, dword [r13 + rax*4]
mov eax, r11d
shr eax, 8
and ecx, 0xff000000
xor r9d, ecx
movzx eax, al
mov ecx, dword [r10 + rax*4]
and ecx, 0xff00
movzx eax, sil
xor r9d, ecx
movzx ecx, byte [r12 + rax*4]
mov eax, r11d
xor r9d, ecx
shr eax, 0x10
xor r9d, dword [r14 + 8]
movzx eax, al
shr r11d, 0x18
mov edx, dword [rdx + rax*4]
mov eax, r15d
shr eax, 0x18
and edx, 0xff0000
movzx eax, al
mov ecx, dword [r13 + rax*4]
mov eax, esi
and ecx, 0xff000000
shr eax, 8
xor edx, ecx
movzx eax, al
shr esi, 0x10
mov ecx, dword [r10 + rax*4]
and ecx, 0xff00
movzx eax, bpl
xor edx, ecx
shr ebp, 8
movzx ecx, byte [r12 + rax*4]
xor edx, ecx
movzx eax, sil
mov rcx, qword [str.p_v__]
xor edx, dword [r14 + 0xc]
mov r10d, dword [rcx + rax*4]
movzx eax, r11b
and r10d, 0xff0000
mov ecx, dword [r13 + rax*4]
and ecx, 0xff000000
movzx eax, bpl
xor r10d, ecx
mov rcx, qword [0x1404b32a0]
mov ecx, dword [rcx + rax*4]
and ecx, 0xff00
movzx eax, r15b
xor r10d, ecx
movzx ecx, byte [r12 + rax*4]
xor r10d, ecx
xor r10d, dword [r14]
mov eax, r10d
mov byte [rbx + 3], r10b
shr eax, 0x18
mov ecx, r10d
shr ecx, 0x10
mov r11d, r10d
shr r11d, 8
mov byte [rbx], al
mov byte [rbx + 1], cl
mov byte [rbx + 2], r11b
test rdi, rdi
je 0x1400ca490
xor al, byte [rdi]
mov byte [rbx], al
movzx eax, byte [rdi + 1]
xor al, cl
mov byte [rbx + 1], al
movzx eax, byte [rdi + 2]
xor al, r11b
mov byte [rbx + 2], al
movzx eax, byte [rdi + 3]
xor al, r10b
mov byte [rbx + 3], al
test rdi, rdi
je 0x1400ca490
add rdi, 4
mov eax, r8d
mov byte [rbx + 7], r8b
shr eax, 0x18
mov ecx, r8d
shr ecx, 0x10
mov r10d, r8d
shr r10d, 8
mov byte [rbx + 4], al
mov byte [rbx + 5], cl
mov byte [rbx + 6], r10b
test rdi, rdi
je 0x1400ca4e1
xor al, byte [rdi]
mov byte [rbx + 4], al
movzx eax, byte [rdi + 1]
xor al, cl
mov byte [rbx + 5], al
movzx eax, byte [rdi + 2]
xor al, r10b
mov byte [rbx + 6], al
movzx eax, byte [rdi + 3]
xor al, r8b
mov byte [rbx + 7], al
test rdi, rdi
je 0x1400ca4e1
add rdi, 4
mov eax, r9d
mov byte [rbx + 0xb], r9b
shr eax, 0x18
mov ecx, r9d
shr ecx, 0x10
mov r8d, r9d
shr r8d, 8
mov byte [rbx + 8], al
mov byte [rbx + 9], cl
mov byte [rbx + 0xa], r8b
test rdi, rdi
je 0x1400ca532
xor al, byte [rdi]
mov byte [rbx + 8], al
movzx eax, byte [rdi + 1]
xor al, cl
mov byte [rbx + 9], al
movzx eax, byte [rdi + 2]
xor al, r8b
mov byte [rbx + 0xa], al
movzx eax, byte [rdi + 3]
xor al, r9b
mov byte [rbx + 0xb], al
test rdi, rdi
je 0x1400ca532
add rdi, 4
mov eax, edx
mov byte [rbx + 0xf], dl
shr eax, 0x18
mov ecx, edx
shr ecx, 0x10
mov r8d, edx
shr r8d, 8
mov byte [rbx + 0xc], al
mov byte [rbx + 0xd], cl
mov byte [rbx + 0xe], r8b
test rdi, rdi
je 0x1400ca576
xor al, byte [rdi]
mov byte [rbx + 0xc], al
movzx eax, byte [rdi + 1]
xor al, cl
mov byte [rbx + 0xd], al
movzx eax, byte [rdi + 2]
xor al, r8b
mov byte [rbx + 0xe], al
movzx eax, byte [rdi + 3]
xor al, dl
mov byte [rbx + 0xf], al
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret