Function at 0x180001ef8
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x158
xor esi, esi
lea r14, [0x1800171e0]
call fcn.18000c34a
mov byte [rsi + r14], al
inc rsi
cmp rsi, 0x1c8
jne 0x180001f14
mov eax, dword [0x180018af8]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x180018af4], 0xa
setl r8b
mov ecx, r8d
and cl, al
xor r8b, al
or r8b, cl
mov ecx, dword [0x180018af0]
mov edx, dword [0x180018aec]
cmp r8b, 1
jne 0x180001f9f
mov byte [rsp + 0x70], 0
lea ebx, [rcx - 1]
imul ebx, ecx
mov eax, ebx
xor eax, 0xfffffffe
test eax, ebx
sete bl
cmp edx, 0xa
setl al
test al, bl
jne 0x180001f8a
xor al, bl
je 0x180001fd9
mov dword [rsp + 0x74], 0x57ab1144
mov dword [rsp + 0x78], 0x38c20d50
test r8b, r8b
jne 0x180001fdd
mov byte [rsp + 0x70], 0
lea eax, [rcx - 1]
imul eax, ecx
mov ebx, 0xffffffff
xor eax, ebx
or eax, 0xfffffffe
cmp eax, ebx
sete bl
cmp edx, 0xa
setl al
test al, bl
jne 0x180001fc7
xor al, bl
je 0x180001fdb
mov dword [rsp + 0x74], 0x57ab1144
mov dword [rsp + 0x78], 0x38c20d50
jmp 0x180001f67
jmp 0x180001fd9
jmp 0x180001fdb
lea rax, [rsp + 0x74]
cmp byte [rax - 4], 0
jne 0x18000200e
xor ecx, ecx
mov edx, dword [rsp + rcx*4 + 0x74]
mov ebx, edx
not ebx
and ebx, 0x38c27425
and edx, 0xc73d8bda
or edx, ebx
mov dword [rsp + rcx*4 + 0x74], edx
test rcx, rcx
mov ecx, 1
je 0x180001fea
movzx ecx, word [rax + 4]
mov word [rsp + 0x44], cx
mov ecx, dword [rax]
mov dword [rsp + 0x40], ecx
xor ecx, ecx
mov byte [rsp + 0x70], cl
mov dword [rsp + 0x74], 0x334a41
mov dword [rsp + 0x78], 0xa3c4144
mov dword [rsp + 0x7c], 0x1727474e
mov dword [rsp + 0x80], 0x10235a51
mov dword [rsp + 0x84], 0x662d5154
cmp byte [rsp + 0x70], cl
jne 0x180002084
mov ecx, 1
xor edx, edx
mov ebx, dword [rsp + rcx*4 + 0x70]
mov edi, ebx
not edi
and edi, 0x66572923
and ebx, 0x99a8d6dc
or ebx, edi
mov dword [rsp + rcx*4 + 0x70], ebx
inc rdx
inc rcx
cmp rcx, 6
jne 0x18000205e
mov ecx, dword [rax + 0xf]
mov dword [rsp + 0x5f], ecx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
mov eax, dword [0x180018ae8]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x180018ae4], 0xa
setl al
mov edx, eax
and dl, cl
xor al, cl
or al, dl
cmp al, 1
jne 0x1800020f0
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x2c], 0x4df45a81
mov dword [rsp + 0x30], 0x38d0b6f3
mov dword [rsp + 0x34], 0x5312cf55
mov dword [rsp + 0x38], 0xb4eabbd4
mov dword [rsp + 0x3c], 0x644db8d6
test al, al
jne 0x18000211f
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x2c], 0x4df45a81
mov dword [rsp + 0x30], 0x38d0b6f3
mov dword [rsp + 0x34], 0x5312cf55
mov dword [rsp + 0x38], 0xb4eabbd4
mov dword [rsp + 0x3c], 0x644db8d6
jmp 0x1800020bf
lea rsi, [rsp + 0x2c]
cmp byte [rsi - 4], 0
jne 0x180002156
mov ecx, 1
xor edx, edx
mov eax, dword [rsp + rcx*4 + 0x28]
mov ebx, eax
not ebx
and ebx, 0x644db8d6
and eax, 0x9bb24729
or eax, ebx
mov dword [rsp + rcx*4 + 0x28], eax
inc rdx
inc rcx
cmp rcx, 6
jne 0x180002131
movups xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x2c], 0x4e98c1fb
mov dword [rsp + 0x30], 0x85e8f588
mov dword [rsp + 0x34], 0x2d249da7
mov dword [rsp + 0x38], 0x192ee252
mov dword [rsp + 0x3c], 0x2aa1e99a
mov eax, dword [0x180018ae0]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, 0xffffffff
xor ecx, eax
or ecx, 0xfffffffe
cmp ecx, eax
sete al
cmp dword [0x180018adc], 0xa
setl cl
mov edx, ecx
and dl, al
xor cl, al
or cl, dl
cmp cl, 1
jne 0x1800021c5
mov al, byte [rsp + 0x28]
test cl, cl
jne 0x1800021cb
mov al, byte [rsp + 0x28]
jmp 0x1800021bd
test al, al
jne 0x18000223c
mov eax, dword [0x180018ad8]
mov edx, dword [0x180018ad4]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, 0xffffffff
xor ecx, eax
or ecx, 0xfffffffe
cmp ecx, eax
setne al
sete bl
cmp edx, 9
setg cl
cmp edx, 0xa
setl dl
xor dl, bl
or cl, al
xor cl, 1
or cl, dl
mov edx, 1
xor ebx, ebx
mov edi, dword [rsp + rdx*4 + 0x28]
test cl, cl
je 0x18000232f
mov eax, edi
not eax
and eax, 0x2aa1e99a
and edi, 0xd55e1665
or edi, eax
mov dword [rsp + rdx*4 + 0x28], edi
inc rbx
inc rdx
cmp rdx, 6
jne 0x18000220f
lea rax, [rsp + 0x80]
movups xmm0, xmmword [rsi]
movups xmmword [rax], xmm0
xor eax, eax
mov byte [rsp + 0x28], al
mov dword [rsp + 0x2c], 0x72396da2
mov dword [rsp + 0x30], 0xc64446be
mov dword [rsp + 0x34], 0x3750c41
mov dword [rsp + 0x38], 0x31886853
mov dword [rsp + 0x3c], 0x6bef7d77
cmp byte [rsp + 0x28], al
jne 0x1800022de
mov eax, dword [0x180018ad0]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, 0xffffffff
xor ecx, eax
or ecx, 0xfffffffe
cmp ecx, eax
setne al
cmp dword [0x180018acc], 9
setg cl
mov edx, ecx
xor dl, al
or cl, al
xor cl, 1
or cl, dl
mov edx, 1
xor ebx, ebx
mov edi, dword [rsp + rdx*4 + 0x28]
test cl, cl
je 0x180002331
mov eax, edi
not eax
and eax, 0x6bef7d77
and edi, 0x94108288
or edi, eax
mov dword [rsp + rdx*4 + 0x28], edi
inc rbx
inc rdx
cmp rdx, 6
jne 0x1800022b5
lea rax, [rsp + 0x90]
movups xmm0, xmmword [rsi]
movups xmmword [rax], xmm0
mov eax, dword [0x180018ac8]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
cmp dword [0x180018ac4], 9
setg r8b
mov ecx, r8d
xor cl, al
or r8b, al
xor r8b, 1
or r8b, cl
mov edx, dword [0x180018ac0]
jne 0x18000235b
mov ebx, dword [0x180018abc]
jmp 0x1800023b6
jmp 0x18000232f
jmp 0x180002331
mov dword [rsp + 0x2c], 0x56532ff1
mov dword [rsp + 0x30], 0x13b85bed
mov dword [rsp + 0x34], 0xb25cee72
mov dword [rsp + 0x38], 0x1b473a79
mov dword [rsp + 0x3c], 0x38160fa1
mov byte [rsp + 0x28], 0
mov ebx, dword [0x180018abc]
lea eax, [rdx - 1]
imul eax, edx
mov ecx, 0xffffffff
xor eax, ecx
or eax, 0xfffffffe
cmp eax, ecx
sete al
cmp ebx, 0xa
setl cl
test cl, al
jne 0x180002389
xor cl, al
je 0x1800023e8
mov dword [rsp + 0x2c], 0x56532ff1
mov dword [rsp + 0x30], 0x13b85bed
mov dword [rsp + 0x34], 0xb25cee72
mov dword [rsp + 0x38], 0x1b473a79
mov dword [rsp + 0x3c], 0x38160fa1
test r8b, r8b
jne 0x1800023ea
mov byte [rsp + 0x28], 0
lea eax, [rdx - 1]
imul eax, edx
mov ecx, 0xffffffff
xor eax, ecx
or eax, 0xfffffffe
cmp eax, ecx
sete al
cmp ebx, 0xa
setl cl
test cl, al
jne 0x180002333
xor cl, al
jne 0x180002333
jmp 0x1800023e6
jmp 0x1800023e8
lea rcx, [rsp + 0xa0]
cmp byte [rsp + 0x28], 0
jne 0x18000242a
mov edx, 1
xor ebx, ebx
mov eax, dword [rsp + rdx*4 + 0x28]
mov edi, eax
not edi
and edi, 0x6fce7ca8
and eax, 0x90318357
or eax, edi
xor eax, 0x57d87309
mov dword [rsp + rdx*4 + 0x28], eax
inc rbx
inc rdx
cmp rdx, 6
jne 0x180002400
movups xmm0, xmmword [rsi]
movups xmmword [rcx], xmm0
xor eax, eax
mov byte [rsp + 0x28], al
mov dword [rsp + 0x2c], 0xf4dc94cb
mov dword [rsp + 0x30], 0x9627191d
mov dword [rsp + 0x34], 0x38d7c775
mov dword [rsp + 0x38], 0x81838d5c
mov dword [rsp + 0x3c], 0x305c1307
cmp byte [rsp + 0x28], al
jne 0x1800024c6
mov eax, dword [0x180018ab8]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x180018ab4], 0xa
setl cl
mov edx, ecx
and dl, al
xor cl, al
or cl, dl
mov edx, 1
xor ebx, ebx
mov edi, dword [rsp + rdx*4 + 0x28]
test cl, cl
je 0x180002774
mov eax, edi
not eax
and eax, 0x21df2f4d
and edi, 0xde20d0b2
or edi, eax
xor edi, 0x11833c4a
mov dword [rsp + rdx*4 + 0x28], edi
inc rbx
inc rdx
cmp rdx, 6
jne 0x180002493
lea rax, [rsp + 0xb0]
movups xmm0, xmmword [rsi]
movups xmmword [rax], xmm0
xor eax, eax
mov byte [rsp + 0x28], al
mov dword [rsp + 0x2c], 0x425f98ae
mov dword [rsp + 0x30], 0x63df40b8
mov dword [rsp + 0x34], 0x4076f785
mov dword [rsp + 0x38], 0x2eab9458
mov dword [rsp + 0x3c], 0x6ce53092
cmp byte [rsp + 0x28], al
jne 0x180002576
mov eax, dword [0x180018ab0]
mov edx, dword [0x180018aac]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete bl
cmp edx, 9
setg cl
cmp edx, 0xa
setl dl
xor dl, bl
or cl, al
xor cl, 1
or cl, dl
mov edx, 1
xor ebx, ebx
mov edi, dword [rsp + rdx*4 + 0x28]
test cl, cl
je 0x180002776
mov eax, edi
not eax
and eax, 0x8ce9d60e
and edi, 0x731629f1
or edi, eax
xor edi, 0xe00ce69c
mov dword [rsp + rdx*4 + 0x28], edi
inc rbx
inc rdx
cmp rdx, 6
jne 0x180002543
lea rcx, [rsp + 0xc0]
movups xmm0, xmmword [rsi]
movups xmmword [rcx], xmm0
xor eax, eax
mov byte [rsp + 0x28], al
mov dword [rsp + 0x2c], 0x3f5555fd
mov dword [rsp + 0x30], 0x3c426442
mov dword [rsp + 0x34], 0x85b189d
mov dword [rsp + 0x38], 0xe4637978
mov dword [rsp + 0x3c], 0x3ad7c13e
cmp byte [rsp + 0x28], al
jne 0x1800025e9
mov edx, 1
xor ebx, ebx
mov eax, dword [rsp + rdx*4 + 0x28]
mov edi, eax
not edi
and edi, 0x7b4426e6
and eax, 0x84bbd919
or eax, edi
xor eax, 0x4193e7d8
mov dword [rsp + rdx*4 + 0x28], eax
inc rbx
inc rdx
cmp rdx, 6
jne 0x1800025bf
movups xmm0, xmmword [rsi]
movups xmmword [rcx + 0x10], xmm0
lea rcx, [rsp + 0xe0]
xor eax, eax
mov byte [rsp + 0x28], al
mov dword [rsp + 0x2c], 0x265fa2bc
mov dword [rsp + 0x30], 0x738817c1
mov dword [rsp + 0x34], 0x74920cbf
mov dword [rsp + 0x38], 0xf89dabe9
mov dword [rsp + 0x3c], 0x2acfcd72
cmp byte [rsp + 0x28], al
jne 0x18000265d
mov edx, 1
xor ebx, ebx
mov eax, dword [rsp + rdx*4 + 0x28]
mov edi, eax
not edi
and edi, 0x5fb01fba
and eax, 0xa04fe045
or eax, edi
xor eax, 0x757fd2c8
mov dword [rsp + rdx*4 + 0x28], eax
inc rbx
inc rdx
cmp rdx, 6
jne 0x180002633
movups xmm0, xmmword [rsi]
movups xmmword [rcx], xmm0
xor eax, eax
mov byte [rsp + 0x28], al
mov dword [rsp + 0x2c], 0x110fc760
mov dword [rsp + 0x30], 0x68b8ef1b
mov dword [rsp + 0x34], 0x99f8e909
mov dword [rsp + 0x38], 0xa2ed4a14
mov dword [rsp + 0x3c], 0x30b8f75f
cmp byte [rsp + 0x28], al
jne 0x1800026fe
mov eax, dword [0x180018aa8]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, 0xffffffff
xor ecx, eax
or ecx, 0xfffffffe
cmp ecx, eax
sete al
cmp dword [0x180018aa4], 0xa
setl cl
mov edx, ecx
and dl, al
xor cl, al
or cl, dl
mov edx, 1
xor ebx, ebx
mov edi, dword [rsp + rdx*4 + 0x28]
test cl, cl
je 0x180002778
mov eax, edi
not eax
and eax, 0xc043ba7f
and edi, 0x3fbc4580
or edi, eax
xor edi, 0xf0fb4d20
mov dword [rsp + rdx*4 + 0x28], edi
inc rbx
inc rdx
cmp rdx, 6
jne 0x1800026cb
lea rax, [rsp + 0xf0]
movups xmm0, xmmword [rsi]
movups xmmword [rax], xmm0
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x2c], 0xb1fc18c4
mov dword [rsp + 0x30], 0x9fcdf566
mov dword [rsp + 0x34], 0xae55105b
mov dword [rsp + 0x38], 0xa7eec290
mov dword [rsp + 0x3c], 0x3f787dfa
mov eax, dword [0x180018aa0]
mov edx, dword [0x180018a9c]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete bl
cmp edx, 9
setg cl
cmp edx, 0xa
setl dl
xor dl, bl
or cl, al
mov al, 1
xor cl, al
or cl, dl
cmp cl, al
je 0x18000277a
jmp 0x180002782
jmp 0x180002774
jmp 0x180002776
jmp 0x180002778
mov al, byte [rsp + 0x28]
test cl, cl
jne 0x180002788
mov al, byte [rsp + 0x28]
jmp 0x18000277a
lea rcx, [rsp + 0x100]
test al, al
jne 0x1800027c0
mov edx, 1
xor ebx, ebx
mov eax, dword [rsp + rdx*4 + 0x28]
mov edi, eax
not edi
and edi, 0x3f787dfa
and eax, 0xc0878205
or eax, edi
mov dword [rsp + rdx*4 + 0x28], eax
inc rbx
inc rdx
cmp rdx, 6
jne 0x18000279b
movups xmm0, xmmword [rsi]
movups xmmword [rcx], xmm0
lea rcx, [rsp + 0x110]
xor eax, eax
mov byte [rsp + 0x28], al
mov dword [rsp + 0x2c], 0x50879ca9
mov dword [rsp + 0x30], 0x144bcbcb
mov dword [rsp + 0x34], 0x5dff4826
mov dword [rsp + 0x38], 0x59b1a31
mov dword [rsp + 0x3c], 0x7f96a817
cmp byte [rsp + 0x28], al
jne 0x180002833
mov edx, 1
xor ebx, ebx
mov eax, dword [rsp + rdx*4 + 0x28]
mov edi, eax
not edi
and edi, 0xb724e908
and eax, 0x48db16f7
or eax, edi
xor eax, 0xc8b2411f
mov dword [rsp + rdx*4 + 0x28], eax
inc rbx
inc rdx
cmp rdx, 6
jne 0x180002809
movups xmm0, xmmword [rsi]
movups xmmword [rcx], xmm0
mov eax, dword [0x180018a98]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, 0xffffffff
xor ecx, eax
or ecx, 0xfffffffe
cmp ecx, eax
sete al
cmp dword [0x180018a94], 0xa
setl r8b
mov ecx, r8d
and cl, al
xor r8b, al
or r8b, cl
mov edx, dword [0x180018a90]
jne 0x1800028a2
mov ebx, dword [0x180018a8c]
jmp 0x1800028f8
mov dword [rsp + 0x2c], 0xee3331c
mov dword [rsp + 0x30], 0xfabaf77c
mov dword [rsp + 0x34], 0xac8c9d87
mov dword [rsp + 0x38], 0x19a6e715
mov dword [rsp + 0x3c], 0x7bf57e01
mov byte [rsp + 0x28], 0
mov ebx, dword [0x180018a8c]
lea eax, [rdx - 1]
imul eax, edx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete al
cmp ebx, 0xa
setl cl
test cl, al
jne 0x1800028cb
xor cl, al
je 0x180002933
mov dword [rsp + 0x2c], 0xee3331c
mov dword [rsp + 0x30], 0xfabaf77c
mov dword [rsp + 0x34], 0xac8c9d87
mov dword [rsp + 0x38], 0x19a6e715
mov dword [rsp + 0x3c], 0x7bf57e01
test r8b, r8b
jne 0x180002935
mov byte [rsp + 0x28], 0
lea eax, [rdx - 1]
imul eax, edx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
setne r9b
sete al
cmp ebx, 9
setg cl
cmp ebx, 0xa
setl bl
xor bl, al
jne 0x18000287a
or cl, r9b
xor cl, 1
jne 0x18000287a
jmp 0x180002931
jmp 0x180002933
mov eax, dword [0x180018a88]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, 0xffffffff
xor ecx, eax
or ecx, 0xfffffffe
cmp ecx, eax
setne al
cmp dword [0x180018a84], 9
setg cl
mov edx, ecx
xor dl, al
or cl, al
mov al, 1
xor cl, al
or cl, dl
cmp cl, al
jne 0x180002972
mov al, byte [rsp + 0x28]
test cl, cl
jne 0x180002978
mov al, byte [rsp + 0x28]
jmp 0x18000296a
lea rcx, [rsp + 0x120]
test al, al
jne 0x1800029b5
mov edx, 1
xor ebx, ebx
mov eax, dword [rsp + rdx*4 + 0x28]
mov edi, eax
not edi
and edi, 0x48150659
and eax, 0xb7eaf9a6
or eax, edi
xor eax, 0x33e07858
mov dword [rsp + rdx*4 + 0x28], eax
inc rbx
inc rdx
cmp rdx, 6
jne 0x18000298b
movups xmm0, xmmword [rsi]
movups xmmword [rcx], xmm0
mov eax, dword [0x180018a80]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, 0xffffffff
xor ecx, eax
or ecx, 0xfffffffe
cmp ecx, eax
sete al
cmp dword [0x180018a7c], 0xa
setl cl
mov edx, ecx
and dl, al
xor cl, al
or cl, dl
cmp cl, 1
jne 0x180002a1e
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x2c], 0x33b4322a
mov dword [rsp + 0x30], 0x2de5d917
mov dword [rsp + 0x34], 0x362aa8d1
mov dword [rsp + 0x38], 0x2195b1c7
mov dword [rsp + 0x3c], 0x322373a7
test cl, cl
jne 0x180002a4d
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x2c], 0x33b4322a
mov dword [rsp + 0x30], 0x2de5d917
mov dword [rsp + 0x34], 0x362aa8d1
mov dword [rsp + 0x38], 0x2195b1c7
mov dword [rsp + 0x3c], 0x322373a7
jmp 0x1800029ed
mov eax, dword [0x180018a78]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, 0xffffffff
xor ecx, eax
or ecx, 0xfffffffe
cmp ecx, eax
sete al
cmp dword [0x180018a74], 0xa
setl cl
mov edx, ecx
and dl, al
xor cl, al
or cl, dl
cmp cl, 1
jne 0x180002a87
mov al, byte [rsp + 0x28]
test cl, cl
jne 0x180002a8d
mov al, byte [rsp + 0x28]
jmp 0x180002a7f
lea rcx, [rsp + 0x130]
test al, al
jne 0x180002aca
mov edx, 1
xor ebx, ebx
mov eax, dword [rsp + rdx*4 + 0x28]
mov edi, eax
not edi
and edi, 0xb9b6914b
and eax, 0x46496eb4
or eax, edi
xor eax, 0x8b95e2ec
mov dword [rsp + rdx*4 + 0x28], eax
inc rbx
inc rdx
cmp rdx, 6
jne 0x180002aa0
movups xmm0, xmmword [rsi]
movups xmmword [rcx], xmm0
mov byte [rsp + 0x28], 0
mov eax, dword [0x180018a70]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x180018a6c], 0xa
setl cl
test cl, al
jne 0x180002aff
xor cl, al
jne 0x180002aff
jmp 0x180002afd
lea rcx, [rsp + 0x140]
mov dword [rsp + 0x2c], 0x7dbd634e
mov dword [rsp + 0x30], 0xdac9b5e
mov dword [rsp + 0x34], 0xf0dfff81
mov dword [rsp + 0x38], 0x59b2c339
mov dword [rsp + 0x3c], 0x357dd8f2
cmp byte [rsp + 0x28], 0
jne 0x180002b67
mov edx, 1
xor ebx, ebx
mov eax, dword [rsp + rdx*4 + 0x28]
mov edi, eax
not edi
and edi, 0x56551327
and eax, 0xa9aaecd8
or eax, edi
xor eax, 0x6328cbd5
mov dword [rsp + rdx*4 + 0x28], eax
inc rbx
inc rdx
cmp rdx, 6
jne 0x180002b3d
movups xmm0, xmmword [rsi]
movups xmmword [rcx], xmm0
mov byte [rsp + 0x28], 0
mov eax, dword [0x180018a68]
mov edx, dword [0x180018a64]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete bl
cmp edx, 9
setg cl
cmp edx, 0xa
setl dl
xor dl, bl
jne 0x180002baa
or cl, al
xor cl, 1
jne 0x180002baa
jmp 0x180002ba8
mov dword [rsp + 0x2c], 0x265368a7
mov dword [rsp + 0x30], 0x592df7df
mov eax, 0x265368a7
cmp byte [rsp + 0x28], 0
jne 0x180002bf6
xor eax, eax
mov ecx, dword [rsp + rax*4 + 0x2c]
mov edx, ecx
not edx
and edx, 0xa4c75235
and ecx, 0x5b38adca
or ecx, edx
xor ecx, 0xfdeaa5ea
mov dword [rsp + rax*4 + 0x2c], ecx
test rax, rax
mov eax, 1
je 0x180002bc8
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0x150], eax
mov eax, dword [0x180018b50]
lea ecx, [rax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x180018b4c], 0xa
setl r13b
mov edx, r13d
and dl, cl
xor r13b, cl
or r13b, dl
xor eax, eax
mov r11b, 0xff
lea r15, [0x180017010]
mov r9b, 0xfb
mov r10b, 4
xor esi, esi
test r13b, r13b
je 0x180002d15
mov qword [rsp + 0x48], rax
mov r12b, byte [rsp + rax + 0x50]
xor ebp, ebp
test r13b, r13b
jne 0x180002c61
xor ecx, ecx
test cl, 1
mov ecx, r13d
je 0x180002c59
cmp rbp, 6
je 0x180002cef
movzx edi, byte [rsp + rsi + 0x70]
mov dl, byte [r14 + rdi*2]
mov ebx, edx
xor bl, r11b
and bl, r12b
mov ecx, r12d
xor cl, r11b
and dl, cl
or dl, bl
mov byte [r15 + rdi*2], dl
mov dl, byte [rsp + rbp + 0x40]
mov bl, byte [r14 + rdi*2 + 1]
mov eax, ebx
xor al, r11b
and al, dl
mov r8d, edx
xor r8b, r11b
and bl, r8b
or bl, al
mov byte [r15 + rdi*2 + 1], bl
movzx edi, byte [rsp + rsi + 0x71]
mov al, byte [r14 + rdi*2]
mov ebx, eax
xor bl, r11b
and bl, r9b
and al, r10b
or al, bl
and r8b, r9b
and dl, r10b
or dl, r8b
xor dl, al
mov byte [r15 + rdi*2], dl
mov al, byte [r14 + rdi*2 + 1]
and cl, al
xor al, r11b
and al, r12b
or cl, al
mov byte [r15 + rdi*2 + 1], cl
inc rbp
add rsi, 2
jmp 0x180002c52
mov rax, qword [rsp + 0x48]
inc rax
cmp rax, 0x13
jne 0x180002c3d
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
jmp 0x180002d15