Function at 0x180001180
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
cmp dword [0x180020a6c], 0xa
jl 0x1800011b2
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800011b2
nop
jmp 0x1800011b0
mov ecx, dword [0x180020a74]
mov edx, dword [0x180020a78]
mov eax, 0x10
call entry0
sub rsp, rax
mov r10, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r8, rsp
cmp edx, 0xa
jl 0x1800011f2
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
je 0x1800011f2
nop
jmp 0x1800011f0
lea r9, section..data
mov r15d, 4
mov r11, r10
mov r14, r9
mov rdi, r11
lea esi, [rcx - 1]
imul esi, ecx
test sil, 1
sete al
cmp edx, 0xa
setl bl
or bl, al
nop dword [rax]
test bl, bl
je 0x180001220
sub r15, 1
jb 0x1800012c5
mov bl, byte [r14]
add r14, 1
lea r11, [rdi + 1]
mov byte [rdi], bl
mov ecx, dword [0x180020a74]
mov edx, dword [0x180020a78]
cmp edx, 0xa
jl 0x180001205
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
je 0x180001205
nop word [rax + rax]
cmp edx, 0xa
jl 0x180001280
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180001410
nop word cs:[rax + rax]
nop
mov byte [rdi], bl
mov ecx, dword [0x180020a74]
cmp dword [0x180020a78], 0xa
mov byte [rdi], bl
jl 0x18000129e
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180001280
mov ecx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
cmp edx, 0xa
jl 0x180001205
test esi, esi
jne 0x180001260
jmp 0x180001205
cmp dword [0x180020a6c], 0xa
jl 0x180001432
mov eax, dword [0x180020a70]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
je 0x180001432
mov eax, 0x10
call entry0
sub rsp, rax
mov r8, rsp
cmp edx, 0xa
jl 0x180001305
and esi, 1
jne 0x180001430
mov r11d, 4
mov r10, r9
mov rdi, r8
lea esi, [rcx - 1]
imul esi, ecx
test sil, 1
sete bl
cmp edx, 0xa
setl al
or al, bl
nop word cs:[rax + rax]
test al, al
je 0x180001330
sub r11, 1
jb 0x1800013d5
mov bl, byte [r10]
add r10, 1
lea r8, [rdi + 1]
mov byte [rdi], bl
mov ecx, dword [0x180020a74]
mov edx, dword [0x180020a78]
cmp edx, 0xa
jl 0x18000130e
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
je 0x18000130e
nop word [rax + rax]
cmp edx, 0xa
jl 0x180001390
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180001420
nop word cs:[rax + rax]
nop
mov byte [rdi], bl
mov ecx, dword [0x180020a74]
cmp dword [0x180020a78], 0xa
mov byte [rdi], bl
jl 0x1800013ae
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180001390
mov ecx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
cmp edx, 0xa
jl 0x18000130e
test esi, esi
jne 0x180001370
jmp 0x18000130e
mov eax, 0x10
call entry0
sub rsp, rax
mov r10, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r8, rsp
cmp edx, 0xa
jl 0x1800011f9
and esi, 1
je 0x1800011f9
jmp 0x1800011f0
jmp 0x180001410
jmp 0x180001420
jmp 0x180001430
mov r12d, dword [r10]
test r12, r12
je 0x18000155a
xor r14d, r14d
cmp r12d, 0x10
jb 0x18000152b
lea rbx, [r12 - 1]
cmp rbx, 0x400
jae 0x18000152b
mov r14d, r12d
and r14d, 0xfffffff0
lea rbx, [r14 - 0x10]
mov rdi, rbx
shr rdi, 4
add rdi, 1
mov r9d, edi
and r9d, 1
test rbx, rbx
je 0x1800014ee
mov r11, r9
sub r11, rdi
xor ebx, ebx
lea r10, section..data
movaps xmm0, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
mov edi, ebx
and edi, 0x3e0
movups xmm1, xmmword [rdi + r10 + 4]
movups xmm2, xmmword [rbx + r10 + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rbx + r10 + 0x414]
xorps xmm2, xmm0
movups xmmword [rbx + r10 + 0x404], xmm2
lea edi, [rbx + 0x10]
and edi, 0x3f0
movups xmm2, xmmword [rdi + r10 + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rbx + r10 + 0x414], xmm1
add rbx, 0x20
add r11, 2
jne 0x180001495
jmp 0x1800014f0
xor ebx, ebx
test r9, r9
je 0x180001526
mov edi, ebx
and edi, 0x3f0
lea r9, section..data
movups xmm0, xmmword [rdi + r9 + 4]
movups xmm1, xmmword [rbx + r9 + 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 + r9 + 0x404], xmm1
cmp r14, r12
je 0x18000155a
lea rdi, section..data
mov eax, r14d
and eax, 0x3ff
movzx eax, byte [rax + rdi + 4]
xor al, byte [r14 + rdi + 0x404]
xor al, 0xc
mov byte [r14 + rdi + 0x404], al
add r14, 1
cmp r14, r12
jb 0x180001532
cmp edx, 0xa
jl 0x180001572
and esi, 1
je 0x180001572
nop word cs:[rax + rax]
nop
jmp 0x180001570
lea r14, section..data
lea r13, [r12 + r14]
add r13, 0x404
mov r10d, 4
mov rsi, r8
mov r9, r13
mov rax, rsi
lea edi, [rcx - 1]
imul edi, ecx
test dil, 1
sete r11b
cmp edx, 0xa
setl bl
or bl, r11b
test bl, bl
je 0x1800015aa
sub r10, 1
jae 0x1800017ba
cmp dword [0x180020a6c], 0xa
jl 0x1800018a6
mov eax, dword [0x180020a70]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
je 0x1800018a6
cmp edx, 0xa
jl 0x1800015e8
and edi, 1
jne 0x1800018a2
mov r10d, 4
mov r11, r8
mov r9, r13
mov rax, r11
lea edi, [rcx - 1]
imul edi, ecx
test dil, 1
sete r11b
cmp edx, 0xa
setl bl
or bl, r11b
test bl, bl
je 0x18000160e
sub r10, 1
jae 0x1800016e5
cmp edx, 0xa
jl 0x18000162a
and edi, 1
jne 0x1800018a4
mov esi, 4
mov r9, r8
mov r10, r13
mov rax, r9
lea edi, [rcx - 1]
imul edi, ecx
test dil, 1
sete r9b
cmp edx, 0xa
setl bl
or bl, r9b
test bl, bl
je 0x18000164f
sub rsi, 1
jb 0x18000176f
mov bl, byte [r10]
add r10, 1
lea r9, [rax + 1]
mov byte [rax], bl
mov ecx, dword [0x180020a74]
mov edx, dword [0x180020a78]
cmp edx, 0xa
jl 0x180001635
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
je 0x180001635
cmp edx, 0xa
jl 0x1800016a0
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001880
nop word [rax + rax]
mov byte [rax], bl
mov ecx, dword [0x180020a74]
cmp dword [0x180020a78], 0xa
mov byte [rax], bl
jl 0x1800016be
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800016a0
mov ecx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
cmp edx, 0xa
jl 0x180001635
test edi, edi
jne 0x180001686
jmp 0x180001635
mov bl, byte [r9]
add r9, 1
lea r11, [rax + 1]
mov byte [rax], bl
mov ecx, dword [0x180020a74]
mov edx, dword [0x180020a78]
cmp edx, 0xa
jl 0x1800015f4
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
je 0x1800015f4
cmp edx, 0xa
jl 0x18000172a
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800018a0
mov byte [rax], bl
mov ecx, dword [0x180020a74]
cmp dword [0x180020a78], 0xa
mov byte [rax], bl
jl 0x180001748
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x18000172a
mov ecx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
cmp edx, 0xa
jl 0x1800015f4
test esi, esi
jne 0x180001716
jmp 0x1800015f4
cmp dword [0x180020a6c], 0xa
jl 0x180001844
mov eax, dword [0x180020a70]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
je 0x180001844
mov r10d, 4
mov r11, r8
mov r9, r13
cmp edx, 0xa
jl 0x1800015f4
mov r11, r8
mov r9, r13
and edi, 1
je 0x1800015f4
jmp 0x1800018a2
mov bl, byte [r9]
add r9, 1
lea rsi, [rax + 1]
mov byte [rax], bl
mov ecx, dword [0x180020a74]
mov edx, dword [0x180020a78]
cmp edx, 0xa
jl 0x180001590
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
je 0x180001590
cmp edx, 0xa
jl 0x1800017ff
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001890
mov byte [rax], bl
mov ecx, dword [0x180020a74]
cmp dword [0x180020a78], 0xa
mov byte [rax], bl
jl 0x18000181d
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800017ff
mov ecx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
cmp edx, 0xa
jl 0x180001590
test edi, edi
jne 0x1800017eb
jmp 0x180001590
mov r10d, 4
mov rsi, r8
mov r9, r13
cmp edx, 0xa
jl 0x180001590
lea eax, [rcx - 1]
imul eax, ecx
mov rsi, r8
mov r9, r13
and eax, 1
je 0x180001590
jmp 0x180001570
jmp 0x180001880
jmp 0x180001890
jmp 0x1800018a0
jmp 0x1800018a2
jmp 0x1800018a4
add r13, 4
mov r9d, dword [r8]
test r9, r9
je 0x180001a14
xor eax, eax
cmp r9d, 0x20
jb 0x180001906
lea rdx, [r9 - 1]
cmp rdx, 0x400
mov rbx, r14
jae 0x1800019f0
lea rcx, [r12 + rbx]
add rcx, 0x408
lea rdx, [r9 + rbx]
add rdx, 4
cmp rcx, rdx
jae 0x18000190e
lea rcx, [r9 + r12]
add rcx, r14
add rcx, 0x408
lea rdx, str.cHtQMqHxoKOZsvLHvEZVYnzCFydmnVmIYzoiVOYOzridaALJsgKinMsXwDZrXpqKLAzsglHUXJVwQkBPircxsGjXyipikeDPnDihQFBCcMKzISgJOYYyPSMTrrrsRUIxdnfhjUQiMLDbqrtmMZHQyUoHSYGUzUPsLvSUQclMEgfLSflXMIzVEmwuPIxGjMAsWJhPCCUYJKHJhexxvzDhlUsTermtlIuUuZWHFWwFPZpsvkrAfOJOJsGvmGHolRxDxxrIbkWHfmofLXHDgaRwmhPePxBuIyHhABLxitSjcBCHyodJvCKIUsRawbYhTsVxBtHXlDJWbKPHsKKDAwktxziarpJtvkddeZrdlPrnBRTiVmJdAcvvhIlaSyJRoOyGoDnAxHkikORcauCGDXjwyYqfpBGEmstxsfeyjMFrjfwHRKPVYbydPZPZkLVkvObZfTGZSkpBlnJJvnSiZwCOmrSDdEcAlpDPTTbYpFAKgtoKgfHQDdpxrKmqyusrXRJGftanKIXVSScLfSCUkDqTuLfUjjrsHhwrSYaCBBLuqtFFTdtdWuYidcdDWohGPhswkwnYGsyygVLgOuTKvnnVQtjpcnjGEJxcSugzErJJUGWVYZnMsfWBxVyFZxcIhJHAaIiAwjugrcTawxKqCjUTHTvLmzzcscsKdtIPXhbEnuXsbzTHvYPFrYWzVmeRwIWmvuhbLwzAciPQTpOhSLYvRzuVgRZeZaiQctMLORHWgHjCWbzSwzXMKiHEHIEjSbRndLutsDPcBUhKavaumDzzYpyqqYByoJhfChkQDZKJTjsnMjmGYaDZTiGyyFfFQymWpAvltsfTRfnGGfezuGPTaeOHhsRlQVMcEgCoBAGiIyXcVVudTaAjpuDargvLZzOTqTsxHPWtmVMKlTxFPbqVCWETlIPAUMOwWBJihACtWoKiZoAyjQwUQbwmYZeTrOPYXFkknCClPlAuAZPjfKTTbfCLUsftBDlMbTIlDRufRFEkUnWVLWnXuAXCRQVhAMx
cmp rcx, rdx
jbe 0x18000190e
xor eax, eax
mov rbx, r14
jmp 0x1800019f0
mov eax, r9d
and eax, 0xffffffe0
lea rbx, [rax - 0x20]
mov rdx, rbx
shr rdx, 5
add rdx, 1
mov r8d, edx
and r8d, 1
test rbx, rbx
je 0x1800019ac
lea rdi, [r12 + r14]
add rdi, 0x438
mov rbx, r8
sub rbx, rdx
xor esi, esi
mov edx, esi
and edx, 0x3c0
mov rcx, r14
movups xmm0, xmmword [rdx + r14 + 4]
movups xmm1, xmmword [rdx + r14 + 0x14]
movups xmm2, xmmword [rdi + rsi - 0x30]
xorps xmm2, xmm0
movups xmm0, xmmword [rdi + rsi - 0x20]
xorps xmm0, xmm1
movups xmm1, xmmword [rdi + rsi - 0x10]
movups xmm3, xmmword [rdi + rsi]
movups xmmword [rdi + rsi - 0x30], xmm2
movups xmmword [rdi + rsi - 0x20], xmm0
lea edx, [rsi + 0x20]
and edx, 0x3e0
movups xmm0, xmmword [rdx + r14 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rdx + r14 + 0x14]
xorps xmm1, xmm3
movups xmmword [rdi + rsi - 0x10], xmm0
movups xmmword [rdi + rsi], xmm1
add rsi, 0x40
add rbx, 2
jne 0x180001942
jmp 0x1800019ae
xor esi, esi
test r8, r8
je 0x1800019e8
mov edx, esi
and edx, 0x3e0
mov rcx, r14
movups xmm0, xmmword [rdx + r14 + 4]
movups xmm1, xmmword [rdx + r14 + 0x14]
movups xmm2, xmmword [r13 + rsi]
xorps xmm2, xmm0
movups xmm0, xmmword [r13 + rsi + 0x10]
xorps xmm0, xmm1
movups xmmword [r13 + rsi], xmm2
movups xmmword [r13 + rsi + 0x10], xmm0
cmp rax, r9
mov rbx, r14
je 0x180001a14
lea rdx, [r12 + rbx]
add rdx, 0x408
mov ecx, eax
and ecx, 0x3ff
movzx ecx, byte [rcx + rbx + 4]
xor byte [rdx + rax], cl
add rax, 1
cmp rax, r9
jb 0x1800019fb
cmp dword [0x180020a7c], 0xa
jl 0x180001a30
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001a30
jmp 0x180001a2e
movsxd rax, dword [0x180004440]
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001a37
lea rcx, section..data
add rax, rcx
add rax, 0x404
mov qword [rbp - 8], rax
mov r15, r13
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001a59
mov r14, r15
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001a66
mov qword [rbp - 0x30], r14
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001a74
mov rbx, r14
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001a81
mov rdi, rbx
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001a8d
sub rsp, 0x20
mov rcx, r13
call fcn.180002890
add rsp, 0x20
mov r9, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x180001ac7
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001af8
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180001af8
jmp 0x180001af6
add r8, r9
mov r11d, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add r11, r9
add r10, r9
mov esi, dword [r11]
add rsi, r9
mov rdx, r15
movzx ecx, byte [rdx]
movzx eax, byte [rsi]
test cl, cl
je 0x180001b2a
add rdx, 1
add rsi, 1
cmp cl, al
je 0x180001b14
cmp cl, al
je 0x180001b38
add r11, 4
add r10, 2
jmp 0x180001b0b
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, rbx
call r9
add rsp, 0x20
mov r10, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x180001b72
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001ba3
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180001ba3
jmp 0x180001ba1
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov r9d, dword [r10 + rcx + 0x24]
add rdx, r10
add r9, r10
mov esi, dword [rdx]
add rsi, r10
mov rax, r14
movzx ebx, byte [rax]
movzx ecx, byte [rsi]
test bl, bl
je 0x180001bd4
add rax, 1
add rsi, 1
cmp bl, cl
je 0x180001bbe
cmp bl, cl
je 0x180001be2
add rdx, 4
add r9, 2
jmp 0x180001bb6
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
sub rsp, 0x30
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, rdi
mov r8, rdi
call r10
add rsp, 0x10
mov rcx, r13
call fcn.180002890
add rsp, 0x20
mov r10, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x180001c45
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001c76
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180001c76
jmp 0x180001c74
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov r9d, dword [r10 + rcx + 0x24]
add rdx, r10
add r9, r10
lea rax, section..data
lea rdi, [r12 + rax]
add rdi, 0x408
mov esi, dword [rdx]
add rsi, r10
xor eax, eax
movzx ebx, byte [rdi + rax]
movzx ecx, byte [rsi + rax]
test bl, bl
je 0x180001cb6
add rax, 1
cmp bl, cl
je 0x180001ca2
cmp bl, cl
je 0x180001cc4
add rdx, 4
add r9, 2
jmp 0x180001c9b
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp - 8]
mov edx, dword [rax + 0x50]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
mov qword [rbp], rax
mov ebx, dword [0x180020a70]
mov eax, dword [0x180020a6c]
lea ecx, [rbx - 1]
imul ecx, ebx
cmp eax, 0xa
jl 0x180001d13
mov edx, ecx
and edx, 1
je 0x180001d13
jmp 0x180001d11
test cl, 1
sete cl
cmp eax, 0xa
setl dl
or dl, cl
cmp dl, 1
jne 0x180001fa4
mov rcx, qword [rbp - 8]
lea r14, [rcx + 0x108]
xor r11d, r11d
mov rcx, qword [rbp - 8]
movzx ecx, word [rcx + 6]
cmp r11, rcx
jae 0x180001fae
mov edi, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea rax, [r11 + r11*4]
lea rcx, [r14 + rax*8]
add rcx, 0x14
mov qword [rbp - 0x10], rcx
lea rcx, [r14 + rax*8]
add rcx, 0x10
mov qword [rbp - 0x20], rcx
lea r10, [r14 + rax*8]
add r10, 0xc
cmp edx, 0xa
jl 0x180001d8d
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
jne 0x180001faa
mov rax, qword [rbp - 0x10]
mov eax, dword [rax]
lea rcx, section..data
add rcx, rax
add rcx, 0x404
mov rax, qword [rbp - 0x20]
mov r9d, dword [rax]
mov r8d, dword [r10]
add r8, qword [rbp]
mov rbx, rcx
mov r12, r8
lea esi, [rdi - 1]
imul esi, edi
test sil, 1
sete cl
cmp edx, 0xa
setl al
or al, cl
test al, al
je 0x180001dcd
sub r9, 1
jb 0x180001e69
lea rcx, [rbx + 1]
mov al, byte [rbx]
lea r8, [r12 + 1]
mov byte [r12], al
mov edi, dword [0x180020a74]
mov edx, dword [0x180020a78]
cmp edx, 0xa
jl 0x180001db2
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
je 0x180001db2
cmp edx, 0xa
jl 0x180001e1a
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
jne 0x180001fa6
movzx eax, byte [rbx]
mov byte [r12], al
mov edx, dword [0x180020a74]
cmp dword [0x180020a78], 0xa
movzx eax, byte [rbx]
mov byte [r12], al
jl 0x180001e42
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180001e1a
mov edi, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea esi, [rdi - 1]
imul esi, edi
and esi, 1
cmp edx, 0xa
jl 0x180001db2
test esi, esi
jne 0x180001e06
jmp 0x180001db2
mov ebx, dword [0x180020a70]
mov eax, dword [0x180020a6c]
lea r8d, [rbx - 1]
imul r8d, ebx
cmp eax, 0xa
jl 0x180001f88
mov ecx, r8d
and ecx, 1
je 0x180001f88
cmp edx, 0xa
jl 0x180001ea0
and esi, 1
jne 0x180001fac
mov rax, qword [rbp - 0x10]
mov eax, dword [rax]
lea rcx, section..data
lea r12, [rax + rcx]
add r12, 0x404
mov rax, qword [rbp - 0x20]
mov r9d, dword [rax]
mov r8d, dword [r10]
add r8, qword [rbp]
mov rcx, r12
mov rbx, r8
lea esi, [rdi - 1]
imul esi, edi
test sil, 1
sete r8b
cmp edx, 0xa
setl al
or al, r8b
test al, al
je 0x180001ee3
sub r9, 1
jb 0x180001f74
lea r12, [rcx + 1]
mov al, byte [rcx]
lea r8, [rbx + 1]
mov byte [rbx], al
mov edi, dword [0x180020a74]
mov edx, dword [0x180020a78]
cmp edx, 0xa
jl 0x180001ec6
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
je 0x180001ec6
cmp edx, 0xa
jl 0x180001f29
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
jne 0x180001fa8
movzx eax, byte [rcx]
mov byte [rbx], al
mov eax, dword [0x180020a74]
cmp dword [0x180020a78], 0xa
movzx edx, byte [rcx]
mov byte [rbx], dl
jl 0x180001f4d
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001f29
mov edi, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
cmp edx, 0xa
jl 0x180001ec6
test eax, eax
jne 0x180001f19
jmp 0x180001ec6
cmp edx, 0xa
jl 0x180001d8d
and esi, 1
je 0x180001d8d
jmp 0x180001faa
add r11, 1
test r8b, 1
sete cl
cmp eax, 0xa
setl dl
or dl, cl
cmp dl, 1
je 0x180001d38
jmp 0x180001fa4
jmp 0x180001fa6
jmp 0x180001fa8
jmp 0x180001faa
jmp 0x180001fac
mov rcx, qword [rbp - 8]
mov edi, dword [rcx + 0xb0]
mov rcx, qword [rbp]
cmp dword [rcx + rdi], 0
je 0x18000213d
mov r12, qword [rbp]
add rdi, r12
mov rcx, qword [rbp - 8]
sub r12, qword [rcx + 0x30]
movabs r8, 0x1fffffff8
mov r10, rdi
test dl, 1
jne 0x180002023
jmp 0x18000213b
mov edx, dword [r10 + 4]
mov ecx, edx
lea rdi, [r10 + rcx]
lea edx, [rbx - 1]
imul edx, ebx
test dl, 1
sete r9b
cmp eax, 0xa
setl dl
or dl, r9b
cmp dword [r10 + rcx], 0
mov r10, rdi
je 0x18000213d
test dl, 1
je 0x18000213b
mov edx, dword [r10 + 4]
cmp rdx, 8
jb 0x180001ff0
cmp eax, 0xa
jl 0x180002041
lea esi, [rbx - 1]
imul esi, ebx
and esi, 1
jne 0x180002135
add rdx, r8
shr rdx, 1
mov r9d, edx
xor r14d, r14d
cmp r14, r9
je 0x180001fec
movzx edx, word [r10 + r14*2 + 8]
mov esi, edx
shr esi, 0xc
mov ecx, edx
and ecx, 0xfff
cmp edx, 0xa000
jae 0x1800020be
cmp esi, 3
jne 0x18000210e
cmp eax, 0xa
jl 0x18000208a
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x180002139
mov eax, dword [rdi]
mov rdx, qword [rbp]
lea rdx, [rdx + rcx*4]
add dword [rdx + rax*4], r12d
mov ebx, dword [0x180020a70]
mov eax, dword [0x180020a6c]
cmp eax, 0xa
jl 0x18000210e
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
je 0x18000210e
mov eax, dword [rdi]
add dword [rdx + rax*4], r12d
mov eax, dword [rdi]
jmp 0x180002094
cmp esi, 0xa
jne 0x18000210e
mov r11d, ecx
cmp eax, 0xa
jl 0x1800020e4
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
je 0x1800020e4
mov rax, qword [rbp]
lea rdx, [r11 + rax]
mov eax, dword [rdi]
add qword [rdx + rax], r12
mov eax, dword [rdi]
mov rcx, qword [rbp]
lea rdx, [r11 + rcx]
add qword [rax + rdx], r12
mov ebx, dword [0x180020a70]
mov eax, dword [0x180020a6c]
cmp eax, 0xa
jl 0x18000210e
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
jne 0x1800020de
lea edx, [rbx - 1]
imul edx, ebx
and edx, 1
cmp eax, 0xa
jl 0x180002120
test edx, edx
jne 0x180002137
add r14, 1
cmp eax, 0xa
jl 0x18000204d
test edx, edx
je 0x18000204d
jmp 0x180002135
jmp 0x180002137
jmp 0x180002139
jmp 0x18000213b
test dl, 1
je 0x180002156
lea edx, [rbx - 1]
imul edx, ebx
and edx, 1
cmp eax, 0xa
jl 0x180002158
test edx, edx
je 0x180002158
jmp 0x180002154
jmp 0x180002156
mov rcx, qword [rbp]
mov rbx, rcx
add rcx, 2
mov qword [rbp - 0x20], rcx
mov rcx, qword [rbp - 8]
mov ecx, dword [rcx + 0x90]
add rcx, rbx
mov qword [rbp - 0x10], rcx
mov rcx, qword [rbp - 0x10]
mov r14d, dword [rcx + 0xc]
test r14, r14
je 0x18000275b
cmp eax, 0xa
jl 0x180002196
test edx, edx
jne 0x180002751
add r14, qword [rbp]
sub rsp, 0x20
mov rcx, r13
call fcn.180002890
add rsp, 0x20
mov r9, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x1800021cb
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800021fe
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000274f
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdi, r9
add rcx, r9
mov esi, dword [rdi]
add rsi, r9
mov rax, r15
movzx ebx, byte [rax]
movzx edx, byte [rsi]
test bl, bl
je 0x18000222f
add rax, 1
add rsi, 1
cmp bl, dl
je 0x180002219
cmp bl, dl
je 0x18000223d
add rdi, 4
add rcx, 2
jmp 0x180002211
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
call r9
add rsp, 0x20
mov r12, rax
mov ecx, dword [0x180020a70]
mov eax, dword [0x180020a6c]
cmp eax, 0xa
jl 0x180002413
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180002413
sub rsp, 0x20
mov rcx, r13
call fcn.180002890
add rsp, 0x20
mov r9, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x1800022ad
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800022e0
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000274b
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdi, r9
add rcx, r9
mov esi, dword [rdi]
add rsi, r9
mov rbx, r15
movzx eax, byte [rbx]
movzx edx, byte [rsi]
test al, al
je 0x180002311
add rbx, 1
add rsi, 1
cmp al, dl
je 0x1800022fb
cmp al, dl
je 0x18000231f
add rdi, 4
add rcx, 2
jmp 0x1800022f3
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
call r9
mov rcx, r13
call fcn.180002890
add rsp, 0x20
mov r9, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x180002360
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002393
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000274d
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdi, r9
add rcx, r9
mov esi, dword [rdi]
add rsi, r9
mov rbx, r15
movzx eax, byte [rbx]
movzx edx, byte [rsi]
test al, al
je 0x1800023c4
add rbx, 1
add rsi, 1
cmp al, dl
je 0x1800023ae
cmp al, dl
je 0x1800023d2
add rdi, 4
add rcx, 2
jmp 0x1800023a6
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
call r9
add rsp, 0x20
mov ecx, dword [0x180020a70]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
cmp dword [0x180020a6c], 0xa
jl 0x18000219a
test eax, eax
jne 0x18000227c
jmp 0x18000219a
mov rdx, qword [rbp - 0x10]
mov ebx, dword [rdx]
mov rdx, qword [rbp]
mov qword [rbp - 0x28], rbx
mov rdx, qword [rdx + rbx]
test rdx, rdx
je 0x180002727
mov rbx, qword [rbp]
add qword [rbp - 0x28], rbx
mov rdi, qword [rbp - 0x10]
mov edi, dword [rdi + 0x10]
add rdi, rbx
mov qword [rbp - 0x18], rdi
mov rbx, qword [rbp - 0x20]
add rbx, rdx
test rdx, rdx
movzx r14d, dx
cmovns r14, rbx
cmp eax, 0xa
jl 0x18000246a
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180002759
sub rsp, 0x20
mov rcx, r13
call fcn.180002890
add rsp, 0x20
mov r9, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x18000249b
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800024ce
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002757
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov edi, dword [r9 + rcx + 0x24]
add rdx, r9
add rdi, r9
mov esi, dword [rdx]
add rsi, r9
mov rax, qword [rbp - 0x30]
movzx ebx, byte [rax]
movzx ecx, byte [rsi]
test bl, bl
je 0x180002500
add rax, 1
add rsi, 1
cmp bl, cl
je 0x1800024ea
cmp bl, cl
je 0x18000250e
add rdx, 4
add rdi, 2
jmp 0x1800024e1
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r12
mov rdx, r14
call r9
add rsp, 0x20
mov rcx, qword [rbp - 0x18]
mov qword [rcx], rax
mov ecx, dword [0x180020a70]
mov eax, dword [0x180020a6c]
cmp eax, 0xa
jl 0x180002709
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180002709
sub rsp, 0x20
mov rcx, r13
call fcn.180002890
add rsp, 0x20
mov r9, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x180002585
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800025b8
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002753
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdx, r9
add rcx, r9
mov esi, dword [rdx]
add rsi, r9
mov rdi, qword [rbp - 0x30]
movzx eax, byte [rdi]
movzx ebx, byte [rsi]
test al, al
je 0x1800025ea
add rdi, 1
add rsi, 1
cmp al, bl
je 0x1800025d4
cmp al, bl
je 0x1800025f8
add rdx, 4
add rcx, 2
jmp 0x1800025cb
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r12
mov rdx, r14
call r9
add rsp, 0x20
mov rcx, qword [rbp - 0x18]
mov qword [rcx], rax
sub rsp, 0x20
mov rcx, r13
call fcn.180002890
add rsp, 0x20
mov r9, rax
mov eax, dword [0x180020a84]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a88], 0xa
setl al
or al, cl
test al, al
je 0x18000264b
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000267e
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002755
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdx, r9
add rcx, r9
mov esi, dword [rdx]
add rsi, r9
mov rdi, qword [rbp - 0x30]
movzx eax, byte [rdi]
movzx ebx, byte [rsi]
test al, al
je 0x1800026b0
add rdi, 1
add rsi, 1
cmp al, bl
je 0x18000269a
cmp al, bl
je 0x1800026be
add rdx, 4
add rcx, 2
jmp 0x180002691
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r12
mov rdx, r14
call r9
add rsp, 0x20
mov rcx, qword [rbp - 0x18]
mov qword [rcx], rax
mov ecx, dword [0x180020a70]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
cmp dword [0x180020a6c], 0xa
jl 0x18000246a
test eax, eax
jne 0x180002554
jmp 0x18000246a
add qword [rbp - 0x18], 8
mov rbx, qword [rbp - 0x28]
mov rdx, qword [rbx + 8]
add rbx, 8
mov qword [rbp - 0x28], rbx
test rdx, rdx
jne 0x180002444
add qword [rbp - 0x10], 0x14
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
cmp eax, 0xa
jl 0x180002178
test edx, edx
je 0x180002178
jmp 0x180002154
jmp 0x18000274b
jmp 0x18000274d
jmp 0x18000274f
jmp 0x180002751
jmp 0x180002753
jmp 0x180002755
jmp 0x180002757
jmp 0x180002759
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x28]
add rax, qword [rbp]
sub rsp, 0x20
call rax
add rsp, 0x20
mov eax, dword [0x180020a6c]
cmp eax, 0xa
jl 0x18000286d
mov ecx, dword [0x180020a70]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x18000286d
mov rbx, qword [rbp - 8]
cmp eax, 0xa
jl 0x1800027ac
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180002880
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x28]
add rax, qword [rbp]
sub rsp, 0x20
call rax
add rsp, 0x20
mov eax, dword [0x180020a6c]
cmp eax, 0xa
jl 0x180002838
mov ecx, dword [0x180020a70]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180002838
cmp eax, 0xa
jl 0x1800027f1
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x18000287e
mov eax, dword [rbx + 0x28]
mov rcx, qword [rbp]
mov rdi, rcx
add rax, rcx
sub rsp, 0x20
call rax
add rsp, 0x20
mov esi, dword [0x180020a70]
mov r14d, dword [0x180020a6c]
mov eax, dword [rbx + 0x28]
add rax, rdi
sub rsp, 0x20
call rax
add rsp, 0x20
cmp r14d, 0xa
jl 0x1800027c1
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
jne 0x1800027f1
jmp 0x1800027c1
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x28]
add rax, qword [rbp]
sub rsp, 0x20
call rax
add rsp, 0x20
mov eax, dword [0x180020a6c]
cmp eax, 0xa
jl 0x18000286d
mov ecx, dword [0x180020a70]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180002798
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
jmp 0x18000287e
jmp 0x180002880