Function at 0x1800010d0
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 0x180001102
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001102
nop
jmp 0x180001100
mov eax, 0x10
call entry0
sub rsp, rax
mov rsi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r10, rsp
mov ebx, dword [0x180020a74]
mov edi, dword [0x180020a78]
cmp edi, 0xa
jl 0x180001142
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
je 0x180001142
nop
jmp 0x180001140
lea r8, section..data
cmp edi, 0xa
jl 0x18000115d
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x180001710
mov al, byte [section..data]
mov byte [rsi], al
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp ebx, 0xa
jl 0x1800011b6
test ecx, ecx
je 0x1800011b6
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
sete r9b
cmp ebx, 0xa
setl dl
or dl, r9b
nop word cs:[rax + rax]
nop
test dl, dl
je 0x1800011b0
mov byte [rsi], al
cmp ebx, 0xa
jl 0x1800011c3
test ecx, ecx
jne 0x180001710
mov al, byte [0x180004001]
mov byte [rsi + 1], al
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp ebx, 0xa
jl 0x180001217
test ecx, ecx
je 0x180001217
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
sete r9b
cmp ebx, 0xa
setl dl
or dl, r9b
nop dword [rax]
test dl, dl
je 0x180001210
mov byte [rsi + 1], al
cmp ebx, 0xa
jl 0x180001224
test ecx, ecx
jne 0x180001710
mov al, byte [0x180004002]
mov byte [rsi + 2], al
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp ebx, 0xa
jl 0x180001277
test ecx, ecx
je 0x180001277
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
sete r9b
cmp ebx, 0xa
setl dl
or dl, r9b
nop dword [rax]
test dl, dl
je 0x180001270
mov byte [rsi + 2], al
cmp ebx, 0xa
jl 0x180001284
test ecx, ecx
jne 0x180001710
mov al, byte [0x180004003]
mov byte [rsi + 3], al
mov edi, dword [0x180020a74]
mov r14d, dword [0x180020a78]
lea ecx, [rdi - 1]
imul ecx, edi
and ecx, 1
cmp r14d, 0xa
jl 0x1800012d7
test ecx, ecx
je 0x1800012d7
mov edi, dword [0x180020a74]
mov r14d, dword [0x180020a78]
lea ecx, [rdi - 1]
imul ecx, edi
and ecx, 1
sete bl
cmp r14d, 0xa
setl dl
or dl, bl
nop
test dl, dl
je 0x1800012d0
mov byte [rsi + 3], al
cmp r14d, 0xa
jl 0x1800012e5
test ecx, ecx
jne 0x180001710
cmp dword [0x180020a6c], 0xa
jl 0x180001752
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001752
mov eax, 0x10
call entry0
sub rsp, rax
mov rax, rsp
cmp r14d, 0xa
jl 0x18000132c
lea ecx, [rdi - 1]
imul ecx, edi
and ecx, 1
jne 0x180001730
mov r9d, 3
mov rcx, r8
mov dl, byte [r8]
jmp 0x180001340
mov dl, byte [rcx]
nop dword [rax]
mov byte [rax], dl
mov ebx, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea esi, [rbx - 1]
imul esi, ebx
and esi, 1
cmp edi, 0xa
jl 0x180001360
test esi, esi
jne 0x180001340
cmp edi, 0xa
jl 0x18000136d
test esi, esi
jne 0x180001700
add rax, 1
add rcx, 1
sub r9, 1
jae 0x18000133a
cmp edi, 0xa
jl 0x18000138f
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x180001740
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x1800013d4
test eax, eax
je 0x1800013d4
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
nop dword [rax]
test dl, dl
je 0x1800013d0
cmp ecx, 0xa
jl 0x1800013e1
test eax, eax
jne 0x1800016f0
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x180001424
test eax, eax
je 0x180001424
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
nop
test dl, dl
je 0x180001420
cmp ecx, 0xa
jl 0x180001431
test eax, eax
jne 0x1800016f0
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x180001474
test eax, eax
je 0x180001474
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
nop
test dl, dl
je 0x180001470
cmp ecx, 0xa
jl 0x180001481
test eax, eax
jne 0x1800016f0
mov ebx, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp edi, 0xa
jl 0x1800014c4
test eax, eax
je 0x1800014c4
mov ebx, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
sete dl
cmp edi, 0xa
setl cl
or cl, dl
nop
test cl, cl
je 0x1800014c0
cmp edi, 0xa
jl 0x1800014d1
test eax, eax
jne 0x1800016f0
cmp dword [0x180020a6c], 0xa
jl 0x1800014ef
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000166b
cmp edi, 0xa
jl 0x180001503
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x180001750
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x180001554
test eax, eax
je 0x180001554
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
nop word cs:[rax + rax]
nop dword [rax + rax]
test dl, dl
je 0x180001550
cmp ecx, 0xa
jl 0x180001561
test eax, eax
jne 0x180001720
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x1800015a4
test eax, eax
je 0x1800015a4
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
nop
test dl, dl
je 0x1800015a0
cmp ecx, 0xa
jl 0x1800015b1
test eax, eax
jne 0x180001720
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x1800015f4
test eax, eax
je 0x1800015f4
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
nop
test dl, dl
je 0x1800015f0
cmp ecx, 0xa
jl 0x180001601
test eax, eax
jne 0x180001720
mov ebx, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp edi, 0xa
jl 0x180001644
test eax, eax
je 0x180001644
mov ebx, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
sete dl
cmp edi, 0xa
setl cl
or cl, dl
nop
test cl, cl
je 0x180001640
cmp edi, 0xa
jl 0x180001651
test eax, eax
jne 0x180001720
cmp dword [0x180020a6c], 0xa
jl 0x1800016aa
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800016aa
mov eax, 0x10
call entry0
sub rsp, rax
mov rax, rsp
mov r9d, 3
mov rcx, r8
cmp edi, 0xa
jl 0x18000133a
lea edx, [rbx - 1]
imul edx, ebx
mov r9d, 3
mov rcx, r8
and edx, 1
je 0x18000133a
jmp 0x180001730
mov eax, 0x10
call entry0
sub rsp, rax
mov rsi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r10, rsp
cmp edi, 0xa
jl 0x180001149
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
je 0x180001149
jmp 0x180001140
jmp 0x1800016f0
jmp 0x180001700
jmp 0x180001710
jmp 0x180001720
jmp 0x180001730
jmp 0x180001740
jmp 0x180001750
mov r9d, dword [rsi]
test r9, r9
je 0x180001872
xor edx, edx
cmp r9d, 0x10
jb 0x180001844
lea rax, [r9 - 1]
cmp rax, 0x400
jae 0x180001844
mov edx, r9d
and edx, 0xfffffff0
lea rcx, [rdx - 0x10]
mov rax, rcx
shr rax, 4
add rax, 1
mov r8d, eax
and r8d, 1
test rcx, rcx
je 0x18000180a
mov rcx, r8
sub rcx, rax
xor eax, eax
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 esi, eax
and esi, 0x3e0
movups xmm1, xmmword [rsi + r11 + 4]
movups xmm2, xmmword [rax + r11 + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rax + r11 + 0x414]
xorps xmm2, xmm0
movups xmmword [rax + r11 + 0x404], xmm2
lea esi, [rax + 0x10]
and esi, 0x3f0
movups xmm2, xmmword [rsi + r11 + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rax + r11 + 0x414], xmm1
add rax, 0x20
add rcx, 2
jne 0x1800017b1
jmp 0x18000180c
xor eax, eax
test r8, r8
je 0x18000183f
mov ecx, eax
and ecx, 0x3f0
lea rsi, section..data
movups xmm0, xmmword [rcx + rsi + 4]
movups xmm1, xmmword [rax + rsi + 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 [rax + rsi + 0x404], xmm1
cmp rdx, r9
je 0x180001872
lea rax, section..data
mov ecx, edx
and ecx, 0x3ff
movzx ecx, byte [rcx + rax + 4]
xor cl, byte [rdx + rax + 0x404]
xor cl, 0xc
mov byte [rdx + rax + 0x404], cl
add rdx, 1
cmp rdx, r9
jb 0x18000184b
cmp r14d, 0xa
jl 0x180001892
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
je 0x180001892
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x180001890
lea rdi, section..data
lea r13, [r9 + rdi]
add r13, 0x404
mov dl, byte [r13]
mov byte [r10], dl
mov ebx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp ecx, 0xa
jl 0x1800018c9
test eax, eax
jne 0x1800018a8
cmp ecx, 0xa
jl 0x1800018d6
test eax, eax
jne 0x1800019f0
mov al, byte [r13 + 1]
mov byte [r10 + 1], al
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x180001926
test ecx, ecx
je 0x180001926
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
sete r8b
cmp edx, 0xa
setl bl
or bl, r8b
test bl, bl
je 0x18000191e
mov byte [r10 + 1], al
cmp edx, 0xa
jl 0x180001933
test ecx, ecx
jne 0x1800019f0
mov al, byte [r13 + 2]
mov byte [r10 + 2], al
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x180001983
test ecx, ecx
je 0x180001983
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
sete r8b
cmp edx, 0xa
setl bl
or bl, r8b
test bl, bl
je 0x18000197b
mov byte [r10 + 2], al
cmp edx, 0xa
jl 0x18000198c
test ecx, ecx
jne 0x1800019f0
mov al, byte [r13 + 3]
mov byte [r10 + 3], al
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x1800019dc
test ecx, ecx
je 0x1800019dc
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
sete r8b
cmp edx, 0xa
setl bl
or bl, r8b
test bl, bl
je 0x1800019d4
mov byte [r10 + 3], al
cmp edx, 0xa
jl 0x1800019f2
test ecx, ecx
je 0x1800019f2
nop word cs:[rax + rax]
nop
jmp 0x1800019f0
cmp dword [0x180020a6c], 0xa
jl 0x180001a12
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001a12
nop dword [rax]
jmp 0x180001a10
add r13, 4
mov r10d, dword [r10]
test r10, r10
je 0x180001b80
xor eax, eax
cmp r10d, 0x20
jb 0x180001b5c
lea rcx, [r10 - 1]
cmp rcx, 0x400
jae 0x180001b5c
lea rcx, [r9 + rdi]
add rcx, 0x408
mov r11, rdi
lea rdx, [r10 + rdi]
add rdx, 4
cmp rcx, rdx
jae 0x180001a7e
lea rcx, [r10 + r9]
add rcx, r11
add rcx, 0x408
lea rdx, str.RfpZnJWVBUrflmwnvnzyVOHiUfxwzxnrPJPhCwEClDlifwoaQgCiQYlXpHYhgAomvZxFjvgJZPvEXERezfHWtHukrZbnEkDFdGhDIzvefZisbbKgkJeDJkiCtKDJWceFQuBdiCCHbsdKEzlsWzxRSWlIycVejcyZbqMVMTPRAOGnzMsdVVRiYFRODznaTIYftDnOBKyifPmYaxIgjyHVjAvKqnjoGQzRMgXHjoEMCJJeYlUZBZLLhOdseijfzsDHpddUrmQQvZIlmItHauOEbBAmeSgyEDXHZKOEjjufARmMHrHmVUUTxvDTOcOLcntYzeGOUkpYVGsyGKsWrRDGjwOvQpPbYhURPweLHqdSxysXblOyhoJvVemflnJsBSCzEJXFJZuLOGACOosLwDCyqSnJMTwCVdhtWZWsOhHKKHveoLhEfjpxJfmCTjsmMqcWBhiPFjqYwkgcaUTcOOzqPJlJUBivpHnjYmHzzuBJRJbrTASjsmESSXWdqVxULDzlzYoxjeCLElVKtpgHBjvhJgKSzblnozCMIpRwYaoyHFAJAvPiOvKiEwzIYPUAJRUcruYbiSOvltUhnaicmwdHVCYQDqJWMuExeFoiFLLeMLanHffjWwALwEsgVXqgKattnykGHPZFyEMfLnkZESXqBgdbTJqBtuHryPDyGbaKufsAAvFdKmIHDjgadmjxcPvUHYGIwzuIpCzjfcLaCZsqXMmGUdJYBrRlvKBWWgVTkajgdAZajdCMBMmDBPgaJGjcJUOpdrXKuisIyHaRtIoiMfcCVlerToVjicMlkYCLyzRAyLdSkpRgcfRtkwEBwLFBOZOVRTUdLEpGIBcZAbyBRDOXVGCAOAyCnjcXTpnRnsuTmLyMUJRgeLpLLPmApAtPDpgiQyirxpetpyDKJrYvPqWMHcsFvGquzmyRFfHUvHMGcTFDcJmPvwpgYmZJciWbaEZxPnZUbuIxhZeCtkayymofhWeZivabVGUXrCcrxJaYrPeyqzwaAOOuBTADKGX
cmp rcx, rdx
jbe 0x180001a7e
xor eax, eax
mov rdi, r11
jmp 0x180001b5c
mov eax, r10d
and eax, 0xffffffe0
lea rbx, [rax - 0x20]
mov rcx, rbx
shr rcx, 5
add rcx, 1
mov r8d, ecx
and r8d, 1
test rbx, rbx
je 0x180001b18
mov rdx, r11
lea rsi, [r9 + r11]
add rsi, 0x438
mov rdi, r8
sub rdi, rcx
xor ebx, ebx
mov ecx, ebx
and ecx, 0x3c0
movups xmm0, xmmword [rcx + rdx + 4]
movups xmm1, xmmword [rcx + rdx + 0x14]
movups xmm2, xmmword [rsi + rbx - 0x30]
xorps xmm2, xmm0
movups xmm0, xmmword [rsi + rbx - 0x20]
xorps xmm0, xmm1
movups xmm1, xmmword [rsi + rbx - 0x10]
movups xmm3, xmmword [rsi + rbx]
movups xmmword [rsi + rbx - 0x30], xmm2
movups xmmword [rsi + rbx - 0x20], xmm0
lea ecx, [rbx + 0x20]
and ecx, 0x3e0
movups xmm0, xmmword [rcx + rdx + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rcx + rdx + 0x14]
xorps xmm1, xmm3
movups xmmword [rsi + rbx - 0x10], xmm0
movups xmmword [rsi + rbx], xmm1
add rbx, 0x40
add rdi, 2
jne 0x180001ab5
jmp 0x180001b1a
xor ebx, ebx
test r8, r8
je 0x180001b54
mov ecx, ebx
and ecx, 0x3e0
mov rdx, r11
movups xmm0, xmmword [rcx + r11 + 4]
movups xmm1, xmmword [rcx + r11 + 0x14]
movups xmm2, xmmword [r13 + rbx]
xorps xmm2, xmm0
movups xmm0, xmmword [r13 + rbx + 0x10]
xorps xmm0, xmm1
movups xmmword [r13 + rbx], xmm2
movups xmmword [r13 + rbx + 0x10], xmm0
cmp rax, r10
mov rdi, r11
je 0x180001b80
lea rcx, [r9 + rdi]
add rcx, 0x408
mov edx, eax
and edx, 0x3ff
movzx edx, byte [rdx + rdi + 4]
xor byte [rcx + rax], dl
add rax, 1
cmp rax, r10
jb 0x180001b67
cmp dword [0x180020a7c], 0xa
jl 0x180001ba2
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001ba2
nop word [rax + rax]
jmp 0x180001ba0
movsxd rax, dword [0x180004440]
add rax, rdi
add rax, 0x404
mov qword [rbp - 8], rax
mov r14, r13
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001bb9
mov r12, r14
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001bc6
mov r15, r12
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001bd5
mov rsi, r15
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x180001be2
mov rbx, rsi
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001bee
mov rdi, rbx
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001bfa
sub rsp, 0x20
mov rcx, r14
call fcn.180002300
mov rcx, rax
mov rdx, r12
call fcn.1800021d0
mov rcx, rbx
call rax
mov rcx, rax
mov rdx, rsi
call fcn.1800021d0
sub rsp, 0x10
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, rdi
mov r8, rdi
call rax
add rsp, 0x10
mov rcx, r14
call fcn.180002300
mov rcx, rax
mov rdx, r13
call fcn.1800021d0
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 qword [rbp], rax
mov eax, dword [0x180020a70]
mov esi, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp esi, 0xa
jl 0x180001cae
test ecx, ecx
je 0x180001cae
jmp 0x180001cac
cmp esi, 0xa
jl 0x180001cb9
test ecx, ecx
je 0x180001cb9
jmp 0x180001cb7
mov rcx, qword [rbp - 8]
lea r8, [rcx + 0x108]
xor r9d, r9d
mov rcx, qword [rbp - 8]
movzx ecx, word [rcx + 6]
cmp r9, rcx
jae 0x180001d93
cmp dword [0x180020a78], 0xa
jl 0x180001cf6
mov eax, dword [0x180020a74]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001d91
lea rcx, [r9 + r9*4]
mov eax, dword [r8 + rcx*8 + 0xc]
mov ebx, dword [r8 + rcx*8 + 0x10]
add rax, qword [rbp]
mov ecx, dword [r8 + rcx*8 + 0x14]
lea rdx, section..data
lea rsi, [rcx + rdx]
add rsi, 0x404
sub rbx, 1
jb 0x180001d62
movzx ecx, byte [rsi]
mov byte [rax], cl
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
cmp ecx, 0xa
jl 0x180001d4f
test edi, edi
je 0x180001d4f
movzx ecx, byte [rsi]
mov byte [rax], cl
jmp 0x180001d25
add rsi, 1
add rax, 1
cmp ecx, 0xa
jl 0x180001d1f
test edi, edi
je 0x180001d1f
jmp 0x180001d8f
add r9, 1
mov eax, dword [0x180020a70]
mov esi, dword [0x180020a6c]
cmp esi, 0xa
jl 0x180001cc7
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001cc7
jmp 0x180001cb7
jmp 0x180001d8f
jmp 0x180001d91
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp esi, 0xa
setl bl
or bl, cl
je 0x180001fb1
mov rdi, qword [rbp - 8]
mov rdx, qword [rdi + 0x30]
mov r8, qword [rbp]
mov rcx, r8
sub rcx, rdx
mov edx, dword [rdi + 0xb0]
add rdx, r8
movabs r8, 0x1fffffff8
cmp dword [rdx], 0
jne 0x180001e02
jmp 0x180001fbf
mov ebx, dword [rdx + 4]
add rdx, rbx
test dil, 1
sete r9b
cmp esi, 0xa
setl bl
or bl, r9b
je 0x180001fb1
cmp dword [rdx], 0
je 0x180001fbf
mov edi, dword [rdx + 4]
cmp rdi, 8
jb 0x180001f95
add rdi, r8
shr rdi, 1
test edi, edi
je 0x180001f90
mov r9d, edi
xor r10d, r10d
test bl, 1
jne 0x180001e54
jmp 0x180001fb5
add r10, 1
test dil, 1
sete r11b
cmp esi, 0xa
setl bl
or bl, r11b
cmp r10, r9
je 0x180001f90
test bl, 1
je 0x180001fb5
movzx ebx, word [rdx + r10*2 + 8]
mov edi, ebx
shr edi, 0xc
mov r11d, ebx
and r11d, 0xfff
cmp ebx, 0xa000
jae 0x180001f28
cmp edi, 3
jne 0x180001f74
cmp esi, 0xa
jl 0x180001e92
lea esi, [rax - 1]
imul esi, eax
and esi, 1
jne 0x180001fb9
mov eax, dword [rdx]
mov rsi, qword [rbp]
lea rax, [rsi + rax*4]
add dword [rax + r11*4], ecx
mov eax, dword [0x180020a70]
mov esi, dword [0x180020a6c]
cmp esi, 0xa
jl 0x180001f74
lea edi, [rax - 1]
imul edi, eax
and edi, 1
je 0x180001f74
mov rdi, qword [rbp]
lea rbx, [rdi + r11*4]
cmp esi, 0xa
jl 0x180001ee6
lea edi, [rax - 1]
imul edi, eax
and edi, 1
je 0x180001ee6
jmp 0x180001fb3
mov eax, dword [rdx]
add dword [rbx + rax*4], ecx
mov eax, dword [rdx]
add dword [rbx + rax*4], ecx
cmp dword [0x180020a6c], 0xa
jl 0x180001f05
mov eax, dword [0x180020a70]
lea edi, [rax - 1]
imul edi, eax
and edi, 1
jne 0x180001ee1
mov eax, dword [rdx]
add dword [rbx + rax*4], ecx
mov eax, dword [0x180020a70]
mov esi, dword [0x180020a6c]
cmp esi, 0xa
jl 0x180001f74
lea edi, [rax - 1]
imul edi, eax
and edi, 1
jne 0x180001ecc
jmp 0x180001f74
cmp edi, 0xa
jne 0x180001f74
cmp esi, 0xa
jl 0x180001f3d
lea esi, [rax - 1]
imul esi, eax
and esi, 1
jne 0x180001fbb
mov ebx, r11d
add rbx, qword [rbp]
mov eax, dword [rdx]
add qword [rax + rbx], rcx
mov eax, dword [0x180020a70]
mov esi, dword [0x180020a6c]
cmp esi, 0xa
jl 0x180001f74
lea edi, [rax - 1]
imul edi, eax
and edi, 1
je 0x180001f74
mov eax, dword [rdx]
add qword [rbx + rax], rcx
mov eax, dword [rdx]
add qword [rbx + rax], rcx
jmp 0x180001f4a
lea edi, [rax - 1]
imul edi, eax
cmp esi, 0xa
jl 0x180001e2d
mov ebx, edi
and ebx, 1
je 0x180001e2d
jmp 0x180001fb7
test bl, 1
je 0x180001fbd
lea edi, [rax - 1]
imul edi, eax
cmp esi, 0xa
jl 0x180001ddc
mov ebx, edi
and ebx, 1
je 0x180001ddc
jmp 0x180001faf
jmp 0x180001fb1
jmp 0x180001fb3
jmp 0x180001fb5
jmp 0x180001fb7
jmp 0x180001fb9
jmp 0x180001fbb
jmp 0x180001fbd
cmp esi, 0xa
jl 0x180001fd1
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001fd1
jmp 0x180001fcf
mov rcx, qword [rbp]
lea rax, [rcx + 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 esi, dword [rax + 0xc]
test rsi, rsi
je 0x18000214e
add rsi, qword [rbp]
sub rsp, 0x20
mov rcx, r14
call fcn.180002300
mov rcx, rax
mov rdx, r12
call fcn.1800021d0
mov rcx, rsi
call rax
add rsp, 0x20
mov r13, rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x18000205f
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x18000205f
sub rsp, 0x20
mov rcx, r14
call fcn.180002300
mov rcx, rax
mov rdx, r12
call fcn.1800021d0
mov rcx, rsi
call rax
jmp 0x180002006
cmp ecx, 0xa
jl 0x180002073
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000214c
mov rdx, qword [rbp - 0x10]
mov edi, dword [rdx]
mov ebx, dword [rdx + 0x10]
mov rdx, qword [rbp]
add rdi, rdx
add rbx, rdx
mov rdx, qword [rdi]
test rdx, rdx
je 0x18000212a
mov rax, qword [rbp - 0x18]
add rax, rdx
test rdx, rdx
movzx esi, dx
cmovns rsi, rax
sub rsp, 0x20
mov rcx, r14
call fcn.180002300
mov rcx, rax
mov rdx, r15
call fcn.1800021d0
mov rcx, r13
mov rdx, rsi
call rax
add rsp, 0x20
mov qword [rbx], rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x18000210f
test edx, edx
je 0x18000210f
sub rsp, 0x20
mov rcx, r14
call fcn.180002300
mov rcx, rax
mov rdx, r15
call fcn.1800021d0
mov rcx, r13
mov rdx, rsi
call rax
add rsp, 0x20
mov qword [rbx], rax
jmp 0x1800020a3
add rdi, 8
add rbx, 8
cmp ecx, 0xa
jl 0x180002086
test edx, edx
je 0x180002086
jmp 0x18000214c
add qword [rbp - 0x10], 0x14
cmp ecx, 0xa
jl 0x180001fee
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001fee
jmp 0x180001fcf
jmp 0x18000214c
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 0x1800021bf
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800021bf
mov rsi, qword [rbp - 8]
mov rdi, qword [rbp]
mov eax, dword [rsi + 0x28]
add rax, rdi
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 0x1800021bf
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002185
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret