Function at 0x1800010f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
cmp dword [0x180020a6c], 0xa
jl 0x180001122
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001122
nop
jmp 0x180001120
mov eax, 0x10
call entry0
sub rsp, rax
mov rcx, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov qword [rbp], rsp
mov r9d, dword [0x180020a74]
mov edi, dword [0x180020a78]
cmp edi, 0xa
jl 0x180001172
lea edx, [r9 - 1]
imul edx, r9d
and edx, 1
je 0x180001172
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x180001170
mov r11b, byte [section..data]
mov eax, dword [0x180020a74]
mov r8d, dword [0x180020a78]
lea esi, [rax - 1]
mov qword [rbp - 8], rax
imul esi, eax
and esi, 1
sete dl
cmp r8d, 0xa
setl bl
or bl, dl
mov r12b, byte [0x180004001]
mov r15b, byte [0x180004002]
mov r14b, byte [0x180004003]
mov edx, dword [0x180020a70]
mov eax, dword [0x180020a6c]
lea r10d, [rdx - 1]
imul r10d, edx
test r10b, 1
sete dl
mov dword [rbp - 0x18], eax
cmp eax, 0xa
setl r13b
or r13b, dl
mov edx, ebx
or dl, bl
cmp edi, 0xa
jl 0x1800011f6
lea edi, [r9 - 1]
imul edi, r9d
and edi, 1
jne 0x180001360
mov byte [rcx], r11b
test bl, bl
jne 0x180001207
nop dword [rax]
test bl, bl
je 0x180001200
mov byte [rcx], r11b
cmp r8d, 0xa
jl 0x180001215
test esi, esi
jne 0x180001360
mov byte [rcx + 1], r12b
test bl, bl
jne 0x180001228
nop dword [rax]
test bl, bl
je 0x180001220
mov byte [rcx + 1], r12b
cmp r8d, 0xa
jl 0x180001236
test esi, esi
jne 0x180001360
mov byte [rcx + 2], r15b
test bl, bl
jne 0x180001248
nop
test bl, bl
je 0x180001240
mov byte [rcx + 2], r15b
cmp r8d, 0xa
jl 0x180001256
test esi, esi
jne 0x180001360
mov byte [rcx + 3], r14b
test bl, bl
jne 0x180001268
nop
test bl, bl
je 0x180001260
mov byte [rcx + 3], r14b
cmp r8d, 0xa
jl 0x180001276
test esi, esi
jne 0x180001360
test r13b, r13b
jne 0x1800013c2
cmp r8d, 0xa
jl 0x18000128d
test esi, esi
jne 0x180001380
test bl, bl
mov eax, esi
cmovne eax, esi
mov ecx, r8d
cmovne ecx, r8d
test dl, dl
je 0x180001390
cmp ecx, 0xa
jl 0x1800012b0
test eax, eax
jne 0x180001370
test bl, bl
mov eax, esi
cmovne eax, esi
mov ecx, r8d
cmovne ecx, r8d
test dl, dl
je 0x1800013a0
cmp ecx, 0xa
jl 0x1800012d3
test eax, eax
jne 0x180001370
test bl, bl
mov eax, esi
cmovne eax, esi
mov ecx, r8d
cmovne ecx, r8d
test dl, dl
je 0x1800013b0
cmp ecx, 0xa
jl 0x1800012f2
test eax, eax
jne 0x180001370
test bl, bl
mov eax, esi
cmovne eax, esi
mov r9, qword [rbp - 8]
cmovne r9d, r9d
mov edi, r8d
cmovne edi, r8d
test dl, dl
je 0x1800013c0
cmp edi, 0xa
jl 0x180001319
test eax, eax
jne 0x180001370
mov eax, 0x10
call entry0
sub rsp, rax
mov rcx, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov qword [rbp], rsp
cmp edi, 0xa
jl 0x1800011e0
lea eax, [r9 - 1]
imul eax, r9d
and eax, 1
je 0x1800011e0
jmp 0x180001170
jmp 0x180001360
jmp 0x180001370
jmp 0x180001380
jmp 0x180001390
jmp 0x1800013a0
jmp 0x1800013b0
jmp 0x1800013c0
mov r11d, dword [rcx]
test r11, r11
je 0x1800014e7
xor eax, eax
cmp r11d, 0x10
jb 0x1800014af
lea rcx, [r11 - 1]
cmp rcx, 0x400
jae 0x1800014af
mov eax, r11d
and eax, 0xfffffff0
lea rsi, [rax - 0x10]
mov rcx, rsi
shr rcx, 4
add rcx, 1
mov r9d, ecx
and r9d, 1
test rsi, rsi
je 0x180001475
mov rdi, r9
sub rdi, rcx
xor ebx, ebx
lea rsi, section..data
movaps xmm0, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
mov ecx, ebx
and ecx, 0x3e0
movups xmm1, xmmword [rcx + rsi + 4]
movups xmm2, xmmword [rbx + rsi + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rbx + rsi + 0x414]
xorps xmm2, xmm0
movups xmmword [rbx + rsi + 0x404], xmm2
lea ecx, [rbx + 0x10]
and ecx, 0x3f0
movups xmm2, xmmword [rcx + rsi + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rbx + rsi + 0x414], xmm1
add rbx, 0x20
add rdi, 2
jne 0x180001422
jmp 0x180001477
xor ebx, ebx
test r9, r9
je 0x1800014aa
mov ecx, ebx
and ecx, 0x3f0
lea rdi, section..data
movups xmm0, xmmword [rcx + rdi + 4]
movups xmm1, xmmword [rbx + rdi + 0x404]
xorps xmm1, xmm0
xorps xmm1, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
movups xmmword [rbx + rdi + 0x404], xmm1
cmp rax, r11
je 0x1800014e7
lea rcx, section..data
nop word cs:[rax + rax]
mov edx, eax
and edx, 0x3ff
movzx edx, byte [rdx + rcx + 4]
xor dl, byte [rax + rcx + 0x404]
xor dl, 0xc
mov byte [rax + rcx + 0x404], dl
add rax, 1
cmp rax, r11
jb 0x1800014c0
cmp dword [rbp - 0x18], 0xa
jl 0x180001a22
and r10d, 1
je 0x180001a22
lea r9, section..data
mov r10, qword [rbp]
cmp r8d, 0xa
jl 0x18000151f
mov rcx, qword [rbp - 8]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180001a00
mov cl, byte [r11 + r9 + 0x404]
nop word [rax + rax]
mov byte [r10], cl
mov eax, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
cmp edi, 0xa
jl 0x180001551
test ebx, ebx
jne 0x180001530
cmp edi, 0xa
jl 0x18000155e
test ebx, ebx
jne 0x1800019d0
mov cl, byte [r11 + r9 + 0x405]
mov byte [r10 + 1], cl
mov eax, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
cmp edi, 0xa
jl 0x1800015b8
test ebx, ebx
je 0x1800015b8
mov eax, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
sete al
cmp edi, 0xa
setl dl
or dl, al
nop dword [rax + rax]
test dl, dl
je 0x1800015b0
mov byte [r10 + 1], cl
cmp edi, 0xa
jl 0x1800015c5
test ebx, ebx
jne 0x1800019d0
mov cl, byte [r11 + r9 + 0x406]
mov byte [r10 + 2], cl
mov eax, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
cmp edi, 0xa
jl 0x180001618
test ebx, ebx
je 0x180001618
mov eax, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
sete al
cmp edi, 0xa
setl dl
or dl, al
nop
test dl, dl
je 0x180001610
mov byte [r10 + 2], cl
cmp edi, 0xa
jl 0x180001625
test ebx, ebx
jne 0x1800019d0
mov cl, byte [r11 + r9 + 0x407]
mov byte [r10 + 3], cl
mov ebx, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea esi, [rbx - 1]
imul esi, ebx
and esi, 1
cmp edi, 0xa
jl 0x180001678
test esi, esi
je 0x180001678
mov ebx, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea esi, [rbx - 1]
imul esi, ebx
and esi, 1
sete al
cmp edi, 0xa
setl dl
or dl, al
nop
test dl, dl
je 0x180001670
mov byte [r10 + 3], cl
cmp edi, 0xa
jl 0x180001685
test esi, esi
jne 0x1800019d0
cmp edi, 0xa
jl 0x180001699
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x180001a10
mov cl, byte [r11 + r9 + 0x404]
nop word cs:[rax + rax]
nop dword [rax + rax]
mov byte [r10], cl
mov eax, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
cmp edi, 0xa
jl 0x1800016d1
test ebx, ebx
jne 0x1800016b0
cmp edi, 0xa
jl 0x1800016de
test ebx, ebx
jne 0x1800019e0
mov cl, byte [r11 + r9 + 0x405]
mov byte [r10 + 1], cl
mov eax, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
cmp edi, 0xa
jl 0x180001738
test ebx, ebx
je 0x180001738
mov eax, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
sete al
cmp edi, 0xa
setl dl
or dl, al
nop dword [rax + rax]
test dl, dl
je 0x180001730
mov byte [r10 + 1], cl
cmp edi, 0xa
jl 0x180001745
test ebx, ebx
jne 0x1800019e0
mov cl, byte [r11 + r9 + 0x406]
mov byte [r10 + 2], cl
mov eax, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
cmp edi, 0xa
jl 0x180001798
test ebx, ebx
je 0x180001798
mov eax, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
sete al
cmp edi, 0xa
setl dl
or dl, al
nop
test dl, dl
je 0x180001790
mov byte [r10 + 2], cl
cmp edi, 0xa
jl 0x1800017a5
test ebx, ebx
jne 0x1800019e0
mov cl, byte [r11 + r9 + 0x407]
mov byte [r10 + 3], cl
mov eax, dword [0x180020a74]
mov r8d, dword [0x180020a78]
lea ebx, [rax - 1]
mov qword [rbp - 8], rax
imul ebx, eax
and ebx, 1
cmp r8d, 0xa
jl 0x180001808
test ebx, ebx
je 0x180001808
mov eax, dword [0x180020a74]
mov r8d, dword [0x180020a78]
lea ebx, [rax - 1]
mov qword [rbp - 8], rax
imul ebx, eax
and ebx, 1
sete al
cmp r8d, 0xa
setl dl
or dl, al
nop dword [rax + rax]
test dl, dl
je 0x180001800
mov byte [r10 + 3], cl
cmp r8d, 0xa
jl 0x180001816
test ebx, ebx
jne 0x1800019e0
cmp dword [0x180020a6c], 0xa
jl 0x180001834
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001506
cmp r8d, 0xa
jl 0x18000184d
mov rcx, qword [rbp - 8]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180001a20
mov cl, byte [r11 + r9 + 0x404]
mov byte [r10], cl
mov eax, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
cmp edi, 0xa
jl 0x180001876
test ebx, ebx
jne 0x180001855
cmp edi, 0xa
jl 0x180001883
test ebx, ebx
jne 0x1800019f0
mov cl, byte [r11 + r9 + 0x405]
mov byte [r10 + 1], cl
mov eax, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
cmp edi, 0xa
jl 0x1800018d5
test ebx, ebx
je 0x1800018d5
mov eax, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
sete al
cmp edi, 0xa
setl dl
or dl, al
test dl, dl
je 0x1800018cd
mov byte [r10 + 1], cl
cmp edi, 0xa
jl 0x1800018e2
test ebx, ebx
jne 0x1800019f0
mov cl, byte [r11 + r9 + 0x406]
mov byte [r10 + 2], cl
mov eax, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
cmp edi, 0xa
jl 0x180001934
test ebx, ebx
je 0x180001934
mov eax, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
sete al
cmp edi, 0xa
setl dl
or dl, al
test dl, dl
je 0x18000192c
mov byte [r10 + 2], cl
cmp edi, 0xa
jl 0x180001941
test ebx, ebx
jne 0x1800019f0
mov cl, byte [r11 + r9 + 0x407]
mov byte [r10 + 3], cl
mov eax, dword [0x180020a74]
mov r8d, dword [0x180020a78]
lea ebx, [rax - 1]
mov qword [rbp - 8], rax
imul ebx, eax
and ebx, 1
cmp r8d, 0xa
jl 0x18000199f
test ebx, ebx
je 0x18000199f
mov eax, dword [0x180020a74]
mov r8d, dword [0x180020a78]
lea ebx, [rax - 1]
mov qword [rbp - 8], rax
imul ebx, eax
and ebx, 1
sete al
cmp r8d, 0xa
setl dl
or dl, al
test dl, dl
je 0x180001997
mov byte [r10 + 3], cl
cmp r8d, 0xa
jl 0x1800019a9
test ebx, ebx
jne 0x1800019f0
cmp dword [0x180020a6c], 0xa
jl 0x180001a26
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001506
jmp 0x180001a26
jmp 0x1800019d0
jmp 0x1800019e0
jmp 0x1800019f0
jmp 0x180001a00
jmp 0x180001a10
jmp 0x180001a20
mov r10, qword [rbp]
cmp r8d, 0xa
jl 0x180001a42
mov rax, qword [rbp - 8]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001a42
nop dword [rax + rax]
jmp 0x180001a40
lea r12, section..data
mov cl, byte [r11 + r12 + 0x404]
nop word cs:[rax + rax]
nop dword [rax + rax]
mov byte [r10], cl
mov edi, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rdi - 1]
imul edx, edi
and edx, 1
cmp ebx, 0xa
jl 0x180001a81
test edx, edx
jne 0x180001a60
cmp ebx, 0xa
jl 0x180001a8e
test edx, edx
jne 0x180001d70
lea r8, [r11 + r12]
add r8, 0x404
mov cl, byte [r8 + 1]
mov byte [r10 + 1], cl
mov edx, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
cmp edi, 0xa
jl 0x180001ae8
test ebx, ebx
je 0x180001ae8
mov eax, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
sete al
cmp edi, 0xa
setl dl
or dl, al
nop
test dl, dl
je 0x180001ae0
mov byte [r10 + 1], cl
cmp edi, 0xa
jl 0x180001af5
test ebx, ebx
jne 0x180001d70
mov cl, byte [r8 + 2]
mov byte [r10 + 2], cl
mov eax, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
cmp edi, 0xa
jl 0x180001b48
test ebx, ebx
je 0x180001b48
mov eax, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
sete al
cmp edi, 0xa
setl dl
or dl, al
nop dword [rax + rax]
test dl, dl
je 0x180001b40
mov byte [r10 + 2], cl
cmp edi, 0xa
jl 0x180001b55
test ebx, ebx
jne 0x180001d70
mov dl, byte [r8 + 3]
mov byte [r10 + 3], dl
mov ebx, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea esi, [rbx - 1]
imul esi, ebx
and esi, 1
cmp edi, 0xa
jl 0x180001ba8
test esi, esi
je 0x180001ba8
mov ebx, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea esi, [rbx - 1]
imul esi, ebx
and esi, 1
sete al
cmp edi, 0xa
setl cl
or cl, al
nop dword [rax + rax]
test cl, cl
je 0x180001ba0
mov byte [r10 + 3], dl
cmp edi, 0xa
jl 0x180001bb5
test esi, esi
jne 0x180001d70
cmp dword [0x180020a6c], 0xa
jl 0x180001d92
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001d92
cmp edi, 0xa
jl 0x180001beb
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x180001d90
mov cl, byte [r11 + r12 + 0x404]
nop word cs:[rax + rax]
nop dword [rax]
mov byte [r10], cl
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ebx, 0xa
jl 0x180001c21
test edx, edx
jne 0x180001c00
cmp ebx, 0xa
jl 0x180001c2e
test edx, edx
jne 0x180001d80
mov r8b, byte [r11 + r12 + 0x405]
mov byte [r10 + 1], r8b
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ebx, 0xa
jl 0x180001c80
test edx, edx
je 0x180001c80
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
sete al
cmp ebx, 0xa
setl cl
or cl, al
test cl, cl
je 0x180001c78
mov byte [r10 + 1], r8b
cmp ebx, 0xa
jl 0x180001c8d
test edx, edx
jne 0x180001d80
mov r8b, byte [r11 + r12 + 0x406]
mov byte [r10 + 2], r8b
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ebx, 0xa
jl 0x180001cdf
test edx, edx
je 0x180001cdf
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
sete al
cmp ebx, 0xa
setl cl
or cl, al
test cl, cl
je 0x180001cd7
mov byte [r10 + 2], r8b
cmp ebx, 0xa
jl 0x180001cec
test edx, edx
jne 0x180001d80
mov r8b, byte [r11 + r12 + 0x407]
mov byte [r10 + 3], r8b
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
cmp ebx, 0xa
jl 0x180001d3e
test edi, edi
je 0x180001d3e
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
sete al
cmp ebx, 0xa
setl cl
or cl, al
test cl, cl
je 0x180001d36
mov byte [r10 + 3], r8b
cmp ebx, 0xa
jl 0x180001d47
test edi, edi
jne 0x180001d80
cmp ebx, 0xa
jl 0x180001a49
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x180001a49
jmp 0x180001a40
jmp 0x180001d70
jmp 0x180001d80
jmp 0x180001d90
lea rax, [r8 + 4]
mov qword [rbp], rax
mov ebx, dword [r10]
test rbx, rbx
je 0x180002323
xor eax, eax
cmp ebx, 0x20
jb 0x180001ec5
lea rcx, [rbx - 1]
cmp rcx, 0x400
jae 0x180001ec5
lea rax, [rbx + r12]
add rax, 4
cmp qword [rbp], rax
jae 0x180001deb
lea rax, [r8 + rbx]
add rax, 4
lea rcx, str.CwZrRsKcRankfqpIMHLgfKRteQCwnlgvZkaYxXxvtORSUZdcucuIGJxWnoLaUbbpQUlBXobKFJLpfHnofCABREKxmFXTOuVWsLfsaSdzWjwqiPhJyRjAUwfjbvedchEyhqUOPnUfxAoiuYCTuxruWwHBRiSDPJxwRjkDXnpHzTpeFxxHXUmDDvaqElnXaBYCSLXHdplZEPAudEpIRYaUrSsYvSImkwiQrMutFtJMYmHUwVKrdwaJoRAoHHoAojHzevGfFJLRbBqVudpnPvbuqhSopLeRFPGhePBmzcBvVWxPCSSVsVguSinngYYqerVcEStjGXPvycRTZJGvtrJGOWppAJCdwfonBXkUuxsbmuZbjkdoFaxAuFCliEsJXZLGARVPBTEmWTshFCfjbfZayblEtqlsozmoUgKRrbxMAplGLhqgQkjeMHBRJqpLfSUBiTjAYxAcGqfuuWQrsnLJtCrZuZCYaTTCeXjQfsuVFcuTVfprmHktaZCBWEPOCZVKEJvlrAOscWszeVcunhWhlrhCvQkrOpqIRPwpluwIiqBnHpweuShabEjbmHJUDEasHrDCPDLWWYPhOQvjURTAvYqfxFfHVkyZFpbczPgWzAREggYPeyXltkpnRzcVhJLZWDsrMtfnOzlIoGJKFhcLMOUJqBXVeJxeeUsBwvnOnRqTPPQePzlfvMzVfrgvAarPmulKTznEORRniMzoEhnYHtCiduIohFHrmHYARXsfOJMTsmHuodtXmygXMHAOjDpMIDvCcjUXxZWPmJGumIAITEqCYSwmMFlRoaKYlPmCIlDFkgXueJdPjrQBJjAAWfvFBGTWxYVeBnjwCnHtHpgyRAtkEljZLCAVGDIGsfXZptdTDVUaYBjXTBTGEWJbkFjRwqPMzhZzzkuCXBVmMsDspZkiMgfznCjIbnjzqnLdpqKHtMXSweUyfCWuTeqrprTFJHHfqLzwegOqxqWoivGZlFDMxvEYIaFZVJrQSwihZxmLQgPsnZeiagqSKHZQlow
cmp rax, rcx
jbe 0x180001deb
xor eax, eax
jmp 0x180001ec5
mov eax, ebx
and eax, 0xffffffe0
lea rdx, [rax - 0x20]
mov rcx, rdx
shr rcx, 5
add rcx, 1
mov r8d, ecx
and r8d, 1
test rdx, rdx
je 0x180001e85
lea rsi, [r11 + r12]
add rsi, 0x438
mov rdi, r8
sub rdi, rcx
xor edx, edx
mov ecx, edx
and ecx, 0x3c0
movups xmm0, xmmword [rcx + r12 + 4]
movups xmm1, xmmword [rcx + r12 + 0x14]
movups xmm2, xmmword [rsi + rdx - 0x30]
xorps xmm2, xmm0
movups xmm0, xmmword [rsi + rdx - 0x20]
xorps xmm0, xmm1
movups xmm1, xmmword [rsi + rdx - 0x10]
movups xmm3, xmmword [rsi + rdx]
movups xmmword [rsi + rdx - 0x30], xmm2
movups xmmword [rsi + rdx - 0x20], xmm0
lea ecx, [rdx + 0x20]
and ecx, 0x3e0
movups xmm0, xmmword [rcx + r12 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rcx + r12 + 0x14]
xorps xmm1, xmm3
movups xmmword [rsi + rdx - 0x10], xmm0
movups xmmword [rsi + rdx], xmm1
add rdx, 0x40
add rdi, 2
jne 0x180001e1e
jmp 0x180001e87
xor edx, edx
test r8, r8
je 0x180001ebc
mov ecx, edx
and ecx, 0x3e0
movups xmm0, xmmword [rcx + r12 + 4]
movups xmm1, xmmword [rcx + r12 + 0x14]
mov rcx, qword [rbp]
movups xmm2, xmmword [rcx + rdx]
xorps xmm2, xmm0
movups xmm0, xmmword [rcx + rdx + 0x10]
xorps xmm0, xmm1
movups xmmword [rcx + rdx], xmm2
movups xmmword [rcx + rdx + 0x10], xmm0
cmp rax, rbx
je 0x180002323
lea rcx, [r11 + r12]
add rcx, 0x408
mov edx, eax
and edx, 0x3ff
movzx edx, byte [rdx + r12 + 4]
xor byte [rcx + rax], dl
add rax, 1
cmp rax, rbx
jb 0x180001ed0
jmp 0x180002323
movsxd rax, dword [0x180004440]
mov r15, qword [rbp]
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001efa
add rax, r12
add rax, 0x404
mov qword [rbp - 8], rax
mov r14, r15
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001f14
mov r13, r14
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001f21
mov rdi, r13
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001f2f
mov rbx, rdi
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001f3b
mov rsi, rbx
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x180001f47
sub rsp, 0x20
mov rcx, r15
call fcn.180002b20
mov rcx, rax
mov rdx, r14
call fcn.1800029f0
mov rcx, rbx
call rax
mov rcx, rax
mov rdx, rdi
call fcn.1800029f0
sub rsp, 0x10
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, rsi
mov r8, rsi
call rax
add rsp, 0x10
mov rcx, r15
call fcn.180002b20
mov rcx, rax
mov rdx, qword [rbp]
call fcn.1800029f0
add rsp, 0x20
mov rcx, qword [rbp - 8]
mov edx, dword [rcx + 0x50]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call rax
add rsp, 0x20
mov ebx, dword [0x180020a70]
mov esi, dword [0x180020a6c]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp esi, 0xa
jl 0x180002374
test ecx, ecx
je 0x180002374
cmp dword [0x180020a7c], 0xa
jl 0x18000201c
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002360
movsxd r13, dword [0x180004440]
mov r14, qword [rbp]
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180002027
mov r15, r14
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180002034
mov rdi, r15
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180002041
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x18000204a
mov rsi, rdi
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x180002056
mov rbx, rsi
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180002062
sub rsp, 0x20
mov rcx, r14
call fcn.180002b20
mov rcx, rax
mov rdx, r15
call fcn.1800029f0
mov rcx, rsi
call rax
mov rcx, rax
mov rdx, rdi
call fcn.1800029f0
sub rsp, 0x10
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, rbx
mov r8, rbx
call rax
add rsp, 0x10
mov rcx, r14
call fcn.180002b20
mov rcx, rax
mov r14, qword [rbp]
mov rdx, r14
call fcn.1800029f0
add rsp, 0x20
mov edx, dword [r13 + r12 + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call rax
add rsp, 0x20
movsxd r13, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
jl 0x180002120
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov r14, qword [rbp]
and ecx, 1
jne 0x180002370
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180002120
mov r15, r14
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x18000212d
mov rdi, r15
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x18000213a
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180002143
mov rsi, rdi
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x18000214f
mov rbx, rsi
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x18000215b
sub rsp, 0x20
mov rcx, r14
call fcn.180002b20
mov rcx, rax
mov rdx, r15
call fcn.1800029f0
mov rcx, rsi
call rax
mov rcx, rax
mov rdx, rdi
call fcn.1800029f0
sub rsp, 0x10
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, rbx
mov r8, rbx
call rax
add rsp, 0x10
mov rcx, r14
call fcn.180002b20
mov rcx, rax
mov rdx, qword [rbp]
call fcn.1800029f0
add rsp, 0x20
mov edx, dword [r13 + r12 + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call rax
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x18000220b
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ffe
movsxd r13, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
mov r14, qword [rbp]
jl 0x180002238
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov r14, qword [rbp]
and ecx, 1
jne 0x180002372
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180002238
mov r15, r14
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180002245
mov rdi, r15
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180002252
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x18000225b
mov rsi, rdi
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x180002267
mov rbx, rsi
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180002273
sub rsp, 0x20
mov rcx, r14
call fcn.180002b20
mov rcx, rax
mov rdx, r15
call fcn.1800029f0
mov rcx, rsi
call rax
mov rcx, rax
mov rdx, rdi
call fcn.1800029f0
sub rsp, 0x10
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, rbx
mov r8, rbx
call rax
add rsp, 0x10
mov rcx, r14
call fcn.180002b20
mov rcx, rax
mov rdx, qword [rbp]
call fcn.1800029f0
add rsp, 0x20
mov edx, dword [r13 + r12 + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call rax
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x180002323
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ffe
cmp dword [0x180020a7c], 0xa
jl 0x180001eef
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001eef
nop word cs:[rax + rax]
nop
jmp 0x180002350
jmp 0x180002360
jmp 0x180002370
jmp 0x180002372
mov qword [rbp], rax
cmp esi, 0xa
jl 0x180002383
test ecx, ecx
je 0x180002383
jmp 0x180002381
mov rax, qword [rbp - 8]
lea r11, [rax + 0x108]
xor r10d, r10d
mov rax, qword [rbp - 8]
movzx eax, word [rax + 6]
cmp r10, rax
jae 0x180002526
mov ecx, dword [0x180020a74]
mov eax, dword [0x180020a78]
lea rdx, [r10 + r10*4]
lea rbx, [r11 + rdx*8]
add rbx, 0xc
mov qword [rbp - 0x18], rbx
lea r9, [r11 + rdx*8]
add r9, 0x10
lea rdx, [r11 + rdx*8]
add rdx, 0x14
mov qword [rbp - 0x10], rdx
cmp eax, 0xa
jl 0x1800023e6
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180002522
mov esi, dword [r9]
test rsi, rsi
je 0x180002457
mov rax, qword [rbp - 0x10]
mov eax, dword [rax]
lea rbx, [rax + r12]
add rbx, 0x404
mov rax, qword [rbp - 0x18]
mov r8d, dword [rax]
add r8, qword [rbp]
jmp 0x18000241d
add rsi, 0xffffffffffffffff
add r8, 1
add rbx, 1
test rsi, rsi
je 0x180002457
movzx eax, byte [rbx]
mov byte [r8], al
mov ecx, dword [0x180020a74]
mov eax, dword [0x180020a78]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
cmp eax, 0xa
jl 0x180002449
test edx, edx
je 0x180002449
movzx eax, byte [rbx]
mov byte [r8], al
jmp 0x18000241d
cmp eax, 0xa
jl 0x18000240c
test edx, edx
je 0x18000240c
jmp 0x18000251e
mov ebx, dword [0x180020a70]
mov esi, dword [0x180020a6c]
lea edx, [rbx - 1]
imul edx, ebx
and edx, 1
cmp esi, 0xa
jl 0x180002504
test edx, edx
je 0x180002504
cmp eax, 0xa
jl 0x180002491
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180002524
mov esi, dword [r9]
test rsi, rsi
je 0x1800023d2
mov rax, qword [rbp - 0x10]
mov eax, dword [rax]
lea rbx, [rax + r12]
add rbx, 0x404
mov rax, qword [rbp - 0x18]
mov edx, dword [rax]
add rdx, qword [rbp]
jmp 0x1800024cf
add rsi, 0xffffffffffffffff
add rdx, 1
add rbx, 1
test rsi, rsi
je 0x1800023d2
movzx eax, byte [rbx]
mov byte [rdx], al
mov ecx, dword [0x180020a74]
mov eax, dword [0x180020a78]
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
cmp eax, 0xa
jl 0x1800024f9
test edi, edi
je 0x1800024f9
movzx eax, byte [rbx]
mov byte [rdx], al
jmp 0x1800024cf
cmp eax, 0xa
jl 0x1800024ba
test edi, edi
je 0x1800024ba
jmp 0x180002520
add r10, 1
cmp esi, 0xa
jl 0x180002391
test edx, edx
je 0x180002391
jmp 0x180002381
jmp 0x18000251e
jmp 0x180002520
jmp 0x180002522
jmp 0x180002524
mov rdx, qword [rbp - 8]
mov eax, dword [rdx + 0xb0]
mov rcx, qword [rbp]
add rax, rcx
sub rcx, qword [rdx + 0x30]
movabs r8, 0x1fffffff8
jmp 0x18000254d
mov edx, dword [rax + 4]
add rax, rdx
lea r9d, [rbx - 1]
imul r9d, ebx
test r9b, 1
sete r10b
cmp esi, 0xa
setl dl
or dl, r10b
test dl, dl
je 0x180002566
cmp dword [rax], 0
je 0x180002798
mov edi, dword [rax + 4]
cmp rdi, 8
jb 0x180002778
cmp esi, 0xa
jl 0x18000258f
and r9d, 1
jne 0x180002792
add rdi, r8
shr rdi, 1
mov r9d, edi
xor r10d, r10d
cmp r10, r9
je 0x180002778
movzx edx, word [rax + r10*2 + 8]
mov edi, edx
shr edi, 0xc
mov r11d, edx
and r11d, 0xfff
cmp edx, 0xa000
jae 0x18000266d
cmp edi, 3
jne 0x18000274f
cmp esi, 0xa
jl 0x1800025e2
lea edx, [rbx - 1]
imul edx, ebx
and edx, 1
jne 0x180002796
mov edx, dword [rax]
mov rsi, qword [rbp]
lea rdx, [rsi + rdx*4]
add dword [rdx + r11*4], ecx
mov ebx, dword [0x180020a70]
mov esi, dword [0x180020a6c]
cmp esi, 0xa
jl 0x18000274f
lea edx, [rbx - 1]
imul edx, ebx
and edx, 1
je 0x18000274f
mov edx, r11d
mov rbx, qword [rbp]
lea rdx, [rbx + rdx*4]
mov ebx, dword [rax]
add dword [rdx + rbx*4], ecx
mov ebx, dword [rax]
add dword [rdx + rbx*4], ecx
cmp dword [0x180020a6c], 0xa
jl 0x180002643
mov ebx, dword [0x180020a70]
lea edi, [rbx - 1]
imul edi, ebx
and edi, 1
jne 0x18000261f
mov ebx, dword [rax]
add dword [rdx + rbx*4], ecx
mov ebx, dword [0x180020a70]
mov esi, dword [0x180020a6c]
cmp esi, 0xa
jl 0x18000274f
lea edi, [rbx - 1]
imul edi, ebx
and edi, 1
jne 0x18000261f
jmp 0x18000274f
cmp edi, 0xa
jne 0x18000274f
mov edx, r11d
cmp esi, 0xa
jl 0x1800026c4
lea edi, [rbx - 1]
imul edi, ebx
and edi, 1
je 0x1800026c4
mov rbx, qword [rbp]
add rbx, rdx
mov edi, dword [rax]
add qword [rdi + rbx], rcx
mov edi, dword [rax]
add qword [rdi + rbx], rcx
cmp dword [0x180020a6c], 0xa
jl 0x1800026c4
mov edi, dword [0x180020a70]
lea esi, [rdi - 1]
imul esi, edi
and esi, 1
je 0x1800026c4
mov edi, dword [rax]
add qword [rbx + rdi], rcx
mov edi, dword [rax]
add qword [rbx + rdi], rcx
jmp 0x18000269c
mov rbx, qword [rbp]
lea r11, [rdx + rbx]
mov esi, dword [rax]
add qword [rsi + r11], rcx
jmp 0x1800026e1
mov esi, dword [rax]
mov rdi, qword [rbp]
add rdi, rdx
add qword [rsi + rdi], rcx
mov ebx, dword [0x180020a70]
mov esi, dword [0x180020a6c]
cmp esi, 0xa
jl 0x18000274f
lea edi, [rbx - 1]
imul edi, ebx
and edi, 1
je 0x18000274f
mov esi, dword [rax]
add qword [r11 + rsi], rcx
cmp dword [0x180020a6c], 0xa
jl 0x180002720
mov esi, dword [0x180020a70]
lea edi, [rsi - 1]
imul edi, esi
mov rsi, r11
and edi, 1
jne 0x180002747
mov edi, dword [rax]
mov rsi, qword [rbp]
add rsi, rdx
add qword [rdi + rsi], rcx
cmp dword [0x180020a6c], 0xa
jl 0x1800026d4
mov edi, dword [0x180020a70]
lea ebx, [rdi - 1]
imul ebx, edi
and ebx, 1
je 0x1800026d4
mov edi, dword [rax]
add qword [rsi + rdi], rcx
jmp 0x180002720
lea edx, [rbx - 1]
imul edx, ebx
and edx, 1
cmp esi, 0xa
jl 0x180002761
test edx, edx
jne 0x180002794
add r10, 1
cmp esi, 0xa
jl 0x18000259b
test edx, edx
je 0x18000259b
jmp 0x180002792
cmp esi, 0xa
jl 0x180002547
lea edx, [rbx - 1]
imul edx, ebx
and edx, 1
je 0x180002547
jmp 0x180002790
jmp 0x180002792
jmp 0x180002794
jmp 0x180002796
cmp esi, 0xa
jl 0x1800027ac
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x180002962
mov rax, qword [rbp]
mov rcx, rax
add rax, 2
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x90]
add rax, rcx
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov r12d, dword [rax + 0xc]
test r12, r12
je 0x180002964
add r12, qword [rbp]
sub rsp, 0x20
mov rcx, r15
call fcn.180002b20
mov rcx, rax
mov rdx, r14
call fcn.1800029f0
mov rcx, r12
call rax
add rsp, 0x20
mov rsi, rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x18000283e
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x18000283e
sub rsp, 0x20
mov rcx, r15
call fcn.180002b20
mov rcx, rax
mov rdx, r14
call fcn.1800029f0
mov rcx, r12
call rax
jmp 0x1800027e5
mov rdx, qword [rbp - 0x10]
mov ebx, dword [rdx]
mov rdx, qword [rbp]
mov rdx, qword [rdx + rbx]
test rdx, rdx
je 0x180002945
mov rdi, rbx
mov rax, qword [rbp]
add rdi, rax
mov rcx, qword [rbp - 0x10]
mov ebx, dword [rcx + 0x10]
add rbx, rax
jmp 0x180002880
add rbx, 8
mov rdx, qword [rdi + 8]
add rdi, 8
test rdx, rdx
je 0x180002945
mov rax, qword [rbp - 0x18]
add rax, rdx
test rdx, rdx
movzx r12d, dx
cmovns r12, rax
sub rsp, 0x20
mov rcx, r15
call fcn.180002b20
mov rcx, rax
mov rdx, r13
call fcn.1800029f0
mov rcx, rsi
mov rdx, r12
call rax
add rsp, 0x20
mov qword [rbx], rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x18000286b
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x18000286b
sub rsp, 0x20
mov rcx, r15
call fcn.180002b20
mov rcx, rax
mov rdx, r13
call fcn.1800029f0
mov rcx, rsi
mov rdx, r12
call rax
add rsp, 0x20
mov qword [rbx], rax
sub rsp, 0x20
mov rcx, r15
call fcn.180002b20
mov rcx, rax
mov rdx, r13
call fcn.1800029f0
mov rcx, rsi
mov rdx, r12
call rax
add rsp, 0x20
mov qword [rbx], rax
mov ecx, dword [0x180020a70]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
cmp dword [0x180020a6c], 0xa
jl 0x180002892
test eax, eax
jne 0x1800028d4
jmp 0x180002892
add qword [rbp - 0x10], 0x14
cmp ecx, 0xa
jl 0x1800027cc
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800027cc
jmp 0x180002962
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x28]
add rax, qword [rbp]
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x1800029d8
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800029d8
mov rsi, qword [rbp - 8]
mov eax, dword [rsi + 0x28]
mov rcx, qword [rbp]
mov rdi, rcx
add rax, rcx
sub rsp, 0x20
call rax
add rsp, 0x20
mov eax, dword [rsi + 0x28]
add rax, rdi
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x1800029d8
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002997
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret