Function at 0x180001090
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 0x1800010c2
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800010c2
nop
jmp 0x1800010c0
mov eax, 0x10
call entry0
sub rsp, rax
mov r10, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r9, rsp
mov ecx, dword [0x180020a74]
mov edx, dword [0x180020a78]
cmp edx, 0xa
jl 0x180001102
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
je 0x180001102
nop
jmp 0x180001100
lea r8, section..data
cmp edx, 0xa
jl 0x18000111d
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x1800012f0
mov r11d, 3
mov rdi, r10
mov rax, r8
jmp 0x180001142
add rax, 1
add rdi, 1
sub r11, 1
jb 0x1800011c6
mov bl, byte [rax]
mov byte [rdi], bl
nop word cs:[rax + rax]
mov ecx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
cmp edx, 0xa
jl 0x1800011b0
test esi, esi
je 0x1800011b0
cmp edx, 0xa
jl 0x180001190
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800012e0
nop word cs:[rax + rax]
nop dword [rax]
mov byte [rdi], bl
mov ecx, dword [0x180020a74]
cmp dword [0x180020a78], 0xa
mov byte [rdi], bl
jl 0x180001150
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001190
jmp 0x180001150
cmp edx, 0xa
jl 0x180001130
test esi, esi
je 0x180001130
jmp 0x1800012f0
cmp dword [0x180020a6c], 0xa
jl 0x180001322
mov eax, dword [0x180020a70]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
je 0x180001322
mov eax, 0x10
call entry0
sub rsp, rax
mov rax, rsp
cmp edx, 0xa
jl 0x18000120c
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001320
mov r9d, 3
mov rsi, r8
jmp 0x180001225
add rsi, 1
add rax, 1
sub r9, 1
jb 0x1800012a3
mov bl, byte [rsi]
mov byte [rax], bl
nop dword [rax]
mov ecx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
cmp edx, 0xa
jl 0x180001290
test edi, edi
je 0x180001290
cmp edx, 0xa
jl 0x180001270
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001300
nop word cs:[rax + rax]
nop dword [rax]
mov byte [rax], bl
mov ecx, dword [0x180020a74]
cmp dword [0x180020a78], 0xa
mov byte [rax], bl
jl 0x180001230
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001270
jmp 0x180001230
cmp edx, 0xa
jl 0x180001217
test edi, edi
je 0x180001217
jmp 0x180001310
mov eax, 0x10
call entry0
sub rsp, rax
mov r10, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r9, rsp
cmp edx, 0xa
jl 0x180001109
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
je 0x180001109
jmp 0x180001100
jmp 0x1800012e0
jmp 0x1800012f0
jmp 0x180001300
jmp 0x180001310
jmp 0x180001320
mov r14d, dword [r10]
test r14, r14
je 0x18000143e
xor ebx, ebx
cmp r14d, 0x10
jb 0x180001411
lea rax, [r14 - 1]
cmp rax, 0x400
jae 0x180001411
mov ebx, r14d
and ebx, 0xfffffff0
lea rdi, [rbx - 0x10]
mov rax, rdi
shr rax, 4
add rax, 1
mov r8d, eax
and r8d, 1
test rdi, rdi
je 0x1800013d8
mov rsi, r8
sub rsi, rax
xor edi, edi
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 eax, edi
and eax, 0x3e0
movups xmm1, xmmword [rax + r10 + 4]
movups xmm2, xmmword [rdi + r10 + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rdi + r10 + 0x414]
xorps xmm2, xmm0
movups xmmword [rdi + r10 + 0x404], xmm2
lea eax, [rdi + 0x10]
and eax, 0x3f0
movups xmm2, xmmword [rax + r10 + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rdi + r10 + 0x414], xmm1
add rdi, 0x20
add rsi, 2
jne 0x180001381
jmp 0x1800013da
xor edi, edi
test r8, r8
je 0x18000140c
mov eax, edi
and eax, 0x3f0
lea rsi, section..data
movups xmm0, xmmword [rax + rsi + 4]
movups xmm1, xmmword [rdi + 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 [rdi + rsi + 0x404], xmm1
cmp rbx, r14
je 0x18000143e
lea rdi, section..data
mov esi, ebx
and esi, 0x3ff
movzx eax, byte [rsi + rdi + 4]
xor al, byte [rbx + rdi + 0x404]
xor al, 0xc
mov byte [rbx + rdi + 0x404], al
add rbx, 1
cmp rbx, r14
jb 0x180001418
lea rax, section..data
lea r10, [r14 + rax]
add r10, 0x404
cmp edx, 0xa
jl 0x180001690
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
je 0x180001690
nop dword [rax + rax]
jmp 0x180001470
mov r8d, 3
mov rdi, r9
mov rbx, qword [rbp - 8]
mov dl, byte [rbx]
mov byte [rdi], dl
mov eax, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea esi, [rax - 1]
imul esi, eax
and esi, 1
cmp ecx, 0xa
jl 0x1800014d5
test esi, esi
je 0x1800014d5
cmp ecx, 0xa
jl 0x1800014b5
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001776
mov byte [rdi], dl
mov eax, dword [0x180020a74]
cmp dword [0x180020a78], 0xa
mov byte [rdi], dl
jl 0x180001483
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800014b5
jmp 0x180001483
cmp ecx, 0xa
jl 0x1800014e2
test esi, esi
jne 0x18000177a
add rbx, 1
add rdi, 1
sub r8, 1
jae 0x18000147f
cmp ecx, 0xa
jl 0x180001504
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000177c
mov r8d, 3
mov rax, r9
mov rdi, qword [rbp - 8]
jmp 0x180001521
add rdi, 1
add rax, 1
sub r8, 1
jb 0x180001585
mov bl, byte [rdi]
mov byte [rax], bl
mov ecx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
cmp edx, 0xa
jl 0x180001577
test esi, esi
je 0x180001577
cmp edx, 0xa
jl 0x180001557
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001774
mov byte [rax], bl
mov ecx, dword [0x180020a74]
cmp dword [0x180020a78], 0xa
mov byte [rax], bl
jl 0x180001525
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001557
jmp 0x180001525
cmp edx, 0xa
jl 0x180001513
test esi, esi
je 0x180001513
jmp 0x180001778
cmp dword [0x180020a6c], 0xa
jl 0x1800015d0
mov eax, dword [0x180020a70]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
je 0x1800015d0
mov r8d, 3
mov rdi, r9
mov rbx, qword [rbp - 8]
cmp edx, 0xa
jl 0x18000147f
lea eax, [rcx - 1]
imul eax, ecx
mov rdi, r9
mov rbx, qword [rbp - 8]
and eax, 1
je 0x18000147f
jmp 0x180001761
cmp edx, 0xa
jl 0x1800015e4
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180001782
mov r8d, 3
mov rax, r9
mov rdi, qword [rbp - 8]
jmp 0x180001601
add rdi, 1
add rax, 1
sub r8, 1
jb 0x180001665
mov bl, byte [rdi]
mov byte [rax], bl
mov ecx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
cmp edx, 0xa
jl 0x180001657
test esi, esi
je 0x180001657
cmp edx, 0xa
jl 0x180001637
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x18000177e
mov byte [rax], bl
mov ecx, dword [0x180020a74]
cmp dword [0x180020a78], 0xa
mov byte [rax], bl
jl 0x180001605
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001637
jmp 0x180001605
cmp edx, 0xa
jl 0x1800015f3
test esi, esi
je 0x1800015f3
jmp 0x180001780
cmp dword [0x180020a6c], 0xa
jl 0x180001683
mov eax, dword [0x180020a70]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
jne 0x18000159f
cmp edx, 0xa
mov r10, qword [rbp - 8]
jge 0x180001459
cmp edx, 0xa
jl 0x1800016a4
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180001772
mov r8d, 3
mov rdx, r9
mov rax, r10
jmp 0x1800016c0
add rax, 1
add rdx, 1
sub r8, 1
jb 0x18000172b
mov cl, byte [rax]
mov byte [rdx], cl
mov ebx, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea esi, [rbx - 1]
imul esi, ebx
and esi, 1
cmp edi, 0xa
jl 0x180001720
test esi, esi
je 0x180001720
cmp edi, 0xa
jl 0x180001700
lea edi, [rbx - 1]
imul edi, ebx
and edi, 1
jne 0x180001770
nop word cs:[rax + rax]
nop dword [rax]
mov byte [rdx], cl
mov ebx, dword [0x180020a74]
cmp dword [0x180020a78], 0xa
mov byte [rdx], cl
jl 0x1800016c4
lea edi, [rbx - 1]
imul edi, ebx
and edi, 1
jne 0x180001700
jmp 0x1800016c4
cmp edi, 0xa
jl 0x1800016b2
test esi, esi
je 0x1800016b2
jmp 0x180001772
mov qword [rbp - 8], r10
cmp dword [0x180020a6c], 0xa
jl 0x180001784
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001784
cmp edi, 0xa
jl 0x180001472
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
je 0x180001472
jmp 0x180001761
jmp 0x180001770
jmp 0x180001772
jmp 0x180001774
jmp 0x180001776
jmp 0x180001778
jmp 0x18000177a
jmp 0x18000177c
jmp 0x18000177e
jmp 0x180001780
jmp 0x180001782
add qword [rbp - 8], 4
mov r9d, dword [r9]
test r9, r9
je 0x180001915
xor eax, eax
cmp r9d, 0x20
jb 0x1800018e3
lea rdx, [r9 - 1]
cmp rdx, 0x400
jae 0x1800018e3
lea rax, section..data
lea rcx, [r14 + rax]
add rcx, 0x408
lea rdx, [r9 + rax]
add rdx, 4
cmp rcx, rdx
jae 0x1800017f9
lea rcx, [r9 + r14]
lea rax, section..data
add rcx, rax
add rcx, 0x408
lea rdx, str.jqDliFsUtEHJciLrYAnyBllBOgnpaHPxmJmDqVKcgbWdSgJZSeVKxpElPVOWOwzrnVrZlZHMvwAAyYihVFFWCHaPpCRGxlXlxSkCsezCfVhWpoHPjdGZMLtRmaTufwXTLcxzAQiChJQwgrJxvyxBQPaTGMyxktOZEdaQZCxLhBptBUTAWySswVQtIUCnCHpLJdZGTfRbUqGPgwnVIOTAizjQIBQVVHqjroqTIziUmzfTOpywofpJznAbExGOuHKWXBJdRHSHmDpEQjfUaSKporoTcWlrbmRzgldagQshDHADXDoAnvwaldtiQTCuJrCRCPHiMaGgBvsHpPiACrdgaioFKmStjIRTFQVKPhHqgfkUryTbfKzJGkZxpDfukRbYQUfCjVsvUDHbXhGHkiQWaCxqozCrqkeZnMmoRTQBEKfAVfeXqXwPxXkpuknMazyinHEHYtYMFAKZtYyWBuAWisnZIZaUFOFOnyLkMiuGxDvrVLadGWZHLkitGIqJtvCZoHwEJKggQaUFWiVmxZccFiXwBLcSYilxblQOKVKIXcfEovxrdhGsKLJDliMktaiMSlHoiWMKqZnKkXukEAZanPaInCpRCSuwMTEYkOqcalrhpzACsSEJvzXCneqBOTYaRvbrXpbAmjfoDKGIPvkOlSjzAZjLoeVvTIcFTharsXdkVacKzDRpEiplZfcgGtrDndDItrULVFAiFHDPjPPbUHXvlQPgRtpsCDpIKJqTZSyismfBLCExompmWghOmFWBxmgvCSySuXPtlJwxHADMUoCMadctGWRunlnwWoDMDMbKHnbceQroKvtzuQiVHzgIYMIXnQOedkALyAJnpLkghFZaOdAfrOaAIFfVveRRFoUnZUUZOeoDWIFjufRqGFfdgjcWEBwuAEZPnDbebqxfnkZYIqGIsHfulWLUwzTjPPAASiCspvuvIITJkhjxMslbYSlOuBTAdFQrhAueWXZuGuCjGgaJubixdEQrUHmJEsesyUdWVCwhywPirSWdPph
cmp rcx, rdx
jbe 0x1800017f9
xor eax, eax
jmp 0x1800018e3
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 0x1800018a2
lea rcx, section..data
lea rdi, [r14 + rcx]
add rdi, 0x438
mov rbx, r8
sub rbx, rdx
xor esi, esi
lea rcx, section..data
mov edx, esi
and edx, 0x3c0
movups xmm0, xmmword [rdx + rcx + 4]
movups xmm1, xmmword [rdx + rcx + 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 + rcx + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rdx + rcx + 0x14]
xorps xmm1, xmm3
movups xmmword [rdi + rsi - 0x10], xmm0
movups xmmword [rdi + rsi], xmm1
add rsi, 0x40
add rbx, 2
jne 0x18000183f
jmp 0x1800018a4
xor esi, esi
test r8, r8
je 0x1800018de
mov edx, esi
and edx, 0x3e0
lea rcx, section..data
movups xmm0, xmmword [rdx + rcx + 4]
movups xmm1, xmmword [rdx + rcx + 0x14]
mov rcx, qword [rbp - 8]
movups xmm2, xmmword [rcx + rsi]
xorps xmm2, xmm0
movups xmm0, xmmword [rcx + rsi + 0x10]
xorps xmm0, xmm1
movups xmmword [rcx + rsi], xmm2
movups xmmword [rcx + rsi + 0x10], xmm0
cmp rax, r9
je 0x180001915
lea rcx, section..data
lea rdx, [r14 + rcx]
add rdx, 0x408
lea rbx, section..data
mov ecx, eax
and ecx, 0x3ff
movzx ecx, byte [rcx + rbx + 4]
xor byte [rdx + rax], cl
add rax, 1
cmp rax, r9
jb 0x1800018fc
cmp dword [0x180020a7c], 0xa
jl 0x180001931
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001931
jmp 0x18000192f
add r14, 0x408
movsxd rax, dword [0x180004440]
lea rcx, section..data
add rax, rcx
add rax, 0x404
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 8]
mov qword [rbp], rax
mov rax, qword [rbp]
cmp byte [rax], 0
lea rax, [rax + 1]
mov qword [rbp], rax
jne 0x18000195b
mov r12, qword [rbp]
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001970
mov qword [rbp - 0x18], r12
mov rax, qword [rbp - 0x18]
cmp byte [rax], 0
lea rax, [rax + 1]
mov qword [rbp - 0x18], rax
jne 0x180001980
mov r15, qword [rbp - 0x18]
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001995
mov rdi, r15
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x1800019a2
mov r13, rdi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x1800019ae
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.180002cc0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800019eb
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002241
movsxd rax, dword [r9 + 0x3c]
mov eax, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001a1a
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180002243
add r8, r9
mov esi, dword [r9 + rax + 0x20]
mov r10d, dword [r9 + rax + 0x24]
add rsi, r9
add r10, r9
mov eax, dword [rsi]
add rax, r9
mov rdx, r12
movzx ecx, byte [rdx]
movzx ebx, byte [rax]
test cl, cl
je 0x180001a4b
add rax, 1
add rdx, 1
cmp cl, bl
je 0x180001a35
cmp cl, bl
je 0x180001a59
add r10, 2
add rsi, 4
jmp 0x180001a2d
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, rdi
call r9
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001a93
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002245
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001ac2
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002247
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov edi, dword [r10 + rcx + 0x24]
add rdx, r10
add rdi, r10
mov esi, dword [rdx]
add rsi, r10
mov rax, r15
movzx ebx, byte [rax]
movzx ecx, byte [rsi]
test bl, bl
je 0x180001af3
add rsi, 1
add rax, 1
cmp bl, cl
je 0x180001add
cmp bl, cl
je 0x180001b01
add rdi, 2
add rdx, 4
jmp 0x180001ad5
movzx eax, word [rdi]
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, r13
mov r8, r13
call r10
add rsp, 0x10
mov rcx, qword [rbp]
call fcn.180002cc0
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001b64
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002249
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001b93
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000224b
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 esi, esi
lea rcx, section..data
lea rax, [r14 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001bcc
add rsi, 1
cmp al, bl
je 0x180001bb4
cmp al, bl
je 0x180001bda
add r9, 2
add rdx, 4
jmp 0x180001ba6
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp - 0x10]
mov edx, dword [rax + 0x50]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
mov rdi, rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x18000224d
test edx, edx
je 0x18000224d
movsxd rax, dword [0x180004440]
mov qword [rbp - 0x18], rax
cmp dword [0x180020a7c], 0xa
mov rax, qword [rbp - 8]
mov qword [rbp], rax
jl 0x180001c67
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov rax, qword [rbp - 8]
mov qword [rbp], rax
and ecx, 1
jne 0x180002225
mov rax, qword [rbp]
cmp byte [rax], 0
lea rax, [rax + 1]
mov qword [rbp], rax
jne 0x180001c67
mov r13, qword [rbp]
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001c7c
mov r15, r13
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001c8a
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001c94
mov rdi, r15
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001ca1
mov r12, rdi
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001cad
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.180002cc0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001ceb
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002227
movsxd rax, dword [r9 + 0x3c]
mov eax, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001d1a
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180002229
add r8, r9
mov esi, dword [r9 + rax + 0x20]
mov r10d, dword [r9 + rax + 0x24]
add rsi, r9
add r10, r9
mov eax, dword [rsi]
add rax, r9
mov rdx, r13
movzx ecx, byte [rdx]
movzx ebx, byte [rax]
test cl, cl
je 0x180001d4b
add rax, 1
add rdx, 1
cmp cl, bl
je 0x180001d35
cmp cl, bl
je 0x180001d59
add r10, 2
add rsi, 4
jmp 0x180001d2d
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, rdi
call r9
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001d93
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000222b
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001dc2
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000222d
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov edi, dword [r10 + rcx + 0x24]
add rdx, r10
add rdi, r10
mov esi, dword [rdx]
add rsi, r10
mov rbx, r15
movzx eax, byte [rbx]
movzx ecx, byte [rsi]
test al, al
je 0x180001df3
add rsi, 1
add rbx, 1
cmp al, cl
je 0x180001ddd
cmp al, cl
je 0x180001e01
add rdi, 2
add rdx, 4
jmp 0x180001dd5
movzx eax, word [rdi]
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, r12
mov r8, r12
call r10
add rsp, 0x10
mov rcx, qword [rbp]
call fcn.180002cc0
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001e64
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000222f
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001e93
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002231
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 esi, esi
lea rcx, section..data
lea rax, [r14 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001ecc
add rsi, 1
cmp al, bl
je 0x180001eb4
cmp al, bl
je 0x180001eda
add r9, 2
add rdx, 4
jmp 0x180001ea6
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
lea rax, section..data
mov rcx, qword [rbp - 0x18]
mov edx, dword [rcx + rax + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
movsxd rax, dword [0x180004440]
mov qword [rbp], rax
cmp dword [0x180020a7c], 0xa
mov r13, qword [rbp - 8]
jl 0x180001f41
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov r13, qword [rbp - 8]
and ecx, 1
jne 0x180002233
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001f41
mov r15, r13
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001f4f
mov rdi, r15
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001f5c
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001f65
mov rsi, rdi
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x180001f71
mov r12, rsi
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001f7d
sub rsp, 0x20
mov rcx, r13
call fcn.180002cc0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001fba
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002235
movsxd rax, dword [r9 + 0x3c]
mov eax, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001fe9
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180002237
add r8, r9
mov r11d, dword [r9 + rax + 0x20]
mov r10d, dword [r9 + rax + 0x24]
add r11, r9
add r10, r9
mov eax, dword [r11]
add rax, r9
mov rdx, r15
movzx ecx, byte [rdx]
movzx ebx, byte [rax]
test cl, cl
je 0x18000201b
add rax, 1
add rdx, 1
cmp cl, bl
je 0x180002005
cmp cl, bl
je 0x180002029
add r10, 2
add r11, 4
jmp 0x180001ffc
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, rsi
call r9
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180002063
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002239
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002092
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000223b
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 rbx, rdi
movzx eax, byte [rbx]
movzx ecx, byte [rsi]
test al, al
je 0x1800020c3
add rsi, 1
add rbx, 1
cmp al, cl
je 0x1800020ad
cmp al, cl
je 0x1800020d1
add r9, 2
add rdx, 4
jmp 0x1800020a5
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, r12
mov r8, r12
call r10
add rsp, 0x10
mov rcx, r13
call fcn.180002cc0
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180002134
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000223d
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002163
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000223f
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 esi, esi
lea rcx, section..data
lea rax, [r14 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x18000219c
add rsi, 1
cmp al, bl
je 0x180002184
cmp al, bl
je 0x1800021aa
add r9, 2
add rdx, 4
jmp 0x180002176
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
lea rax, section..data
mov rcx, qword [rbp]
mov edx, dword [rcx + rax + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x1800021fe
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001c2e
cmp dword [0x180020a7c], 0xa
jl 0x180001938
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001938
jmp 0x18000192f
jmp 0x180002225
jmp 0x180002227
jmp 0x180002229
jmp 0x18000222b
jmp 0x18000222d
jmp 0x18000222f
jmp 0x180002231
jmp 0x180002233
jmp 0x180002235
jmp 0x180002237
jmp 0x180002239
jmp 0x18000223b
jmp 0x18000223d
jmp 0x18000223f
jmp 0x180002241
jmp 0x180002243
jmp 0x180002245
jmp 0x180002247
jmp 0x180002249
jmp 0x18000224b
cmp ecx, 0xa
jl 0x180002258
test edx, edx
je 0x180002258
jmp 0x180002256
mov rdx, qword [rbp - 0x10]
lea r8, [rdx + 0x108]
xor r9d, r9d
mov rdx, qword [rbp - 0x10]
movzx edx, word [rdx + 6]
cmp r9, rdx
jae 0x18000253f
lea rax, [r9 + r9*4]
lea r10, [r8 + rax*8]
add r10, 0xc
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
cmp edx, 0xa
jl 0x1800022a3
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x180002535
cmp edx, 0xa
jl 0x1800022b7
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x180002533
mov r11d, dword [r10 + 4]
test r11, r11
je 0x18000235b
mov ecx, dword [r10]
add rcx, rdi
mov eax, dword [r10 + 8]
lea rdx, section..data
add rax, rdx
add rax, 0x404
jmp 0x1800022f1
add r11, 0xffffffffffffffff
add rax, 1
add rcx, 1
test r11, r11
je 0x18000235b
mov dl, byte [rax]
mov byte [rcx], dl
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea esi, [rbx - 1]
imul esi, ebx
and esi, 1
cmp edx, 0xa
jl 0x18000234d
test esi, esi
je 0x18000234d
cmp edx, 0xa
jl 0x180002327
lea edx, [rbx - 1]
imul edx, ebx
and edx, 1
jne 0x18000252d
movzx edx, byte [rax]
mov byte [rcx], dl
mov edx, dword [0x180020a74]
cmp dword [0x180020a78], 0xa
movzx ebx, byte [rax]
mov byte [rcx], bl
jl 0x1800022f5
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
jne 0x180002327
jmp 0x1800022f5
cmp edx, 0xa
jl 0x1800022e0
test esi, esi
je 0x1800022e0
jmp 0x180002533
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea esi, [rax - 1]
imul esi, eax
and esi, 1
cmp ecx, 0xa
jl 0x180002513
test esi, esi
je 0x180002513
cmp edx, 0xa
jl 0x180002395
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x180002539
mov r11d, dword [r10 + 4]
test r11, r11
je 0x18000243a
mov eax, dword [r10 + 8]
lea rcx, section..data
add rcx, rax
add rcx, 0x404
mov eax, dword [r10]
add rax, rdi
jmp 0x1800023d0
add r11, 0xffffffffffffffff
add rcx, 1
add rax, 1
test r11, r11
je 0x18000243a
mov dl, byte [rcx]
mov byte [rax], dl
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea esi, [rbx - 1]
imul esi, ebx
and esi, 1
cmp edx, 0xa
jl 0x18000242c
test esi, esi
je 0x18000242c
cmp edx, 0xa
jl 0x180002406
lea edx, [rbx - 1]
imul edx, ebx
and edx, 1
jne 0x18000252f
movzx edx, byte [rcx]
mov byte [rax], dl
mov edx, dword [0x180020a74]
cmp dword [0x180020a78], 0xa
movzx ebx, byte [rcx]
mov byte [rax], bl
jl 0x1800023d4
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
jne 0x180002406
jmp 0x1800023d4
cmp edx, 0xa
jl 0x1800023bf
test esi, esi
je 0x1800023bf
jmp 0x180002537
cmp edx, 0xa
jl 0x18000244e
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x18000253d
mov r11d, dword [r10 + 4]
test r11, r11
je 0x1800024ec
mov eax, dword [r10 + 8]
lea rcx, section..data
add rcx, rax
add rcx, 0x404
mov eax, dword [r10]
add rax, rdi
jmp 0x180002489
add r11, 0xffffffffffffffff
add rcx, 1
add rax, 1
test r11, r11
je 0x1800024ec
mov dl, byte [rcx]
mov byte [rax], dl
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea esi, [rbx - 1]
imul esi, ebx
and esi, 1
cmp edx, 0xa
jl 0x1800024e1
test esi, esi
je 0x1800024e1
cmp edx, 0xa
jl 0x1800024bb
lea edx, [rbx - 1]
imul edx, ebx
and edx, 1
jne 0x180002531
movzx edx, byte [rcx]
mov byte [rax], dl
mov edx, dword [0x180020a74]
cmp dword [0x180020a78], 0xa
movzx ebx, byte [rcx]
mov byte [rax], bl
jl 0x18000248d
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
jne 0x1800024bb
jmp 0x18000248d
cmp edx, 0xa
jl 0x180002478
test esi, esi
je 0x180002478
jmp 0x18000253b
cmp dword [0x180020a6c], 0xa
jl 0x18000228f
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002381
jmp 0x18000228f
add r9, 1
cmp ecx, 0xa
jl 0x180002266
test esi, esi
je 0x180002266
jmp 0x180002256
jmp 0x18000252d
jmp 0x18000252f
jmp 0x180002531
jmp 0x180002533
jmp 0x180002535
jmp 0x180002537
jmp 0x180002539
jmp 0x18000253b
jmp 0x18000253d
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
je 0x180002730
mov rsi, qword [rbp - 0x10]
mov rbx, qword [rsi + 0x30]
mov r14, rdi
sub r14, rbx
mov ebx, dword [rsi + 0xb0]
add rbx, rdi
movabs r8, 0x1fffffff8
cmp dword [rbx], 0
jne 0x1800025aa
jmp 0x18000273c
mov edx, dword [rbx + 4]
add rbx, rdx
test sil, 1
sete r9b
cmp ecx, 0xa
setl dl
or dl, r9b
je 0x180002730
cmp dword [rbx], 0
je 0x18000273c
mov r9d, dword [rbx + 4]
cmp r9, 8
jb 0x180002714
add r9, r8
shr r9, 1
test r9d, r9d
je 0x18000270f
mov r9d, r9d
xor r10d, r10d
test dl, 1
jne 0x1800025fe
jmp 0x180002732
add r10, 1
test sil, 1
sete r11b
cmp ecx, 0xa
setl dl
or dl, r11b
cmp r10, r9
je 0x18000270f
test dl, 1
je 0x180002732
movzx esi, word [rbx + r10*2 + 8]
mov edx, esi
shr edx, 0xc
mov r11d, esi
and r11d, 0xfff
cmp esi, 0xa000
jae 0x1800026b6
cmp edx, 3
jne 0x1800026f3
mov eax, dword [rbx]
lea rax, [rdi + rax*4]
add dword [rax + r11*4], r14d
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x1800026f3
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x1800026f3
lea rdx, [rdi + r11*4]
cmp ecx, 0xa
jl 0x18000266a
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000268a
mov eax, dword [rbx]
add dword [rdx + rax*4], r14d
cmp dword [0x180020a6c], 0xa
jl 0x180002692
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002692
mov eax, dword [rbx]
add dword [rdx + rax*4], r14d
jmp 0x18000266a
mov eax, dword [rbx]
add dword [rdx + rax*4], r14d
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x1800026f3
lea esi, [rax - 1]
imul esi, eax
and esi, 1
jne 0x18000265a
jmp 0x1800026f3
cmp edx, 0xa
jne 0x1800026f3
cmp ecx, 0xa
jl 0x1800026cb
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002736
mov eax, r11d
mov ecx, dword [rbx]
add rax, rdi
add qword [rcx + rax], r14
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x1800026f3
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002738
lea esi, [rax - 1]
imul esi, eax
cmp ecx, 0xa
jl 0x1800025d7
mov edx, esi
and edx, 1
je 0x1800025d7
jmp 0x180002734
test dl, 1
je 0x18000273a
lea esi, [rax - 1]
imul esi, eax
cmp ecx, 0xa
jl 0x180002584
mov edx, esi
and edx, 1
je 0x180002584
jmp 0x18000272e
jmp 0x180002730
jmp 0x180002732
jmp 0x180002734
jmp 0x180002736
jmp 0x180002738
jmp 0x18000273a
cmp ecx, 0xa
jl 0x18000274e
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x18000274e
jmp 0x18000274c
lea rax, [rdi + 2]
mov qword [rbp - 8], rax
mov rax, qword [rbp - 0x10]
mov r13d, dword [rax + 0x90]
add r13, rdi
mov r15d, dword [r13 + 0xc]
test r15, r15
je 0x180002c34
add r15, rdi
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.180002cc0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800027a6
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002c26
movsxd rax, dword [r9 + 0x3c]
mov eax, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800027d5
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180002c28
add r8, r9
mov esi, dword [r9 + rax + 0x20]
mov r10d, dword [r9 + rax + 0x24]
add rsi, r9
add r10, r9
mov eax, dword [rsi]
add rax, r9
mov rbx, r12
movzx edx, byte [rbx]
movzx ecx, byte [rax]
test dl, dl
je 0x180002806
add rax, 1
add rbx, 1
cmp dl, cl
je 0x1800027f0
cmp dl, cl
je 0x180002814
add r10, 2
add rsi, 4
jmp 0x1800027e8
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
call r9
add rsp, 0x20
mov r14, rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x1800029e7
test edx, edx
je 0x1800029e7
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.180002cc0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002888
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002c1e
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800028b7
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002c20
add r8, r9
mov esi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rsi, r9
add r10, r9
mov ebx, dword [rsi]
add rbx, r9
mov rax, r12
movzx edx, byte [rax]
movzx ecx, byte [rbx]
test dl, dl
je 0x1800028e8
add rbx, 1
add rax, 1
cmp dl, cl
je 0x1800028d2
cmp dl, cl
je 0x1800028f6
add r10, 2
add rsi, 4
jmp 0x1800028ca
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
call r9
mov rcx, qword [rbp]
call fcn.180002cc0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002939
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002c22
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002968
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002c24
add r8, r9
mov esi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rsi, r9
add r10, r9
mov ebx, dword [rsi]
add rbx, r9
mov rax, r12
movzx edx, byte [rax]
movzx ecx, byte [rbx]
test dl, dl
je 0x180002999
add rbx, 1
add rax, 1
cmp dl, cl
je 0x180002983
cmp dl, cl
je 0x1800029a7
add r10, 2
add rsi, 4
jmp 0x18000297b
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
call r9
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x180002774
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002856
jmp 0x180002774
cmp ecx, 0xa
jl 0x1800029f4
test edx, edx
jne 0x180002c32
mov edx, dword [r13]
mov ebx, dword [r13 + 0x10]
add rbx, rdi
mov qword [rbp - 0x20], rbx
add rdx, rdi
mov qword [rbp - 0x28], rdx
mov rdx, qword [rbp - 0x28]
mov rdx, qword [rdx]
test rdx, rdx
je 0x180002bfd
mov rax, qword [rbp - 8]
add rax, rdx
test rdx, rdx
movzx r15d, dx
cmovns r15, rax
jmp 0x180002a51
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
call r9
add rsp, 0x20
mov rcx, qword [rbp - 0x20]
mov qword [rcx], rax
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.180002cc0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002a83
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002c2a
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002ab2
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002c2c
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdx, r9
add r10, r9
mov esi, dword [rdx]
add rsi, r9
mov rax, qword [rbp - 0x18]
movzx ebx, byte [rax]
movzx ecx, byte [rsi]
test bl, bl
je 0x180002ae4
add rsi, 1
add rax, 1
cmp bl, cl
je 0x180002ace
cmp bl, cl
je 0x180002af2
add r10, 2
add rdx, 4
jmp 0x180002ac5
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
call r9
add rsp, 0x20
mov rcx, qword [rbp - 0x20]
mov qword [rcx], rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180002be0
test edx, edx
je 0x180002be0
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.180002cc0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002b6d
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002c2e
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002b9c
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002c30
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdx, r9
add r10, r9
mov esi, dword [rdx]
add rsi, r9
mov rax, qword [rbp - 0x18]
movzx ebx, byte [rax]
movzx ecx, byte [rsi]
test bl, bl
je 0x180002bce
add rsi, 1
add rax, 1
cmp bl, cl
je 0x180002bb8
cmp bl, cl
je 0x180002a2e
add r10, 2
add rdx, 4
jmp 0x180002baf
add qword [rbp - 0x28], 8
add qword [rbp - 0x20], 8
cmp ecx, 0xa
jl 0x180002a0a
test edx, edx
je 0x180002a0a
jmp 0x180002c32
add r13, 0x14
cmp ecx, 0xa
jl 0x180002764
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002764
jmp 0x18000274c
jmp 0x180002c1e
jmp 0x180002c20
jmp 0x180002c22
jmp 0x180002c24
jmp 0x180002c26
jmp 0x180002c28
jmp 0x180002c2a
jmp 0x180002c2c
jmp 0x180002c2e
jmp 0x180002c30
jmp 0x180002c32
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x28]
add rax, rdi
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x180002ca0
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002ca0
mov rsi, qword [rbp - 0x10]
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 0x180002ca0
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002c66
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret