Function at 0x14003c830
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push r14
sub rsp, 0x28
mov rax, qword [rcx]
mov rbp, r9
mov rsi, r8
mov r14, rdx
mov rbx, rcx
call qword [rax + 0x20]
test al, al
jne 0x14003c858
mov rcx, rbx
call fcn.14000dd30
test rbp, rbp
je 0x14003d8dc
mov qword [rsp + 0x58], rdi
sub rsi, r14
mov qword [rsp + 0x20], r15
lea r15, [0x140000000]
nop word [rax + rax]
mov rax, qword [r14]
lea rdx, [rsp + 0x68]
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x50]
mov rax, qword [r14 + 8]
mov qword [rsp + 0x68], rax
call fcn.14003c4e0
mov r8, qword [rsp + 0x50]
xor r8, qword [rbx + 0xa8]
mov r9, qword [rsp + 0x68]
xor r9, qword [rbx + 0xb0]
movzx eax, r8b
add rax, rax
mov r10, qword [r15 + rax*8 + 0xb0700]
mov rdi, qword [r15 + rax*8 + 0xb0708]
mov rax, r8
shr rax, 8
movzx edx, al
mov rax, r8
shr rax, 0x10
add rdx, rdx
movzx ecx, al
add rcx, rcx
mov rax, qword [r15 + rcx*8 + 0xb2700]
xor rax, qword [r15 + rdx*8 + 0xb1700]
xor r10, rax
mov rax, qword [r15 + rcx*8 + 0xb2708]
xor rax, qword [r15 + rdx*8 + 0xb1708]
xor rdi, rax
mov rax, r8
shr rax, 0x18
movzx ecx, al
mov rax, r8
add rcx, rcx
shr rax, 0x20
xor r10, qword [r15 + rcx*8 + 0xb3700]
xor rdi, qword [r15 + rcx*8 + 0xb3708]
movzx ecx, al
mov rax, r8
add rcx, rcx
shr rax, 0x28
xor r10, qword [r15 + rcx*8 + 0xb4700]
xor rdi, qword [r15 + rcx*8 + 0xb4708]
movzx ecx, al
mov rax, r8
shr rax, 0x30
add rcx, rcx
shr r8, 0x38
add r8, r8
xor r10, qword [r15 + rcx*8 + 0xb5700]
xor rdi, qword [r15 + rcx*8 + 0xb5708]
movzx ecx, al
add rcx, rcx
movzx eax, r9b
add eax, eax
xor r10, qword [r15 + rcx*8 + 0xb6700]
xor rdi, qword [r15 + rcx*8 + 0xb6708]
xor r10, qword [r15 + r8*8 + 0xb7700]
xor r10, qword [r15 + rax*8 + 0xb8700]
xor rdi, qword [r15 + r8*8 + 0xb7708]
xor rdi, qword [r15 + rax*8 + 0xb8708]
mov rax, r9
shr rax, 8
movzx ecx, al
mov rax, r9
add rcx, rcx
shr rax, 0x10
xor r10, qword [r15 + rcx*8 + 0xb9700]
xor rdi, qword [r15 + rcx*8 + 0xb9708]
movzx ecx, al
mov rax, r9
add rcx, rcx
shr rax, 0x18
xor r10, qword [r15 + rcx*8 + 0xba700]
xor rdi, qword [r15 + rcx*8 + 0xba708]
movzx ecx, al
mov rax, r9
add rcx, rcx
xor r10, qword [r15 + rcx*8 + 0xbb700]
xor rdi, qword [r15 + rcx*8 + 0xbb708]
shr rax, 0x20
movzx ecx, al
mov rax, r9
shr rax, 0x28
add rcx, rcx
xor r10, qword [r15 + rcx*8 + 0xbc700]
xor rdi, qword [r15 + rcx*8 + 0xbc708]
movzx ecx, al
mov rax, r9
shr rax, 0x30
add rcx, rcx
shr r9, 0x38
add r9, r9
xor r10, qword [r15 + rcx*8 + 0xbd700]
xor rdi, qword [r15 + rcx*8 + 0xbd708]
movzx ecx, al
add rcx, rcx
xor r10, qword [r15 + rcx*8 + 0xbe700]
xor r10, qword [r15 + r9*8 + 0xbf700]
xor rdi, qword [r15 + rcx*8 + 0xbe708]
xor rdi, qword [r15 + r9*8 + 0xbf708]
mov rcx, qword [rbx + 0xb8]
xor rdi, qword [rbx + 0xc0]
mov rax, rcx
xor rax, r10
mov r9, rcx
xor rcx, r10
shr rax, 8
xor r9, r10
movzx r8d, al
shr rcx, 0x10
add r8, r8
movzx edx, cl
movzx eax, r9b
add rdx, rdx
add rax, rax
mov r10, qword [r15 + rax*8 + 0xb0700]
mov r11, qword [r15 + rax*8 + 0xb0708]
mov rax, r9
xor r10, qword [r15 + rdx*8 + 0xb2700]
xor r11, qword [r15 + rdx*8 + 0xb2708]
xor r10, qword [r15 + r8*8 + 0xb1700]
xor r11, qword [r15 + r8*8 + 0xb1708]
shr rax, 0x18
movzx ecx, al
mov rax, r9
add rcx, rcx
shr rax, 0x20
xor r10, qword [r15 + rcx*8 + 0xb3700]
xor r11, qword [r15 + rcx*8 + 0xb3708]
movzx ecx, al
mov rax, r9
add rcx, rcx
shr rax, 0x28
xor r10, qword [r15 + rcx*8 + 0xb4700]
xor r11, qword [r15 + rcx*8 + 0xb4708]
movzx ecx, al
mov rax, r9
shr rax, 0x30
add rcx, rcx
shr r9, 0x38
add r9, r9
xor r10, qword [r15 + rcx*8 + 0xb5700]
xor r11, qword [r15 + rcx*8 + 0xb5708]
movzx ecx, al
add rcx, rcx
movzx eax, dil
add eax, eax
xor r10, qword [r15 + rcx*8 + 0xb6700]
xor r11, qword [r15 + rcx*8 + 0xb6708]
xor r10, qword [r15 + r9*8 + 0xb7700]
xor r10, qword [r15 + rax*8 + 0xb8700]
xor r11, qword [r15 + r9*8 + 0xb7708]
xor r11, qword [r15 + rax*8 + 0xb8708]
mov rax, rdi
shr rax, 8
movzx ecx, al
mov rax, rdi
add rcx, rcx
xor r10, qword [r15 + rcx*8 + 0xb9700]
xor r11, qword [r15 + rcx*8 + 0xb9708]
shr rax, 0x10
movzx ecx, al
mov rax, rdi
add rcx, rcx
shr rax, 0x18
xor r10, qword [r15 + rcx*8 + 0xba700]
xor r11, qword [r15 + rcx*8 + 0xba708]
movzx ecx, al
mov rax, rdi
add rcx, rcx
shr rax, 0x20
xor r10, qword [r15 + rcx*8 + 0xbb700]
xor r11, qword [r15 + rcx*8 + 0xbb708]
movzx ecx, al
mov rax, rdi
add rcx, rcx
shr rax, 0x28
xor r10, qword [r15 + rcx*8 + 0xbc700]
xor r11, qword [r15 + rcx*8 + 0xbc708]
movzx ecx, al
mov rax, rdi
add rcx, rcx
shr rax, 0x30
shr rdi, 0x38
add rdi, rdi
xor r10, qword [r15 + rcx*8 + 0xbd700]
xor r11, qword [r15 + rcx*8 + 0xbd708]
movzx ecx, al
add rcx, rcx
xor r10, qword [r15 + rcx*8 + 0xbe700]
xor r11, qword [r15 + rcx*8 + 0xbe708]
xor r10, qword [r15 + rdi*8 + 0xbf700]
xor r11, qword [r15 + rdi*8 + 0xbf708]
mov rax, r10
mov rcx, qword [rbx + 0xc8]
mov r8, r10
xor r11, qword [rbx + 0xd0]
xor rax, rcx
xor r8, rcx
shr rax, 8
xor r10, rcx
movzx edx, al
movzx eax, r8b
add rdx, rdx
add rax, rax
shr r10, 0x10
movzx ecx, r10b
add rcx, rcx
mov r9, qword [r15 + rax*8 + 0xb0700]
mov rdi, qword [r15 + rax*8 + 0xb0708]
mov rax, r8
xor r9, qword [r15 + rcx*8 + 0xb2700]
xor rdi, qword [r15 + rcx*8 + 0xb2708]
xor r9, qword [r15 + rdx*8 + 0xb1700]
xor rdi, qword [r15 + rdx*8 + 0xb1708]
shr rax, 0x18
movzx ecx, al
mov rax, r8
add rcx, rcx
shr rax, 0x20
xor r9, qword [r15 + rcx*8 + 0xb3700]
xor rdi, qword [r15 + rcx*8 + 0xb3708]
movzx ecx, al
mov rax, r8
add rcx, rcx
shr rax, 0x28
xor r9, qword [r15 + rcx*8 + 0xb4700]
xor rdi, qword [r15 + rcx*8 + 0xb4708]
movzx ecx, al
mov rax, r8
add rcx, rcx
shr rax, 0x30
shr r8, 0x38
add r8, r8
xor r9, qword [r15 + rcx*8 + 0xb5700]
xor rdi, qword [r15 + rcx*8 + 0xb5708]
movzx ecx, al
add rcx, rcx
xor r9, qword [r15 + rcx*8 + 0xb6700]
xor r9, qword [r15 + r8*8 + 0xb7700]
xor rdi, qword [r15 + rcx*8 + 0xb6708]
xor rdi, qword [r15 + r8*8 + 0xb7708]
movzx eax, r11b
add eax, eax
xor r9, qword [r15 + rax*8 + 0xb8700]
xor rdi, qword [r15 + rax*8 + 0xb8708]
mov rax, r11
shr rax, 8
movzx ecx, al
mov rax, r11
add rcx, rcx
shr rax, 0x10
xor r9, qword [r15 + rcx*8 + 0xb9700]
xor rdi, qword [r15 + rcx*8 + 0xb9708]
movzx ecx, al
mov rax, r11
add rcx, rcx
shr rax, 0x18
xor r9, qword [r15 + rcx*8 + 0xba700]
xor rdi, qword [r15 + rcx*8 + 0xba708]
movzx ecx, al
mov rax, r11
add rcx, rcx
shr rax, 0x20
xor r9, qword [r15 + rcx*8 + 0xbb700]
xor rdi, qword [r15 + rcx*8 + 0xbb708]
movzx ecx, al
mov rax, r11
add rcx, rcx
shr rax, 0x28
xor r9, qword [r15 + rcx*8 + 0xbc700]
xor rdi, qword [r15 + rcx*8 + 0xbc708]
movzx ecx, al
mov rax, r11
add rcx, rcx
shr rax, 0x30
shr r11, 0x38
add r11, r11
xor r9, qword [r15 + rcx*8 + 0xbd700]
xor rdi, qword [r15 + rcx*8 + 0xbd708]
movzx ecx, al
add rcx, rcx
xor r9, qword [r15 + rcx*8 + 0xbe700]
xor rdi, qword [r15 + rcx*8 + 0xbe708]
xor r9, qword [r15 + r11*8 + 0xbf700]
xor rdi, qword [r15 + r11*8 + 0xbf708]
mov rax, r9
mov rcx, qword [rbx + 0xd8]
mov r8, r9
xor rdi, qword [rbx + 0xe0]
xor rax, rcx
xor r8, rcx
shr rax, 8
movzx edx, al
xor r9, rcx
add rdx, rdx
shr r9, 0x10
movzx eax, r8b
add rax, rax
movzx ecx, r9b
add rcx, rcx
mov r10, qword [r15 + rax*8 + 0xb0700]
xor r10, qword [r15 + rcx*8 + 0xb2700]
mov r11, qword [r15 + rax*8 + 0xb0708]
mov rax, r8
xor r11, qword [r15 + rcx*8 + 0xb2708]
xor r10, qword [r15 + rdx*8 + 0xb1700]
xor r11, qword [r15 + rdx*8 + 0xb1708]
shr rax, 0x18
movzx ecx, al
mov rax, r8
add rcx, rcx
shr rax, 0x20
xor r10, qword [r15 + rcx*8 + 0xb3700]
xor r11, qword [r15 + rcx*8 + 0xb3708]
movzx ecx, al
mov rax, r8
add rcx, rcx
shr rax, 0x28
xor r10, qword [r15 + rcx*8 + 0xb4700]
xor r11, qword [r15 + rcx*8 + 0xb4708]
movzx ecx, al
add rcx, rcx
xor r10, qword [r15 + rcx*8 + 0xb5700]
mov rax, r8
xor r11, qword [r15 + rcx*8 + 0xb5708]
shr rax, 0x30
movzx ecx, al
add rcx, rcx
movzx eax, dil
add eax, eax
shr r8, 0x38
add r8, r8
xor r10, qword [r15 + rcx*8 + 0xb6700]
xor r11, qword [r15 + rcx*8 + 0xb6708]
xor r10, qword [r15 + r8*8 + 0xb7700]
xor r10, qword [r15 + rax*8 + 0xb8700]
xor r11, qword [r15 + r8*8 + 0xb7708]
xor r11, qword [r15 + rax*8 + 0xb8708]
mov rax, rdi
shr rax, 8
movzx ecx, al
mov rax, rdi
add rcx, rcx
shr rax, 0x10
xor r10, qword [r15 + rcx*8 + 0xb9700]
xor r11, qword [r15 + rcx*8 + 0xb9708]
movzx ecx, al
mov rax, rdi
add rcx, rcx
shr rax, 0x18
xor r10, qword [r15 + rcx*8 + 0xba700]
xor r11, qword [r15 + rcx*8 + 0xba708]
movzx ecx, al
mov rax, rdi
add rcx, rcx
shr rax, 0x20
xor r10, qword [r15 + rcx*8 + 0xbb700]
xor r11, qword [r15 + rcx*8 + 0xbb708]
movzx ecx, al
mov rax, rdi
add rcx, rcx
shr rax, 0x28
xor r10, qword [r15 + rcx*8 + 0xbc700]
xor r11, qword [r15 + rcx*8 + 0xbc708]
movzx ecx, al
mov rax, rdi
add rcx, rcx
shr rax, 0x30
shr rdi, 0x38
add rdi, rdi
xor r10, qword [r15 + rcx*8 + 0xbd700]
xor r11, qword [r15 + rcx*8 + 0xbd708]
movzx ecx, al
add rcx, rcx
xor r10, qword [r15 + rcx*8 + 0xbe700]
xor r10, qword [r15 + rdi*8 + 0xbf700]
xor r11, qword [r15 + rcx*8 + 0xbe708]
xor r11, qword [r15 + rdi*8 + 0xbf708]
mov rcx, qword [rbx + 0xe8]
xor r11, qword [rbx + 0xf0]
mov rax, rcx
xor rax, r10
mov r9, rcx
shr rax, 8
xor r9, r10
xor rcx, r10
movzx r8d, al
shr rcx, 0x10
add r8, r8
movzx edx, cl
add rdx, rdx
movzx eax, r9b
add rax, rax
mov r10, qword [r15 + rax*8 + 0xb0700]
mov rdi, qword [r15 + rax*8 + 0xb0708]
mov rax, r9
xor r10, qword [r15 + rdx*8 + 0xb2700]
xor rdi, qword [r15 + rdx*8 + 0xb2708]
xor r10, qword [r15 + r8*8 + 0xb1700]
xor rdi, qword [r15 + r8*8 + 0xb1708]
shr rax, 0x18
movzx ecx, al
add rcx, rcx
xor rdi, qword [r15 + rcx*8 + 0xb3708]
mov rax, r9
xor r10, qword [r15 + rcx*8 + 0xb3700]
shr rax, 0x20
movzx ecx, al
mov rax, r9
add rcx, rcx
shr rax, 0x28
xor rdi, qword [r15 + rcx*8 + 0xb4708]
xor r10, qword [r15 + rcx*8 + 0xb4700]
movzx ecx, al
mov rax, r9
shr rax, 0x30
add rcx, rcx
shr r9, 0x38
add r9, r9
xor rdi, qword [r15 + rcx*8 + 0xb5708]
xor r10, qword [r15 + rcx*8 + 0xb5700]
movzx ecx, al
add rcx, rcx
movzx eax, r11b
add eax, eax
xor rdi, qword [r15 + rcx*8 + 0xb6708]
xor r10, qword [r15 + rcx*8 + 0xb6700]
xor rdi, qword [r15 + r9*8 + 0xb7708]
xor rdi, qword [r15 + rax*8 + 0xb8708]
xor r10, qword [r15 + r9*8 + 0xb7700]
xor r10, qword [r15 + rax*8 + 0xb8700]
mov rax, r11
shr rax, 8
movzx ecx, al
mov rax, r11
add rcx, rcx
shr rax, 0x10
xor rdi, qword [r15 + rcx*8 + 0xb9708]
xor r10, qword [r15 + rcx*8 + 0xb9700]
movzx ecx, al
mov rax, r11
add rcx, rcx
shr rax, 0x18
xor rdi, qword [r15 + rcx*8 + 0xba708]
xor r10, qword [r15 + rcx*8 + 0xba700]
movzx ecx, al
mov rax, r11
add rcx, rcx
shr rax, 0x20
xor rdi, qword [r15 + rcx*8 + 0xbb708]
xor r10, qword [r15 + rcx*8 + 0xbb700]
movzx ecx, al
mov rax, r11
add rcx, rcx
shr rax, 0x28
xor rdi, qword [r15 + rcx*8 + 0xbc708]
xor r10, qword [r15 + rcx*8 + 0xbc700]
movzx ecx, al
mov rax, r11
add rcx, rcx
shr rax, 0x30
shr r11, 0x38
add r11, r11
xor rdi, qword [r15 + rcx*8 + 0xbd708]
xor r10, qword [r15 + rcx*8 + 0xbd700]
movzx ecx, al
add rcx, rcx
xor rdi, qword [r15 + rcx*8 + 0xbe708]
xor r10, qword [r15 + rcx*8 + 0xbe700]
xor r10, qword [r15 + r11*8 + 0xbf700]
mov rcx, qword [rbx + 0xf8]
xor rdi, qword [r15 + r11*8 + 0xbf708]
mov rax, rcx
xor rdi, qword [rbx + 0x100]
mov r9, rcx
xor rax, r10
xor rcx, r10
shr rax, 8
xor r9, r10
shr rcx, 0x10
movzx r8d, al
add r8, r8
movzx edx, cl
add rdx, rdx
movzx eax, r9b
add rax, rax
mov r10, qword [r15 + rax*8 + 0xb0700]
mov r11, qword [r15 + rax*8 + 0xb0708]
mov rax, r9
xor r10, qword [r15 + rdx*8 + 0xb2700]
xor r11, qword [r15 + rdx*8 + 0xb2708]
xor r10, qword [r15 + r8*8 + 0xb1700]
xor r11, qword [r15 + r8*8 + 0xb1708]
shr rax, 0x18
movzx ecx, al
mov rax, r9
add rcx, rcx
shr rax, 0x20
xor r10, qword [r15 + rcx*8 + 0xb3700]
xor r11, qword [r15 + rcx*8 + 0xb3708]
movzx ecx, al
mov rax, r9
add rcx, rcx
shr rax, 0x28
xor r10, qword [r15 + rcx*8 + 0xb4700]
xor r11, qword [r15 + rcx*8 + 0xb4708]
movzx ecx, al
mov rax, r9
add rcx, rcx
shr rax, 0x30
shr r9, 0x38
add r9, r9
xor r10, qword [r15 + rcx*8 + 0xb5700]
xor r11, qword [r15 + rcx*8 + 0xb5708]
movzx ecx, al
add rcx, rcx
movzx eax, dil
add eax, eax
xor r10, qword [r15 + rcx*8 + 0xb6700]
xor r11, qword [r15 + rcx*8 + 0xb6708]
xor r10, qword [r15 + r9*8 + 0xb7700]
xor r10, qword [r15 + rax*8 + 0xb8700]
xor r11, qword [r15 + r9*8 + 0xb7708]
xor r11, qword [r15 + rax*8 + 0xb8708]
mov rax, rdi
shr rax, 8
movzx ecx, al
mov rax, rdi
add rcx, rcx
shr rax, 0x10
xor r10, qword [r15 + rcx*8 + 0xb9700]
xor r11, qword [r15 + rcx*8 + 0xb9708]
movzx ecx, al
mov rax, rdi
add rcx, rcx
shr rax, 0x18
xor r10, qword [r15 + rcx*8 + 0xba700]
xor r11, qword [r15 + rcx*8 + 0xba708]
movzx ecx, al
mov rax, rdi
add rcx, rcx
shr rax, 0x20
xor r10, qword [r15 + rcx*8 + 0xbb700]
xor r11, qword [r15 + rcx*8 + 0xbb708]
movzx ecx, al
mov rax, rdi
add rcx, rcx
shr rax, 0x28
xor r10, qword [r15 + rcx*8 + 0xbc700]
xor r11, qword [r15 + rcx*8 + 0xbc708]
movzx ecx, al
mov rax, rdi
add rcx, rcx
shr rax, 0x30
shr rdi, 0x38
add rdi, rdi
xor r10, qword [r15 + rcx*8 + 0xbd700]
xor r11, qword [r15 + rcx*8 + 0xbd708]
movzx ecx, al
add rcx, rcx
xor r10, qword [r15 + rcx*8 + 0xbe700]
xor r11, qword [r15 + rcx*8 + 0xbe708]
xor r10, qword [r15 + rdi*8 + 0xbf700]
xor r11, qword [r15 + rdi*8 + 0xbf708]
mov rcx, qword [rbx + 0x108]
xor r11, qword [rbx + 0x110]
mov rax, rcx
xor rax, r10
mov r9, rcx
xor rcx, r10
shr rax, 8
movzx r8d, al
xor r9, r10
shr rcx, 0x10
add r8, r8
movzx edx, cl
movzx eax, r9b
add rdx, rdx
add rax, rax
mov r10, qword [r15 + rax*8 + 0xb0700]
mov rdi, qword [r15 + rax*8 + 0xb0708]
mov rax, r9
xor r10, qword [r15 + rdx*8 + 0xb2700]
xor rdi, qword [r15 + rdx*8 + 0xb2708]
xor r10, qword [r15 + r8*8 + 0xb1700]
xor rdi, qword [r15 + r8*8 + 0xb1708]
shr rax, 0x18
movzx ecx, al
mov rax, r9
add rcx, rcx
shr rax, 0x20
xor r10, qword [r15 + rcx*8 + 0xb3700]
xor rdi, qword [r15 + rcx*8 + 0xb3708]
movzx ecx, al
mov rax, r9
add rcx, rcx
shr rax, 0x28
xor r10, qword [r15 + rcx*8 + 0xb4700]
xor rdi, qword [r15 + rcx*8 + 0xb4708]
movzx ecx, al
mov rax, r9
shr rax, 0x30
add rcx, rcx
shr r9, 0x38
add r9, r9
xor r10, qword [r15 + rcx*8 + 0xb5700]
xor rdi, qword [r15 + rcx*8 + 0xb5708]
movzx ecx, al
add rcx, rcx
movzx eax, r11b
add eax, eax
xor r10, qword [r15 + rcx*8 + 0xb6700]
xor rdi, qword [r15 + rcx*8 + 0xb6708]
xor r10, qword [r15 + r9*8 + 0xb7700]
xor r10, qword [r15 + rax*8 + 0xb8700]
xor rdi, qword [r15 + r9*8 + 0xb7708]
xor rdi, qword [r15 + rax*8 + 0xb8708]
mov rax, r11
shr rax, 8
movzx ecx, al
mov rax, r11
add rcx, rcx
shr rax, 0x10
xor r10, qword [r15 + rcx*8 + 0xb9700]
xor rdi, qword [r15 + rcx*8 + 0xb9708]
movzx ecx, al
mov rax, r11
add rcx, rcx
shr rax, 0x18
xor r10, qword [r15 + rcx*8 + 0xba700]
xor rdi, qword [r15 + rcx*8 + 0xba708]
movzx ecx, al
mov rax, r11
add rcx, rcx
shr rax, 0x20
xor r10, qword [r15 + rcx*8 + 0xbb700]
xor rdi, qword [r15 + rcx*8 + 0xbb708]
movzx ecx, al
mov rax, r11
add rcx, rcx
shr rax, 0x28
xor r10, qword [r15 + rcx*8 + 0xbc700]
xor rdi, qword [r15 + rcx*8 + 0xbc708]
movzx ecx, al
add rcx, rcx
xor r10, qword [r15 + rcx*8 + 0xbd700]
xor rdi, qword [r15 + rcx*8 + 0xbd708]
mov rax, r11
shr rax, 0x30
movzx ecx, al
add rcx, rcx
shr r11, 0x38
add r11, r11
xor r10, qword [r15 + rcx*8 + 0xbe700]
xor r10, qword [r15 + r11*8 + 0xbf700]
xor rdi, qword [r15 + rcx*8 + 0xbe708]
xor rdi, qword [r15 + r11*8 + 0xbf708]
xor rdi, qword [rbx + 0x120]
mov rcx, qword [rbx + 0x118]
mov rax, rcx
mov r9, rcx
xor rax, r10
xor rcx, r10
shr rax, 8
xor r9, r10
movzx r8d, al
shr rcx, 0x10
add r8, r8
movzx edx, cl
movzx eax, r9b
add rdx, rdx
add rax, rax
mov r10, qword [r15 + rax*8 + 0xb0700]
mov r11, qword [r15 + rax*8 + 0xb0708]
mov rax, r9
xor r10, qword [r15 + rdx*8 + 0xb2700]
xor r11, qword [r15 + rdx*8 + 0xb2708]
xor r10, qword [r15 + r8*8 + 0xb1700]
xor r11, qword [r15 + r8*8 + 0xb1708]
shr rax, 0x18
movzx ecx, al
mov rax, r9
add rcx, rcx
shr rax, 0x20
xor r10, qword [r15 + rcx*8 + 0xb3700]
xor r11, qword [r15 + rcx*8 + 0xb3708]
movzx ecx, al
mov rax, r9
add rcx, rcx
shr rax, 0x28
xor r10, qword [r15 + rcx*8 + 0xb4700]
xor r11, qword [r15 + rcx*8 + 0xb4708]
movzx ecx, al
mov rax, r9
shr rax, 0x30
add rcx, rcx
shr r9, 0x38
add r9, r9
xor r10, qword [r15 + rcx*8 + 0xb5700]
xor r11, qword [r15 + rcx*8 + 0xb5708]
movzx ecx, al
add rcx, rcx
movzx eax, dil
add eax, eax
xor r10, qword [r15 + rcx*8 + 0xb6700]
xor r11, qword [r15 + rcx*8 + 0xb6708]
xor r10, qword [r15 + r9*8 + 0xb7700]
xor r10, qword [r15 + rax*8 + 0xb8700]
xor r11, qword [r15 + r9*8 + 0xb7708]
xor r11, qword [r15 + rax*8 + 0xb8708]
mov rax, rdi
shr rax, 8
movzx ecx, al
mov rax, rdi
add rcx, rcx
shr rax, 0x10
xor r10, qword [r15 + rcx*8 + 0xb9700]
xor r11, qword [r15 + rcx*8 + 0xb9708]
movzx ecx, al
mov rax, rdi
add rcx, rcx
shr rax, 0x18
xor r10, qword [r15 + rcx*8 + 0xba700]
xor r11, qword [r15 + rcx*8 + 0xba708]
movzx ecx, al
add rcx, rcx
xor r10, qword [r15 + rcx*8 + 0xbb700]
xor r11, qword [r15 + rcx*8 + 0xbb708]
mov rax, rdi
shr rax, 0x20
movzx ecx, al
mov rax, rdi
shr rax, 0x28
add rcx, rcx
xor r10, qword [r15 + rcx*8 + 0xbc700]
xor r11, qword [r15 + rcx*8 + 0xbc708]
movzx ecx, al
mov rax, rdi
shr rax, 0x30
add rcx, rcx
shr rdi, 0x38
add rdi, rdi
xor r10, qword [r15 + rcx*8 + 0xbd700]
xor r11, qword [r15 + rcx*8 + 0xbd708]
movzx ecx, al
add rcx, rcx
xor r10, qword [r15 + rcx*8 + 0xbe700]
xor r11, qword [r15 + rcx*8 + 0xbe708]
xor r10, qword [r15 + rdi*8 + 0xbf700]
xor r10, qword [rbx + 0x128]
xor r11, qword [r15 + rdi*8 + 0xbf708]
mov rax, r10
xor r11, qword [rbx + 0x130]
shr rax, 0x38
movzx r8d, byte [rax + r15 + 0xa0600]
mov rax, r10
shr rax, 0x30
movzx ecx, al
shl r8, 8
movzx eax, byte [rcx + r15 + 0xa0600]
or r8, rax
mov rax, r10
shr rax, 0x28
movzx ecx, al
shl r8, 8
movzx eax, byte [rcx + r15 + 0xa0600]
or r8, rax
mov rax, r10
shr rax, 0x20
movzx ecx, al
shl r8, 8
movzx eax, byte [rcx + r15 + 0xa0600]
or r8, rax
mov rax, r10
shr rax, 0x18
movzx ecx, al
shl r8, 8
movzx eax, byte [rcx + r15 + 0xa0600]
or r8, rax
mov rax, r10
shr rax, 0x10
movzx ecx, al
shl r8, 8
movzx eax, byte [rcx + r15 + 0xa0600]
or r8, rax
mov rax, r10
shr rax, 8
movzx ecx, al
shl r8, 8
movzx eax, byte [rcx + r15 + 0xa0600]
or r8, rax
movzx eax, r10b
shl r8, 8
movzx eax, byte [rax + r15 + 0xa0600]
or r8, rax
mov rax, r11
shr rax, 0x38
movzx edx, byte [rax + r15 + 0xa0600]
mov rax, r11
shr rax, 0x30
movzx ecx, al
shl rdx, 8
movzx eax, byte [rcx + r15 + 0xa0600]
or rdx, rax
mov rax, r11
shl rdx, 8
shr rax, 0x28
movzx ecx, al
movzx eax, byte [rcx + r15 + 0xa0600]
lea r14, [r14 + 0x10]
xor r8, qword [rbx + 0x138]
or rdx, rax
shl rdx, 8
mov rax, r11
shr rax, 0x20
movzx ecx, al
movzx eax, byte [rcx + r15 + 0xa0600]
or rdx, rax
mov rax, r11
shr rax, 0x18
movzx ecx, al
shl rdx, 8
movzx eax, byte [rcx + r15 + 0xa0600]
or rdx, rax
mov rax, r11
shr rax, 0x10
movzx ecx, al
shl rdx, 8
movzx eax, byte [rcx + r15 + 0xa0600]
or rdx, rax
mov rax, r11
shr rax, 8
shl rdx, 8
movzx ecx, al
movzx eax, byte [rcx + r15 + 0xa0600]
or rdx, rax
movzx eax, r11b
shl rdx, 8
movzx eax, byte [rax + r15 + 0xa0600]
or rdx, rax
xor rdx, qword [rbx + 0x140]
mov qword [rsi + r14 - 0x10], r8
mov qword [rsi + r14 - 8], rdx
sub rbp, 1
jne 0x14003c880
mov r15, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x58]
add rsp, 0x28
pop r14
pop rsi
pop rbp
pop rbx
ret