Function at 0x1800010b0
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 0x1800010e2
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800010e2
nop
jmp 0x1800010e0
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
mov eax, 0x10
call entry0
sub rsp, rax
mov r9, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r10, rsp
cmp ecx, 0xa
jl 0x180001122
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x180001122
nop
jmp 0x180001120
lea r8, section..data
cmp ecx, 0xa
jl 0x18000113d
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180001350
mov esi, 4
mov r11, r8
mov rdi, r9
nop dword [rax + rax]
sub rsi, 1
jb 0x18000119b
mov al, byte [r11]
nop dword [rax]
mov byte [rdi], al
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
cmp ecx, 0xa
jl 0x18000117e
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
jne 0x180001160
add r11, 1
add rdi, 1
cmp ecx, 0xa
jl 0x180001150
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x180001150
jmp 0x180001350
cmp dword [0x180020a6c], 0xa
jl 0x180001392
mov eax, dword [0x180020a70]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
je 0x180001392
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
mov eax, 0x10
call entry0
sub rsp, rax
mov rax, rsp
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
cmp ecx, 0xa
jl 0x1800011ef
test ebx, ebx
jne 0x180001380
cmp ecx, 0xa
jl 0x1800011fc
test ebx, ebx
jne 0x180001360
mov edi, 4
mov r9, r8
nop word cs:[rax + rax]
nop
sub rdi, 1
jb 0x18000125b
mov bl, byte [r9]
nop dword [rax]
mov byte [rax], bl
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
cmp ecx, 0xa
jl 0x18000123e
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
jne 0x180001220
add r9, 1
add rax, 1
cmp ecx, 0xa
jl 0x180001210
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
je 0x180001210
jmp 0x180001360
mov eax, 0x10
call entry0
sub rsp, rax
mov rax, rsp
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
cmp ecx, 0xa
jl 0x180001281
test ebx, ebx
jne 0x180001390
cmp ecx, 0xa
jl 0x18000128e
test ebx, ebx
jne 0x180001370
mov edi, 4
mov r9, r8
nop word cs:[rax + rax]
sub rdi, 1
jb 0x1800012eb
mov bl, byte [r9]
nop dword [rax]
mov byte [rax], bl
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
cmp ecx, 0xa
jl 0x1800012ce
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
jne 0x1800012b0
add r9, 1
add rax, 1
cmp ecx, 0xa
jl 0x1800012a0
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
je 0x1800012a0
jmp 0x180001370
cmp dword [0x180020a6c], 0xa
jl 0x180001309
mov eax, dword [0x180020a70]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
jne 0x1800011c9
mov eax, 0x10
call entry0
sub rsp, rax
mov r9, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r10, rsp
cmp ecx, 0xa
jl 0x180001129
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x180001129
jmp 0x180001120
jmp 0x180001350
jmp 0x180001360
jmp 0x180001370
jmp 0x180001380
jmp 0x180001390
mov r9d, dword [r9]
test r9, r9
je 0x1800014af
xor esi, esi
cmp r9d, 0x10
jb 0x180001481
lea rax, [r9 - 1]
cmp rax, 0x400
jae 0x180001481
mov esi, r9d
and esi, 0xfffffff0
lea rdi, [rsi - 0x10]
mov rax, rdi
shr rax, 4
add rax, 1
mov r8d, eax
and r8d, 1
test rdi, rdi
je 0x180001448
mov rbx, r8
sub rbx, rax
xor edi, edi
lea r11, section..data
movaps xmm0, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
mov eax, edi
and eax, 0x3e0
movups xmm1, xmmword [rax + r11 + 4]
movups xmm2, xmmword [rdi + r11 + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rdi + r11 + 0x414]
xorps xmm2, xmm0
movups xmmword [rdi + r11 + 0x404], xmm2
lea eax, [rdi + 0x10]
and eax, 0x3f0
movups xmm2, xmmword [rax + r11 + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rdi + r11 + 0x414], xmm1
add rdi, 0x20
add rbx, 2
jne 0x1800013f1
jmp 0x18000144a
xor edi, edi
test r8, r8
je 0x18000147c
mov eax, edi
and eax, 0x3f0
lea rbx, section..data
movups xmm0, xmmword [rax + rbx + 4]
movups xmm1, xmmword [rdi + rbx + 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 [rdi + rbx + 0x404], xmm1
cmp rsi, r9
je 0x1800014af
lea rax, section..data
mov ebx, esi
and ebx, 0x3ff
movzx ebx, byte [rbx + rax + 4]
xor bl, byte [rsi + rax + 0x404]
xor bl, 0xc
mov byte [rsi + rax + 0x404], bl
add rsi, 1
cmp rsi, r9
jb 0x180001488
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x1800014d2
test eax, eax
je 0x1800014d2
nop word cs:[rax + rax]
nop dword [rax + rax]
jmp 0x1800014d0
cmp ecx, 0xa
jl 0x1800014db
test eax, eax
jne 0x180001550
lea r11, section..data
lea r13, [r9 + r11]
add r13, 0x404
mov ecx, 4
mov r8, r13
mov rax, r10
sub rcx, 1
jb 0x180001552
mov dl, byte [r8]
nop word cs:[rax + rax]
nop dword [rax + rax]
mov byte [rax], dl
mov ebx, dword [0x180020a74]
mov esi, dword [0x180020a78]
cmp esi, 0xa
jl 0x18000152e
lea edi, [rbx - 1]
imul edi, ebx
and edi, 1
jne 0x180001510
add r8, 1
add rax, 1
cmp esi, 0xa
jl 0x1800014f8
lea edx, [rbx - 1]
imul edx, ebx
and edx, 1
je 0x1800014f8
nop word cs:[rax + rax]
jmp 0x180001550
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a6c], 0xa
setl al
or al, cl
cmp al, 1
jne 0x1800015b0
add r13, 4
mov ecx, dword [r10]
lea rdx, [r9 + r11]
add rdx, 0x408
xor edi, edi
cmp rcx, rdi
je 0x180001685
mov ebx, edi
and ebx, 0x3ff
movzx ebx, byte [rbx + r11 + 4]
xor byte [rdx + rdi], bl
add rdi, 1
test al, al
jne 0x180001588
nop word [rax + rax]
jmp 0x1800015b0
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x1800015b2
mov r15, r14
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x1800015bf
mov rdi, r15
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x1800015cc
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x1800015d5
mov rsi, rdi
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x1800015e1
mov rbx, rsi
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x1800015ed
sub rsp, 0x20
mov rcx, r14
call fcn.180001f10
mov rcx, rax
mov rdx, r15
call fcn.180001dd0
mov rcx, rsi
call rax
mov rcx, rax
mov rdx, rdi
call fcn.180001dd0
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.180001f10
mov rcx, rax
mov rdx, r13
call fcn.180001dd0
add rsp, 0x20
lea rcx, section..data
mov edx, dword [r12 + rcx + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call rax
add rsp, 0x20
cmp dword [0x180020a7c], 0xa
jl 0x1800016a3
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800017f0
movsxd rax, dword [0x180004440]
mov qword [rbp - 8], rax
mov r12, r13
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x1800016b1
mov r14, r13
mov r15, r12
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x1800016c3
mov r13, r15
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x1800016d0
mov rdi, r13
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x1800016de
mov rbx, rdi
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x1800016ea
mov rsi, rbx
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x1800016f6
sub rsp, 0x20
mov rcx, r12
call fcn.180001f10
mov rcx, rax
mov rdx, r15
call fcn.180001dd0
mov rcx, rbx
call rax
mov rcx, rax
mov rdx, rdi
call fcn.180001dd0
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, r12
call fcn.180001f10
mov rcx, rax
mov rdx, r14
call fcn.180001dd0
add rsp, 0x20
lea rcx, section..data
mov rdx, qword [rbp - 8]
mov edx, dword [rdx + rcx + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call rax
add rsp, 0x20
mov esi, dword [0x180020a70]
mov r8d, dword [0x180020a6c]
lea ecx, [rsi - 1]
imul ecx, esi
and ecx, 1
cmp r8d, 0xa
jl 0x1800017f2
test ecx, ecx
je 0x1800017f2
movsxd r12, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
mov r13, r14
jl 0x1800015b2
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov r14, r13
and ecx, 1
je 0x1800015b2
jmp 0x1800017e0
jmp 0x1800017f0
mov qword [rbp], rax
cmp r8d, 0xa
jl 0x180001802
test ecx, ecx
je 0x180001802
jmp 0x180001800
lea rax, section..data
mov rcx, qword [rbp - 8]
add rax, rcx
add rax, 0x404
mov qword [rbp - 0x10], rax
lea r14, [rax + 0x108]
xor r10d, r10d
mov rax, qword [rbp - 0x10]
movzx ecx, word [rax + 6]
cmp r10, rcx
jae 0x1800019d3
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea rax, [r10 + r10*4]
lea rcx, [r14 + rax*8]
add rcx, 0x14
mov qword [rbp - 8], rcx
lea r9, [r14 + rax*8]
add r9, 0x10
lea r11, [r14 + rax*8]
add r11, 0xc
cmp edx, 0xa
jl 0x180001875
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x1800019cf
cmp edx, 0xa
jl 0x180001889
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x1800019cb
mov eax, dword [r11]
add rax, qword [rbp]
mov esi, dword [r9]
mov rcx, qword [rbp - 8]
mov ecx, dword [rcx]
lea rdi, section..data
add rcx, rdi
add rcx, 0x404
sub rsi, 1
jb 0x1800018f8
movzx edx, byte [rcx]
mov byte [rax], dl
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
cmp edx, 0xa
jl 0x1800018d8
lea edi, [rbx - 1]
imul edi, ebx
and edi, 1
je 0x1800018d8
movzx edx, byte [rcx]
mov byte [rax], dl
jmp 0x1800018b0
add rcx, 1
add rax, 1
cmp edx, 0xa
jl 0x1800018aa
lea r8d, [rbx - 1]
imul r8d, ebx
and r8d, 1
je 0x1800018aa
jmp 0x1800019cb
mov esi, dword [0x180020a70]
mov r8d, dword [0x180020a6c]
lea ecx, [rsi - 1]
imul ecx, esi
and ecx, 1
cmp r8d, 0xa
jl 0x1800019b0
test ecx, ecx
je 0x1800019b0
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp edx, 0xa
jl 0x180001936
test eax, eax
jne 0x1800019d1
cmp edx, 0xa
jl 0x180001943
test eax, eax
jne 0x1800019cd
mov eax, dword [r11]
add rax, qword [rbp]
mov esi, dword [r9]
mov rcx, qword [rbp - 8]
mov ecx, dword [rcx]
lea rdi, section..data
add rcx, rdi
add rcx, 0x404
sub rsi, 1
jb 0x180001861
movzx edx, byte [rcx]
mov byte [rax], dl
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
cmp edx, 0xa
jl 0x180001996
lea edi, [rbx - 1]
imul edi, ebx
and edi, 1
je 0x180001996
movzx edx, byte [rcx]
mov byte [rax], dl
jmp 0x18000196e
add rcx, 1
add rax, 1
cmp edx, 0xa
jl 0x180001964
lea edi, [rbx - 1]
imul edi, ebx
and edi, 1
je 0x180001964
jmp 0x1800019cd
add r10, 1
cmp r8d, 0xa
jl 0x180001824
test ecx, ecx
je 0x180001824
jmp 0x180001800
jmp 0x1800019cb
jmp 0x1800019cd
jmp 0x1800019cf
jmp 0x1800019d1
mov r14, qword [rbp]
mov rax, qword [rbp - 0x10]
sub r14, qword [rax + 0x30]
cmp r8d, 0xa
jl 0x1800019f2
lea ecx, [rsi - 1]
imul ecx, esi
and ecx, 1
je 0x1800019f2
jmp 0x1800019f0
mov rax, qword [rbp - 0x10]
mov edx, dword [rax + 0xb0]
add rdx, qword [rbp]
cmp dword [rdx], 0
je 0x180001bea
mov ecx, dword [rdx + 4]
cmp rcx, 8
jb 0x180001bb0
cmp r8d, 0xa
jl 0x180001a2b
lea ebx, [rsi - 1]
imul ebx, esi
and ebx, 1
jne 0x180001be0
movabs rax, 0x1fffffff8
add rcx, rax
shr rcx, 1
mov r9d, ecx
xor r11d, r11d
cmp r11, r9
je 0x180001bb0
movzx ecx, word [rdx + r11*2 + 8]
mov ebx, ecx
shr ebx, 0xc
mov edi, ecx
and edi, 0xfff
cmp ecx, 0xa000
jae 0x180001ac1
cmp ebx, 3
jne 0x180001b9b
cmp r8d, 0xa
jl 0x180001a83
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
jne 0x180001be4
mov eax, dword [rdx]
mov rcx, qword [rbp]
lea rcx, [rcx + rdi*4]
add dword [rcx + rax*4], r14d
mov esi, dword [0x180020a70]
mov r8d, dword [0x180020a6c]
cmp r8d, 0xa
jl 0x180001b9b
lea ebx, [rsi - 1]
imul ebx, esi
and ebx, 1
je 0x180001b9b
mov eax, dword [rdx]
add dword [rcx + rax*4], r14d
mov eax, dword [rdx]
jmp 0x180001a8d
cmp ebx, 0xa
jne 0x180001b9b
lea ebx, [rsi - 1]
imul ebx, esi
and ebx, 1
cmp r8d, 0xa
jl 0x180001ae1
test ebx, ebx
jne 0x180001be6
mov r10d, edi
cmp r8d, 0xa
jl 0x180001b11
test ebx, ebx
je 0x180001b11
mov eax, dword [rdx]
mov rcx, qword [rbp]
add rcx, r10
add qword [rax + rcx], r14
mov ecx, dword [0x180020a70]
mov r8d, dword [0x180020a6c]
lea ebx, [rcx - 1]
imul ebx, ecx
and ebx, 1
cmp r8d, 0xa
jl 0x180001b3e
test ebx, ebx
je 0x180001b3e
mov eax, dword [rdx]
mov rcx, qword [rbp]
add rcx, r10
add qword [rax + rcx], r14
mov ecx, dword [0x180020a70]
mov r8d, dword [0x180020a6c]
lea ebx, [rcx - 1]
imul ebx, ecx
and ebx, 1
cmp r8d, 0xa
jl 0x180001b70
test ebx, ebx
je 0x180001b70
mov rax, qword [rbp]
lea rcx, [r10 + rax]
jmp 0x180001b6a
add r11, 1
cmp r8d, 0xa
jl 0x180001a41
test ecx, ecx
je 0x180001a41
jmp 0x180001be0
mov eax, dword [rdx]
add qword [rcx + rax], r14
mov eax, dword [rdx]
mov rcx, qword [rbp]
add rcx, r10
add qword [rax + rcx], r14
mov esi, dword [0x180020a70]
mov r8d, dword [0x180020a6c]
cmp r8d, 0xa
jl 0x180001b9b
lea edi, [rsi - 1]
imul edi, esi
and edi, 1
jne 0x180001b6a
lea ecx, [rsi - 1]
imul ecx, esi
and ecx, 1
cmp r8d, 0xa
jl 0x180001b52
test ecx, ecx
je 0x180001b52
jmp 0x180001be2
lea ecx, [rsi - 1]
imul ecx, esi
and ecx, 1
cmp r8d, 0xa
jl 0x180001bc3
test ecx, ecx
jne 0x180001be8
mov ebx, dword [rdx + 4]
add rdx, rbx
cmp r8d, 0xa
jl 0x180001a00
test ecx, ecx
je 0x180001a00
jmp 0x1800019f0
jmp 0x180001be0
jmp 0x180001be2
jmp 0x180001be4
jmp 0x180001be6
jmp 0x180001be8
cmp r8d, 0xa
jl 0x180001bfd
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
je 0x180001bfd
jmp 0x180001bfb
mov rax, qword [rbp]
lea rdi, [rax + 2]
mov rcx, qword [rbp - 0x10]
mov ecx, dword [rcx + 0x90]
add rcx, rax
mov qword [rbp - 0x18], rcx
mov rax, qword [rbp - 0x18]
mov ebx, dword [rax + 0xc]
test rbx, rbx
je 0x180001d49
add rbx, qword [rbp]
sub rsp, 0x20
mov rcx, r12
call fcn.180001f10
mov rcx, rax
mov rdx, r15
call fcn.180001dd0
mov rcx, rbx
call rax
add rsp, 0x20
mov rsi, rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x180001c87
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180001c87
sub rsp, 0x20
mov rcx, r12
call fcn.180001f10
mov rcx, rax
mov rdx, r15
call fcn.180001dd0
mov rcx, rbx
call rax
jmp 0x180001c2e
cmp ecx, 0xa
jl 0x180001c9b
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001d45
mov rdx, qword [rbp - 0x18]
mov ebx, dword [rdx]
mov qword [rbp - 8], rbx
mov edx, dword [rdx + 0x10]
mov qword [rbp - 0x20], rdx
mov r14, qword [rbp]
mov rdx, qword [rbp - 8]
mov rdx, qword [r14 + rdx]
test rdx, rdx
je 0x180001d23
lea rax, [rdi + rdx]
test rdx, rdx
movzx ebx, dx
cmovns rbx, rax
sub rsp, 0x20
mov rcx, r12
call fcn.180001f10
mov rcx, rax
mov rdx, r13
call fcn.180001dd0
mov rcx, rsi
mov rdx, rbx
call rax
add rsp, 0x20
mov rcx, qword [rbp - 0x20]
mov qword [r14 + rcx], rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180001d14
test edx, edx
jne 0x180001d47
add r14, 8
cmp ecx, 0xa
jl 0x180001cb0
test edx, edx
je 0x180001cb0
jmp 0x180001d45
add qword [rbp - 0x18], 0x14
cmp ecx, 0xa
jl 0x180001c16
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001c16
jmp 0x180001bfb
jmp 0x180001d45
jmp 0x180001d47
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x28]
add rax, qword [rbp]
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x180001dbd
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001dbd
mov rdi, qword [rbp - 0x10]
mov eax, dword [rdi + 0x28]
mov rcx, qword [rbp]
mov rsi, rcx
add rax, rcx
sub rsp, 0x20
call rax
add rsp, 0x20
mov eax, dword [rdi + 0x28]
add rax, rsi
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x180001dbd
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001d7c
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret