Function at 0x140021cd0
Capabilities:
Encode data using xor
Parse pe header

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x148
lea rbp, [rsp + 0x80]
xorps xmm0, 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
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rbp - 0x20], xmm0
cmp dword [0x140067cf0], 0xa
mov ebx, dword [0x140067cf4]
setl al
lea edi, [rbx + 1]
imul edi, ebx
test dil, 1
sete r8b
mov ebx, eax
and bl, r8b
mov byte [rbp + 0xbf], bl
xor al, r8b
mov byte [rbp + 0xbe], al
mov eax, 1
lea rdi, [0x14005c630]
movsxd rbx, dword [rdi + rax*4 - 4]
xor dword [rbp + rbx*4 - 0x20], 0x1e27
cmp rax, 0x23
je 0x140021d75
movsxd rbx, dword [rdi + rax*4]
xor dword [rbp + rbx*4 - 0x20], 0x1e27
add rax, 2
jmp 0x140021d50
mov eax, 0x5c3b
xor r13d, r13d
lea r8, [0x14005c740]
lea rsi, [0x14005c840]
lea r14, [0x14005c6c0]
mov r11d, 0xcb622d91
lea r15, [0x14005c5a0]
lea r9, [0x14005c7c0]
mov ebx, 0
mov qword [rbp - 0x40], rbx
mov ebx, 0
mov qword [rbp - 0x30], rbx
mov ebx, 0
mov qword [rbp - 0x28], rbx
mov ebx, 0
mov qword [rbp - 0x50], rbx
xor ebx, ebx
mov qword [rbp - 0x80], rbx
xor ebx, ebx
mov qword [rbp - 0x78], rbx
xor ebx, ebx
mov qword [rbp - 0x70], rbx
xor ebx, ebx
mov qword [rbp - 0x68], rbx
xor ebx, ebx
mov qword [rbp - 0x60], rbx
xor ebx, ebx
mov qword [rbp - 0x58], rbx
xor r12d, r12d
xor r10d, r10d
xor edi, edi
mov qword [rbp - 0x48], rdi
xor edi, edi
jmp 0x140021e3e
cmp dword [0x140067cf8], 0xa
mov eax, dword [0x140067cfc]
setl bl
lea edi, [rax + 1]
imul edi, eax
test dil, 1
sete al
or al, bl
cmp byte [rbp - 0x38], 0
je 0x140022c80
test al, al
mov eax, 0x7a6d
mov edi, 0x1f92
cmovne eax, edi
xor eax, dword [rbp + 0x3c]
mov dil, 1
mov qword [rbp - 0x38], rdi
nop word cs:[rax + rax]
nop dword [rax]
cmp eax, 0x42a9
jg 0x140021fc0
cmp eax, 0x2d80
jle 0x140022060
cmp eax, 0x30a7
jle 0x14002215b
cmp eax, 0x34c0
jle 0x1400222d7
cmp eax, 0x34c1
je 0x1400225b4
cmp eax, 0x3711
je 0x140022631
cmp eax, 0x3738
jne 0x140021e50
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x88], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xa0], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x80], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x98], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xb0], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x90], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xa8], rax
mov rax, qword [rbp + 0x80]
mov qword [rax], rdx
mov rax, qword [rbp + 0x98]
mov qword [rax], rcx
mov rax, qword [rbp + 0xb0]
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdi, qword [rbp + 0xb0]
mov qword [rdi], rax
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
movzx eax, word [rax]
cmp eax, 0x5a4d
mov rax, qword [rbp + 0x88]
setne byte [rax]
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xc0], rax
mov rax, qword [rbp + 0xc0]
mov dword [rax], 0x9f98ec55
mov eax, dword [rbp + 0x44]
mov ebx, 0x2ea9
xor eax, ebx
jmp 0x140021e50
cmp eax, 0x5f43
jle 0x140022100
cmp eax, 0x6e3e
jle 0x1400221cd
cmp eax, 0x735c
jle 0x1400222fc
cmp eax, 0x735d
je 0x140022653
cmp eax, 0x7987
je 0x1400226a6
cmp eax, 0x7b6d
jne 0x140021e50
cmp dword [0x140067d00], 0xa
mov eax, dword [0x140067d04]
setl bl
lea edi, [rax + 1]
imul edi, eax
test dil, 1
sete al
or al, bl
cmp byte [rbp - 0x78], 0
jne 0x140022035
xor dword [rbp + 4], 0x28d2
xor dword [rbp + 0x50], 0x28d2
test al, al
mov eax, 0x1d64
mov ebx, 0x1998
cmovne eax, ebx
xor eax, dword [rbp]
mov dil, 1
mov qword [rbp - 0x78], rdi
jmp 0x140021e50
cmp eax, 0x1c07
jg 0x140022211
cmp eax, 0x91a
jle 0x140022368
cmp eax, 0x15de
je 0x1400226fc
cmp eax, 0x1ade
jne 0x140022c6d
mov eax, dword [rbp + 0x7c]
cmp byte [rbp - 0x50], 0
jne 0x1400220c3
mov edi, 1
nop word [rax + rax]
movsxd rbx, dword [rsi + rdi*4 - 4]
xor dword [rbp + rbx*4 - 0x20], 0x2e15
movsxd rbx, dword [rsi + rdi*4]
xor dword [rbp + rbx*4 - 0x20], 0x2e15
add rdi, 2
cmp rdi, 0x1d
jne 0x1400220a0
mov dil, 1
mov qword [rbp - 0x50], rdi
cmp eax, 0xbb40c3f0
jle 0x140022ae7
cmp eax, 0x1ca714bc
jg 0x140022bb9
cmp eax, 0xbb40c3f1
je 0x140022408
cmp eax, 0xcb622d91
je 0x140022563
jmp 0x140022c1c
cmp eax, 0x5493
jg 0x140022287
cmp eax, 0x4b3f
jg 0x14002238d
cmp eax, 0x42aa
je 0x140022759
cmp eax, 0x45df
jne 0x140021e50
mov eax, dword [0x140067d08]
lea edi, [rax + 1]
imul edi, eax
test dil, 1
mov eax, 0x6d13
mov edi, 0x221d
cmove eax, edi
cmp dword [0x140067d0c], 0xa
cmovl eax, edi
xor eax, dword [rbp - 4]
jmp 0x140021e50
cmp eax, 0x2ff6
jg 0x1400223f2
cmp eax, 0x2d81
je 0x1400227d3
cmp eax, 0x2fb4
jne 0x140021e50
cmp dword [0x140067d10], 0xa
mov eax, dword [0x140067d14]
setl bl
lea edi, [rax + 1]
imul edi, eax
test dil, 1
sete al
or al, bl
cmp byte [rbp - 0x70], 0
jne 0x1400221af
xor dword [rbp + 0xc], 0x16dd
xor dword [rbp + 0x54], 0x16dd
test al, al
mov eax, 0x6924
mov edi, 0x3077
cmovne eax, edi
xor eax, dword [rbp + 8]
mov dil, 1
mov qword [rbp - 0x70], rdi
jmp 0x140021e50
cmp eax, 0x692f
jg 0x14002245b
cmp eax, 0x5f44
je 0x140022b09
cmp eax, 0x60c4
jne 0x140021e50
mov rax, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xc0]
mov dword [rax], 0xbb40c3f1
mov eax, dword [rbp + 0x64]
mov edi, 0x6fc4
xor eax, edi
jmp 0x140021e50
cmp eax, 0x1dcc
jg 0x1400224a7
cmp eax, 0x1c08
je 0x140022816
cmp eax, 0x1d9a
jne 0x140021e50
mov eax, dword [0x140067d18]
cmp dword [0x140067d1c], 0xa
setl bl
mov edi, 1
sub edi, eax
imul edi, eax
test dil, 1
sete al
or al, bl
cmp byte [rbp - 0x68], 0
jne 0x140022269
xor dword [rbp + 0x14], 0x476
xor dword [rbp + 0x58], 0x476
test al, al
mov eax, 0x16e1
mov edi, 0xb5a
cmovne eax, edi
xor eax, dword [rbp + 0x10]
mov dil, 1
mov qword [rbp - 0x68], rdi
jmp 0x140021e50
cmp eax, 0x5c3a
jg 0x1400224f3
cmp eax, 0x5494
je 0x140022873
cmp eax, 0x5662
jne 0x140021e50
mov eax, dword [0x140067d20]
lea edi, [rax + 1]
imul edi, eax
test dil, 1
mov eax, 0x1f5f
mov edi, 0x2fa1
cmove eax, edi
cmp dword [0x140067d24], 0xa
cmovl eax, edi
xor eax, dword [rbp + 0x40]
jmp 0x140021e50
cmp eax, 0x30a8
je 0x1400228a2
cmp eax, 0x339d
jne 0x140021e50
mov eax, dword [rbp + 0x6c]
mov ebx, 0x7aa0
xor eax, ebx
jmp 0x140021e50
cmp eax, 0x6e3f
je 0x140022c1c
cmp eax, 0x72dc
jne 0x140021e50
mov rax, qword [rbp + 0xa0]
mov dword [rax], 0
mov rax, qword [rbp + 0x90]
mov dword [rax], 1
mov rax, qword [rbp + 0xc0]
mov dword [rax], 0x9c067e3d
mov eax, dword [0x140067d28]
lea edi, [rax + 1]
imul edi, eax
test dil, 1
mov eax, 0x7519
mov edi, 0x5289
cmove eax, edi
cmp dword [0x140067d2c], 0xa
cmovl eax, edi
xor eax, dword [rbp + 0x1c]
jmp 0x140021e50
cmp eax, 0x363
je 0x140022a21
cmp eax, 0x44e
jne 0x140021e50
mov eax, dword [rbp + 0x4c]
mov edi, 0x2c82
xor eax, edi
jmp 0x140021e50
cmp eax, 0x4b40
je 0x140021e00
cmp eax, 0x5068
jne 0x140021e50
mov rax, qword [rbp + 0x88]
cmp byte [rax], 0
mov eax, 0x871d8593
mov edi, 0x1ca714bd
cmovne eax, edi
mov rdi, qword [rbp + 0xc0]
mov dword [rdi], eax
mov eax, dword [0x140067d30]
lea edi, [rax + 1]
imul edi, eax
test dil, 1
mov eax, 0x35b6
mov edi, 0x2a62
cmove eax, edi
cmp dword [0x140067d34], 0xa
cmovl eax, edi
xor eax, dword [rbp + 4]
jmp 0x140021e50
cmp eax, 0x2ff7
je 0x140022563
cmp eax, 0x3029
jne 0x140021e50
cmp dword [0x140067d38], 0xa
mov eax, dword [0x140067d3c]
setl bl
lea edi, [rax + 1]
imul edi, eax
test dil, 1
sete al
or al, bl
test r10b, r10b
jne 0x140022441
xor dword [rbp + 0x34], 0x51f0
xor dword [rbp + 0x38], 0x51f0
xor dword [rbp + 0x68], 0x51f0
test al, al
mov eax, 0x7ee1
mov ebx, 0x55f8
cmovne eax, ebx
xor eax, dword [rbp + 0x30]
mov r10b, 1
jmp 0x140021e50
cmp eax, 0x6930
je 0x140022a74
cmp eax, 0x6cd0
jne 0x140021e50
mov rax, qword [rbp + 0xa0]
mov dword [rax], 0
mov rax, qword [rbp + 0x90]
mov dword [rax], 1
mov rax, qword [rbp + 0xc0]
mov dword [rax], 0x9c067e3d
mov eax, dword [rbp + 0x5c]
mov edi, 0x6b15
xor eax, edi
jmp 0x140021e50
cmp eax, 0x1dcd
je 0x140022bcb
cmp eax, 0x20d4
jne 0x140021e50
mov rax, qword [rbp + 0xa0]
mov dword [rax], 0
mov rax, qword [rbp + 0x90]
mov dword [rax], 1
mov rax, qword [rbp + 0xc0]
mov dword [rax], 0xbb40c3f1
mov eax, dword [rbp + 0x54]
mov edi, 0x26aa
xor eax, edi
jmp 0x140021e50
cmp eax, 0x5c3b
je 0x140022a8f
cmp eax, 0x5f11
jne 0x140021e50
mov rax, qword [rbp + 0xa8]
mov rax, qword [rbp + 0x98]
mov rdi, qword [rbp + 0xb0]
mov rdi, qword [rdi]
movsxd rdi, dword [rdi + 0x3c]
add rdi, qword [rax]
mov rax, qword [rbp + 0xa8]
mov qword [rax], rdi
mov rax, qword [rbp + 0xa8]
mov rax, qword [rax]
cmp dword [rax], 0x4550
mov eax, 0x718d8e25
cmove eax, r11d
mov rdi, qword [rbp + 0xc0]
mov dword [rdi], eax
mov eax, dword [rbp + 0x58]
mov edi, 0xf2c
xor eax, edi
jmp 0x140021e50
cmp dword [0x140067d40], 0xa
mov eax, dword [0x140067d44]
setl bl
lea edi, [rax + 1]
imul edi, eax
test dil, 1
sete al
or al, bl
cmp byte [rbp - 0x58], 0
jne 0x140022596
xor dword [rbp + 0x24], 0x22f1
xor dword [rbp + 0x60], 0x22f1
test al, al
mov eax, 0x5c2e
mov ebx, 0x7d31
cmovne eax, ebx
xor eax, dword [rbp + 0x20]
mov dil, 1
mov qword [rbp - 0x58], rdi
jmp 0x140021e50
mov rax, qword [rbp + 0x98]
mov rdi, qword [rbp + 0xa8]
mov rdi, qword [rdi]
mov edi, dword [rdi + 0x88]
add rdi, qword [rax]
mov rax, qword [rbp + 0x80]
mov rax, qword [rax]
mov qword [rax], rdi
mov rax, qword [rbp + 0xa0]
mov dword [rax], 1
mov rax, qword [rbp + 0x90]
mov dword [rax], 1
mov rax, qword [rbp + 0xc0]
mov dword [rax], 0x9c067e3d
mov eax, dword [0x140067d48]
lea edi, [rax + 1]
imul edi, eax
test dil, 1
mov eax, 0x7edf
mov ebx, 0x2041
cmove eax, ebx
cmp dword [0x140067d4c], 0xa
cmovl eax, ebx
xor eax, dword [rbp + 0x24]
jmp 0x140021e50
mov rax, qword [rbp + 0xb0]
mov rax, qword [rbp + 0xa0]
mov eax, dword [rax]
mov dword [rbp + 0x78], eax
mov eax, dword [rbp + 0x68]
mov ebx, 0x408
xor eax, ebx
jmp 0x140021e50
mov rax, qword [rbp + 0xc0]
mov eax, dword [rax]
mov dword [rbp + 0x7c], eax
cmp dword [0x140067d50], 0xa
mov eax, dword [0x140067d54]
setl bl
lea edi, [rax + 1]
imul edi, eax
test dil, 1
sete al
or al, bl
cmp byte [rbp - 0x28], 0
je 0x140022b55
test al, al
mov eax, 0x2c42
mov edi, 0x5fac
cmovne eax, edi
xor eax, dword [rbp - 0x10]
mov dil, 1
mov qword [rbp - 0x28], rdi
jmp 0x140021e50
mov rax, qword [rbp + 0xa0]
mov dword [rax], 0
mov rax, qword [rbp + 0x90]
mov dword [rax], 1
mov rax, qword [rbp + 0xc0]
mov dword [rax], 0xbb40c3f1
mov eax, dword [0x140067d58]
lea edi, [rax + 1]
imul edi, eax
test dil, 1
mov eax, 0x7ff9
mov edi, 0x146d
cmove eax, edi
cmp dword [0x140067d5c], 0xa
cmovl eax, edi
xor eax, dword [rbp + 0xc]
jmp 0x140021e50
mov rax, qword [rbp + 0x98]
mov rdi, qword [rbp + 0xa8]
mov rdi, qword [rdi]
mov edi, dword [rdi + 0x88]
add rdi, qword [rax]
mov rax, qword [rbp + 0x80]
mov rax, qword [rax]
mov qword [rax], rdi
mov rax, qword [rbp + 0xa0]
mov dword [rax], 1
mov rax, qword [rbp + 0x90]
mov dword [rax], 1
mov rax, qword [rbp + 0xc0]
mov dword [rax], 0x9c067e3d
mov eax, dword [rbp + 0x60]
mov edi, 0x5fc0
xor eax, edi
jmp 0x140021e50
mov rax, qword [rbp + 0xa8]
mov rax, qword [rbp + 0x98]
mov rdi, qword [rbp + 0xb0]
mov rdi, qword [rdi]
movsxd rdi, dword [rdi + 0x3c]
add rdi, qword [rax]
mov rax, qword [rbp + 0xa8]
mov qword [rax], rdi
mov rax, qword [rbp + 0xa8]
mov rax, qword [rax]
cmp dword [rax], 0x4550
mov eax, 0x718d8e25
cmove eax, r11d
mov rdi, qword [rbp + 0xc0]
mov dword [rdi], eax
mov eax, dword [0x140067d60]
lea edi, [rax + 1]
imul edi, eax
test dil, 1
mov eax, 0x1297
mov edi, 0x6c6
cmove eax, edi
cmp dword [0x140067d64], 0xa
cmovl eax, edi
xor eax, dword [rbp + 0x14]
jmp 0x140021e50
mov rax, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xc0]
mov dword [rax], 0xbb40c3f1
mov eax, dword [0x140067d68]
lea edi, [rax + 1]
imul edi, eax
test dil, 1
mov eax, 0x2281
mov edi, 0x905
cmove eax, edi
cmp dword [0x140067d6c], 0xa
cmovl eax, edi
xor eax, dword [rbp + 0x2c]
jmp 0x140021e50
mov rax, qword [rbp + 0xb0]
mov rax, qword [rbp + 0xa0]
mov eax, dword [rax]
mov dword [rbp + 0x78], eax
cmp dword [0x140067d70], 0xa
mov eax, dword [0x140067d74]
setl bl
lea edi, [rax + 1]
imul edi, eax
test dil, 1
sete al
or al, bl
cmp byte [rbp - 0x48], 0
jne 0x140022855
xor dword [rbp + 0x38], 0x7c93
test al, al
mov eax, 0x2f11
mov edi, 0x111b
cmovne eax, edi
xor eax, dword [rbp + 0x34]
mov dil, 1
mov qword [rbp - 0x48], rdi
jmp 0x140021e50
mov rax, qword [rbp + 0x88]
cmp byte [rax], 0
mov eax, 0x871d8593
mov edi, 0x1ca714bd
cmovne eax, edi
mov rdi, qword [rbp + 0xc0]
mov dword [rdi], eax
mov eax, dword [rbp + 0x50]
mov edi, 0x314a
xor eax, edi
jmp 0x140021e50
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x88], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xa0], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x80], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x98], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xb0], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x90], rax
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xa8], rax
mov rax, qword [rbp + 0x80]
mov qword [rax], rdx
mov rax, qword [rbp + 0x98]
mov qword [rax], rcx
mov rax, qword [rbp + 0xb0]
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rdi, qword [rbp + 0xb0]
mov qword [rdi], rax
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
movzx eax, word [rax]
cmp eax, 0x5a4d
mov rax, qword [rbp + 0x88]
setne byte [rax]
mov eax, 0x10
call fcn.1400585d0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xc0], rax
mov rax, qword [rbp + 0xc0]
mov dword [rax], 0x9f98ec55
cmp dword [0x140067d78], 0xa
mov eax, dword [0x140067d7c]
setl bl
lea edi, [rax + 1]
imul edi, eax
test dil, 1
sete al
or al, bl
cmp byte [rbp - 0x40], 0
jne 0x140022a03
xor edi, edi
nop dword [rax]
movsxd rbx, dword [r14 + rdi*4]
xor dword [rbp + rbx*4 - 0x20], 0x52f6
movsxd rbx, dword [r14 + rdi*4 + 4]
xor dword [rbp + rbx*4 - 0x20], 0x52f6
add rdi, 2
cmp rdi, 0x20
jne 0x1400229e0
test al, al
mov eax, 0x2939
mov ebx, 0x1d62
cmovne eax, ebx
xor eax, dword [rbp - 0x18]
mov dil, 1
mov qword [rbp - 0x40], rdi
jmp 0x140021e50
mov r11, r13
cmp dword [0x140067d80], 0xa
mov eax, dword [0x140067d84]
setl bl
lea edi, [rax + 1]
imul edi, eax
test dil, 1
sete al
or al, bl
cmp byte [rbp - 0x30], 0
je 0x140022b89
test al, al
mov eax, 0x25c7
mov edi, 0x3faa
cmovne eax, edi
xor eax, dword [rbp - 0x14]
mov dil, 1
mov qword [rbp - 0x30], rdi
mov r13, r11
mov r11d, 0xcb622d91
jmp 0x140021e50
mov rax, qword [rbp + 0xc0]
mov eax, dword [rax]
mov dword [rbp + 0x7c], eax
mov eax, dword [rbp + 0x48]
mov edi, 0x362f
xor eax, edi
jmp 0x140021e50
mov al, byte [rbp + 0xbf]
or al, byte [rbp + 0xbe]
test r13b, r13b
jne 0x140022acd
mov edi, 1
nop word cs:[rax + rax]
nop
movsxd rbx, dword [r15 + rdi*4 - 4]
xor byte [rbp + rbx*4 - 0x20], 0x26
movsxd rbx, dword [r15 + rdi*4]
xor byte [rbp + rbx*4 - 0x20], 0x26
add rdi, 2
cmp rdi, 0x23
jne 0x140022ab0
test al, 1
mov eax, 0x291f
mov edi, 0x2e8f
cmovne eax, edi
xor eax, dword [rbp - 0x20]
mov r13b, 1
jmp 0x140021e50
cmp eax, 0x871d8593
je 0x140022232
cmp eax, 0x9c067e3d
je 0x140022b09
cmp eax, 0x9f98ec55
je 0x140022002
jmp 0x140022c1c
cmp dword [0x140067d88], 0xa
mov eax, dword [0x140067d8c]
setl bl
lea edi, [rax + 1]
imul edi, eax
test dil, 1
sete al
or al, bl
test r12b, r12b
jne 0x140022b3b
xor dword [rbp + 0x2c], 0xbb5
xor dword [rbp + 0x64], 0xbb5
test al, al
mov eax, 0x2934
mov ebx, 0x6471
cmovne eax, ebx
xor eax, dword [rbp + 0x28]
mov r12b, 1
jmp 0x140021e50
mov edi, 1
nop word [rax + rax]
movsxd rbx, dword [r9 + rdi*4 - 4]
xor dword [rbp + rbx*4 - 0x20], 0x2297
cmp rdi, 0x1d
je 0x140022688
movsxd rbx, dword [r9 + rdi*4]
xor dword [rbp + rbx*4 - 0x20], 0x2297
add rdi, 2
jmp 0x140022b60
mov r13d, 1
nop
movsxd rdi, dword [r8 + r13*4 - 4]
xor dword [rbp + rdi*4 - 0x20], 0x985
cmp r13, 0x1f
je 0x140022a4d
movsxd rdi, dword [r8 + r13*4]
xor dword [rbp + rdi*4 - 0x20], 0x985
add r13, 2
jmp 0x140022b90
cmp eax, 0x1ca714bd
je 0x14002217c
cmp eax, 0x718d8e25
jne 0x140022c1c
cmp dword [0x140067d90], 0xa
mov eax, dword [0x140067d94]
setl bl
lea edi, [rax + 1]
imul edi, eax
test dil, 1
sete al
or al, bl
cmp byte [rbp - 0x60], 0
jne 0x140022bfe
xor dword [rbp + 0x1c], 0x5039
xor dword [rbp + 0x5c], 0x5039
test al, al
mov eax, 0x2520
mov edi, 0x3b2c
cmovne eax, edi
xor eax, dword [rbp + 0x18]
mov dil, 1
mov qword [rbp - 0x60], rdi
jmp 0x140021e50
cmp dword [0x140067d98], 0xa
mov eax, dword [0x140067d9c]
setl bl
lea edi, [rax + 1]
imul edi, eax
test dil, 1
sete al
or al, bl
cmp byte [rbp - 0x80], 0
jne 0x140022c4f
xor dword [rbp - 4], 0x20ad
xor dword [rbp + 0x4c], 0x20ad
test al, al
mov eax, 0x4dbe
mov ebx, 0xc2f
cmovne eax, ebx
xor eax, dword [rbp - 8]
mov dil, 1
mov qword [rbp - 0x80], rdi
jmp 0x140021e50
cmp eax, 0x91b
jne 0x140021e50
jmp 0x140022c93
xor dword [rbp + 0x40], 0x6532
xor dword [rbp + 0x6c], 0x6532
jmp 0x140021e29
mov eax, dword [rbp + 0x78]
lea rsp, [rbp + 0xc8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret