Function at 0x1402a83f0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rsi, r8
mov r12, rcx
mov eax, dword [0x14053363c]
cmp eax, 0x18
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x38], rdx
jg 0x1402a8610
mov r9d, dword [r12 + 0x60]
xor r9d, dword [rdx]
mov dword [rsp + 0x30], r9d
mov rax, qword [r12 + 0x48]
mov qword [rsp + 0x50], rax
mov r8d, dword [r12 + 0x64]
xor r8d, dword [rdx + 4]
mov r15d, dword [r12 + 0x68]
xor r15d, dword [rdx + 8]
mov eax, dword [r12 + 0x6c]
xor eax, dword [rdx + 0xc]
mov ecx, r9d
not r9d
xor ecx, 0xff
and r9d, 0xffffff00
or r9d, ecx
not r9d
lea rbp, [0x140412d80]
mov r11d, r8d
shr r11d, 8
mov ecx, dword [0x140505980]
lea r10d, [rcx + 0x62d3ddab]
and r10d, r11d
lea r12, [0x140413180]
mov r11d, r15d
shr r11d, 0x10
movzx r11d, r11b
lea r13, [0x140413580]
add cl, 0xc4
mov ebx, eax
mov r14d, eax
shr r14d, cl
mov ecx, dword [r12 + r10*4]
xor ecx, dword [rbp + r9*4]
mov edi, dword [r13 + r11*4]
mov r9d, ecx
not r9d
not edi
mov r10d, r9d
xor r10d, edi
and r10d, r9d
lea r9, [0x140413980]
and edi, ecx
or edi, r10d
xor edi, dword [r9 + r14*4]
mov dword [rsi], edi
movzx r9d, r8b
mov r10d, r15d
shr r10d, 8
mov r11d, r10d
not r11d
xor r10d, 0xff
and r11d, 0xffffff00
movzx ecx, byte [0x140505980]
add cl, 0xbc
shr ebx, cl
or r11d, r10d
not r11d
movzx ecx, bl
mov r10d, dword [r12 + r11*4]
mov r14, rbp
xor r10d, dword [rbp + r9*4]
mov ecx, dword [r13 + rcx*4]
mov r9d, r10d
not r9d
mov ebx, ecx
xor ebx, r9d
and r9d, ecx
mov ebp, dword [rsp + 0x30]
mov r11d, ebp
not ebx
and ebx, r10d
movzx ecx, ah
mov r12d, eax
shr r11d, 0x18
or ebx, r9d
lea rax, [0x140413980]
xor ebx, dword [rax + r11*4]
mov dword [rsi + 4], ebx
movzx r9d, r15b
mov r9d, dword [r14 + r9*4]
mov r10d, r9d
xor r10d, r9d
not r10d
lea r11, [0x140413180]
and r10d, dword [r11 + rcx*4]
xor r10d, r9d
mov r9, r13
mov ecx, ebp
mov eax, ebp
shr ecx, 0x10
movzx ecx, cl
xor r10d, dword [r13 + rcx*4]
mov ecx, r8d
shr ecx, 0x18
lea r13, [0x140413980]
xor r10d, dword [r13 + rcx*4]
movzx ecx, r12b
movzx ebp, ah
mov dword [rsi + 8], r10d
mov r11d, dword [r11 + rbp*4]
mov r12, qword [rsp + 0x20]
xor r11d, dword [r14 + rcx*4]
shr r8d, 0x10
movzx eax, r8b
shr r15d, 0x18
xor r11d, dword [r9 + rax*4]
xor r11d, dword [r13 + r15*4]
mov rcx, qword [rsp + 0x50]
mov dword [rsi + 0xc], r11d
mov rax, qword [0x140505978]
add rax, rcx
movabs r9, 0x56430676b48d0bc7
add r9, rax
cmp r9, 2
setae al
or al, byte [0x14053289c]
mov ecx, dword [0x14053363c]
cmp ecx, 0x3b
jl 0x1402a8bc3
nop word [rax + rax]
mov ecx, dword [rdx]
mov r9d, dword [r12 + 0x60]
sub r9d, ecx
imul r9d, ecx
shl r9d, cl
sub ecx, r9d
sub r9d, ecx
imul r9d, ecx
mov eax, r9d
shl eax, cl
mov r8d, r9d
mov ecx, eax
shl r8d, cl
mov eax, r8d
sub eax, r9d
mov r9d, dword [0x140505980]
imul eax, r8d
add eax, r9d
add eax, 0x62d3dcac
add eax, r8d
mov ecx, r8d
shl eax, cl
mov r10d, dword [r12 + 0x64]
sub eax, r8d
imul eax, r8d
mov ebx, eax
shl ebx, cl
lea r11d, [r9 + 0x62d3dcac]
mov ebp, ebx
xor ebp, ebx
not ebp
and ebp, eax
xor ebp, ebx
movzx ecx, byte [rdx + 4]
mov eax, r10d
shl eax, cl
sub r10d, eax
imul r10d, eax
mov r8d, r10d
mov ecx, eax
shl r8d, cl
sub r10d, r8d
imul r10d, r8d
mov eax, r10d
sub eax, r8d
imul eax, r8d
mov ecx, r10d
sub ecx, eax
imul ecx, eax
mov r13d, r10d
shl r13d, cl
xor r13d, r10d
xor r15d, r15d
sub r15d, dword [r12 + 0x68]
mov eax, dword [rdx + 0xc]
mov ecx, dword [r12 + 0x6c]
mov r8d, ecx
sub r8d, eax
imul r8d, eax
sub ecx, r8d
imul ecx, r8d
sub r8d, ecx
mov r12d, ecx
sub r12d, r8d
imul r12d, r8d
xor r12d, ecx
mov ecx, ebp
not cl
mov eax, ebp
shl eax, cl
mov r8d, eax
shl r8d, cl
mov ecx, eax
sub ecx, r8d
imul ecx, r8d
mov r8d, eax
shl r8d, cl
sub eax, r8d
imul eax, r8d
movzx ecx, r9b
xor ecx, 0xc4
mov r10d, r9d
and r10d, 0x44
lea ecx, [rcx + r10*2]
mov ebx, r12d
shl ebx, cl
and eax, r8d
lea r8, [0x140412d80]
movzx ecx, byte [r8 + rax*4]
mov rdi, r8
mov r14d, dword [0x140413180]
mov eax, r14d
shl eax, cl
mov r10d, r14d
sub eax, r14d
mov r8d, r14d
mov ecx, eax
shl r8d, cl
mov eax, r14d
mov ecx, r8d
shl eax, cl
neg r10d
mov ecx, r14d
sub ecx, eax
imul ecx, eax
lea eax, [r14 - 1]
xor eax, r10d
and eax, ecx
xor eax, r10d
and ecx, r10d
lea r8d, [rax + rcx*2]
imul r10d, r8d
sub r8d, r14d
xor r8d, r10d
mov ecx, dword [0x140413580]
sub ecx, r8d
mov eax, r8d
shl eax, cl
mov r10d, dword [rdx + 8]
sub r8d, eax
imul r8d, eax
mov ecx, eax
shl r8d, cl
mov esi, r8d
shl esi, cl
mov ecx, r8d
sub ecx, esi
imul ecx, esi
mov eax, ebp
sub r8d, ecx
imul r8d, ecx
sub r8d, ecx
imul r8d, ecx
neg r8d
add r8d, r9d
add r8d, 0x62d3dcac
add r8d, ecx
mov r9d, r8d
shl r9d, cl
neg eax
shr ebx, 0x18
xor r9d, r8d
lea rdx, [0x140413980]
mov ecx, dword [rdx + rbx*4]
sub r9d, ecx
imul r9d, ecx
sub r11d, r9d
sub r9d, ecx
imul r9d, ecx
imul r11d, r9d
xor r11d, r9d
mov rcx, qword [rsp + 0x28]
mov dword [rcx], r11d
mov ecx, 0xff
sub ecx, r13d
and ecx, r13d
mov r8d, dword [rdi + rcx*4]
mov ecx, r14d
sub ecx, r8d
imul ecx, r8d
mov r8d, r14d
shl r8d, cl
sub ecx, r8d
sub r8d, ecx
imul r8d, ecx
mov r9d, r8d
shl r9d, cl
mov r11d, dword [0x140505980]
mov esi, r9d
xor esi, r9d
not esi
and esi, r8d
xor esi, r9d
movzx ecx, byte [0x140413580]
mov r8d, esi
shl r8d, cl
xor r8d, esi
mov ecx, dword [0x140413c80]
sub r8d, ecx
imul r8d, ecx
mov r9d, r8d
sub r9d, ecx
imul r9d, ecx
sub r9d, r8d
sub r11d, r8d
lea ecx, [r11 + r9]
add ecx, 0x62d3dcac
mov r8d, r9d
xor r8d, r9d
not r8d
and r8d, ecx
xor r8d, r9d
mov ecx, eax
xor ecx, 0x10
and eax, 0x10
lea ecx, [rcx + rax*2]
mov r9d, ebp
shl r9d, cl
mov eax, r9d
sub eax, ecx
imul eax, ecx
sub r9d, eax
imul r9d, eax
mov ecx, r9d
sub ecx, eax
imul ecx, eax
shr r9d, cl
mov rax, qword [rsp + 0x28]
mov dword [rax + 4], r8d
mov eax, dword [0x140505980]
mov ecx, eax
xor ecx, 0x62d3dcac
mov r8d, eax
and r8d, 0x62d3dcac
lea r11d, [rcx + r8*2]
sub r11d, r9d
sub r11d, r9d
sub r9d, r11d
imul r9d, r11d
sub r9d, r11d
imul r9d, r11d
mov r8d, r9d
not r8d
xor r9d, r11d
add eax, 0x62d3dcac
mov ecx, eax
sub ecx, r13d
add cl, 0x18
shl r13d, cl
shr r13d, cl
not r11d
and r11d, r8d
mov ecx, dword [0x140412d80]
sub r14d, ecx
imul r14d, ecx
sub r14d, ecx
imul r14d, ecx
sub r14d, ecx
imul r14d, ecx
sub eax, r14d
add eax, ecx
mov r8d, r14d
mov ecx, eax
shl r8d, cl
or r11d, r9d
sub r8d, r14d
mov eax, r14d
mov ecx, r8d
shl eax, cl
mov r8d, r14d
mov ecx, eax
shl r8d, cl
not r11d
mov dword [0x14053363c], 0x2f
sub r8d, r14d
xor r8d, r14d
lea rdi, [0x140413580]
mov eax, dword [rdi + r11*4]
sub r8d, eax
imul r8d, eax
sub eax, r8d
mov ecx, r8d
sub ecx, eax
imul ecx, eax
mov eax, r8d
shl eax, cl
imul r15d, r10d
mov ecx, r8d
sub ecx, eax
imul ecx, eax
mov r11d, r10d
sub ecx, r8d
sub ecx, r8d
xor ecx, r8d
mov r8d, dword [rdx + r13*4]
neg ecx
imul ecx, r8d
sub r8d, ecx
mov eax, r8d
neg eax
sub ecx, r8d
imul eax, ecx
sub r8d, ecx
add r8d, 0xaea9a8f6
mov ecx, r8d
xor ecx, 0x5156570a
and r8d, 0x5156570a
lea ecx, [rcx + r8*2]
mov r8d, ecx
xor r8d, eax
and ecx, eax
lea ecx, [r8 + rcx*2]
mov r8d, eax
xor r8d, eax
not r8d
and r8d, ecx
xor r8d, eax
mov rax, qword [rsp + 0x28]
mov dword [rax + 8], r8d
mov r9d, dword [0x140505980]
lea ecx, [r9 + 0x62d3ddab]
mov r8d, r12d
shl r8d, cl
mov ecx, r8d
shl r12d, cl
xor r11d, r11d
not r11d
mov eax, r12d
shl eax, cl
sub r12d, eax
imul r12d, eax
mov ebx, eax
sub ebx, r12d
mov r12, qword [rsp + 0x20]
mov ecx, eax
shl ebx, cl
lea ecx, [r9 - 0x4c]
shl ebp, cl
and r11d, r15d
shl ebp, 8
mov ecx, r9d
neg ecx
mov r8d, ecx
xor r8d, 0x9d2c2255
and ecx, 0x1d2c2255
lea ecx, [r8 + rcx*2]
add ecx, ebp
lea r14d, [r9 + rcx]
add r14d, 0x62d3ddab
mov ecx, r14d
shl ecx, 8
sub ecx, r14d
mov r8d, r9d
sub r8d, r14d
add r8d, ecx
add r8d, 0x62d2deab
mov ecx, r14d
sub ecx, r8d
imul ecx, r8d
mov esi, r14d
shl esi, cl
xor r11d, r10d
mov r8d, r14d
sub r8d, esi
imul r8d, esi
mov ecx, r8d
shl r14d, cl
and ebx, eax
mov esi, 0x18
sub esi, r11d
sub esi, r11d
mov ecx, esi
sub ecx, r11d
imul ecx, r11d
mov eax, esi
shl eax, cl
mov r10d, eax
sub r10d, esi
mov rsi, qword [rsp + 0x28]
mov dword [0x14053363c], 0x23
mov ecx, eax
shl r10d, cl
sub eax, r10d
mov ecx, eax
shr r10d, cl
and r14d, r8d
lea rax, [0x140412d80]
mov eax, dword [rax + rbx*4]
lea rcx, [0x140413180]
mov r8d, dword [rcx + r14*4]
mov ecx, r8d
sub ecx, eax
imul ecx, eax
sub ecx, r8d
shl r8d, cl
mov eax, r8d
shl eax, cl
mov ecx, eax
shl r8d, cl
mov r11d, eax
sub r11d, r8d
mov r8d, r11d
shl r8d, cl
xor r8d, r11d
movabs rax, 0x3fffffffc
mov ecx, dword [rax + rdi]
shl r8d, cl
mov eax, r9d
xor eax, 0x62d3dcac
and r9d, 0x62d3dcac
lea eax, [rax + r9*2]
sub r8d, ecx
imul r8d, ecx
sub r8d, ecx
add eax, ecx
add eax, r8d
sub ecx, eax
mov r8d, eax
sub r8d, ecx
imul r8d, ecx
xor r8d, eax
mov ecx, dword [rdx + r10*4]
mov rdx, qword [rsp + 0x38]
shl r8d, cl
mov r9d, ecx
sub r9d, r8d
mov eax, r9d
shl eax, cl
mov ecx, eax
shl r9d, cl
sub eax, r9d
mov ecx, eax
sub ecx, r9d
imul ecx, r9d
mov r8d, eax
shl r8d, cl
mov ecx, eax
sub ecx, r8d
imul ecx, r8d
mov r8d, eax
sub r8d, ecx
imul r8d, ecx
mov ecx, eax
sub ecx, r8d
imul ecx, r8d
xor ecx, eax
mov dword [rsi + 0xc], ecx
mov eax, dword [0x140533638]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1402a8610
jmp 0x1402a8424
mov rbp, r14
add r12, 0x60
mov qword [rsp + 0x20], r12
test al, 1
je 0x1402a9429
mov r12d, edi
mov r13d, r10d
mov edx, 1
mov qword [rsp + 0x60], r9
mov rdi, qword [rsp + 0x20]
jmp 0x1402a8c0d
inc rdx
mov r11d, r8d
mov r13d, ecx
mov ebx, r10d
mov r12d, r9d
mov r9, qword [rsp + 0x60]
cmp rdx, r9
je 0x1402a9429
cmp dword [0x140505980], 0x9d2c2354
mov dword [rsp + 0x38], r11d
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x4c], r12d
mov dword [rsp + 0x48], r13d
jne 0x1402a8e70
nop word cs:[rax + rax]
mov rcx, rdx
shl rcx, 4
mov eax, dword [rdi + rcx]
xor eax, r12d
mov r9d, eax
mov dword [rsp + 0x44], eax
mov edx, dword [rdi + rcx + 4]
xor edx, ebx
mov eax, r13d
xor eax, eax
not eax
and eax, dword [rdi + rcx + 8]
xor eax, r13d
mov r8d, dword [rdi + rcx + 0xc]
xor r8d, r11d
movzx r10d, r9b
mov ecx, edx
shr ecx, 8
mov r9d, ecx
not r9d
xor ecx, 0xff
and r9d, 0xffffff00
or r9d, ecx
not r9d
movzx ecx, byte [0x140505980]
add cl, 0xbc
mov r11, rax
mov qword [rsp + 0x58], rax
shr r11, cl
movzx ecx, r11b
mov r11d, r8d
mov r14d, r8d
shr r14d, 0x18
lea r15, [0x140413180]
mov r9d, dword [r15 + r9*4]
xor r9d, dword [rbp + r10*4]
lea r10, [0x140413580]
xor r9d, dword [r10 + rcx*4]
lea rcx, [0x140413980]
xor r9d, dword [rcx + r14*4]
mov dword [rsi], r9d
mov ecx, edx
not ecx
mov r10d, edx
xor r10d, 0xff
and ecx, 0xffffff00
or ecx, r10d
mov r10d, eax
shr r10d, 8
mov r14d, r10d
not r14d
xor r10d, 0xff
and r14d, 0xffffff00
or r14d, r10d
shr r11d, 0x10
mov r10d, dword [0x140505980]
mov r15d, r10d
xor r15d, 0x62d3ddab
and r10d, 0x62d3ddab
lea r10d, [r15 + r10*2]
mov ebp, r11d
not ebp
xor r11d, r10d
not r10d
and r10d, ebp
not ecx
not r14d
or r10d, r11d
lea r11, [0x140412d80]
mov ecx, dword [r11 + rcx*4]
mov r11d, ecx
xor r11d, ecx
not r11d
lea r15, [0x140413180]
and r11d, dword [r15 + r14*4]
not r10d
xor r11d, ecx
mov eax, dword [rsp + 0x44]
mov ecx, eax
shr ecx, 0x18
lea r14, [0x140413580]
xor r11d, dword [r14 + r10*4]
lea r10, [0x140413980]
mov ecx, dword [r10 + rcx*4]
mov r10d, ecx
xor r10d, ecx
not r10d
and r10d, r11d
mov r11d, r8d
xor r10d, ecx
mov dword [rsi + 4], r10d
movzx ecx, byte [0x140505980]
add cl, 0xb4
shr r11d, cl
mov ecx, r11d
not ecx
xor r11d, 0xff
and ecx, 0xffffff00
or ecx, r11d
movzx r11d, byte [rsp + 0x58]
not ecx
lea r14, [0x140413180]
mov ecx, dword [r14 + rcx*4]
lea r14, [0x140412d80]
xor ecx, dword [r14 + r11*4]
lea r14, [0x140413580]
mov r11d, eax
shr r11d, 0x10
movzx r11d, r11b
xor ecx, dword [r14 + r11*4]
mov r11d, edx
shr r11d, 0x18
lea r15, [0x140413980]
xor ecx, dword [r15 + r11*4]
movzx r11d, r8b
movzx ebp, ah
mov dword [rsi + 8], ecx
lea r8, [0x140413180]
mov r8d, dword [r8 + rbp*4]
lea rbp, [0x140412d80]
xor r8d, dword [rbp + r11*4]
mov r11d, dword [rsp + 0x38]
shr edx, 0x10
movzx edx, dl
xor r8d, dword [r14 + rdx*4]
mov rax, qword [rsp + 0x58]
shr eax, 0x18
lea rdx, [0x140413980]
xor r8d, dword [rdx + rax*4]
mov dword [rsi + 0xc], r8d
mov eax, dword [0x140533638]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
mov rdx, qword [rsp + 0x30]
je 0x1402a8bf0
nop dword [rax]
mov r8, rdx
shl r8, 4
mov eax, dword [rdi + r8]
mov ecx, eax
sub ecx, r12d
imul ecx, r12d
mov edx, eax
shl edx, cl
mov r9d, eax
mov ecx, edx
shl r9d, cl
mov r14d, dword [rdi + r8 + 4]
sub r9d, eax
mov ecx, eax
shl r9d, cl
mov edx, eax
sub edx, r9d
mov ecx, edx
sub ecx, eax
imul ecx, eax
shl edx, cl
mov eax, ecx
sub eax, edx
neg edx
imul edx, ecx
mov ecx, dword [0x140505980]
sub ecx, eax
lea r12d, [rcx + rdx]
add r12d, 0x62d3dcac
xor r12d, eax
sub r14d, ebx
imul r14d, ebx
neg r14d
imul r14d, ebx
mov ecx, ebx
shl r14d, cl
xor r14d, ebx
mov ecx, dword [rdi + r8 + 8]
mov eax, r13d
sub eax, ecx
neg ecx
imul ecx, r13d
mov edx, eax
shl edx, cl
sub edx, eax
sub edx, eax
mov ecx, eax
sub ecx, edx
imul ecx, edx
mov edx, ecx
sub edx, eax
mov r15d, edx
shl r15d, cl
xor r15d, edx
mov r13d, dword [rdi + r8 + 0xc]
sub r13d, r11d
imul r13d, r11d
mov eax, r13d
mov ecx, r11d
shl eax, cl
neg r13d
imul r13d, eax
mov ecx, r13d
sub ecx, eax
imul ecx, eax
mov eax, r13d
sub eax, ecx
imul eax, ecx
imul r13d, eax
add r13d, eax
xor r13d, eax
mov eax, r12d
shl eax, 8
sub eax, r12d
add eax, 0xffff01ff
mov edx, r12d
sub edx, eax
imul edx, eax
mov ecx, r12d
sub ecx, edx
imul ecx, edx
sub ecx, r12d
mov eax, r12d
shl eax, cl
mov edx, eax
shl edx, cl
mov ebp, edx
sub ebp, eax
mov eax, ebp
xor eax, edx
or ebp, edx
not ebp
or ebp, eax
not ebp
mov ecx, 0x1f
call fcn.14039c114
mov qword [0x140533630], rax
lea rcx, [0x1402a97f0]
call fcn.1403bbdc0
mov eax, dword [0x140505980]
mov ecx, r15d
sub ecx, eax
shl cl, 4
mov edx, r15d
shr edx, cl
movzx edx, dl
add eax, 0x62d3dcac
lea rcx, [0x140412d80]
mov ecx, dword [rcx + rbp*4]
lea rbp, [0x140412d80]
mov r8d, dword [0x140413180]
mov r9d, r8d
shl r9d, cl
mov r10d, r9d
sub r10d, ecx
imul r10d, ecx
mov r11d, r9d
sub r11d, r10d
imul r11d, r10d
sub r11d, r9d
mov ecx, r11d
sub ecx, r9d
xor ecx, r11d
lea r9, [0x140413580]
mov edx, dword [r9 + rdx*4]
sub ecx, edx
imul ecx, edx
xor ecx, edx
lea rdx, [0x140413980]
mov eax, dword [rdx + rax*4]
sub ecx, eax
imul ecx, eax
mov edx, ecx
sub edx, eax
imul edx, eax
sub edx, ecx
sub ecx, edx
imul ecx, edx
mov eax, ecx
sub eax, edx
imul eax, edx
mov edx, eax
xor edx, eax
not edx
and edx, ecx
xor edx, eax
mov dword [rsi], edx
mov edx, dword [0x140505980]
lea ecx, [rdx - 0x4c]
mov eax, r15d
shl eax, cl
mov r9d, r15d
mov ecx, eax
shl r9d, cl
mov r10d, edx
sub r10d, r9d
add r10d, eax
mov ecx, 0x9d2c2354
sub ecx, r10d
imul ecx, eax
sub eax, r10d
sub eax, ecx
add eax, 0x9d2c2354
imul eax, ecx
shr eax, cl
lea ecx, [rdx - 0x55]
mov r9d, eax
shl r9d, cl
sub eax, r9d
imul eax, r9d
sub eax, r9d
imul eax, r9d
and eax, r9d
mov ecx, r13d
neg cl
mov r9d, r13d
shr r9d, cl
lea ecx, [r12*8]
lea r10d, [rcx + rcx*2]
mov r11d, 0x240
sub r11d, r10d
lea r10d, [rcx + rcx*2]
add r10d, 0xfffffdc0
mov ecx, r10d
shl ecx, 0x18
imul r11d, ecx
sub ecx, r10d
mov r10d, ecx
sub r10d, r11d
imul r10d, r11d
sub ecx, r10d
imul ecx, r10d
mov r10d, dword [0x140412d80]
lea r11, [0x140413180]
mov eax, dword [r11 + rax*4]
sub eax, r10d
imul eax, r10d
mov r11d, r10d
xor r11d, r10d
not r11d
and r11d, eax
xor r11d, r10d
movzx eax, r9b
lea r9, [0x140413580]
mov eax, dword [r9 + rax*4]
sub eax, r11d
xor eax, r11d
lea r9, [0x140413980]
mov ecx, dword [r9 + rcx*4]
shl eax, cl
shl eax, cl
sub eax, ecx
imul eax, ecx
sub edx, eax
add edx, 0x62d3dcac
mov r9d, edx
xor r9d, ecx
and edx, ecx
lea ecx, [r9 + rdx*2]
sub ecx, eax
sub eax, ecx
imul eax, ecx
sub ecx, eax
sub ecx, eax
shl eax, cl
shl eax, cl
mov edx, ecx
sub edx, eax
xor edx, ecx
mov dword [rsi + 4], edx
mov eax, r14d
sub eax, dword [0x140505980]
lea eax, [rax + rax*2]
lea edx, [rax*8 - 0x43dcb260]
mov ecx, eax
shl ecx, 3
mov r9d, r14d
sub r9d, edx
imul r9d, edx
shl r9d, cl
shl r9d, cl
mov eax, r9d
shl eax, cl
mov edx, r9d
mov ecx, eax
shl edx, cl
mov ecx, edx
shr r9d, cl
mov eax, dword [rbp + 0xfe80ffc]
sub r8d, eax
imul r8d, eax
sub eax, r8d
sub eax, r8d
sub r8d, eax
imul r8d, eax
xor r8d, eax
mov ecx, dword [0x140413580]
shl r8d, cl
shl r8d, cl
mov eax, r8d
sub eax, ecx
imul eax, ecx
sub r8d, eax
imul r8d, eax
sub eax, r8d
mov r10d, eax
sub r10d, r8d
mov edx, r10d
mov ecx, eax
shl edx, cl
mov ecx, edx
shl r10d, cl
sub r10d, edx
imul r10d, edx
shl r10d, cl
xor r10d, edx
lea rax, [0x140413980]
mov eax, dword [rax + r9*4]
sub r10d, eax
imul r10d, eax
sub r10d, eax
imul r10d, eax
sub eax, r10d
sub eax, r10d
sub r10d, eax
imul r10d, eax
xor r10d, eax
mov dword [rsi + 8], r10d
mov eax, r13d
shl eax, 8
sub eax, r13d
add eax, 0xffff01ff
sub r13d, eax
imul r13d, eax
mov ecx, eax
shl r13d, cl
mov r9d, dword [0x140505980]
mov ecx, r9d
xor ecx, 0xdf1b15a6
mov edx, r9d
and edx, 0x5f1b15a6
lea r10d, [rcx + rdx*2]
sub r10d, r12d
mov r12d, dword [rsp + 0x4c]
mov ecx, r9d
sub ecx, r10d
add r10d, 0x83b8c70e
add cl, 0xa6
mov edx, r10d
shl edx, cl
mov r8d, r10d
mov ecx, edx
shl r8d, cl
mov r11d, r10d
mov ecx, r8d
shl r11d, cl
mov edx, r13d
mov ecx, r10d
sub ecx, r11d
imul ecx, r11d
shl r10d, cl
sub r10d, ecx
imul r10d, ecx
sub r10d, ecx
imul r10d, ecx
shr r10d, cl
sub edx, eax
imul edx, eax
lea ecx, [r9 - 0x55]
mov eax, r10d
shl eax, cl
mov ecx, eax
shl r10d, cl
shl r10d, cl
and edx, r13d
mov r13d, dword [rsp + 0x48]
sub r10d, eax
imul r10d, eax
mov r8d, r10d
neg r8d
mov r11d, r10d
sub r11d, eax
add r10d, r11d
neg r11d
imul r11d, r10d
imul r8d, r11d
mov eax, r8d
mov ecx, 0x10
sub ecx, r14d
lea r10d, [r14 + r14]
add r10d, 0xfffffff0
imul r10d, ecx
mov esi, r14d
sub esi, r10d
imul esi, r10d
mov ecx, r14d
neg ecx
imul ecx, esi
sub esi, r14d
mov r10d, esi
shl r10d, cl
sub eax, r11d
imul eax, r11d
sub esi, r10d
imul esi, r10d
mov ecx, esi
neg ecx
imul ecx, r10d
sub esi, r10d
mov r10d, r8d
not r10d
xor r8d, eax
add esi, ecx
shr esi, cl
not eax
and eax, r10d
mov r10d, 0xff
sub r10d, esi
mov rsi, qword [rsp + 0x28]
mov r11d, r10d
sub r11d, r9d
mov ecx, r11d
shl ecx, 8
sub ecx, r11d
mov r11d, dword [rsp + 0x38]
add ecx, 0x8ef632ab
sub r10d, ecx
imul r10d, ecx
shl r10d, cl
or eax, r8d
not eax
mov r8d, r10d
shl r8d, cl
and r8d, r10d
mov ecx, dword [rbp + rdx*4]
lea rdx, [0x140413180]
mov eax, dword [rdx + rax*4]
mov edx, eax
sub edx, ecx
imul edx, ecx
mov ecx, eax
sub ecx, edx
imul ecx, edx
shl eax, cl
sub eax, r9d
add eax, 0x9d2c2354
sub ecx, eax
shl eax, cl
sub ecx, eax
mov edx, ecx
sub edx, eax
shl r15d, 3
lea eax, [r15 + r15*2]
xor edx, ecx
mov r9d, 0x258
lea rcx, [0x140413580]
mov ecx, dword [rcx + r8*4]
sub ecx, edx
sub ecx, edx
sub ecx, edx
sub edx, ecx
imul edx, ecx
shl edx, cl
sub r9d, eax
shl r9d, 0x18
sub ecx, edx
mov eax, edx
shl eax, cl
mov dword [0x14053363c], 5
sub edx, eax
imul edx, eax
xor edx, eax
lea rax, [0x140413980]
mov ecx, dword [rax + r9*4]
sub ecx, edx
mov eax, edx
shl eax, cl
mov ecx, eax
shl edx, cl
mov r8d, edx
shl r8d, cl
mov eax, r8d
sub eax, edx
mov rdx, qword [rsp + 0x30]
xor eax, r8d
mov dword [rsi + 0xc], eax
mov eax, dword [0x140533638]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1402a8e70
jmp 0x1402a8c40
shl r9, 4
mov rdi, qword [rsp + 0x20]
mov r8d, dword [rdi + r9]
mov eax, dword [rdi + r9 + 4]
xor r8d, dword [rsi]
xor eax, dword [rsi + 4]
mov edx, dword [rdi + r9 + 8]
xor edx, dword [rsi + 8]
mov ebx, dword [rdi + r9 + 0xc]
xor ebx, dword [rsi + 0xc]
movzx ecx, r8b
movzx ecx, byte [rbp + rcx*4 + 1]
mov byte [rsi], cl
movzx ecx, ah
movzx ecx, byte [rbp + rcx*4 + 1]
mov byte [rsi + 1], cl
mov ecx, edx
shr ecx, 0x10
movzx ecx, cl
movzx ecx, byte [rbp + rcx*4 + 1]
mov byte [rsi + 2], cl
movzx ecx, byte [0x140505980]
add cl, 0xc4
mov r9d, ebx
mov r10d, ebx
shr r10d, cl
movzx ecx, bh
movzx r11d, bl
movzx r10d, byte [rbp + r10*4 + 1]
mov byte [rsi + 3], r10b
mov r10d, edx
shr r10d, 8
mov ebx, r10d
not ebx
xor r10d, 0xff
and ebx, 0xffffff00
or ebx, r10d
mov r10d, eax
xor r10d, 0xffffff00
and r10d, eax
movzx r10d, byte [rbp + r10*4 + 1]
mov byte [rsi + 4], r10b
not ebx
movzx r10d, byte [rbp + rbx*4 + 1]
mov byte [rsi + 5], r10b
shr r9d, 0x10
movzx r9d, r9b
movzx r9d, byte [rbp + r9*4 + 1]
mov byte [rsi + 6], r9b
mov r9d, r8d
shr r9d, 0x18
movzx r9d, byte [rbp + r9*4 + 1]
mov byte [rsi + 7], r9b
mov r9d, dword [0x140505980]
mov r10d, r9d
xor r10d, 0x62d3ddab
and r9d, 0x62d3ddab
lea r9d, [r10 + r9*2]
and r9d, edx
movzx r9d, byte [rbp + r9*4 + 1]
mov byte [rsi + 8], r9b
movzx ecx, byte [rbp + rcx*4 + 1]
mov byte [rsi + 9], cl
mov ecx, r8d
shr ecx, 0x10
mov r9d, ecx
xor r9d, 0xff00
and r9d, ecx
movzx ecx, byte [rbp + r9*4 + 1]
mov byte [rsi + 0xa], cl
mov ecx, eax
shr ecx, 0x18
movzx ecx, byte [rbp + rcx*4 + 1]
mov byte [rsi + 0xb], cl
movzx ecx, byte [rbp + r11*4 + 1]
mov byte [rsi + 0xc], cl
movzx ecx, byte [0x140505980]
add cl, 0xb4
shr r8d, cl
movzx ecx, r8b
movzx ecx, byte [rbp + rcx*4 + 1]
mov byte [rsi + 0xd], cl
shr eax, 0x10
mov ecx, eax
not ecx
and eax, 0xff00
or eax, ecx
not eax
movzx eax, byte [rbp + rax*4 + 1]
mov byte [rsi + 0xe], al
shr edx, 0x18
movzx eax, byte [rbp + rdx*4 + 1]
mov byte [rsi + 0xf], al
mov rdx, qword [rsp + 0x50]
shl rdx, 4
mov eax, dword [rdi + rdx]
xor dword [rsi], eax
mov eax, dword [rdi + rdx + 4]
xor dword [rsi + 4], eax
mov eax, dword [rsi + 8]
mov ecx, eax
xor ecx, eax
not ecx
and ecx, dword [rdi + rdx + 8]
xor ecx, eax
mov dword [rsi + 8], ecx
mov eax, dword [rdi + rdx + 0xc]
xor dword [rsi + 0xc], eax
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret