Function at 0x140021c00
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1b8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x120], xmm6
xorps xmm0, xmm0
movaps xmmword [rbp + 0x80], xmm0
movaps xmmword [rbp + 0x70], xmm0
movaps xmmword [rbp + 0x60], xmm0
movaps xmmword [rbp + 0x50], xmm0
movaps xmmword [rbp + 0x40], xmm0
movaps xmmword [rbp + 0x30], xmm0
movaps xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp], xmm0
cmp dword [0x1400393e8], 0xa
mov eax, dword [0x1400393ec]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
mov byte [rbp + 0x10f], al
xor al, 1
mov byte [rbp + 0x10e], al
mov eax, 1
lea rcx, [0x140035600]
nop word cs:[rax + rax]
nop
movsxd rdx, dword [rcx + rax*4 - 4]
xor dword [rbp + rdx*4], 0x1e27
cmp rax, 0x23
je 0x140021cb5
movsxd rdx, dword [rcx + rax*4]
xor dword [rbp + rdx*4], 0x1e27
add rax, 2
jmp 0x140021c90
mov eax, 0x5c3b
xor ebx, ebx
lea rsi, [0x140035710]
lea r15, [0x140035810]
xorps xmm6, xmm6
lea r12, [0x140035690]
lea r13, [0x140035570]
lea r14, [0x140035790]
mov ecx, 0
mov qword [rbp - 0x20], rcx
mov ecx, 0
mov qword [rbp - 0x10], rcx
mov ecx, 0
mov qword [rbp - 8], rcx
mov ecx, 0
mov qword [rbp - 0x30], rcx
xor ecx, ecx
mov qword [rbp - 0x70], rcx
xor ecx, ecx
mov qword [rbp - 0x68], rcx
xor ecx, ecx
mov qword [rbp - 0x60], rcx
xor ecx, ecx
mov qword [rbp - 0x58], rcx
xor ecx, ecx
mov qword [rbp - 0x50], rcx
xor ecx, ecx
mov qword [rbp - 0x48], rcx
xor ecx, ecx
mov qword [rbp - 0x40], rcx
xor ecx, ecx
mov qword [rbp - 0x38], rcx
xor ecx, ecx
mov qword [rbp - 0x28], rcx
xor ecx, ecx
jmp 0x140021d7c
cmp dword [0x1400394f8], 0xa
mov eax, dword [0x1400394fc]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x18], 0
je 0x1400230b0
test al, al
mov eax, 0x7a6d
mov ecx, 0x1f92
cmovne eax, ecx
xor eax, dword [rbp + 0x5c]
mov cl, 1
mov qword [rbp - 0x18], rcx
cmp eax, 0x42a9
jg 0x1400220c0
cmp eax, 0x2d80
jle 0x140022160
cmp eax, 0x30a7
jle 0x14002225a
cmp eax, 0x34c0
jle 0x1400223de
cmp eax, 0x34c1
je 0x140022735
cmp eax, 0x3711
je 0x140022791
cmp eax, 0x3738
jne 0x140021d80
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xa0], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xf0], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x100], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xe8], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xe0], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xd8], rax
mov eax, 0x30
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xd0], rax
mov eax, 0x30
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x118], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xc8], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xc0], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xa8], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xf8], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xb8], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xb0], rax
mov rax, qword [rbp + 0x100]
sub rsp, 0x20
call fcn.1400169f0
add rsp, 0x20
mov rcx, qword [rbp + 0x100]
mov qword [rcx], rax
mov rax, qword [rbp + 0xe8]
mov rax, qword [rbp + 0x100]
mov rcx, qword [rax]
sub rsp, 0x20
mov edx, 0xd112723c
call fcn.140012bb0
add rsp, 0x20
mov rcx, qword [rbp + 0xe8]
mov qword [rcx], rax
mov rax, qword [rbp + 0xe0]
mov rax, qword [rbp + 0x100]
mov rcx, qword [rax]
sub rsp, 0x20
mov edx, 0xebf0062e
call fcn.140012bb0
add rsp, 0x20
mov rcx, qword [rbp + 0xe0]
mov qword [rcx], rax
mov rax, qword [rbp + 0xd8]
mov rax, qword [rbp + 0xd0]
mov rax, qword [rbp + 0xd0]
movaps xmm0, xmmword [0x1400325a0]
movaps xmmword [rax], xmm0
movaps xmm0, xmmword [0x1400325b0]
movaps xmmword [rax + 0x10], xmm0
movups xmm0, xmmword [0x1400325ba]
movups xmmword [rax + 0x1a], xmm0
mov rdx, qword [rbp + 0xd0]
mov rcx, qword [rbp + 0xd8]
sub rsp, 0x20
call fcn.14000f2d0
add rsp, 0x20
mov rax, qword [rbp + 0x118]
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x30
mov rax, qword [rbp + 0x118]
mov qword [rax + 8], 0
mov rax, qword [rbp + 0x118]
mov dword [rax + 0x18], 0x40
mov rax, qword [rbp + 0x118]
mov rcx, qword [rbp + 0xd8]
mov qword [rax + 0x10], rcx
mov rax, qword [rbp + 0x118]
mov qword [rax + 0x20], 0
mov rax, qword [rbp + 0x118]
mov qword [rax + 0x28], 0
mov rax, qword [rbp + 0xc8]
mov rax, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xe0]
mov r8, qword [rbp + 0x118]
mov rcx, qword [rbp + 0xc8]
sub rsp, 0x20
mov edx, 0xc
call qword [rax]
add rsp, 0x20
mov rcx, qword [rbp + 0xc0]
mov dword [rcx], eax
mov rax, qword [rbp + 0xc0]
cmp dword [rax], 0
mov rax, qword [rbp + 0xa0]
setns byte [rax]
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov dword [rax], 0x7fd9ee19
mov eax, dword [rbp + 0x64]
mov ecx, 0x2ea9
xor eax, ecx
jmp 0x140021d80
cmp eax, 0x5f43
jle 0x140022200
cmp eax, 0x6e3e
jle 0x1400222ca
cmp eax, 0x735c
jle 0x140022406
cmp eax, 0x735d
je 0x1400227e9
cmp eax, 0x7987
je 0x14002283d
cmp eax, 0x7b6d
jne 0x140021d80
cmp dword [0x14003a510], 0xa
mov eax, dword [0x14003a514]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x68], 0
jne 0x140022134
xor dword [rbp + 0x24], 0x28d2
xor dword [rbp + 0x70], 0x28d2
test al, al
mov eax, 0x1d64
mov ecx, 0x1998
cmovne eax, ecx
xor eax, dword [rbp + 0x20]
mov cl, 1
mov qword [rbp - 0x68], rcx
jmp 0x140021d80
cmp eax, 0x1c07
jg 0x14002231f
cmp eax, 0x91a
jle 0x140022472
cmp eax, 0x15de
je 0x140022893
cmp eax, 0x1ade
jne 0x14002309c
mov eax, dword [rbp + 0x9c]
cmp byte [rbp - 0x30], 0
jne 0x1400221c3
mov ecx, 1
nop dword [rax]
movsxd rdx, dword [r15 + rcx*4 - 4]
xor dword [rbp + rdx*4], 0x2e15
movsxd rdx, dword [r15 + rcx*4]
xor dword [rbp + rdx*4], 0x2e15
add rcx, 2
cmp rcx, 0x1d
jne 0x1400221a0
mov cl, 1
mov qword [rbp - 0x30], rcx
cmp eax, 0xe1adb24a
jle 0x140022f0c
cmp eax, 0x6ac04d41
jg 0x140022fe9
cmp eax, 0xe1adb24b
je 0x140022511
cmp eax, 0x4f7dc8cb
je 0x1400226e6
jmp 0x140022ffb
cmp eax, 0x5493
jg 0x14002238f
cmp eax, 0x4b3f
jg 0x140022497
cmp eax, 0x42aa
je 0x1400228d3
cmp eax, 0x45df
jne 0x140021d80
mov eax, dword [0x14003a518]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x6d13
mov ecx, 0x221d
cmove eax, ecx
cmp dword [0x14003a51c], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x1c]
jmp 0x140021d80
cmp eax, 0x2ff6
jg 0x1400224fb
cmp eax, 0x2d81
je 0x1400229bd
cmp eax, 0x2fb4
jne 0x140021d80
cmp dword [0x14003a520], 0xa
mov eax, dword [0x14003a524]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x60], 0
jne 0x1400222ad
xor dword [rbp + 0x2c], 0x16dd
xor dword [rbp + 0x74], 0x16dd
test al, al
mov eax, 0x6924
mov ecx, 0x3077
cmovne eax, ecx
xor eax, dword [rbp + 0x28]
mov cl, 1
mov qword [rbp - 0x60], rcx
jmp 0x140021d80
cmp eax, 0x692f
jg 0x140022575
cmp eax, 0x5f44
je 0x14002304a
cmp eax, 0x60c4
jne 0x140021d80
mov rax, qword [rbp + 0xb0]
mov rax, qword [rbp + 0xb8]
mov rax, qword [rbp + 0xf8]
mov rax, qword [rbp + 0x110]
mov dword [rax], 0xe1adb24b
mov eax, dword [rbp + 0x84]
mov ecx, 0x6fc4
xor eax, ecx
jmp 0x140021d80
cmp eax, 0x1dcc
jg 0x1400225c2
cmp eax, 0x1c08
je 0x140022a0d
cmp eax, 0x1d9a
jne 0x140021d80
cmp dword [0x14003a528], 0xa
mov eax, dword [0x14003a52c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x58], 0
jne 0x140022372
xor dword [rbp + 0x34], 0x476
xor dword [rbp + 0x78], 0x476
test al, al
mov eax, 0x16e1
mov ecx, 0xb5a
cmovne eax, ecx
xor eax, dword [rbp + 0x30]
mov cl, 1
mov qword [rbp - 0x58], rcx
jmp 0x140021d80
cmp eax, 0x5c3a
jg 0x14002260f
cmp eax, 0x5494
je 0x140022acf
cmp eax, 0x5662
jne 0x140021d80
mov eax, dword [0x1400395a8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x1f5f
mov ecx, 0x2fa1
cmove eax, ecx
cmp dword [0x1400395ac], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x60]
jmp 0x140021d80
cmp eax, 0x30a8
je 0x140022afe
cmp eax, 0x339d
jne 0x140021d80
mov eax, dword [rbp + 0x8c]
mov ecx, 0x7aa0
xor eax, ecx
jmp 0x140021d80
cmp eax, 0x6e3f
je 0x140022ffb
cmp eax, 0x72dc
jne 0x140021d80
mov rax, qword [rbp + 0xf0]
mov qword [rax], 0
mov rax, qword [rbp + 0xa8]
mov dword [rax], 1
mov rax, qword [rbp + 0x110]
mov dword [rax], 0x6ac04d42
mov eax, dword [0x1400394ec]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x7519
mov ecx, 0x5289
cmove eax, ecx
cmp dword [0x1400394e8], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x3c]
jmp 0x140021d80
cmp eax, 0x363
je 0x140022e50
cmp eax, 0x44e
jne 0x140021d80
mov eax, dword [rbp + 0x6c]
mov ecx, 0x2c82
xor eax, ecx
jmp 0x140021d80
cmp eax, 0x4b40
je 0x140021d40
cmp eax, 0x5068
jne 0x140021d80
mov rax, qword [rbp + 0xa0]
cmp byte [rax], 0
mov eax, 0x8180f99c
mov ecx, 0x81a50b18
cmovne eax, ecx
mov rcx, qword [rbp + 0x110]
mov dword [rcx], eax
mov eax, dword [0x14003a540]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x35b6
mov ecx, 0x2a62
cmove eax, ecx
cmp dword [0x14003a544], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x24]
jmp 0x140021d80
cmp eax, 0x2ff7
je 0x140022f2d
cmp eax, 0x3029
jne 0x140021d80
mov eax, dword [0x1400395e8]
cmp dword [0x1400395ec], 0xa
setl cl
lea edx, [rax - 0x36def0f4]
not edx
lea edi, [rax + rax]
add edi, edx
imul edi, eax
test dil, 1
sete al
or al, cl
cmp byte [rbp - 0x38], 0
jne 0x140022558
xor dword [rbp + 0x54], 0x51f0
xor dword [rbp + 0x58], 0x51f0
xor dword [rbp + 0x88], 0x51f0
test al, al
mov eax, 0x7ee1
mov ecx, 0x55f8
cmovne eax, ecx
xor eax, dword [rbp + 0x50]
mov cl, 1
mov qword [rbp - 0x38], rcx
jmp 0x140021d80
cmp eax, 0x6930
je 0x140022e95
cmp eax, 0x6cd0
jne 0x140021d80
mov rax, qword [rbp + 0xf0]
mov qword [rax], 0
mov rax, qword [rbp + 0xa8]
mov dword [rax], 1
mov rax, qword [rbp + 0x110]
mov dword [rax], 0x6ac04d42
mov eax, dword [rbp + 0x7c]
mov ecx, 0x6b15
xor eax, ecx
jmp 0x140021d80
cmp eax, 0x1dcd
je 0x1400226e6
cmp eax, 0x20d4
jne 0x140021d80
mov rax, qword [rbp + 0xf0]
mov qword [rax], 0
mov rax, qword [rbp + 0xa8]
mov dword [rax], 1
mov rax, qword [rbp + 0x110]
mov dword [rax], 0xe1adb24b
mov eax, dword [rbp + 0x74]
mov ecx, 0x26aa
xor eax, ecx
jmp 0x140021d80
cmp eax, 0x5c3b
je 0x140022eb3
cmp eax, 0x5f11
jne 0x140021d80
mov rax, qword [rbp + 0xf8]
mov rax, qword [rbp + 0xf8]
mov qword [rax], 0
mov rax, qword [rbp + 0xb8]
mov rax, qword [rbp + 0xb8]
mov qword [rax], 0
mov rax, qword [rbp + 0xb0]
mov rax, qword [rbp + 0xe8]
mov rax, qword [rax]
mov r8, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0xc8]
mov rcx, qword [rcx]
mov rdx, qword [rbp + 0xb8]
sub rsp, 0x50
mov qword [rsp + 0x30], rdx
movups xmmword [rsp + 0x20], xmm6
mov dword [rsp + 0x48], 2
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x38], 1
mov rdx, 0xffffffffffffffff
xor r9d, r9d
call rax
add rsp, 0x50
mov rcx, qword [rbp + 0xb0]
mov dword [rcx], eax
mov rax, qword [rbp + 0xb0]
cmp dword [rax], 0
mov eax, 0x4f7dc8cb
mov ecx, 0x88d84c4c
cmovns eax, ecx
mov rcx, qword [rbp + 0x110]
mov dword [rcx], eax
mov eax, dword [rbp + 0x78]
mov ecx, 0xf2c
xor eax, ecx
jmp 0x140021d80
cmp dword [0x1400394a0], 0xa
mov eax, dword [0x1400394a4]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x50], 0
jne 0x140022718
xor dword [rbp + 0x3c], 0x5039
xor dword [rbp + 0x7c], 0x5039
test al, al
mov eax, 0x2520
mov ecx, 0x3b2c
cmovne eax, ecx
xor eax, dword [rbp + 0x38]
mov cl, 1
mov qword [rbp - 0x50], rcx
jmp 0x140021d80
mov rax, qword [rbp + 0xf8]
mov rax, qword [rax]
mov rcx, qword [rbp + 0xf0]
mov qword [rcx], rax
mov rax, qword [rbp + 0xa8]
mov dword [rax], 1
mov rax, qword [rbp + 0x110]
mov dword [rax], 0x6ac04d42
mov eax, dword [0x140039524]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x7edf
mov ecx, 0x2041
cmove eax, ecx
cmp dword [0x140039520], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x44]
jmp 0x140021d80
mov rax, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xc8]
mov rax, qword [rbp + 0x118]
mov rax, qword [rbp + 0xd0]
mov rax, qword [rbp + 0xd8]
mov rax, qword [rbp + 0xe0]
mov rax, qword [rbp + 0xe8]
mov rax, qword [rbp + 0x100]
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov eax, dword [rbp + 0x88]
mov ecx, 0x408
xor eax, ecx
jmp 0x140021d80
mov rax, qword [rbp + 0x110]
mov eax, dword [rax]
mov dword [rbp + 0x9c], eax
cmp dword [0x14003a560], 0xa
mov eax, dword [0x14003a564]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 8], 0
je 0x140022f7f
test al, al
mov eax, 0x2c42
mov ecx, 0x5fac
cmovne eax, ecx
xor eax, dword [rbp + 0x10]
mov cl, 1
mov qword [rbp - 8], rcx
jmp 0x140021d80
mov rax, qword [rbp + 0xf0]
mov qword [rax], 0
mov rax, qword [rbp + 0xa8]
mov dword [rax], 1
mov rax, qword [rbp + 0x110]
mov dword [rax], 0xe1adb24b
mov eax, dword [0x14003a568]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x7ff9
mov ecx, 0x146d
cmove eax, ecx
cmp dword [0x14003a56c], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x2c]
jmp 0x140021d80
mov rax, qword [rbp + 0xf8]
mov rax, qword [rax]
mov rcx, qword [rbp + 0xf0]
mov qword [rcx], rax
mov rax, qword [rbp + 0xa8]
mov dword [rax], 1
mov rax, qword [rbp + 0x110]
mov dword [rax], 0x6ac04d42
mov eax, dword [rbp + 0x80]
mov ecx, 0x5fc0
xor eax, ecx
jmp 0x140021d80
mov rax, qword [rbp + 0xf8]
mov rax, qword [rbp + 0xf8]
mov qword [rax], 0
mov rax, qword [rbp + 0xb8]
mov rax, qword [rbp + 0xb8]
mov qword [rax], 0
mov rax, qword [rbp + 0xb0]
mov rax, qword [rbp + 0xe8]
mov rax, qword [rax]
mov r8, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0xc8]
mov rcx, qword [rcx]
mov rdx, qword [rbp + 0xb8]
sub rsp, 0x50
mov qword [rsp + 0x30], rdx
movups xmmword [rsp + 0x20], xmm6
mov dword [rsp + 0x48], 2
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x38], 1
mov rdx, 0xffffffffffffffff
xor r9d, r9d
call rax
add rsp, 0x50
mov rcx, qword [rbp + 0xb0]
mov dword [rcx], eax
mov rax, qword [rbp + 0xb0]
cmp dword [rax], 0
mov eax, 0x4f7dc8cb
mov ecx, 0x88d84c4c
cmovns eax, ecx
mov rcx, qword [rbp + 0x110]
mov dword [rcx], eax
mov eax, dword [0x14003a570]
lea ecx, [rax - 0x356f6a9c]
not ecx
lea edx, [rax + rax]
add edx, ecx
imul edx, eax
test dl, 1
mov eax, 0x1297
mov ecx, 0x6c6
cmove eax, ecx
cmp dword [0x14003a574], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x34]
jmp 0x140021d80
mov rax, qword [rbp + 0xb0]
mov rax, qword [rbp + 0xb8]
mov rax, qword [rbp + 0xf8]
mov rax, qword [rbp + 0x110]
mov dword [rax], 0xe1adb24b
mov eax, dword [0x1400394f0]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x2281
mov ecx, 0x905
cmove eax, ecx
cmp dword [0x1400394f4], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x4c]
jmp 0x140021d80
mov r9, rsi
mov rsi, rbx
mov rax, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xc8]
mov rax, qword [rbp + 0x118]
mov rax, qword [rbp + 0xd0]
mov rax, qword [rbp + 0xd8]
mov rax, qword [rbp + 0xe0]
mov rax, qword [rbp + 0xe8]
mov rax, qword [rbp + 0x100]
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov ecx, dword [0x140039578]
mov edx, ecx
not edx
mov edi, dword [0x14003957c]
cmp edi, 0xa
setl r8b
cmp edi, 9
setg bl
add edx, ecx
add edx, ecx
add edx, 2
imul edx, ecx
test dl, 1
sete cl
mov edx, ecx
and dl, bl
mov eax, r8d
or al, cl
xor al, dl
or bl, cl
xor bl, al
xor bl, 1
xor r8b, cl
or r8b, bl
cmp byte [rbp - 0x28], 0
jne 0x140022aab
xor dword [rbp + 0x58], 0x7c93
test r8b, r8b
mov eax, 0x2f11
mov ecx, 0x111b
cmovne eax, ecx
xor eax, dword [rbp + 0x54]
mov cl, 1
mov qword [rbp - 0x28], rcx
mov rbx, rsi
mov rsi, r9
jmp 0x140021d80
mov rax, qword [rbp + 0xa0]
cmp byte [rax], 0
mov eax, 0x8180f99c
mov ecx, 0x81a50b18
cmovne eax, ecx
mov rcx, qword [rbp + 0x110]
mov dword [rcx], eax
mov eax, dword [rbp + 0x70]
mov ecx, 0x314a
xor eax, ecx
jmp 0x140021d80
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xa0], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xf0], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x100], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xe8], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xe0], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xd8], rax
mov eax, 0x30
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xd0], rax
mov eax, 0x30
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x118], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xc8], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xc0], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xa8], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xf8], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xb8], rax
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xb0], rax
mov rax, qword [rbp + 0x100]
sub rsp, 0x20
call fcn.1400169f0
add rsp, 0x20
mov rcx, qword [rbp + 0x100]
mov qword [rcx], rax
mov rax, qword [rbp + 0xe8]
mov rax, qword [rbp + 0x100]
mov rcx, qword [rax]
sub rsp, 0x20
mov edx, 0xd112723c
call fcn.140012bb0
add rsp, 0x20
mov rcx, qword [rbp + 0xe8]
mov qword [rcx], rax
mov rax, qword [rbp + 0xe0]
mov rax, qword [rbp + 0x100]
mov rcx, qword [rax]
sub rsp, 0x20
mov edx, 0xebf0062e
call fcn.140012bb0
add rsp, 0x20
mov rcx, qword [rbp + 0xe0]
mov qword [rcx], rax
mov rax, qword [rbp + 0xd8]
mov rax, qword [rbp + 0xd0]
mov rax, qword [rbp + 0xd0]
movaps xmm0, xmmword [0x1400325a0]
movaps xmmword [rax], xmm0
movaps xmm0, xmmword [0x1400325b0]
movaps xmmword [rax + 0x10], xmm0
movups xmm0, xmmword [0x1400325ba]
movups xmmword [rax + 0x1a], xmm0
mov rdx, qword [rbp + 0xd0]
mov rcx, qword [rbp + 0xd8]
sub rsp, 0x20
call fcn.14000f2d0
add rsp, 0x20
mov rax, qword [rbp + 0x118]
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x30
mov rax, qword [rbp + 0x118]
mov qword [rax + 8], 0
mov rax, qword [rbp + 0x118]
mov dword [rax + 0x18], 0x40
mov rax, qword [rbp + 0x118]
mov rcx, qword [rbp + 0xd8]
mov qword [rax + 0x10], rcx
mov rax, qword [rbp + 0x118]
mov qword [rax + 0x20], 0
mov rax, qword [rbp + 0x118]
mov qword [rax + 0x28], 0
mov rax, qword [rbp + 0xc8]
mov rax, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xe0]
mov r8, qword [rbp + 0x118]
mov rcx, qword [rbp + 0xc8]
sub rsp, 0x20
mov edx, 0xc
call qword [rax]
add rsp, 0x20
mov rcx, qword [rbp + 0xc0]
mov dword [rcx], eax
mov rax, qword [rbp + 0xc0]
cmp dword [rax], 0
mov rax, qword [rbp + 0xa0]
setns byte [rax]
mov eax, 0x10
call fcn.14002e0d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x110]
mov dword [rax], 0x7fd9ee19
cmp dword [0x140039408], 0xa
mov eax, dword [0x14003940c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x20], 0
jne 0x140022e33
xor ecx, ecx
nop word cs:[rax + rax]
nop dword [rax]
movsxd rdx, dword [r12 + rcx*4]
xor dword [rbp + rdx*4], 0x52f6
movsxd rdx, dword [r12 + rcx*4 + 4]
xor dword [rbp + rdx*4], 0x52f6
add rcx, 2
cmp rcx, 0x20
jne 0x140022e10
test al, al
mov eax, 0x2939
mov ecx, 0x1d62
cmovne eax, ecx
xor eax, dword [rbp + 8]
mov cl, 1
mov qword [rbp - 0x20], rcx
jmp 0x140021d80
cmp dword [0x1400393d4], 0xa
mov eax, dword [0x1400393d0]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x10], 0
je 0x140022fb9
test al, al
mov eax, 0x25c7
mov ecx, 0x3faa
cmovne eax, ecx
xor eax, dword [rbp + 0xc]
mov cl, 1
mov qword [rbp - 0x10], rcx
jmp 0x140021d80
mov rax, qword [rbp + 0x110]
mov eax, dword [rax]
mov dword [rbp + 0x9c], eax
mov eax, dword [rbp + 0x68]
mov ecx, 0x362f
xor eax, ecx
jmp 0x140021d80
mov al, byte [rbp + 0x10e]
test bl, bl
jne 0x140022eee
mov eax, 1
nop word cs:[rax + rax]
nop dword [rax]
movsxd rcx, dword [r13 + rax*4 - 4]
xor byte [rbp + rcx*4], 0x26
movsxd rcx, dword [r13 + rax*4]
xor byte [rbp + rcx*4], 0x26
add rax, 2
cmp rax, 0x23
jne 0x140022ed0
cmp byte [rbp + 0x10f], 0
mov eax, 0x291f
mov ecx, 0x2e8f
cmovne eax, ecx
xor eax, dword [rbp]
mov bl, 1
jmp 0x140021d80
cmp eax, 0x8180f99c
je 0x14002227b
cmp eax, 0x81a50b18
je 0x140022340
cmp eax, 0x88d84c4c
jne 0x140022ffb
cmp dword [0x140039508], 0xa
mov eax, dword [0x14003950c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x48], 0
jne 0x140022f62
xor dword [rbp + 0x44], 0x22f1
xor dword [rbp + 0x80], 0x22f1
test al, al
mov eax, 0x5c2e
mov ecx, 0x7d31
cmovne eax, ecx
xor eax, dword [rbp + 0x40]
mov cl, 1
mov qword [rbp - 0x48], rcx
jmp 0x140021d80
mov ecx, 1
nop word cs:[rax + rax]
nop
movsxd rdx, dword [r14 + rcx*4 - 4]
xor dword [rbp + rdx*4], 0x2297
cmp rcx, 0x1d
je 0x140022820
movsxd rdx, dword [r14 + rcx*4]
xor dword [rbp + rdx*4], 0x2297
add rcx, 2
jmp 0x140022f90
mov ecx, 1
nop
movsxd rdx, dword [rsi + rcx*4 - 4]
xor dword [rbp + rdx*4], 0x985
cmp rcx, 0x1f
je 0x140022e78
movsxd rdx, dword [rsi + rcx*4]
xor dword [rbp + rdx*4], 0x985
add rcx, 2
jmp 0x140022fc0
cmp eax, 0x6ac04d42
je 0x14002304a
cmp eax, 0x7fd9ee19
je 0x140022102
cmp dword [0x14003a5a0], 0xa
mov eax, dword [0x14003a5a4]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x70], 0
jne 0x14002302d
xor dword [rbp + 0x1c], 0x20ad
xor dword [rbp + 0x6c], 0x20ad
test al, al
mov eax, 0x4dbe
mov ecx, 0xc2f
cmovne eax, ecx
xor eax, dword [rbp + 0x18]
mov cl, 1
mov qword [rbp - 0x70], rcx
jmp 0x140021d80
cmp dword [0x1400394b8], 0xa
mov eax, dword [0x1400394bc]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x40], 0
jne 0x14002307f
xor dword [rbp + 0x4c], 0xbb5
xor dword [rbp + 0x84], 0xbb5
test al, al
mov eax, 0x2934
mov ecx, 0x6471
cmovne eax, ecx
xor eax, dword [rbp + 0x48]
mov cl, 1
mov qword [rbp - 0x40], rcx
jmp 0x140021d80
cmp eax, 0x91b
jne 0x140021d80
jmp 0x1400230c6
xor dword [rbp + 0x60], 0x6532
xor dword [rbp + 0x8c], 0x6532
jmp 0x140021d68
mov rax, qword [rbp - 0x78]
movaps xmm6, xmmword [rbp + 0x120]
lea rsp, [rbp + 0x138]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret