Function at 0x1800010d0
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 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 rbx, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov rax, rsp
cmp dword [0x180020a74], 0xa
jl 0x180001142
mov ecx, dword [0x180020a78]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180001142
nop dword [rax]
jmp 0x180001140
mov r9b, byte [section..data]
mov ecx, dword [0x180020a78]
mov r8d, dword [0x180020a74]
lea r15d, [rcx - 1]
imul r15d, ecx
test r15b, 1
sete dl
cmp r8d, 0xa
setl cl
or cl, dl
mov r11b, byte [0x180004001]
mov r10b, byte [0x180004002]
mov edx, dword [0x180020a70]
lea edi, [rdx - 1]
imul edi, edx
test dil, 1
sete dl
cmp dword [0x180020a6c], 0xa
mov dil, byte [0x180004003]
setl r14b
or r14b, dl
mov edx, ecx
xor dl, 1
mov byte [rbx], r9b
test cl, cl
je 0x180001210
mov byte [rbx + 1], r11b
je 0x180001210
mov byte [rbx + 2], r10b
test cl, cl
je 0x180001210
mov byte [rbx + 3], dil
je 0x180001210
test r14b, r14b
jne 0x180001232
test cl, cl
je 0x180001220
je 0x180001230
test dl, dl
jne 0x180001230
jne 0x180001230
test dl, dl
jne 0x180001230
mov eax, 0x10
call entry0
sub rsp, rax
mov rbx, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov rax, rsp
test cl, cl
jne 0x1800011a9
jmp 0x180001140
jmp 0x180001210
jmp 0x180001220
jmp 0x180001230
mov r10d, dword [rbx]
test r10, r10
je 0x180001357
xor ebx, ebx
cmp r10d, 0x10
jb 0x18000131f
lea rcx, [r10 - 1]
cmp rcx, 0x400
jae 0x18000131f
mov ebx, r10d
and ebx, 0xfffffff0
lea rdx, [rbx - 0x10]
mov rcx, rdx
shr rcx, 4
add rcx, 1
mov r9d, ecx
and r9d, 1
test rdx, rdx
je 0x1800012e5
mov rdx, r9
sub rdx, rcx
xor esi, esi
lea rdi, section..data
movaps xmm0, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
mov ecx, esi
and ecx, 0x3e0
movups xmm1, xmmword [rcx + rdi + 4]
movups xmm2, xmmword [rsi + rdi + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rsi + rdi + 0x414]
xorps xmm2, xmm0
movups xmmword [rsi + rdi + 0x404], xmm2
lea ecx, [rsi + 0x10]
and ecx, 0x3f0
movups xmm2, xmmword [rcx + rdi + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rsi + rdi + 0x414], xmm1
add rsi, 0x20
add rdx, 2
jne 0x180001292
jmp 0x1800012e7
xor esi, esi
test r9, r9
je 0x18000131a
mov ecx, esi
and ecx, 0x3f0
lea rdx, section..data
movups xmm0, xmmword [rcx + rdx + 4]
movups xmm1, xmmword [rsi + rdx + 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 [rsi + rdx + 0x404], xmm1
cmp rbx, r10
je 0x180001357
lea rcx, section..data
nop word cs:[rax + rax]
mov edx, ebx
and edx, 0x3ff
movzx edx, byte [rdx + rcx + 4]
xor dl, byte [rbx + rcx + 0x404]
xor dl, 0xc
mov byte [rbx + rcx + 0x404], dl
add rbx, 1
cmp rbx, r10
jb 0x180001330
cmp r8d, 0xa
jl 0x180001372
and r15d, 1
je 0x180001372
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x180001370
lea r15, section..data
lea rsi, [r10 + r15]
add rsi, 0x404
mov cl, byte [rsi]
mov byte [rax], cl
cmp dword [0x180020a74], 0xa
jl 0x1800013a2
mov ecx, dword [0x180020a78]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001410
mov cl, byte [rsi + 1]
mov byte [rax + 1], cl
cmp dword [0x180020a74], 0xa
jl 0x1800013c2
mov ecx, dword [0x180020a78]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001410
mov cl, byte [rsi + 2]
mov byte [rax + 2], cl
cmp dword [0x180020a74], 0xa
jl 0x1800013e2
mov ecx, dword [0x180020a78]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001410
mov cl, byte [rsi + 3]
mov byte [rax + 3], cl
cmp dword [0x180020a74], 0xa
jl 0x180001412
mov ecx, dword [0x180020a78]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180001412
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x180001410
mov ecx, dword [0x180020a70]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete dl
cmp dword [0x180020a6c], 0xa
setl cl
or cl, dl
cmp cl, 1
jne 0x180001470
add rsi, 4
mov eax, dword [rax]
lea r12, [r10 + r15]
add r12, 0x408
xor ebx, ebx
cmp rax, rbx
je 0x180001472
mov edx, ebx
and edx, 0x3ff
movzx edx, byte [rdx + r15 + 4]
xor byte [r12 + rbx], dl
add rbx, 1
test cl, cl
jne 0x180001448
nop word [rax + rax]
jmp 0x180001470
movsxd rax, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
jl 0x1800014a2
mov ecx, dword [0x180020a80]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x1800014a2
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x1800014a0
add rax, r15
add rax, 0x404
mov qword [rbp - 8], rax
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x1800014af
mov r13, rsi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x1800014bb
mov r14, r13
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x1800014c9
mov qword [rbp - 0x18], r14
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x1800014d7
mov rbx, r14
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x1800014e4
mov rdi, rbx
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x1800014f0
sub rsp, 0x20
mov rcx, rsi
call fcn.1800020b0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001532
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001532
nop word cs:[rax + rax]
jmp 0x180001530
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov eax, dword [r9 + rcx + 0x1c]
mov qword [rbp], rax
cmp dword [0x180020a8c], 0xa
jl 0x180001563
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180001563
jmp 0x180001561
add qword [rbp], r9
mov r11d, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add r11, r9
add r10, r9
mov edx, dword [r11]
add rdx, r9
mov rcx, r13
movzx eax, byte [rcx]
movzx r8d, byte [rdx]
test al, al
je 0x180001598
add rcx, 1
add rdx, 1
cmp al, r8b
je 0x180001580
cmp al, r8b
je 0x1800015a7
add r11, 4
add r10, 2
jmp 0x180001577
movzx eax, word [r10]
mov rcx, qword [rbp]
mov eax, dword [rcx + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, rbx
call r9
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x1800015e2
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800015e2
jmp 0x1800015e0
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000160f
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x18000160f
jmp 0x18000160d
add r8, r10
mov r11d, dword [r10 + rax + 0x20]
mov r9d, dword [r10 + rax + 0x24]
add r11, r10
add r9, r10
mov eax, dword [r11]
add rax, r10
mov rbx, r14
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x180001641
add rbx, 1
add rax, 1
cmp cl, dl
je 0x18000162b
cmp cl, dl
je 0x18000164f
add r11, 4
add r9, 2
jmp 0x180001622
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, rsi
call fcn.1800020b0
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x1800016b0
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800016b0
jmp 0x1800016ae
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800016dd
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x1800016dd
jmp 0x1800016db
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov r9d, dword [r10 + rcx + 0x24]
add rdx, r10
add r9, r10
mov edi, dword [rdx]
add rdi, r10
xor eax, eax
movzx ebx, byte [r12 + rax]
movzx ecx, byte [rdi + rax]
test bl, bl
je 0x18000170c
add rax, 1
cmp bl, cl
je 0x1800016f7
cmp bl, cl
je 0x18000171a
add rdx, 4
add r9, 2
jmp 0x1800016f0
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 ecx, dword [0x180020a70]
mov edx, dword [0x180020a6c]
lea ebx, [rcx - 1]
imul ebx, ecx
and ebx, 1
cmp edx, 0xa
jl 0x180001769
test ebx, ebx
je 0x180001769
jmp 0x180001767
mov rax, qword [rbp - 8]
lea r11, [rax + 0x108]
xor eax, eax
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 8]
movzx eax, word [rax + 6]
cmp qword [rbp - 0x10], rax
jae 0x1800018dc
cmp edx, 0xa
jl 0x180001799
test ebx, ebx
jne 0x1800018da
mov edi, dword [0x180020a78]
mov eax, dword [0x180020a74]
mov rcx, qword [rbp - 0x10]
lea rcx, [rcx + rcx*4]
lea r9, [r11 + rcx*8]
add r9, 0xc
lea r14, [r11 + rcx*8]
add r14, 0x10
lea r10, [r11 + rcx*8]
add r10, 0x14
cmp eax, 0xa
jl 0x1800017d9
lea ecx, [rdi - 1]
imul ecx, edi
and ecx, 1
jne 0x1800018d6
mov ecx, dword [r14]
test rcx, rcx
je 0x180001831
mov eax, dword [r10]
mov edx, dword [r9]
add rdx, qword [rbp]
lea rbx, [rax + r15]
add rbx, 0x404
xor r12d, r12d
jmp 0x180001804
add r12, 1
cmp rcx, r12
je 0x180001831
movzx eax, byte [rbx + r12]
mov byte [rdx + r12], al
mov edi, dword [0x180020a78]
mov eax, dword [0x180020a74]
cmp eax, 0xa
jl 0x1800017fb
lea r8d, [rdi - 1]
imul r8d, edi
and r8d, 1
je 0x1800017fb
jmp 0x1800018d2
mov ecx, dword [0x180020a70]
mov edx, dword [0x180020a6c]
lea ebx, [rcx - 1]
imul ebx, ecx
and ebx, 1
cmp edx, 0xa
jl 0x1800018b7
test ebx, ebx
je 0x1800018b7
cmp eax, 0xa
jl 0x18000185f
lea ecx, [rdi - 1]
imul ecx, edi
and ecx, 1
jne 0x1800018d8
mov r12d, dword [r14]
test r12, r12
je 0x1800017c5
mov eax, dword [r10]
mov edx, dword [r9]
add rdx, qword [rbp]
lea r8, [rax + r15]
add r8, 0x404
xor ecx, ecx
jmp 0x180001891
add rcx, 1
cmp r12, rcx
je 0x1800017c5
movzx eax, byte [r8 + rcx]
mov byte [rdx + rcx], al
mov edi, dword [0x180020a78]
mov eax, dword [0x180020a74]
cmp eax, 0xa
jl 0x180001884
lea ebx, [rdi - 1]
imul ebx, edi
and ebx, 1
je 0x180001884
jmp 0x1800018d4
add qword [rbp - 0x10], 1
cmp edx, 0xa
jl 0x18000177a
test ebx, ebx
je 0x18000177a
jmp 0x180001767
jmp 0x1800018d2
jmp 0x1800018d4
jmp 0x1800018d6
jmp 0x1800018d8
jmp 0x1800018da
mov rax, qword [rbp - 8]
mov rbx, qword [rax + 0x30]
mov r9, qword [rbp]
sub r9, rbx
cmp edx, 0xa
jl 0x1800018fd
lea ebx, [rcx - 1]
imul ebx, ecx
and ebx, 1
je 0x1800018fd
jmp 0x1800018fb
mov rax, qword [rbp - 8]
mov ebx, dword [rax + 0xb0]
add rbx, qword [rbp]
mov eax, ecx
mov r11d, edx
cmp dword [rbx], 0
je 0x180001a97
mov r8d, dword [rbx + 4]
cmp r8, 8
jb 0x180001a4e
cmp edx, 0xa
jl 0x18000193b
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
jne 0x180001a93
movabs rdi, 0x1fffffff8
add r8, rdi
shr r8, 1
mov r10d, r8d
xor r14d, r14d
mov edi, edx
mov r12d, ecx
cmp r14, r10
je 0x180001a49
movzx ecx, word [rbx + r14*2 + 8]
mov r8d, ecx
shr r8d, 0xc
mov r15d, ecx
and r15d, 0xfff
mov edx, r11d
cmp ecx, 0xa000
jae 0x1800019a9
mov ecx, eax
cmp r8d, 3
jne 0x180001a21
mov ecx, dword [rbx]
mov rax, qword [rbp]
lea rcx, [rax + rcx*4]
add dword [rcx + r15*4], r9d
mov ecx, dword [0x180020a70]
mov edx, dword [0x180020a6c]
jmp 0x180001a21
mov ecx, eax
cmp r8d, 0xa
jne 0x180001a21
cmp edi, 0xa
jl 0x1800019c8
lea ecx, [r12 - 1]
imul ecx, r12d
and ecx, 1
jne 0x180001a95
mov edi, r15d
add rdi, qword [rbp]
mov ecx, dword [rbx]
add qword [rcx + rdi], r9
jmp 0x1800019dd
mov eax, dword [rbx]
add qword [rdi + rax], r9
mov ecx, dword [0x180020a70]
mov edx, dword [0x180020a6c]
cmp edx, 0xa
jl 0x180001a21
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
je 0x180001a21
mov eax, dword [rbx]
add qword [rdi + rax], r9
mov eax, dword [rbx]
add qword [rdi + rax], r9
cmp dword [0x180020a6c], 0xa
jl 0x1800019d7
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800019f9
jmp 0x1800019d7
add r14, 1
mov eax, ecx
mov r11d, edx
cmp edx, 0xa
jl 0x180001951
lea edi, [rcx - 1]
imul edi, ecx
mov eax, ecx
mov r11d, edx
and edi, 1
je 0x180001951
jmp 0x180001a93
mov edx, edi
mov ecx, r12d
lea r8d, [rcx - 1]
imul r8d, ecx
test r8b, 1
sete dil
cmp edx, 0xa
setl r10b
or r10b, dil
jne 0x180001a75
xor edi, edi
test dil, 1
mov edi, r10d
je 0x180001a6c
mov edi, dword [rbx + 4]
add rbx, rdi
cmp edx, 0xa
jl 0x180001910
and r8d, 1
je 0x180001910
jmp 0x1800018fb
jmp 0x180001a93
jmp 0x180001a95
mov rcx, qword [rbp - 8]
mov r12d, dword [rcx + 0x90]
mov rcx, qword [rbp]
add r12, rcx
add rcx, 2
mov qword [rbp - 0x28], rcx
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp r11d, 0xa
setl al
or al, cl
cmp al, 1
jne 0x180001ae6
mov r14d, dword [r12 + 0xc]
test al, al
je 0x180001ae6
test r14d, r14d
je 0x180001fa3
add r14, qword [rbp]
sub rsp, 0x20
jmp 0x180001b01
test al, al
je 0x180001ae6
jmp 0x180001aca
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
call r9
mov rcx, rsi
call fcn.1800020b0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001b2e
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001f8d
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001b5d
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001f8f
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdi, r9
add r10, r9
mov ebx, dword [rdi]
add rbx, r9
mov rax, r13
movzx edx, byte [rax]
movzx ecx, byte [rbx]
test dl, dl
je 0x180001b8e
add rax, 1
add rbx, 1
cmp dl, cl
je 0x180001b78
cmp dl, cl
je 0x180001b9c
add rdi, 4
add r10, 2
jmp 0x180001b70
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
call r9
add rsp, 0x20
mov r15, rax
mov eax, dword [0x180020a70]
mov r11d, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp r11d, 0xa
jl 0x180001c83
test ecx, ecx
je 0x180001c83
sub rsp, 0x20
mov rcx, rsi
call fcn.1800020b0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001c11
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001f91
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001c40
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001f93
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdi, r9
add r10, r9
mov ebx, dword [rdi]
add rbx, r9
mov rax, r13
movzx edx, byte [rax]
movzx ecx, byte [rbx]
test dl, dl
je 0x180001c71
add rax, 1
add rbx, 1
cmp dl, cl
je 0x180001c5b
cmp dl, cl
je 0x180001aec
add rdi, 4
add r10, 2
jmp 0x180001c53
cmp r11d, 0xa
jl 0x180001c91
test ecx, ecx
jne 0x180001fa1
mov edx, dword [r12]
mov ebx, dword [r12 + 0x10]
mov rcx, qword [rbp]
add rdx, rcx
mov qword [rbp - 0x20], rdx
add rbx, rcx
mov qword [rbp - 0x10], rbx
mov rcx, qword [rbp - 0x20]
mov rcx, qword [rcx]
test rcx, rcx
je 0x180001f84
mov rax, qword [rbp - 0x28]
add rax, rcx
test rcx, rcx
movzx r14d, cx
cmovns r14, rax
sub rsp, 0x20
mov rcx, rsi
call fcn.1800020b0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001cff
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001f9f
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001d2e
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001f9d
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdx, r9
add r10, r9
mov edi, dword [rdx]
add rdi, r9
mov rax, qword [rbp - 0x18]
movzx ebx, byte [rax]
movzx ecx, byte [rdi]
test bl, bl
je 0x180001d60
add rax, 1
add rdi, 1
cmp bl, cl
je 0x180001d4a
cmp bl, cl
je 0x180001d6e
add rdx, 4
add r10, 2
jmp 0x180001d41
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
mov rdx, r14
call r9
add rsp, 0x20
mov rcx, qword [rbp - 0x10]
mov qword [rcx], rax
mov eax, dword [0x180020a70]
mov r11d, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp r11d, 0xa
jl 0x180001f66
test ecx, ecx
je 0x180001f66
sub rsp, 0x20
mov rcx, rsi
call fcn.1800020b0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001dea
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001f95
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001e19
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001f97
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdx, r9
add r10, r9
mov edi, dword [rdx]
add rdi, r9
mov rax, qword [rbp - 0x18]
movzx ebx, byte [rax]
movzx ecx, byte [rdi]
test bl, bl
je 0x180001e4b
add rax, 1
add rdi, 1
cmp bl, cl
je 0x180001e35
cmp bl, cl
je 0x180001e59
add rdx, 4
add r10, 2
jmp 0x180001e2c
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
mov rdx, r14
call r9
add rsp, 0x20
mov rcx, qword [rbp - 0x10]
mov qword [rcx], rax
sub rsp, 0x20
mov rcx, rsi
call fcn.1800020b0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001ead
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001f99
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001edc
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001f9b
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdx, r9
add r10, r9
mov edi, dword [rdx]
add rdi, r9
mov rax, qword [rbp - 0x18]
movzx ebx, byte [rax]
movzx ecx, byte [rdi]
test bl, bl
je 0x180001f0e
add rax, 1
add rdi, 1
cmp bl, cl
je 0x180001ef8
cmp bl, cl
je 0x180001f1c
add rdx, 4
add r10, 2
jmp 0x180001eef
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
mov rdx, r14
call r9
add rsp, 0x20
mov rcx, qword [rbp - 0x10]
mov qword [rcx], rax
cmp dword [0x180020a6c], 0xa
jl 0x180001cce
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001db9
jmp 0x180001cce
add qword [rbp - 0x20], 8
add qword [rbp - 0x10], 8
cmp r11d, 0xa
jl 0x180001cac
test ecx, ecx
je 0x180001cac
jmp 0x180001fa1
add r12, 0x14
jmp 0x180001ab1
jmp 0x180001f8d
jmp 0x180001f8f
jmp 0x180001f91
jmp 0x180001f93
jmp 0x180001f95
jmp 0x180001f97
jmp 0x180001f99
jmp 0x180001f9b
jmp 0x180001f9d
jmp 0x180001f9f
jmp 0x180001fa1
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 0x180002094
mov ecx, dword [0x180020a70]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180002094
mov rsi, qword [rbp - 8]
mov rdi, qword [rbp]
cmp eax, 0xa
jl 0x180001ff4
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180002023
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 0x18000205f
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x18000205f
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 0x180001ff4
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002023
jmp 0x180001ff4
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 0x180002094
mov ecx, dword [0x180020a70]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001fe4
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret