Function at 0x180001040
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, 0x48
lea rbp, [rsp + 0x40]
cmp dword [0x180020a64], 0xa
jl 0x180001072
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001072
nop
jmp 0x180001070
mov eax, 0x10
call entry0
sub rsp, rax
mov rdi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r10, rsp
mov esi, dword [0x180020a6c]
mov edx, dword [0x180020a70]
cmp edx, 0xa
jl 0x1800010b2
lea ecx, [rsi - 1]
imul ecx, esi
and ecx, 1
je 0x1800010b2
nop
jmp 0x1800010b0
mov r11b, byte [section..data]
mov r15d, dword [0x180020a6c]
mov r8d, dword [0x180020a70]
lea r13d, [r15 - 1]
imul r13d, r15d
and r13d, 1
sete al
cmp r8d, 0xa
setl bl
or bl, al
mov r9b, byte [0x180004001]
mov al, byte [0x180004002]
mov byte [rbp - 8], al
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov ecx, r11d
sete al
cmp dword [0x180020a64], 0xa
mov r11b, byte [0x180004003]
setl r12b
or r12b, al
mov r14d, ebx
or r14b, bl
cmp edx, 0xa
jl 0x180001133
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
jne 0x1800012d0
mov byte [rdi], cl
test bl, bl
jne 0x180001146
nop dword [rax]
test bl, bl
je 0x180001140
mov byte [rdi], cl
cmp r8d, 0xa
jl 0x180001155
test r13d, r13d
jne 0x1800012d0
mov byte [rdi + 1], r9b
test bl, bl
jne 0x180001168
nop dword [rax]
test bl, bl
je 0x180001160
mov byte [rdi + 1], r9b
cmp r8d, 0xa
jl 0x180001177
test r13d, r13d
jne 0x1800012d0
mov al, byte [rbp - 8]
mov byte [rdi + 2], al
test bl, bl
jne 0x18000119a
nop word cs:[rax + rax]
nop dword [rax + rax]
test bl, bl
je 0x180001190
mov al, byte [rbp - 8]
mov byte [rdi + 2], al
cmp r8d, 0xa
jl 0x1800011a9
test r13d, r13d
jne 0x1800012d0
mov byte [rdi + 3], r11b
test bl, bl
jne 0x1800011c8
nop word cs:[rax + rax]
nop dword [rax + rax]
test bl, bl
je 0x1800011c0
mov byte [rdi + 3], r11b
cmp r8d, 0xa
jl 0x1800011d7
test r13d, r13d
jne 0x1800012d0
test r12b, r12b
jne 0x180001332
cmp r8d, 0xa
jl 0x1800011ef
test r13d, r13d
jne 0x1800012f0
test bl, bl
mov eax, r13d
cmovne eax, r13d
mov edx, r8d
cmovne edx, r8d
test r14b, r14b
je 0x180001300
cmp edx, 0xa
jl 0x180001215
test eax, eax
jne 0x1800012e0
test bl, bl
mov eax, r13d
cmovne eax, r13d
mov edx, r8d
cmovne edx, r8d
test r14b, r14b
je 0x180001310
cmp edx, 0xa
jl 0x18000123b
test eax, eax
jne 0x1800012e0
test bl, bl
mov eax, r13d
cmovne eax, r13d
mov edx, r8d
cmovne edx, r8d
test r14b, r14b
je 0x180001320
cmp edx, 0xa
jl 0x180001261
test eax, eax
jne 0x1800012e0
test bl, bl
mov eax, r13d
cmovne eax, r13d
mov edx, r8d
cmovne edx, r8d
mov esi, r15d
cmovne esi, esi
test r14b, r14b
je 0x180001330
cmp edx, 0xa
jl 0x180001289
test eax, eax
jne 0x1800012e0
mov eax, 0x10
call entry0
sub rsp, rax
mov rdi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r10, rsp
cmp edx, 0xa
jl 0x18000111f
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
je 0x18000111f
jmp 0x1800010b0
jmp 0x1800012d0
jmp 0x1800012e0
jmp 0x1800012f0
jmp 0x180001300
jmp 0x180001310
jmp 0x180001320
jmp 0x180001330
mov r14d, dword [rdi]
test r14, r14
mov r11, r10
je 0x180001455
xor esi, esi
cmp r14d, 0x10
jb 0x18000141e
lea rax, [r14 - 1]
cmp rax, 0x400
jae 0x18000141e
mov esi, r14d
and esi, 0xfffffff0
lea rcx, [rsi - 0x10]
mov rdx, rcx
shr rdx, 4
add rdx, 1
mov eax, edx
and eax, 1
test rcx, rcx
je 0x1800013e5
mov rbx, rax
sub rbx, rdx
xor edx, edx
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, edx
and ecx, 0x3e0
movups xmm1, xmmword [rcx + rdi + 4]
movups xmm2, xmmword [rdx + rdi + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rdx + rdi + 0x414]
xorps xmm2, xmm0
movups xmmword [rdx + rdi + 0x404], xmm2
lea ecx, [rdx + 0x10]
and ecx, 0x3f0
movups xmm2, xmmword [rcx + rdi + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rdx + rdi + 0x414], xmm1
add rdx, 0x20
add rbx, 2
jne 0x180001392
jmp 0x1800013e7
xor edx, edx
test rax, rax
je 0x180001419
mov eax, edx
and eax, 0x3f0
lea rcx, section..data
movups xmm0, xmmword [rax + rcx + 4]
movups xmm1, xmmword [rdx + rcx + 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 [rdx + rcx + 0x404], xmm1
cmp rsi, r14
je 0x180001455
lea rdx, section..data
nop word cs:[rax + rax]
nop
mov eax, esi
and eax, 0x3ff
movzx eax, byte [rax + rdx + 4]
xor al, byte [rsi + rdx + 0x404]
xor al, 0xc
mov byte [rsi + rdx + 0x404], al
add rsi, 1
cmp rsi, r14
jb 0x180001430
cmp r8d, 0xa
jl 0x180001462
test r13d, r13d
je 0x180001462
jmp 0x180001460
lea r15, section..data
lea r8, [r14 + r15]
add r8, 0x404
mov cl, byte [r14 + r15 + 0x404]
nop dword [rax]
mov byte [r11], cl
mov eax, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ebx, 0xa
jl 0x1800014a1
test edx, edx
jne 0x180001480
cmp ebx, 0xa
jl 0x1800014ae
test edx, edx
jne 0x180001790
mov r9b, byte [r8 + 1]
mov byte [r11 + 1], r9b
mov eax, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ebx, 0xa
jl 0x180001508
test edx, edx
je 0x180001508
mov eax, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
sete al
cmp ebx, 0xa
setl cl
or cl, al
nop word cs:[rax + rax]
nop
test cl, cl
je 0x180001500
mov byte [r11 + 1], r9b
cmp ebx, 0xa
jl 0x180001515
test edx, edx
jne 0x180001790
mov r9b, byte [r8 + 2]
mov byte [r11 + 2], r9b
mov eax, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ebx, 0xa
jl 0x180001568
test edx, edx
je 0x180001568
mov eax, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
sete al
cmp ebx, 0xa
setl cl
or cl, al
nop dword [rax + rax]
test cl, cl
je 0x180001560
mov byte [r11 + 2], r9b
cmp ebx, 0xa
jl 0x180001575
test edx, edx
jne 0x180001790
mov r9b, byte [r8 + 3]
mov byte [r11 + 3], r9b
mov edx, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
cmp ebx, 0xa
jl 0x1800015c8
test edi, edi
je 0x1800015c8
mov edx, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
sete al
cmp ebx, 0xa
setl cl
or cl, al
nop dword [rax + rax]
test cl, cl
je 0x1800015c0
mov byte [r11 + 3], r9b
cmp ebx, 0xa
jl 0x1800015d5
test edi, edi
jne 0x180001790
cmp dword [0x180020a64], 0xa
jl 0x1800017b2
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800017b2
cmp ebx, 0xa
jl 0x18000160b
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x1800017b0
mov cl, byte [r14 + r15 + 0x404]
nop word cs:[rax + rax]
nop dword [rax]
mov byte [r11], cl
mov eax, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ebx, 0xa
jl 0x180001641
test edx, edx
jne 0x180001620
cmp ebx, 0xa
jl 0x18000164e
test edx, edx
jne 0x1800017a0
mov r9b, byte [r14 + r15 + 0x405]
mov byte [r11 + 1], r9b
mov eax, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ebx, 0xa
jl 0x1800016a8
test edx, edx
je 0x1800016a8
mov eax, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
sete al
cmp ebx, 0xa
setl cl
or cl, al
nop dword [rax + rax]
test cl, cl
je 0x1800016a0
mov byte [r11 + 1], r9b
cmp ebx, 0xa
jl 0x1800016b5
test edx, edx
jne 0x1800017a0
mov r9b, byte [r14 + r15 + 0x406]
mov byte [r11 + 2], r9b
mov eax, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ebx, 0xa
jl 0x180001708
test edx, edx
je 0x180001708
mov eax, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
sete al
cmp ebx, 0xa
setl cl
or cl, al
nop
test cl, cl
je 0x180001700
mov byte [r11 + 2], r9b
cmp ebx, 0xa
jl 0x180001715
test edx, edx
jne 0x1800017a0
mov r9b, byte [r14 + r15 + 0x407]
mov byte [r11 + 3], r9b
mov edx, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
cmp ebx, 0xa
jl 0x180001768
test edi, edi
je 0x180001768
mov edx, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
sete al
cmp ebx, 0xa
setl cl
or cl, al
nop
test cl, cl
je 0x180001760
mov byte [r11 + 3], r9b
cmp ebx, 0xa
jl 0x180001771
test edi, edi
jne 0x1800017a0
cmp ebx, 0xa
jl 0x180001474
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x180001474
jmp 0x180001460
jmp 0x180001790
jmp 0x1800017a0
jmp 0x1800017b0
lea r10, [r8 + 4]
mov r9d, dword [r11]
test r9, r9
je 0x180001903
xor eax, eax
cmp r9d, 0x20
jb 0x1800018de
lea rcx, [r9 - 1]
cmp rcx, 0x400
jae 0x1800018de
lea rcx, [r9 + r15]
add rcx, 4
cmp r10, rcx
jae 0x180001807
lea rcx, [r8 + r9]
add rcx, 4
lea rdx, str.IjXnelFFwhVoBOPhtYVUtOJsDsHTAhPXOOmkssGxSpulIuZqahDyvBccUfsQuWVqxQjXFsmXJlrnZFTYeXrSZqGOyXbAUSfRIBFzywBWyCtVaDiDMdonCRwMOLrdcslbpAxpLQSZdMmJrZSpfyeVltGveBcVFXUmcHfnrqPuOhIBPgjeAaUtLQOvIsSyUKYxCkYKRuOiLSUTLtGaSpumzgDeFaAgUQEtslayXBtxapHaoKaTQrPCAQexWeokLYJVSDjQbPejCpLpEFRjzwqQyAFOAByZjauHSAXVBRcWkYWabMvHWkJvJuJZhgSmjRKWbdQyIsJAJmcQCMRJyegOgnjoYyLgmvoLyfmDhKmVFUtVQUuvvVVLsVgXDbxPDQfpjSPqumHSzyoVAbLHwoqEFoVeXASSahuczQZkyWjKmZftGDKuEHhfpUiWTCosAFIfJRSLDpRhhGksHbxWQOIyUpLygBgoJbkOUiZQcbSvtaYRPxsfyLMRCjQSqLnFRmaeGLwqSKQEaapKrAfFozLQfnqxyJEnPjtqTYSFEkyTzTfvpXFmsQwxZsVSzrdDFTVSuZPZdrxHLJpnMBDDmMmqLrcQjuDTZXuswPUihbBFuRrCXkxQPlbREkxqLVgVJBXjdlQrSpSCjBKbouzvsalwwaFclngYLwWRQXkIVmmaerRUOiHceGKZmrnUfkfHJxxebvMnEaTlAFmoEfLbCzwrhwVWMmBgpZvuyxGHuRDgpewRcyLVMSSnxCRXWmWYWdYvSLdsVCeUgoVDEZWyaMWYdDExnWSkELcZiiMTSeOQDClcpCUifchjCXyHpQQSzGRjtfWchTSxgFwiUDXIhxYBgHDXwMUQtyoOTGtpozoFixFVodIQjBWfEPLubwGAlFFkPkrWXeOJWXRFxgXIgHCXZdBSmTIofTpHoFfKwRRsDnJFCwrbPauduKTqjUFwLMfbTyZTJBkaHtpkUlOssDyVfctzRicJYncSXKoEPDuIEhqDUQUsxnvVazXPEJGQrau
cmp rcx, rdx
jbe 0x180001807
xor eax, eax
jmp 0x1800018de
mov eax, r9d
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 0x1800018a2
lea rdi, [r14 + r15]
add rdi, 0x438
mov rbx, r8
sub rbx, rcx
xor esi, esi
mov ecx, esi
and ecx, 0x3c0
movups xmm0, xmmword [rcx + r15 + 4]
movups xmm1, xmmword [rcx + r15 + 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 ecx, [rsi + 0x20]
and ecx, 0x3e0
movups xmm0, xmmword [rcx + r15 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rcx + r15 + 0x14]
xorps xmm1, xmm3
movups xmmword [rdi + rsi - 0x10], xmm0
movups xmmword [rdi + rsi], xmm1
add rsi, 0x40
add rbx, 2
jne 0x18000183b
jmp 0x1800018a4
xor esi, esi
test r8, r8
je 0x1800018d9
mov ecx, esi
and ecx, 0x3e0
movups xmm0, xmmword [rcx + r15 + 4]
movups xmm1, xmmword [rcx + r15 + 0x14]
movups xmm2, xmmword [r10 + rsi]
xorps xmm2, xmm0
movups xmm0, xmmword [r10 + rsi + 0x10]
xorps xmm0, xmm1
movups xmmword [r10 + rsi], xmm2
movups xmmword [r10 + rsi + 0x10], xmm0
cmp rax, r9
je 0x180001903
lea rcx, [r14 + r15]
add rcx, 0x408
mov edx, eax
and edx, 0x3ff
movzx edx, byte [rdx + r15 + 4]
xor byte [rcx + rax], dl
add rax, 1
cmp rax, r9
jb 0x1800018e9
cmp dword [0x180020a74], 0xa
jl 0x180001922
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001922
nop dword [rax]
jmp 0x180001920
add r14, 0x408
mov qword [rbp - 8], r10
movsxd rax, dword [0x180004440]
mov rsi, r10
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x180001937
add rax, r15
add rax, 0x404
mov qword [rbp], rax
mov r13, rsi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001950
mov rbx, r13
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x18000195e
mov r15, rbx
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x18000196a
mov r12, r15
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001977
mov rdi, r12
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001986
sub rsp, 0x20
mov rcx, rsi
call fcn.180002c00
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800019c0
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000225b
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x10], rsi
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800019f7
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000225d
add r8, r9
mov esi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rsi, r9
add r10, r9
mov edx, dword [rsi]
add rdx, r9
mov rcx, r13
nop word cs:[rax + rax]
nop dword [rax]
movzx eax, byte [rcx]
movzx ebx, byte [rdx]
test al, al
je 0x180001a36
add rcx, 1
add rdx, 1
cmp al, bl
je 0x180001a20
cmp al, bl
je 0x180001a44
add rsi, 4
add r10, 2
jmp 0x180001a0a
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r12
call r9
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001a7e
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000225f
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001aad
mov ecx, dword [0x180020a88]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180002261
add r8, r10
mov esi, dword [r10 + rax + 0x20]
mov r9d, dword [r10 + rax + 0x24]
add rsi, r10
add r9, r10
mov eax, dword [rsi]
add rax, r10
mov rbx, r15
nop dword [rax + rax]
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x180001ae6
add rbx, 1
add rax, 1
cmp cl, dl
je 0x180001ad0
cmp cl, dl
je 0x180001af4
add rsi, 4
add r9, 2
jmp 0x180001ac0
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, qword [rbp - 0x10]
call fcn.180002c00
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001b58
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002263
movsxd rax, dword [r10 + 0x3c]
mov ebx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rbx + 0x1c]
cmp dword [0x180020a84], 0xa
lea rcx, section..data
jl 0x180001b8e
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002265
add r8, r10
mov edx, dword [r10 + rbx + 0x20]
mov r9d, dword [r10 + rbx + 0x24]
add rdx, r10
add r9, r10
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
nop dword [rax + rax]
lea rax, [r14 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001bc8
add rsi, 1
cmp al, bl
je 0x180001bb0
cmp al, bl
je 0x180001bd6
add rdx, 4
add r9, 2
jmp 0x180001ba1
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp]
mov edx, dword [rax + 0x50]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
mov r12d, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea edx, [r12 - 1]
imul edx, r12d
and edx, 1
cmp ecx, 0xa
jl 0x180002267
test edx, edx
je 0x180002267
movsxd rsi, dword [0x180004440]
cmp dword [0x180020a74], 0xa
mov rdx, qword [rbp - 8]
mov r12, rdx
jl 0x180001c5a
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
mov r12, rdx
and ecx, 1
jne 0x18000223f
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001c5a
mov rbx, r12
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001c69
mov r15, rbx
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001c75
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001c7f
mov rdi, r15
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001c8c
mov r13, rdi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001c98
sub rsp, 0x20
mov rcx, r12
call fcn.180002c00
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001cd4
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002241
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001d03
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002243
mov qword [rbp], rsi
add r8, 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 rsi, rbx
nop word cs:[rax + rax]
nop dword [rax]
movzx ecx, byte [rsi]
movzx eax, byte [rdx]
test cl, cl
je 0x180001d46
add rsi, 1
add rdx, 1
cmp cl, al
je 0x180001d30
cmp cl, al
je 0x180001d54
add r11, 4
add r10, 2
jmp 0x180001d1a
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 [0x180020a7c], 0xa
jl 0x180001d8e
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002245
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001dbd
mov ecx, dword [0x180020a88]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180002247
add r8, r10
mov edi, dword [r10 + rax + 0x20]
mov esi, dword [r10 + rax + 0x24]
add rdi, r10
add rsi, r10
mov eax, dword [rdi]
add rax, r10
mov rbx, r15
nop dword [rax + rax]
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x180001df6
add rbx, 1
add rax, 1
cmp cl, dl
je 0x180001de0
cmp cl, dl
je 0x180001e04
add rdi, 4
add rsi, 2
jmp 0x180001dd0
movzx eax, word [rsi]
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, r12
call fcn.180002c00
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001e66
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002249
movsxd rax, dword [r10 + 0x3c]
mov ebx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rbx + 0x1c]
cmp dword [0x180020a84], 0xa
lea rcx, section..data
jl 0x180001e9c
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000224b
add r8, r10
mov edx, dword [r10 + rbx + 0x20]
mov r9d, dword [r10 + rbx + 0x24]
add rdx, r10
add r9, r10
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
nop word cs:[rax + rax]
lea rax, [r14 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001ed8
add rsi, 1
cmp al, bl
je 0x180001ec0
cmp al, bl
je 0x180001ee6
add rdx, 4
add r9, 2
jmp 0x180001eaf
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp]
mov edx, dword [rax + rcx + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
movsxd rsi, dword [0x180004440]
cmp dword [0x180020a74], 0xa
mov rdx, qword [rbp - 8]
mov r12, rdx
jl 0x180001f44
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
mov r12, rdx
and ecx, 1
jne 0x18000224d
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001f44
mov rbx, r12
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001f53
mov r15, rbx
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001f5f
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001f69
mov rdi, r15
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001f76
mov r13, rdi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001f82
sub rsp, 0x20
mov rcx, r12
call fcn.180002c00
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001fbe
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000224f
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001fed
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002251
mov qword [rbp], rsi
add r8, 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 rsi, rbx
nop dword [rax]
movzx ecx, byte [rsi]
movzx eax, byte [rdx]
test cl, cl
je 0x180002026
add rsi, 1
add rdx, 1
cmp cl, al
je 0x180002010
cmp cl, al
je 0x180002034
add r11, 4
add r10, 2
jmp 0x180002004
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 [0x180020a7c], 0xa
jl 0x18000206e
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002253
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x18000209d
mov ecx, dword [0x180020a88]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180002255
add r8, r10
mov edi, dword [r10 + rax + 0x20]
mov esi, dword [r10 + rax + 0x24]
add rdi, r10
add rsi, r10
mov eax, dword [rdi]
add rax, r10
mov rbx, r15
nop dword [rax + rax]
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x1800020d6
add rbx, 1
add rax, 1
cmp cl, dl
je 0x1800020c0
cmp cl, dl
je 0x1800020e4
add rdi, 4
add rsi, 2
jmp 0x1800020b0
movzx eax, word [rsi]
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, r12
call fcn.180002c00
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x180002146
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002257
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
lea r15, section..data
jl 0x18000217c
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002259
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov ecx, dword [r10 + rcx + 0x24]
add rdx, r10
add rcx, r10
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
nop word cs:[rax + rax]
lea rax, [r14 + rsi]
movzx eax, byte [r15 + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x1800021b9
add rsi, 1
cmp al, bl
je 0x1800021a0
cmp al, bl
je 0x1800021c7
add rdx, 4
add rcx, 2
jmp 0x18000218f
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp]
mov edx, dword [rax + r15 + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
cmp dword [0x180020a64], 0xa
jl 0x180002214
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001c2b
cmp dword [0x180020a74], 0xa
mov r10, qword [rbp - 8]
jl 0x18000192d
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x18000192d
jmp 0x180001920
jmp 0x18000223f
jmp 0x180002241
jmp 0x180002243
jmp 0x180002245
jmp 0x180002247
jmp 0x180002249
jmp 0x18000224b
jmp 0x18000224d
jmp 0x18000224f
jmp 0x180002251
jmp 0x180002253
jmp 0x180002255
jmp 0x180002257
jmp 0x180002259
jmp 0x18000225b
jmp 0x18000225d
jmp 0x18000225f
jmp 0x180002261
jmp 0x180002263
jmp 0x180002265
mov r15, rax
cmp ecx, 0xa
jl 0x180002275
test edx, edx
je 0x180002275
jmp 0x180002273
mov rdx, qword [rbp]
lea r8, [rdx + 0x108]
xor r9d, r9d
mov rdx, qword [rbp]
movzx edx, word [rdx + 6]
cmp r9, rdx
jae 0x180002581
lea rax, [r9 + r9*4]
lea r10, [r8 + rax*8]
add r10, 0xc
mov ebx, dword [0x180020a6c]
mov edi, dword [0x180020a70]
cmp edi, 0xa
jl 0x1800022c0
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x180002579
cmp edi, 0xa
jl 0x1800022d4
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x180002571
mov r11d, dword [r10 + 4]
test r11, r11
je 0x180002346
mov ecx, dword [r10]
mov rax, r15
add rcx, r15
mov eax, dword [r10 + 8]
lea rdx, section..data
add rdx, rax
add rdx, 0x404
jmp 0x18000230e
add r11, 0xffffffffffffffff
add rcx, 1
add rdx, 1
test r11, r11
je 0x180002346
movzx eax, byte [rdx]
mov byte [rcx], al
mov ebx, dword [0x180020a6c]
mov edi, dword [0x180020a70]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp edi, 0xa
jl 0x180002338
test eax, eax
je 0x180002338
movzx eax, byte [rdx]
mov byte [rcx], al
jmp 0x18000230e
cmp edi, 0xa
jl 0x1800022fd
test eax, eax
je 0x1800022fd
jmp 0x180002571
mov r12d, dword [0x180020a68]
mov ecx, dword [0x180020a64]
lea edx, [r12 - 1]
imul edx, r12d
and edx, 1
cmp ecx, 0xa
jl 0x180002557
test edx, edx
je 0x180002557
cmp edi, 0xa
jl 0x180002384
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x18000257b
mov r11d, dword [r10 + 4]
test r11, r11
je 0x1800023f6
mov eax, dword [r10 + 8]
lea rcx, section..data
add rcx, rax
add rcx, 0x404
mov edx, dword [r10]
mov rax, r15
add rdx, r15
jmp 0x1800023be
add r11, 0xffffffffffffffff
add rdx, 1
add rcx, 1
test r11, r11
je 0x1800023f6
movzx eax, byte [rcx]
mov byte [rdx], al
mov ebx, dword [0x180020a6c]
mov edi, dword [0x180020a70]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp edi, 0xa
jl 0x1800023e8
test eax, eax
je 0x1800023e8
movzx eax, byte [rcx]
mov byte [rdx], al
jmp 0x1800023be
cmp edi, 0xa
jl 0x1800023ad
test eax, eax
je 0x1800023ad
jmp 0x180002573
cmp dword [0x180020a64], 0xa
jl 0x18000241a
mov eax, dword [0x180020a68]
lea edx, [rax - 1]
imul edx, eax
mov eax, ebx
mov ecx, ebx
and edx, 1
jne 0x1800024c8
jmp 0x18000241c
mov eax, ebx
cmp edi, 0xa
jl 0x180002430
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000257d
mov r11d, dword [r10 + 4]
test r11, r11
je 0x1800024a4
mov eax, dword [r10 + 8]
lea rcx, section..data
add rcx, rax
add rcx, 0x404
mov edx, dword [r10]
mov rax, r15
add rdx, r15
jmp 0x18000246c
add r11, 0xffffffffffffffff
add rdx, 1
add rcx, 1
mov eax, ebx
test r11, r11
je 0x1800024a4
movzx eax, byte [rcx]
mov byte [rdx], al
mov ebx, dword [0x180020a6c]
mov edi, dword [0x180020a70]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp edi, 0xa
jl 0x180002496
test eax, eax
je 0x180002496
movzx eax, byte [rcx]
mov byte [rdx], al
jmp 0x18000246c
cmp edi, 0xa
jl 0x180002459
test eax, eax
je 0x180002459
jmp 0x180002575
cmp dword [0x180020a64], 0xa
jl 0x1800022ac
mov ecx, dword [0x180020a68]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x1800022ac
mov ecx, eax
cmp edi, 0xa
jl 0x1800024dc
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x18000257f
mov r11d, dword [r10 + 4]
mov eax, ecx
test r11, r11
je 0x18000241c
mov eax, dword [r10 + 8]
lea rcx, section..data
add rcx, rax
add rcx, 0x404
mov edx, dword [r10]
mov rax, r15
add rdx, r15
jmp 0x180002522
add r11, 0xffffffffffffffff
add rdx, 1
add rcx, 1
mov eax, ebx
test r11, r11
je 0x18000241c
movzx eax, byte [rcx]
mov byte [rdx], al
mov ebx, dword [0x180020a6c]
mov edi, dword [0x180020a70]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp edi, 0xa
jl 0x18000254c
test eax, eax
je 0x18000254c
movzx eax, byte [rcx]
mov byte [rdx], al
jmp 0x180002522
cmp edi, 0xa
jl 0x18000250b
test eax, eax
je 0x18000250b
jmp 0x180002577
add r9, 1
cmp ecx, 0xa
jl 0x180002283
test edx, edx
je 0x180002283
jmp 0x180002273
jmp 0x180002571
jmp 0x180002573
jmp 0x180002575
jmp 0x180002577
jmp 0x180002579
jmp 0x18000257b
jmp 0x18000257d
jmp 0x18000257f
mov rdx, r15
mov rbx, qword [rbp]
sub rdx, qword [rbx + 0x30]
cmp ecx, 0xa
jl 0x1800025a1
lea ebx, [r12 - 1]
imul ebx, r12d
and ebx, 1
je 0x1800025a1
jmp 0x18000259f
mov rbx, qword [rbp]
mov ebx, dword [rbx + 0xb0]
mov rax, r15
add rbx, r15
movabs r8, 0x1fffffff8
cmp dword [rbx], 0
je 0x180002753
mov edi, dword [rbx + 4]
cmp rdi, 8
jb 0x180002718
cmp ecx, 0xa
jl 0x1800025e8
lea esi, [r12 - 1]
imul esi, r12d
and esi, 1
jne 0x18000274b
add rdi, r8
shr rdi, 1
mov r9d, edi
xor r10d, r10d
cmp r10, r9
je 0x180002718
movzx edi, word [rbx + r10*2 + 8]
mov r11d, edi
shr r11d, 0xc
mov esi, edi
and esi, 0xfff
cmp edi, 0xa000
jae 0x180002679
cmp r11d, 3
jne 0x1800026ec
cmp ecx, 0xa
jl 0x18000263b
lea ecx, [r12 - 1]
imul ecx, r12d
and ecx, 1
jne 0x18000274f
mov eax, esi
mov ecx, dword [rbx]
mov rdi, r15
lea rsi, [r15 + rax*4]
add dword [rsi + rcx*4], edx
mov r12d, dword [0x180020a68]
mov ecx, dword [0x180020a64]
cmp ecx, 0xa
jl 0x1800026ec
lea edi, [r12 - 1]
imul edi, r12d
and edi, 1
je 0x1800026ec
mov eax, dword [rbx]
add dword [rsi + rax*4], edx
mov eax, dword [rbx]
add dword [rsi + rax*4], edx
jmp 0x180002649
cmp r11d, 0xa
jne 0x1800026ec
mov eax, dword [rbx]
mov rcx, r15
add rsi, r15
add qword [rax + rsi], rdx
mov r12d, dword [0x180020a68]
mov ecx, dword [0x180020a64]
cmp ecx, 0xa
jl 0x1800026ec
lea edi, [r12 - 1]
imul edi, r12d
and edi, 1
je 0x1800026ec
cmp ecx, 0xa
jl 0x1800026c2
lea ecx, [r12 - 1]
imul ecx, r12d
and ecx, 1
jne 0x180002749
mov eax, dword [rbx]
add qword [rsi + rax], rdx
mov eax, dword [0x180020a68]
mov ecx, dword [0x180020a64]
mov edi, dword [rbx]
add qword [rsi + rdi], rdx
cmp ecx, 0xa
jl 0x18000268b
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800026c2
jmp 0x18000268b
lea esi, [r12 - 1]
imul esi, r12d
and esi, 1
cmp ecx, 0xa
jl 0x180002701
test esi, esi
jne 0x18000274d
add r10, 1
cmp ecx, 0xa
jl 0x1800025f4
test esi, esi
je 0x1800025f4
jmp 0x18000274b
lea edi, [r12 - 1]
imul edi, r12d
and edi, 1
cmp ecx, 0xa
jl 0x18000272d
test edi, edi
jne 0x180002751
mov esi, dword [rbx + 4]
add rbx, rsi
cmp ecx, 0xa
jl 0x1800025bb
test edi, edi
je 0x1800025bb
jmp 0x18000259f
jmp 0x180002749
jmp 0x18000274b
jmp 0x18000274d
jmp 0x18000274f
jmp 0x180002751
mov rdx, qword [rbp]
mov edx, dword [rdx + 0x90]
mov rax, r15
mov qword [rbp - 8], rdx
mov edi, dword [r15 + rdx + 0xc]
test edi, edi
je 0x180002bbd
mov rax, r15
add qword [rbp - 8], r15
lea rax, [r15 + 2]
mov qword [rbp - 0x28], rax
cmp ecx, 0xa
jl 0x180002797
lea ecx, [r12 - 1]
imul ecx, r12d
and ecx, 1
jne 0x180002be9
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.180002c00
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800027c9
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002be5
mov ecx, edi
mov rax, r15
lea r14, [r15 + rcx]
mov qword [rbp - 0x18], rcx
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rbx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180002805
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002be7
mov rax, r15
add rcx, r15
add r8, r9
mov esi, dword [r9 + rbx + 0x20]
mov r10d, dword [r9 + rbx + 0x24]
add rsi, r9
add r10, r9
mov edi, dword [rsi]
add rdi, r9
mov rax, r13
movzx edx, byte [rax]
movzx ebx, byte [rdi]
test dl, dl
je 0x18000283c
add rax, 1
add rdi, 1
cmp dl, bl
je 0x180002826
cmp dl, bl
je 0x18000284a
add rsi, 4
add r10, 2
jmp 0x18000281e
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
call r9
add rsp, 0x20
mov qword [rbp - 0x30], rax
mov r12d, dword [0x180020a68]
mov ecx, dword [0x180020a64]
cmp ecx, 0xa
jl 0x180002a55
lea edx, [r12 - 1]
imul edx, r12d
and edx, 1
je 0x180002a55
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.180002c00
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800028be
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002bdd
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800028ed
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002bdf
add r8, r9
mov ebx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rbx, r9
add rcx, r9
mov edi, dword [rbx]
add rdi, r9
mov rsi, r13
movzx eax, byte [rsi]
movzx edx, byte [rdi]
test al, al
je 0x18000291e
add rsi, 1
add rdi, 1
cmp al, dl
je 0x180002908
cmp al, dl
je 0x18000292c
add rbx, 4
add rcx, 2
jmp 0x180002900
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
call r9
mov rcx, qword [rbp - 0x10]
call fcn.180002c00
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x18000296e
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002be1
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x18000299d
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002be3
add r8, r9
mov ebx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rbx, r9
add rcx, r9
mov edi, dword [rbx]
add rdi, r9
mov rsi, r13
movzx eax, byte [rsi]
movzx edx, byte [rdi]
test al, al
je 0x1800029ce
add rsi, 1
add rdi, 1
cmp al, dl
je 0x1800029b8
cmp al, dl
je 0x1800029dc
add rbx, 4
add rcx, 2
jmp 0x1800029b0
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
call r9
add rsp, 0x20
cmp dword [0x180020a64], 0xa
jl 0x180002a12
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000288c
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.180002c00
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
mov rcx, qword [rbp - 0x18]
jl 0x1800027d6
mov eax, dword [0x180020a80]
lea edx, [rax - 1]
imul edx, eax
mov rcx, qword [rbp - 0x18]
and edx, 1
je 0x1800027d6
jmp 0x180002be5
mov rax, qword [rbp - 8]
mov edx, dword [rax]
mov ebx, dword [rax + 0x10]
mov rax, r15
add rbx, r15
mov qword [rbp - 0x20], rbx
add rdx, r15
mov qword [rbp - 0x18], rdx
jmp 0x180002a7b
add qword [rbp - 0x18], 8
add qword [rbp - 0x20], 8
lea edx, [r12 - 1]
imul edx, r12d
test dl, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
test dl, dl
je 0x180002a92
mov rax, qword [rbp - 0x18]
mov rdx, qword [rax]
test rdx, rdx
je 0x180002ba6
mov rax, qword [rbp - 0x28]
add rax, rdx
test rdx, rdx
movzx r14d, dx
cmovns r14, rax
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.180002c00
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180002aea
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002beb
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180002b19
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002bed
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 - 0x38]
movzx ebx, byte [rax]
movzx ecx, byte [rsi]
test bl, bl
je 0x180002b4b
add rax, 1
add rsi, 1
cmp bl, cl
je 0x180002b35
cmp bl, cl
je 0x180002b59
add rdx, 4
add rdi, 2
jmp 0x180002b2c
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, qword [rbp - 0x30]
mov rdx, r14
call r9
add rsp, 0x20
mov rcx, qword [rbp - 0x20]
mov qword [rcx], rax
mov r12d, dword [0x180020a68]
mov ecx, dword [0x180020a64]
cmp ecx, 0xa
jl 0x180002a71
lea edx, [r12 - 1]
imul edx, r12d
and edx, 1
je 0x180002a71
jmp 0x180002bef
mov rax, qword [rbp - 8]
mov edi, dword [rax + 0x20]
add rax, 0x14
mov qword [rbp - 8], rax
test edi, edi
jne 0x180002780
mov rax, qword [rbp]
mov eax, dword [rax + 0x28]
mov rcx, r15
add rcx, rax
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp rcx
jmp 0x180002bdd
jmp 0x180002bdf
jmp 0x180002be1
jmp 0x180002be3
jmp 0x180002be5
jmp 0x180002be7
jmp 0x180002be9
jmp 0x180002beb
jmp 0x180002bed
jmp 0x180002bef