Function at 0x202c1500
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
movaps xmmword [rsp + 0x100], xmm6
mov rdi, rcx
mov rax, qword [0x205a38a0]
xor rax, rsp
mov qword [rsp + 0xf8], rax
lea rsi, [rcx + 0x20]
mov dword [rsp + 0x38], 0x8701703b
mov dword [rsp + 0x30], 0x517b6b97
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 7
xor ecx, ecx
xor edx, edx
mov r8, rsi
xor r9d, r9d
call fcn.202c5fd0
mov ecx, 0x8a2bc072
add ecx, dword [0x20579d30]
cmp eax, ecx
je 0x202c15b0
lea rbx, [rdi + 0x40]
mov dword [rsp + 0x38], 0x8701703b
mov dword [rsp + 0x30], 0x517b6b97
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 7
xor ecx, ecx
xor edx, edx
mov r8, rbx
xor r9d, r9d
call fcn.202c5fd0
cmp eax, 3
jne 0x202c1690
xorps xmm6, xmm6
movups xmmword [rsp + 0x28], xmm6
mov dword [rsp + 0x48], 0x9a88d678
mov dword [rsp + 0x40], 0x83adb51a
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x20], 1
mov r9d, 7
xor ecx, ecx
xor edx, edx
mov r8, rdi
call fcn.202c6040
movups xmmword [rsp + 0x28], xmm6
mov dword [rsp + 0x48], 0x9a88d678
mov dword [rsp + 0x40], 0x83adb51a
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x20], 1
mov r9d, 7
xor ecx, ecx
mov r8, rsi
xor edx, edx
call fcn.202c6040
add rdi, 0x40
movups xmmword [rsp + 0x28], xmm6
mov dword [rsp + 0x48], 0x9a88d678
mov dword [rsp + 0x40], 0x83adb51a
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x20], 0
mov r9d, 7
xor ecx, ecx
mov r8, rdi
xor edx, edx
call fcn.202c6040
mov rcx, qword [rsp + 0xf8]
xor rcx, rsp
call fcn.204278f0
mov eax, 1
movaps xmm6, xmmword [rsp + 0x100]
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x48], 0x9a88d678
mov dword [rsp + 0x40], 0x83adb51a
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 7
mov dword [rsp + 0x20], 0
lea r14, [rsp + 0x80]
mov r9d, 7
xor ecx, ecx
mov edx, 1
mov r8, r14
call fcn.202c6040
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0xc]
movups xmmword [rsp + 0x6c], xmm1
movaps xmmword [rsp + 0x60], xmm0
mov dword [rsp + 0x30], 0x7069a041
mov dword [rsp + 0x28], 0xa26d98ee
mov qword [rsp + 0x20], 7
lea r15, [rsp + 0xc0]
xor ecx, ecx
xor edx, edx
mov r8, r15
mov r9, rbx
call fcn.202c63c0
mov dword [rsp + 0x20], 0x9097d6ca
mov r8d, 0xe
mov rcx, rbx
mov rdx, r15
mov r9d, 0x16d9c6b5
call fcn.202c60b0
mov dword [rsp + 0x38], 0x8701703b
mov dword [rsp + 0x30], 0x517b6b97
mov qword [rsp + 0x28], 7
mov dword [rsp + 0x20], 0
mov ecx, 1
mov edx, 1
mov r8, r14
mov r9, rbx
call fcn.202c5fd0
mov ecx, 0x8a2bc06f
add ecx, dword [0x20579d30]
cmp eax, ecx
jne 0x202c17bd
mov dword [rsp + 0x38], 0x8701703b
mov dword [rsp + 0x30], 0x517b6b97
mov qword [rsp + 0x28], 7
mov dword [rsp + 0x20], 0
lea r9, [0x20579b40]
lea r8, [rsp + 0x80]
mov ecx, 1
xor edx, edx
call fcn.202c5fd0
movsxd rax, dword [0x20481bf0]
mov qword [rsp + 0x58], rax
mov eax, dword [0x20481bbc]
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x38], 0x8701703b
mov dword [rsp + 0x30], 0x517b6b97
mov qword [rsp + 0x28], 7
mov dword [rsp + 0x20], 0
mov ecx, 1
xor edx, edx
mov r8, rbx
mov r9, rdi
call fcn.202c5fd0
test eax, eax
je 0x202c1844
mov dword [rsp + 0x38], 0x8701703b
mov dword [rsp + 0x30], 0x517b6b97
mov qword [rsp + 0x28], 7
mov dword [rsp + 0x20], 0
lea r9, [0x20579b40]
mov ecx, 1
mov edx, 1
mov r8, rbx
call fcn.202c5fd0
movabs r12, 0x713af434c3b7a7d9
mov dword [rsp + 0x30], 0xe86d60f
mov dword [rsp + 0x28], 0xde1ebb40
mov qword [rsp + 0x20], 7
lea r15, [rsp + 0xc0]
lea r14, [rsp + 0x80]
xor ecx, ecx
mov rdx, r15
mov r8, rbx
mov r9, r14
call fcn.202c5f90
mov dword [rsp + 0x20], 0x9097d6ca
mov r8d, 0xe
mov rcx, rbx
mov rdx, r15
mov r9d, 0x16d9c6b5
call fcn.202c60b0
mov eax, dword [0x20579d30]
lea ecx, [rax - 0x75d43f91]
lea edx, [rax - 0x75d43f90]
mov r9, qword [0x20579d38]
mov r8d, eax
xor r8d, 0x8a2bc06f
mov r10d, eax
and r10d, 0xa2bc06f
lea r8d, [r8 + r10*2]
movabs r10, 0xb9b64e2c8a481883
lea r11, [r12 + r10]
movabs r15, 0xbfa6a82daebd9df1
add r11, r15
sub r11, r10
add r11, r9
add r9, r12
sub r11, r15
lea r10d, [rax + 0xdd97589]
add eax, 0x24b496e7
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], r10d
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], r8d
mov qword [rsp + 0x38], 0
mov r8, r14
call fcn.202c6040
mov dword [rsp + 0x9c], 0
mov dword [rsp + 0x38], 0x8701703b
mov dword [rsp + 0x30], 0x517b6b97
mov qword [rsp + 0x28], 7
mov dword [rsp + 0x20], 0
mov ecx, 1
xor edx, edx
mov r8, r14
mov r9, r14
call fcn.202c5fd0
test eax, eax
je 0x202c19b2
mov eax, dword [rsp + 0x9c]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 1
mov r8d, eax
xor r8d, 0xfffffffe
or r8d, edx
not r8d
or r8d, edx
xor eax, 1
and ecx, 0xfffffffe
or ecx, eax
not ecx
or ecx, eax
not ecx
or ecx, eax
not ecx
lea eax, [r8 + rcx*2]
mov dword [rsp + 0x9c], eax
mov dword [rsp + 0x38], 0x8701703b
mov dword [rsp + 0x30], 0x517b6b97
mov qword [rsp + 0x28], 7
mov dword [rsp + 0x20], 0
lea r14, [rsp + 0x80]
mov ecx, 1
xor edx, edx
mov r8, r14
mov r9, rbx
call fcn.202c5fd0
mov ecx, dword [rsp + 0x9c]
test eax, eax
je 0x202c1a13
mov eax, ecx
xor eax, 1
not ecx
and ecx, 0x7ffffffe
or ecx, eax
not ecx
lea ecx, [rax + rcx*2]
mov dword [rsp + 0x9c], ecx
test ecx, ecx
je 0x202c1adc
mov ebp, dword [rsp + 0x9c]
test ebp, ebp
je 0x202c1a85
lea r14, [0x20579b40]
lea r15, [rsp + 0x80]
nop word cs:[rax + rax]
mov dword [rsp + 0x38], 0x8701703b
mov dword [rsp + 0x30], 0x517b6b97
mov qword [rsp + 0x28], 7
mov dword [rsp + 0x20], 0
mov ecx, 1
mov edx, 1
mov r8, r15
mov r9, r14
call fcn.202c5fd0
xor ecx, ecx
add eax, dword [0x205b3d5c]
sete cl
sub ebp, ecx
jne 0x202c1a40
mov dword [rsp + 0x30], 0xe86d60f
mov dword [rsp + 0x28], 0xde1ebb40
mov qword [rsp + 0x20], 7
lea r8, [0x20579b40]
lea rdx, [rsp + 0x80]
mov ecx, 1
xor r9d, r9d
call fcn.202c5f90
movups xmm0, xmmword [rsp + 0x8c]
movups xmmword [rsp + 0xac], xmm0
movaps xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0xa0], xmm0
jmp 0x202c1b25
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x48], 0x9a88d678
mov dword [rsp + 0x40], 0x83adb51a
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 7
mov dword [rsp + 0x20], 0
lea r8, [rsp + 0xa0]
mov r9d, 7
xor ecx, ecx
mov edx, 1
call fcn.202c6040
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
lea r14, [rsp + 0x60]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x48], 0x9a88d678
mov dword [rsp + 0x40], 0x83adb51a
mov dword [rsp + 0x20], 0
mov ebp, 1
mov r9d, 7
mov ecx, 1
xor edx, edx
mov r8, rsi
call fcn.202c6040
mov dword [rsp + 0x30], 0xe86d60f
mov dword [rsp + 0x28], 0xde1ebb40
mov qword [rsp + 0x20], 7
lea r15, [rsp + 0xc0]
xor ecx, ecx
mov rdx, r15
mov r8, rsi
mov r9, r14
call fcn.202c5f90
mov rax, qword [0x20579d38]
movabs rcx, 0x2a4926af18a9bd2a
lea rdx, [r12 + rcx]
movabs r8, 0x712c5b7522cc8bc7
sub rdx, r8
movabs r9, 0x60c124a17cdd92df
sub rdx, r9
add rdx, r8
add rdx, 7
mov r8, rdx
xor r8, rax
and rdx, rax
lea r8, [r8 + rdx*2]
add r8, r9
sub r8, rcx
mov eax, dword [0x20579d30]
lea r9d, [rax - 0x5efa78dc]
add eax, 0x1ac39739
mov dword [rsp + 0x20], eax
mov rcx, rsi
mov rdx, r15
call fcn.202c60b0
mov dword [rsp + 0x38], 0x8701703b
mov dword [rsp + 0x30], 0x517b6b97
mov qword [rsp + 0x28], 7
mov dword [rsp + 0x20], 0
mov ecx, 1
xor edx, edx
mov r8, rsi
mov r9, rsi
call fcn.202c5fd0
test eax, eax
je 0x202c1d2d
mov eax, dword [0x20579d30]
mov ecx, eax
xor ecx, 0x8a2bc070
and eax, 0xa2bc070
lea eax, [rcx + rax*2]
mov dword [rdi + 0x3c], eax
lea r15, [0x20579b40]
nop
mov eax, dword [0x20579d30]
lea ecx, [rax - 0x75d43f90]
mov edx, eax
xor edx, 0x8a2bc06f
mov r8d, eax
xor r8d, 0x75d43f90
and r8d, eax
lea edx, [rdx + r8*2]
mov r8, qword [0x20579d38]
add r8, r12
lea r9d, [rax - 0x2458d3fa]
mov r10d, eax
xor r10d, 0x6ed2cf55
and r10d, eax
add r10d, r10d
xor eax, r10d
mov r11d, eax
xor r11d, 0x112d30aa
xor eax, 0x6ed2cf54
and eax, r10d
lea eax, [r11 + rax*2]
mov dword [rsp + 0x30], r9d
mov qword [rsp + 0x28], r8
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x38], eax
mov edx, ecx
mov r8, rsi
mov r9, r15
call fcn.202c5fd0
xor ecx, ecx
test eax, eax
sete cl
sub ebp, ecx
jne 0x202c1c60
mov dword [rsp + 0x30], 0xe86d60f
mov dword [rsp + 0x28], 0xde1ebb40
mov qword [rsp + 0x20], 7
lea r8, [0x20579b40]
mov ecx, 1
mov rdx, rsi
xor r9d, r9d
call fcn.202c5f90
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0xc]
movups xmmword [rbx + 0xc], xmm1
movups xmmword [rbx], xmm0
jmp 0x202c1d71
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x48], 0x9a88d678
mov dword [rsp + 0x40], 0x83adb51a
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 7
mov dword [rsp + 0x20], 0
mov r9d, 7
xor ecx, ecx
mov r8, rbx
mov edx, 1
call fcn.202c6040
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x48], 0x9a88d678
mov dword [rsp + 0x40], 0x83adb51a
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 7
mov dword [rsp + 0x20], 0
mov r9d, 7
xor ecx, ecx
mov edx, 1
mov r8, rsi
call fcn.202c6040
mov dword [rsp + 0x30], 0x7069a041
mov dword [rsp + 0x28], 0xa26d98ee
mov qword [rsp + 0x20], 7
lea rbx, [rsp + 0xc0]
xor ecx, ecx
xor edx, edx
mov r8, rbx
mov r9, rsi
call fcn.202c63c0
mov rax, qword [0x20579d38]
lea r8, [r12 + rax]
add r8, 7
mov eax, dword [0x20579d30]
lea r9d, [rax - 0x5efa78dc]
add eax, 0x1ac39739
mov dword [rsp + 0x20], eax
mov rcx, rsi
mov rdx, rbx
call fcn.202c60b0
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0xc]
movaps xmmword [rsp + 0x80], xmm0
movups xmmword [rsp + 0x8c], xmm1
mov eax, dword [0x20579d30]
lea ecx, [rax - 0x75d43f91]
mov rdx, qword [0x20579d38]
add rdx, r12
movabs r8, 0x81ec2b0e5867903f
add rdx, r8
sub r8, rdx
movabs rdx, 0x6d156679649e7ef1
add r8, rdx
sub rdx, r8
mov r8d, eax
xor r8d, 0x2c99595d
mov r9d, eax
and r9d, 0x2c99595d
lea r8d, [r8 + r9*2]
mov r9d, eax
xor r9d, 0xa7d5858f
and eax, 0x27d5858f
lea eax, [r9 + rax*2]
add eax, 0x52bfdb21
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r8d
mov qword [rsp + 0x20], rdx
lea rbx, [rsp + 0xc0]
mov edx, ecx
mov r8, rbx
mov r9, rsi
call fcn.202c63c0
mov dword [rsp + 0x20], 0x9097d6ca
mov r8d, 0xe
mov rcx, rsi
mov rdx, rbx
mov r9d, 0x16d9c6b5
call fcn.202c60b0
mov dword [rsp + 0x30], 0xe86d60f
mov dword [rsp + 0x28], 0xde1ebb40
mov qword [rsp + 0x20], 7
lea rbx, [rsp + 0xc0]
lea r9, [rsp + 0x80]
xor ecx, ecx
mov rdx, rbx
mov r8, rdi
call fcn.202c5f90
mov dword [rsp + 0x20], 0x9097d6ca
mov r8d, 0xe
mov rcx, rdi
mov rdx, rbx
mov r9d, 0x16d9c6b5
call fcn.202c60b0
mov eax, 0x8a2bc06f
add eax, dword [0x20579d30]
mov dword [rsp + 0x9c], eax
mov dword [rsp + 0x38], 0x8701703b
mov dword [rsp + 0x30], 0x517b6b97
mov qword [rsp + 0x28], 7
mov dword [rsp + 0x20], 0
mov ecx, 1
xor edx, edx
mov r8, rdi
mov r9, rdi
call fcn.202c5fd0
test eax, eax
je 0x202c1f79
inc dword [rsp + 0x9c]
shl dword [rsp + 0x9c], 1
mov dword [rsp + 0x38], 0x8701703b
mov dword [rsp + 0x30], 0x517b6b97
mov qword [rsp + 0x28], 7
mov dword [rsp + 0x20], 0
mov ecx, 1
xor edx, edx
mov r8, rdi
mov r9, rdi
call fcn.202c5fd0
mov ecx, dword [rsp + 0x9c]
test eax, eax
je 0x202c1fc7
inc ecx
mov dword [rsp + 0x9c], ecx
test ecx, ecx
je 0x202c20cf
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x48], 0x9a88d678
mov dword [rsp + 0x40], 0x83adb51a
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 7
mov dword [rsp + 0x20], 0
lea r8, [rsp + 0x80]
mov r9d, 7
xor ecx, ecx
mov edx, 1
call fcn.202c6040
mov ebp, dword [rsp + 0x9c]
test ebp, ebp
je 0x202c2081
lea rbx, [0x20579b40]
lea r14, [rsp + 0x80]
nop word cs:[rax + rax]
mov dword [rsp + 0x38], 0x8701703b
mov dword [rsp + 0x30], 0x517b6b97
mov qword [rsp + 0x28], 7
mov dword [rsp + 0x20], 0
mov ecx, 1
mov edx, 1
mov r8, r14
mov r9, rbx
call fcn.202c5fd0
xor ecx, ecx
test eax, eax
sete cl
sub ebp, ecx
jne 0x202c2040
mov dword [rsp + 0x30], 0xe86d60f
mov dword [rsp + 0x28], 0xde1ebb40
mov qword [rsp + 0x20], 7
lea r8, [0x20579b40]
lea rdx, [rsp + 0x80]
mov ecx, 1
xor r9d, r9d
call fcn.202c5f90
movups xmm0, xmmword [rsp + 0x8c]
movups xmmword [rdi + 0xc], xmm0
movaps xmm0, xmmword [rsp + 0x80]
movups xmmword [rdi], xmm0
jmp 0x202c20ff
mov dword [rsp + 0x30], 0xe86d60f
mov dword [rsp + 0x28], 0xde1ebb40
mov qword [rsp + 0x20], 7
lea r8, [0x20579b40]
mov ecx, 1
mov rdx, rdi
xor r9d, r9d
call fcn.202c5f90
lea r15, [0x20481bf0]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
lea rbx, [rsp + 0xa0]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x48], 0x9a88d678
mov dword [rsp + 0x40], 0x83adb51a
mov dword [rsp + 0x20], 0
mov r9d, 7
mov ecx, 1
xor edx, edx
mov r8, rdi
call fcn.202c6040
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0xc]
movups xmmword [rsp + 0x6c], xmm1
movaps xmmword [rsp + 0x60], xmm0
mov dword [rsp + 0x30], 0x7069a041
mov dword [rsp + 0x28], 0xa26d98ee
mov qword [rsp + 0x20], 7
lea r14, [rsp + 0xc0]
xor ecx, ecx
xor edx, edx
mov r8, r14
mov r9, rdi
call fcn.202c63c0
mov dword [rsp + 0x20], 0x9097d6ca
mov r8d, 0xe
mov rcx, rdi
mov rdx, r14
mov r9d, 0x16d9c6b5
call fcn.202c60b0
mov dword [rsp + 0x38], 0x8701703b
mov dword [rsp + 0x30], 0x517b6b97
mov qword [rsp + 0x28], 7
mov dword [rsp + 0x20], 0
mov ecx, 1
mov edx, 1
mov r8, rdi
mov r9, rbx
call fcn.202c5fd0
test eax, eax
jne 0x202c2219
mov dword [rsp + 0x38], 0x8701703b
mov dword [rsp + 0x30], 0x517b6b97
mov qword [rsp + 0x28], 7
mov dword [rsp + 0x20], 0
lea r9, [0x20579b40]
mov ecx, 1
xor edx, edx
mov r8, rdi
call fcn.202c5fd0
add qword [rsp + 0x58], r15
mov dword [rsp + 0x38], 0x8701703b
mov dword [rsp + 0x30], 0x517b6b97
mov qword [rsp + 0x28], 7
mov dword [rsp + 0x20], 0
lea r9, [rsp + 0xa0]
mov ecx, 1
mov edx, 1
mov r8, rdi
call fcn.202c5fd0
mov dword [rsp + 0x54], eax
mov eax, dword [0x205b59c4]
cmp eax, 0x3e
jge 0x202c22a7
mov ebx, dword [0x20579bbc]
mov eax, dword [0x20579d30]
mov ecx, ebx
not ecx
mov edx, 0x75d43f8f
sub edx, eax
add eax, 0x8a2bc070
mov r8d, ecx
and r8d, eax
and edx, ebx
or edx, r8d
and eax, ebx
lea r9d, [rdx + rax*2]
mov dword [0x20579bbc], r9d
mov eax, dword [0x205b59c4]
cmp eax, 0x2b
jl 0x202c2301
lea rax, [fcn.202c1500]
lea ecx, [rax + rax]
add ecx, 0xf40
add eax, eax
add eax, 0xf41
xor eax, ecx
mov edx, dword [0x20579bbc]
mov cl, 1
sub cl, dl
mov r8d, edx
shl r8d, cl
lea ecx, [rdx + r8]
add ecx, 0xf677ed9b
mov edx, ecx
xor edx, 0x81dce341
and ecx, 0x1dce341
lea ecx, [rdx + rcx*2]
add ecx, 0x87ab2f24
mov dword [0x20579bbc], ecx
cmp eax, 1
jne 0x202c22c0
jmp 0x202c2268
mov eax, ecx
and eax, r9d
not r9d
and ebx, r9d
or ebx, eax
mov eax, dword [0x205b59c0]
mov edx, 0x919a10c3
sub edx, eax
imul edx, eax
test dl, 1
jne 0x202c2910
jmp 0x202c28b8
mov dword [rsp + 0x30], 0xe86d60f
mov dword [rsp + 0x28], 0xde1ebb40
mov qword [rsp + 0x20], 7
lea r8, [0x20579b40]
mov ecx, 1
mov rdx, rdi
xor r9d, r9d
call fcn.202c5f90
movabs r15, 0x713af434c3b7a7d9
mov eax, dword [0x205b59c0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x202c2389
mov rcx, qword [0x20481bf8]
mov eax, dword [0x205b59c4]
cmp eax, 0x35
jle 0x202c2392
mov rax, qword [0x20481bf8]
jmp 0x202c2377
xor eax, eax
neg ebx
sbb rax, rax
movabs rdx, 0xd688771d83cc448e
mov r8, rdx
sub r8, r14
sub r8, rdx
add rcx, r8
xor rax, rcx
and rax, rcx
mov rcx, rax
shr rcx, 0x20
mov edx, eax
not edx
mov r9d, eax
xor r9d, ecx
mov r8d, edx
mov r10d, eax
and r10d, ecx
mov r11d, edx
and edx, ecx
not ecx
xor r8d, ecx
or r8d, r10d
not r8d
or r8d, r9d
not r8d
and r11d, ecx
or r11d, r10d
mov r9d, eax
xor r9d, ecx
or edx, r9d
not edx
or edx, r11d
not edx
and ecx, eax
or ecx, edx
or ecx, r8d
mov eax, dword [0x205b59c4]
cmp eax, 0x36
jg 0x202c2413
mov al, 1
test al, al
jne 0x202c2447
mov eax, 0x8a2bc070
lea rdx, [fcn.202c1500]
add edx, edx
add edx, 0x4320
nop word [rax + rax]
mov r8d, dword [0x20579d30]
add r8d, eax
xor r8d, edx
not r8d
test r8d, edx
jne 0x202c2430
jmp 0x202c240d
add ecx, dword [0x205b3d5c]
mov dword [0x205b3d5c], ecx
mov dword [rsp + 0x9c], 0
mov dword [rsp + 0x38], 0x8701703b
mov dword [rsp + 0x30], 0x517b6b97
mov qword [rsp + 0x28], 7
mov dword [rsp + 0x20], 0
mov ecx, 1
xor edx, edx
mov r8, rsi
mov r9, rsi
call fcn.202c5fd0
test eax, eax
je 0x202c249c
inc dword [rsp + 0x9c]
movzx ecx, byte [0x20579d30]
add cl, 0x70
shl dword [rsp + 0x9c], cl
mov dword [rsp + 0x38], 0x8701703b
mov dword [rsp + 0x30], 0x517b6b97
mov qword [rsp + 0x28], 7
mov dword [rsp + 0x20], 0
mov ecx, 1
xor edx, edx
mov r8, rsi
mov r9, rsi
call fcn.202c5fd0
test eax, eax
je 0x202c2518
mov eax, dword [rsp + 0x9c]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 1
mov r8d, eax
and r8d, 0xfffffffe
or r8d, edx
and eax, 1
add eax, eax
xor ecx, r8d
and ecx, eax
xor ecx, r8d
and eax, r8d
lea eax, [rcx + rax*2]
mov dword [rsp + 0x9c], eax
shl dword [rsp + 0x9c], 1
mov dword [rsp + 0x38], 0x8701703b
mov dword [rsp + 0x30], 0x517b6b97
mov qword [rsp + 0x28], 7
mov dword [rsp + 0x20], 0
mov ecx, 1
xor edx, edx
mov r8, rsi
mov r9, rsi
call fcn.202c5fd0
mov ecx, dword [0x20579d30]
mov edx, ecx
xor edx, 0x475146ce
and ecx, 0x475146ce
lea edx, [rdx + rcx*2]
add edx, 0x42da79a1
mov ecx, dword [rsp + 0x9c]
cmp eax, edx
je 0x202c258f
mov eax, dword [0x20579d30]
add ecx, eax
add ecx, 0x8a2bc070
mov dword [rsp + 0x9c], ecx
test ecx, ecx
sete al
movzx ecx, byte [0x205b5490]
mov edx, ecx
xor dl, al
not dl
and dl, cl
or al, cl
mov ecx, eax
not cl
and cl, dl
test cl, 1
jne 0x202c273c
test al, 1
jne 0x202c273c
mov eax, dword [0x20579d30]
lea ecx, [rax - 0x75d43f91]
mov edx, eax
xor edx, 0x8a2bc070
mov r8d, eax
and r8d, 0xa2bc070
lea edx, [rdx + r8*2]
mov r8, qword [0x20579d38]
movabs r9, 0xe8ac36f675919f86
mov r10, r8
sub r10, r9
add r9, r15
add r9, r10
mov r10d, eax
neg r10d
mov r11d, r10d
xor r11d, 0x75d43f91
and r10d, 0x75d43f91
lea r10d, [r11 + r10*2]
mov r11d, 0xd5882f7b
sub r11d, r10d
mov r10d, r11d
xor r10d, 0x2a77d085
and r11d, 0x2a77d085
lea r10d, [r10 + r11*2]
add r15, r8
lea r8d, [rax + 0xdd97589]
add eax, 0x24b496e7
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], r8d
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r10d
mov qword [rsp + 0x38], 0
lea r8, [rsp + 0x80]
call fcn.202c6040
mov ebp, dword [rsp + 0x9c]
test ebp, ebp
je 0x202c26ee
lea rbx, [0x20579b40]
lea r14, [rsp + 0x80]
nop dword [rax + rax]
mov dword [rsp + 0x38], 0x8701703b
mov dword [rsp + 0x30], 0x517b6b97
mov qword [rsp + 0x28], 7
mov dword [rsp + 0x20], 0
mov ecx, 1
mov edx, 1
mov r8, r14
mov r9, rbx
call fcn.202c5fd0
cmp eax, 1
sbb ebp, 0
mov eax, dword [0x20579d30]
mov ecx, eax
xor ecx, 0x8a2bc06f
and eax, 0xa2bc06f
add eax, eax
mov edx, ecx
xor edx, eax
and eax, ecx
lea eax, [rdx + rax*2]
cmp ebp, eax
jne 0x202c2690
mov dword [rsp + 0x30], 0xe86d60f
mov dword [rsp + 0x28], 0xde1ebb40
mov qword [rsp + 0x20], 7
lea r8, [0x20579b40]
lea rdx, [rsp + 0x80]
mov ecx, 1
xor r9d, r9d
call fcn.202c5f90
movups xmm0, xmmword [rsp + 0x8c]
movups xmmword [rsi + 0xc], xmm0
movaps xmm0, xmmword [rsp + 0x80]
movups xmmword [rsi], xmm0
jmp 0x202c276c
mov dword [rsp + 0x30], 0xe86d60f
mov dword [rsp + 0x28], 0xde1ebb40
mov qword [rsp + 0x20], 7
lea r8, [0x20579b40]
mov ecx, 1
mov rdx, rsi
xor r9d, r9d
call fcn.202c5f90
mov dword [rsp + 0x38], 0x8701703b
mov dword [rsp + 0x30], 0x517b6b97
mov qword [rsp + 0x28], 7
mov dword [rsp + 0x20], 0
lea r8, [rsp + 0xa0]
mov ecx, 1
mov edx, 1
mov r9, rdi
call fcn.202c5fd0
test eax, eax
jne 0x202c27e7
mov dword [rsp + 0x38], 0x8701703b
mov dword [rsp + 0x30], 0x517b6b97
mov qword [rsp + 0x28], 7
mov dword [rsp + 0x20], 0
lea r9, [0x20579b40]
lea r8, [rsp + 0xa0]
mov ecx, 1
xor edx, edx
call fcn.202c5fd0
mov dword [rsp + 0x30], 0xe86d60f
mov dword [rsp + 0x28], 0xde1ebb40
mov qword [rsp + 0x20], 7
lea rdi, [rsp + 0xc0]
lea rbx, [rsp + 0xa0]
lea r9, [rsp + 0x60]
xor ecx, ecx
mov rdx, rdi
mov r8, rbx
call fcn.202c5f90
mov dword [rsp + 0x20], 0x9097d6ca
mov r8d, 0xe
mov rcx, rbx
mov rdx, rdi
mov r9d, 0x16d9c6b5
call fcn.202c60b0
mov dword [rsp + 0x38], 0x8701703b
mov dword [rsp + 0x30], 0x517b6b97
mov qword [rsp + 0x28], 7
mov dword [rsp + 0x20], 0
xor ecx, ecx
mov edx, 1
mov r8, rsi
mov r9, rbx
call fcn.202c5fd0
test eax, eax
jne 0x202c165f
mov dword [rsp + 0x38], 0x8701703b
mov dword [rsp + 0x30], 0x517b6b97
mov qword [rsp + 0x28], 7
mov dword [rsp + 0x20], 0
lea r9, [0x20579b40]
mov ecx, 1
xor edx, edx
mov r8, rsi
call fcn.202c5fd0
jmp 0x202c165f
mov edx, dword [0x205b59c0]
lea eax, [rdx - 1]
imul eax, edx
mov edx, dword [0x20579d30]
mov r8d, edx
xor r8d, 0x8a2bc071
mov r10d, edx
and r10d, 0xa2bc071
add r10d, r10d
xor edx, 0x75d43f8e
mov r11d, r10d
xor r11d, edx
xor edx, r8d
and edx, r10d
xor edx, r8d
and r11d, r10d
lea r8d, [rdx + r11*2]
xor edx, edx
div r8d
test edx, edx
je 0x202c291d
nop word cs:[rax + rax]
mov eax, dword [0x205b59c4]
cmp eax, 0x5f
jge 0x202c2910
jmp 0x202c28b8
not ecx
not r9d
mov eax, r9d
xor eax, ecx
and eax, r9d
or eax, ecx
not eax
or ebx, eax
xor eax, eax
mov ecx, 0x8a2bc09f
nop word [rax + rax]
mov edx, dword [0x205b59c4]
cmp edx, 0x2b
jg 0x202c294f
test al, al
je 0x202c2966
mov edx, dword [0x205b59c4]
mov r8d, dword [0x20579d30]
add r8d, ecx
cmp edx, r8d
jge 0x202c2940
jmp 0x202c294b
mov eax, dword [0x20579d30]
mov ecx, eax
xor ecx, 0xdab5ec09
and eax, 0x5ab5ec09
lea eax, [rcx + rax*2]
add eax, 0xaf75d465
xor ebx, eax
jne 0x202c2992
xor eax, eax
cmp dword [rsp + 0x50], 0
jg 0x202c2a12
xor r14d, r14d
cmp dword [rsp + 0x54], 0
jne 0x202c232c
mov eax, dword [0x20579d30]
lea ecx, [rax - 0x75d43f90]
lea edx, [rax - 0x75d43f91]
movabs r8, 0xe9a7059d62686603
movabs r15, 0x713af434c3b7a7d9
mov r9, r15
sub r9, r8
add r9, qword [0x20579d38]
mov r10, r9
xor r10, r8
and r9, r8
lea r8, [r10 + r9*2]
lea r9d, [rax - 0x2458d3fa]
add eax, 0x112d30aa
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], r9d
mov qword [rsp + 0x28], r8
mov dword [rsp + 0x20], edx
lea r9, [0x20579b40]
mov r8, rdi
call fcn.202c5fd0
jmp 0x202c2366
mov cl, 1
mov edx, 0x8a2bc093
lea r8, [fcn.202c1500]
lea r9d, [r8 + r8]
add r9d, 0xe80
mov r10d, r9d
xor r10d, 0xfffffffe
mov r11d, 0x8a2bc06f
xor r14d, r14d
jmp 0x202c2a94
mov ebp, r8d
not ebp
mov r12d, r8d
and r12d, 0x75d43f88
mov r13d, ebp
and r13d, 0x8a2bc077
or r13d, r12d
and ebp, 0x75d43f88
mov r12d, r8d
and r12d, 0xa2bc077
or r12d, ebp
and r12d, r8d
lea r8d, [r13 + r12*2]
mov ebp, r8d
and ebp, eax
or eax, r8d
not eax
or eax, ebp
and eax, r8d
lea eax, [r15 + rax*2]
cmp eax, dword [rsp + 0x50]
jge 0x202c2995
movsxd r8, eax
mov r15, qword [rsp + 0x58]
mov r15, qword [r15 + r8]
test cl, cl
je 0x202c2ae0
nop word cs:[rax + rax]
mov r8d, dword [0x205b59c4]
mov ebp, dword [0x20579d30]
add ebp, edx
cmp r8d, ebp
jge 0x202c2ae0
mov rbp, r14
not rbp
test r9d, r10d
jne 0x202c2b30
jmp 0x202c2b10
mov r8d, dword [0x205b59c0]
mov ebp, 0xfd76c00b
sub ebp, r8d
imul ebp, r8d
and ebp, 1
mov r8d, dword [0x20579d30]
add r8d, r11d
cmp ebp, r8d
jne 0x202c2ae0
jmp 0x202c2ab0
mov r8d, dword [0x205b59c0]
lea r13d, [r8 - 1]
imul r13d, r8d
test r13b, 1
je 0x202c2b40
nop word cs:[rax + rax]
test cl, cl
je 0x202c2b30
jmp 0x202c2b10
mov r13, r15
not r13
mov r8, rbp
not r8
mov r12, rbp
xor r12, r15
and r8, r13
or r8, r12
mov r12, r8
not r12
xor r14, r13
and rbp, r15
or rbp, r14
mov r14, rbp
not r14
mov r15, r8
and r15, rbp
and rbp, r12
xor r12, r14
or r15, r12
not r15
and r14, r8
or rbp, r14
mov r14, rbp
or r14, r15
mov r15d, eax
xor r15d, 8
mov r8d, dword [0x205b59c4]
cmp r8d, 0x57
jg 0x202c2bd0
nop
mov r8d, dword [0x20579d30]
mov r12d, dword [0x205b59c0]
lea ebp, [r12 - 1]
imul ebp, r12d
test bpl, 1
je 0x202c2a40
nop word cs:[rax + rax]
test cl, cl
je 0x202c2bd0
jmp 0x202c2ba0