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 [0x180021a6c], 0xa
jl 0x1800011b2
mov eax, dword [0x180021a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800011b2
nop
jmp 0x1800011b0
mov eax, 0x10
call entry0
sub rsp, rax
mov rdi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov qword [rbp], rsp
mov esi, dword [0x180021a74]
mov edx, dword [0x180021a78]
cmp edx, 0xa
jl 0x1800011f2
lea ecx, [rsi - 1]
imul ecx, esi
and ecx, 1
je 0x1800011f2
nop
jmp 0x1800011f0
mov r11b, byte [section..data]
mov r15d, dword [0x180021a74]
mov r8d, dword [0x180021a78]
lea r13d, [r15 - 1]
imul r13d, r15d
and r13d, 1
sete al
cmp r8d, 0xa
setl bl
or bl, al
mov r9b, byte [0x180005001]
mov r10b, byte [0x180005002]
mov eax, dword [0x180021a70]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov ecx, r11d
sete al
cmp dword [0x180021a6c], 0xa
mov r11b, byte [0x180005003]
setl r12b
or r12b, al
mov r14d, ebx
or r14b, bl
cmp edx, 0xa
jl 0x180001271
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
jne 0x1800013f0
mov byte [rdi], cl
test bl, bl
jne 0x180001286
nop word [rax + rax]
test bl, bl
je 0x180001280
mov byte [rdi], cl
cmp r8d, 0xa
jl 0x180001295
test r13d, r13d
jne 0x1800013f0
mov byte [rdi + 1], r9b
test bl, bl
jne 0x1800012a8
nop dword [rax]
test bl, bl
je 0x1800012a0
mov byte [rdi + 1], r9b
cmp r8d, 0xa
jl 0x1800012b7
test r13d, r13d
jne 0x1800013f0
mov byte [rdi + 2], r10b
test bl, bl
jne 0x1800012c8
nop
test bl, bl
je 0x1800012c0
mov byte [rdi + 2], r10b
cmp r8d, 0xa
jl 0x1800012d7
test r13d, r13d
jne 0x1800013f0
mov byte [rdi + 3], r11b
test bl, bl
jne 0x1800012e8
nop
test bl, bl
je 0x1800012e0
mov byte [rdi + 3], r11b
cmp r8d, 0xa
jl 0x1800012f7
test r13d, r13d
jne 0x1800013f0
test r12b, r12b
jne 0x180001452
cmp r8d, 0xa
jl 0x18000130f
test r13d, r13d
jne 0x180001410
test bl, bl
mov eax, r13d
cmovne eax, r13d
mov edx, r8d
cmovne edx, r8d
test r14b, r14b
je 0x180001420
cmp edx, 0xa
jl 0x180001335
test eax, eax
jne 0x180001400
test bl, bl
mov eax, r13d
cmovne eax, r13d
mov edx, r8d
cmovne edx, r8d
test r14b, r14b
je 0x180001430
cmp edx, 0xa
jl 0x18000135b
test eax, eax
jne 0x180001400
test bl, bl
mov eax, r13d
cmovne eax, r13d
mov edx, r8d
cmovne edx, r8d
test r14b, r14b
je 0x180001440
cmp edx, 0xa
jl 0x180001381
test eax, eax
jne 0x180001400
test bl, bl
mov eax, r13d
cmovne eax, r13d
mov esi, r15d
cmovne esi, esi
mov edx, r8d
cmovne edx, r8d
test r14b, r14b
je 0x180001450
cmp edx, 0xa
jl 0x1800013a9
test eax, eax
jne 0x180001400
mov eax, 0x10
call entry0
sub rsp, rax
mov rdi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov qword [rbp], rsp
cmp edx, 0xa
jl 0x18000125d
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
je 0x18000125d
jmp 0x1800011f0
jmp 0x1800013f0
jmp 0x180001400
jmp 0x180001410
jmp 0x180001420
jmp 0x180001430
jmp 0x180001440
jmp 0x180001450
mov r14d, dword [rdi]
test r14, r14
je 0x180001575
xor esi, esi
cmp r14d, 0x10
jb 0x18000153b
lea rax, [r14 - 1]
cmp rax, 0x400
jae 0x18000153b
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 0x180001502
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 0x1800014af
jmp 0x180001504
xor edx, edx
test rax, rax
je 0x180001536
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 0x180001575
lea rdx, section..data
nop word cs:[rax + rax]
nop dword [rax]
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 0x180001550
cmp r8d, 0xa
jl 0x180001582
test r13d, r13d
je 0x180001582
jmp 0x180001580
lea r9, section..data
lea r12, [r14 + r9]
add r12, 0x404
mov bl, byte [r12]
mov rdi, qword [rbp]
mov byte [rdi], bl
mov eax, dword [0x180021a74]
mov edx, dword [0x180021a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp edx, 0xa
jl 0x1800015bc
test ecx, ecx
jne 0x18000159c
cmp edx, 0xa
jl 0x1800015c9
test ecx, ecx
jne 0x1800016e0
mov r8b, byte [r12 + 1]
mov byte [rdi + 1], r8b
mov eax, dword [0x180021a74]
mov edx, dword [0x180021a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp edx, 0xa
jl 0x180001618
test ecx, ecx
je 0x180001618
mov eax, dword [0x180021a74]
mov edx, dword [0x180021a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
sete al
cmp edx, 0xa
setl bl
or bl, al
test bl, bl
je 0x180001610
mov byte [rdi + 1], r8b
cmp edx, 0xa
jl 0x180001625
test ecx, ecx
jne 0x1800016e0
mov r8b, byte [r12 + 2]
mov byte [rdi + 2], r8b
mov eax, dword [0x180021a74]
mov edx, dword [0x180021a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp edx, 0xa
jl 0x180001674
test ecx, ecx
je 0x180001674
mov eax, dword [0x180021a74]
mov edx, dword [0x180021a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
sete al
cmp edx, 0xa
setl bl
or bl, al
test bl, bl
je 0x18000166c
mov byte [rdi + 2], r8b
cmp edx, 0xa
jl 0x18000167d
test ecx, ecx
jne 0x1800016e0
mov r8b, byte [r12 + 3]
mov byte [rdi + 3], r8b
mov eax, dword [0x180021a74]
mov edx, dword [0x180021a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp edx, 0xa
jl 0x1800016cc
test ecx, ecx
je 0x1800016cc
mov eax, dword [0x180021a74]
mov edx, dword [0x180021a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
sete al
cmp edx, 0xa
setl bl
or bl, al
test bl, bl
je 0x1800016c4
mov byte [rdi + 3], r8b
cmp edx, 0xa
jl 0x1800016e2
test ecx, ecx
je 0x1800016e2
nop word cs:[rax + rax]
nop
jmp 0x1800016e0
mov eax, dword [0x180021a70]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x180021a6c], 0xa
setl cl
or cl, al
cmp cl, 1
jne 0x180001740
add r12, 4
mov eax, dword [rdi]
lea rdx, [r14 + r9]
add rdx, 0x408
xor edi, edi
cmp rax, rdi
je 0x180001742
mov ebx, edi
and ebx, 0x3ff
movzx ebx, byte [rbx + r9 + 4]
xor byte [rdx + rdi], bl
add rdi, 1
test cl, cl
jne 0x180001718
nop word cs:[rax + rax]
jmp 0x180001740
cmp dword [0x180021a7c], 0xa
jl 0x180001762
mov eax, dword [0x180021a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001762
nop dword [rax]
jmp 0x180001760
add r14, 0x408
mov qword [rbp - 8], r12
movsxd rax, dword [0x180005440]
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001774
add rax, r9
add rax, 0x404
mov qword [rbp - 0x10], rax
mov qword [rbp], r12
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001791
mov r15, r12
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x1800017a0
mov qword [rbp - 0x20], r15
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x1800017ae
mov rdi, r15
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x1800017bb
mov r13, rdi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x1800017c7
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.180003060
add rsp, 0x20
mov r9, rax
cmp dword [0x180021a84], 0xa
jl 0x180001804
mov eax, dword [0x180021a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002603
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180021a8c], 0xa
jl 0x180001833
mov eax, dword [0x180021a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002605
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, r12
movzx eax, byte [rcx]
movzx ebx, byte [rdx]
test al, al
je 0x180001864
add rcx, 1
add rdx, 1
cmp al, bl
je 0x18000184e
cmp al, bl
je 0x180001872
add rsi, 4
add r10, 2
jmp 0x180001846
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 [0x180021a84], 0xa
jl 0x1800018ac
mov eax, dword [0x180021a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002607
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180021a8c], 0xa
jl 0x1800018db
mov ecx, dword [0x180021a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180002609
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
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x18000190c
add rbx, 1
add rax, 1
cmp cl, dl
je 0x1800018f6
cmp cl, dl
je 0x18000191a
add rdi, 4
add rsi, 2
jmp 0x1800018ee
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, qword [rbp]
call fcn.180003060
add rsp, 0x20
mov r10, rax
cmp dword [0x180021a84], 0xa
jl 0x18000197d
mov eax, dword [0x180021a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000260b
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180021a8c], 0xa
jl 0x1800019ac
mov eax, dword [0x180021a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000260d
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov r9d, dword [r10 + rcx + 0x24]
add rdx, r10
add r9, r10
lea rcx, section..data
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
lea rax, [r14 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x1800019e5
add rsi, 1
cmp al, bl
je 0x1800019cd
cmp al, bl
je 0x1800019f3
add rdx, 4
add r9, 2
jmp 0x1800019c6
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 r15, rax
mov eax, dword [0x180021a70]
mov ebx, dword [0x180021a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp ebx, 0xa
jl 0x18000262b
test ecx, ecx
je 0x18000262b
movsxd rsi, dword [0x180005440]
cmp dword [0x180021a7c], 0xa
mov rdx, qword [rbp - 8]
mov r15, rdx
jl 0x180001a76
mov eax, dword [0x180021a80]
lea ecx, [rax - 1]
imul ecx, eax
mov r15, rdx
and ecx, 1
jne 0x1800025e7
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001a76
mov rbx, r15
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001a83
mov r13, rbx
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001a8f
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001a9a
mov rdi, r13
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001aa8
mov r12, rdi
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001ab4
sub rsp, 0x20
mov rcx, r15
call fcn.180003060
add rsp, 0x20
mov r9, rax
cmp dword [0x180021a84], 0xa
jl 0x180001af1
mov eax, dword [0x180021a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800025e9
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180021a8c], 0xa
jl 0x180001b20
mov eax, dword [0x180021a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800025eb
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
movzx ecx, byte [rsi]
movzx eax, byte [rdx]
test cl, cl
je 0x180001b56
add rsi, 1
add rdx, 1
cmp cl, al
je 0x180001b40
cmp cl, al
je 0x180001b64
add r11, 4
add r10, 2
jmp 0x180001b37
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 [0x180021a84], 0xa
jl 0x180001b9e
mov eax, dword [0x180021a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800025ed
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180021a8c], 0xa
jl 0x180001bcd
mov ecx, dword [0x180021a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800025ef
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, r13
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x180001bfe
add rbx, 1
add rax, 1
cmp cl, dl
je 0x180001be8
cmp cl, dl
je 0x180001c0c
add rdi, 4
add rsi, 2
jmp 0x180001be0
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, r12
mov r8, r12
call r10
add rsp, 0x10
mov rcx, r15
call fcn.180003060
add rsp, 0x20
mov r10, rax
cmp dword [0x180021a84], 0xa
jl 0x180001c6e
mov eax, dword [0x180021a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800025f1
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180021a8c], 0xa
jl 0x180001c9d
mov eax, dword [0x180021a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800025f3
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov r9d, dword [r10 + rcx + 0x24]
add rdx, r10
add r9, r10
lea rcx, section..data
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
lea rax, [r14 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001cd6
add rsi, 1
cmp al, bl
je 0x180001cbe
cmp al, bl
je 0x180001ce4
add rdx, 4
add r9, 2
jmp 0x180001cb7
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 rax, dword [0x180005440]
mov qword [rbp], rax
cmp dword [0x180021a7c], 0xa
mov rdx, qword [rbp - 8]
mov r13, rdx
jl 0x180001d46
mov eax, dword [0x180021a80]
lea ecx, [rax - 1]
imul ecx, eax
mov r13, rdx
and ecx, 1
jne 0x1800025f5
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001d46
mov rbx, r13
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001d54
mov r15, rbx
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001d60
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001d6a
mov rdi, r15
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001d77
mov r12, rdi
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001d83
sub rsp, 0x20
mov rcx, r13
call fcn.180003060
add rsp, 0x20
mov r9, rax
cmp dword [0x180021a84], 0xa
jl 0x180001dc0
mov eax, dword [0x180021a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800025f7
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180021a8c], 0xa
jl 0x180001def
mov eax, dword [0x180021a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800025f9
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
movzx ecx, byte [rsi]
movzx eax, byte [rdx]
test cl, cl
je 0x180001e21
add rsi, 1
add rdx, 1
cmp cl, al
je 0x180001e0b
cmp cl, al
je 0x180001e2f
add r11, 4
add r10, 2
jmp 0x180001e02
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 [0x180021a84], 0xa
jl 0x180001e69
mov eax, dword [0x180021a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800025fb
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180021a8c], 0xa
jl 0x180001e98
mov ecx, dword [0x180021a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800025fd
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
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x180001ec9
add rbx, 1
add rax, 1
cmp cl, dl
je 0x180001eb3
cmp cl, dl
je 0x180001ed7
add rdi, 4
add rsi, 2
jmp 0x180001eab
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, r12
mov r8, r12
call r10
add rsp, 0x10
mov rcx, r13
call fcn.180003060
add rsp, 0x20
mov r10, rax
cmp dword [0x180021a84], 0xa
jl 0x180001f39
mov eax, dword [0x180021a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800025ff
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180021a8c], 0xa
jl 0x180001f68
mov eax, dword [0x180021a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002601
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov r9d, dword [r10 + rcx + 0x24]
add rdx, r10
add r9, r10
lea rcx, section..data
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
lea rax, [r14 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001fa1
add rsi, 1
cmp al, bl
je 0x180001f89
cmp al, bl
je 0x180001faf
add rdx, 4
add r9, 2
jmp 0x180001f82
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
cmp dword [0x180021a6c], 0xa
jl 0x18000202d
mov eax, dword [0x180021a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001a47
jmp 0x18000202d
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
cmp dword [0x180021a7c], 0xa
jl 0x18000204b
mov eax, dword [0x180021a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000260f
movsxd rax, dword [0x180005440]
mov qword [rbp], rax
mov r15, qword [rbp - 8]
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x18000205a
mov r13, r15
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180002067
mov rdi, r15
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180002074
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x18000207d
mov rsi, rdi
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x180002089
mov r12, rsi
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180002095
sub rsp, 0x20
mov rcx, r13
call fcn.180003060
add rsp, 0x20
mov r9, rax
cmp dword [0x180021a84], 0xa
jl 0x1800020d2
mov eax, dword [0x180021a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002611
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180021a8c], 0xa
jl 0x180002101
mov eax, dword [0x180021a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002613
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 rcx, r15
movzx eax, byte [rcx]
movzx ebx, byte [rdx]
test al, al
je 0x180002133
add rcx, 1
add rdx, 1
cmp al, bl
je 0x18000211d
cmp al, bl
je 0x180002141
add r11, 4
add r10, 2
jmp 0x180002114
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 [0x180021a84], 0xa
jl 0x18000217b
mov eax, dword [0x180021a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002615
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180021a8c], 0xa
jl 0x1800021aa
mov ecx, dword [0x180021a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180002617
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, rdi
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x1800021db
add rbx, 1
add rax, 1
cmp cl, dl
je 0x1800021c5
cmp cl, dl
je 0x1800021e9
add rsi, 4
add r9, 2
jmp 0x1800021bd
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.180003060
add rsp, 0x20
mov r10, rax
cmp dword [0x180021a84], 0xa
jl 0x18000224c
mov eax, dword [0x180021a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002619
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180021a8c], 0xa
jl 0x18000227b
mov eax, dword [0x180021a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000261b
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov r9d, dword [r10 + rcx + 0x24]
add rdx, r10
add r9, r10
lea rcx, section..data
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
lea rax, [r14 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x1800022b4
add rsi, 1
cmp al, bl
je 0x18000229c
cmp al, bl
je 0x1800022c2
add rdx, 4
add r9, 2
jmp 0x180002295
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
cmp dword [0x180021a6c], 0xa
jl 0x1800025b2
mov eax, dword [0x180021a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800025b2
movsxd rax, dword [0x180005440]
mov qword [rbp], rax
cmp dword [0x180021a7c], 0xa
mov r15, qword [rbp - 8]
jl 0x180002344
mov eax, dword [0x180021a80]
lea ecx, [rax - 1]
imul ecx, eax
mov r15, qword [rbp - 8]
and ecx, 1
jne 0x18000261d
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180002344
mov rbx, r15
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180002351
mov r13, rbx
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x18000235d
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180002368
mov rdi, r13
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180002376
mov r12, rdi
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180002382
sub rsp, 0x20
mov rcx, r15
call fcn.180003060
add rsp, 0x20
mov r9, rax
cmp dword [0x180021a84], 0xa
jl 0x1800023bf
mov eax, dword [0x180021a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000261f
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180021a8c], 0xa
jl 0x1800023ee
mov eax, dword [0x180021a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002621
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
movzx ecx, byte [rsi]
movzx eax, byte [rdx]
test cl, cl
je 0x180002420
add rsi, 1
add rdx, 1
cmp cl, al
je 0x18000240a
cmp cl, al
je 0x18000242e
add r11, 4
add r10, 2
jmp 0x180002401
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 [0x180021a84], 0xa
jl 0x180002468
mov eax, dword [0x180021a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002623
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180021a8c], 0xa
jl 0x180002497
mov ecx, dword [0x180021a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180002625
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, r13
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x1800024c8
add rbx, 1
add rax, 1
cmp cl, dl
je 0x1800024b2
cmp cl, dl
je 0x1800024d6
add rdi, 4
add rsi, 2
jmp 0x1800024aa
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, r12
mov r8, r12
call r10
add rsp, 0x10
mov rcx, r15
call fcn.180003060
add rsp, 0x20
mov r10, rax
cmp dword [0x180021a84], 0xa
jl 0x180002538
mov eax, dword [0x180021a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002627
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180021a8c], 0xa
jl 0x180002567
mov eax, dword [0x180021a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002629
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov r9d, dword [r10 + rcx + 0x24]
add rdx, r10
add r9, r10
lea rcx, section..data
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
lea rax, [r14 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x1800025a0
add rsi, 1
cmp al, bl
je 0x180002588
cmp al, bl
je 0x180001ffe
add rdx, 4
add r9, 2
jmp 0x180002581
cmp dword [0x180021a7c], 0xa
lea rsi, section..data
mov r9, rsi
mov r12, qword [rbp - 8]
jl 0x18000176d
mov eax, dword [0x180021a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x18000176d
jmp 0x180001760
jmp 0x1800025e7
jmp 0x1800025e9
jmp 0x1800025eb
jmp 0x1800025ed
jmp 0x1800025ef
jmp 0x1800025f1
jmp 0x1800025f3
jmp 0x1800025f5
jmp 0x1800025f7
jmp 0x1800025f9
jmp 0x1800025fb
jmp 0x1800025fd
jmp 0x1800025ff
jmp 0x180002601
jmp 0x180002603
jmp 0x180002605
jmp 0x180002607
jmp 0x180002609
jmp 0x18000260b
jmp 0x18000260d
jmp 0x18000260f
jmp 0x180002611
jmp 0x180002613
jmp 0x180002615
jmp 0x180002617
jmp 0x180002619
jmp 0x18000261b
jmp 0x18000261d
jmp 0x18000261f
jmp 0x180002621
jmp 0x180002623
jmp 0x180002625
jmp 0x180002627
jmp 0x180002629
cmp ebx, 0xa
jl 0x180002636
test ecx, ecx
je 0x180002636
jmp 0x180002634
mov rcx, qword [rbp - 0x10]
lea r8, [rcx + 0x108]
xor r9d, r9d
mov rcx, qword [rbp - 0x10]
movzx ecx, word [rcx + 6]
cmp r9, rcx
jae 0x18000270e
cmp dword [0x180021a78], 0xa
jl 0x180002673
mov eax, dword [0x180021a74]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000270c
lea rcx, [r9 + r9*4]
mov eax, dword [r8 + rcx*8 + 0xc]
mov ebx, dword [r8 + rcx*8 + 0x10]
add rax, r15
mov ecx, dword [r8 + rcx*8 + 0x14]
lea rdx, section..data
add rcx, rdx
add rcx, 0x404
sub rbx, 1
jb 0x1800026dd
movzx edx, byte [rcx]
mov byte [rax], dl
mov esi, dword [0x180021a74]
mov edi, dword [0x180021a78]
lea edx, [rsi - 1]
imul edx, esi
and edx, 1
cmp edi, 0xa
jl 0x1800026ca
test edx, edx
je 0x1800026ca
movzx edx, byte [rcx]
mov byte [rax], dl
jmp 0x1800026a0
add rcx, 1
add rax, 1
cmp edi, 0xa
jl 0x18000269a
test edx, edx
je 0x18000269a
jmp 0x18000270a
add r9, 1
mov eax, dword [0x180021a70]
mov ebx, dword [0x180021a6c]
cmp ebx, 0xa
jl 0x180002644
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002644
jmp 0x180002634
jmp 0x18000270a
jmp 0x18000270c
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete dl
cmp ebx, 0xa
setl cl
or cl, dl
je 0x180002900
mov r11, r15
mov rdx, qword [rbp - 0x10]
sub r11, qword [rdx + 0x30]
mov esi, dword [rdx + 0xb0]
add rsi, r15
movabs r8, 0x1fffffff8
cmp dword [rsi], 0
jne 0x180002773
jmp 0x180002906
mov edx, dword [rsi + 4]
add rsi, rdx
test cl, 1
sete dl
cmp ebx, 0xa
setl cl
or cl, dl
je 0x180002900
cmp dword [rsi], 0
je 0x180002906
mov edi, dword [rsi + 4]
cmp rdi, 8
jb 0x1800028e4
add rdi, r8
shr rdi, 1
test edi, edi
je 0x1800028df
mov r9d, edi
xor r10d, r10d
test cl, 1
je 0x180002794
movzx edx, word [rsi + r10*2 + 8]
mov edi, edx
shr edi, 0xc
mov ecx, edx
and ecx, 0xfff
cmp edx, 0xa000
jae 0x180002863
cmp edi, 3
jne 0x1800028aa
cmp ebx, 0xa
jl 0x1800027d5
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002902
mov eax, dword [rsi]
lea rax, [r15 + rax*4]
add dword [rax + rcx*4], r11d
mov eax, dword [0x180021a70]
mov ebx, dword [0x180021a6c]
cmp ebx, 0xa
jl 0x1800028aa
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x1800028aa
lea rcx, [r15 + rcx*4]
cmp ebx, 0xa
jl 0x180002817
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002837
mov eax, dword [rsi]
add dword [rcx + rax*4], r11d
cmp dword [0x180021a6c], 0xa
jl 0x18000283f
mov eax, dword [0x180021a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x18000283f
mov eax, dword [rsi]
add dword [rcx + rax*4], r11d
jmp 0x180002817
mov eax, dword [rsi]
add dword [rcx + rax*4], r11d
mov eax, dword [0x180021a70]
mov ebx, dword [0x180021a6c]
cmp ebx, 0xa
jl 0x1800028aa
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002807
jmp 0x1800028aa
cmp edi, 0xa
jne 0x1800028aa
mov ecx, ecx
cmp ebx, 0xa
jl 0x180002884
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180002884
lea rdi, [rcx + r15]
mov eax, dword [rsi]
add qword [rdi + rax], r11
mov eax, dword [rsi]
lea rdi, [rcx + r15]
add qword [rax + rdi], r11
mov eax, dword [0x180021a70]
mov ebx, dword [0x180021a6c]
cmp ebx, 0xa
jl 0x1800028aa
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000287e
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete dil
cmp ebx, 0xa
setl dl
or dl, dil
test dl, dl
je 0x1800028c0
add r10, 1
test cl, 1
sete dl
cmp ebx, 0xa
setl cl
or cl, dl
cmp r10, r9
jne 0x180002794
test cl, 1
je 0x180002904
lea ecx, [rax - 1]
imul ecx, eax
cmp ebx, 0xa
jl 0x180002750
mov edx, ecx
and edx, 1
je 0x180002750
jmp 0x1800028fe
jmp 0x180002900
jmp 0x180002902
jmp 0x180002904
cmp ebx, 0xa
jl 0x180002918
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002918
jmp 0x180002916
lea rax, [r15 + 2]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x90]
add rax, r15
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
mov r14d, dword [rax + 0xc]
test r14, r14
je 0x180003027
add r14, r15
sub rsp, 0x20
jmp 0x18000295f
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]
call fcn.180003060
add rsp, 0x20
mov r9, rax
cmp dword [0x180021a84], 0xa
jl 0x18000298d
mov eax, dword [0x180021a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002fa6
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180021a8c], 0xa
jl 0x1800029bc
mov eax, dword [0x180021a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002fa8
add r8, r9
mov esi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rsi, r9
add rcx, r9
mov edi, dword [rsi]
add rdi, r9
mov rbx, r12
movzx eax, byte [rbx]
movzx edx, byte [rdi]
test al, al
je 0x1800029ed
add rbx, 1
add rdi, 1
cmp al, dl
je 0x1800029d7
cmp al, dl
je 0x1800029fb
add rsi, 4
add rcx, 2
jmp 0x1800029cf
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 r13, rax
mov ecx, dword [0x180021a70]
mov eax, dword [0x180021a6c]
cmp eax, 0xa
jl 0x180002ade
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180002ade
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.180003060
add rsp, 0x20
mov r9, rax
cmp dword [0x180021a84], 0xa
jl 0x180002a6c
mov eax, dword [0x180021a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002faa
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180021a8c], 0xa
jl 0x180002a9b
mov eax, dword [0x180021a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002fac
add r8, r9
mov esi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rsi, r9
add rcx, r9
mov edi, dword [rsi]
add rdi, r9
mov rbx, r12
movzx eax, byte [rbx]
movzx edx, byte [rdi]
test al, al
je 0x180002acc
add rbx, 1
add rdi, 1
cmp al, dl
je 0x180002ab6
cmp al, dl
je 0x18000294b
add rsi, 4
add rcx, 2
jmp 0x180002aae
mov rdx, qword [rbp - 8]
mov edx, dword [rdx]
mov qword [rbp - 0x28], rdx
mov rdx, qword [r15 + rdx]
test rdx, rdx
je 0x180002f84
add qword [rbp - 0x28], r15
mov rbx, qword [rbp - 8]
mov r14d, dword [rbx + 0x10]
add r14, r15
mov rbx, qword [rbp - 0x30]
add rbx, rdx
test rdx, rdx
movzx edx, dx
cmovns rdx, rbx
mov qword [rbp - 0x18], rdx
jmp 0x180002b46
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r13
mov rdx, qword [rbp - 0x18]
call r9
add rsp, 0x20
mov qword [r14], rax
mov ecx, dword [0x180021a70]
mov eax, dword [0x180021a6c]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
cmp eax, 0xa
jl 0x180002cc5
test edx, edx
je 0x180002cc5
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.180003060
add rsp, 0x20
mov r9, rax
cmp dword [0x180021a84], 0xa
jl 0x180002b92
mov eax, dword [0x180021a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002fae
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180021a8c], 0xa
jl 0x180002bc1
mov eax, dword [0x180021a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002fb0
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdx, r9
add rcx, r9
mov edi, dword [rdx]
add rdi, r9
mov rsi, qword [rbp - 0x20]
movzx eax, byte [rsi]
movzx ebx, byte [rdi]
test al, al
je 0x180002bf3
add rsi, 1
add rdi, 1
cmp al, bl
je 0x180002bdd
cmp al, bl
je 0x180002c01
add rdx, 4
add rcx, 2
jmp 0x180002bd4
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r13
mov rdx, qword [rbp - 0x18]
call r9
add rsp, 0x20
mov qword [r14], rax
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.180003060
add rsp, 0x20
mov r9, rax
cmp dword [0x180021a84], 0xa
jl 0x180002c52
mov eax, dword [0x180021a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002fb2
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180021a8c], 0xa
jl 0x180002c81
mov eax, dword [0x180021a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002fb4
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov esi, dword [r9 + rcx + 0x24]
add rdx, r9
add rsi, r9
mov edi, dword [rdx]
add rdi, r9
mov rax, qword [rbp - 0x20]
movzx ebx, byte [rax]
movzx ecx, byte [rdi]
test bl, bl
je 0x180002cb3
add rax, 1
add rdi, 1
cmp bl, cl
je 0x180002c9d
cmp bl, cl
je 0x180002b1b
add rdx, 4
add rsi, 2
jmp 0x180002c94
cmp eax, 0xa
jl 0x180002dab
test edx, edx
je 0x180002dab
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.180003060
add rsp, 0x20
mov r9, rax
cmp dword [0x180021a84], 0xa
jl 0x180002d08
mov eax, dword [0x180021a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002fbe
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180021a8c], 0xa
jl 0x180002d37
mov eax, dword [0x180021a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002fc0
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov esi, dword [r9 + rcx + 0x24]
add rdx, r9
add rsi, r9
mov edi, dword [rdx]
add rdi, r9
mov rax, qword [rbp - 0x20]
movzx ebx, byte [rax]
movzx ecx, byte [rdi]
test bl, bl
je 0x180002d69
add rax, 1
add rdi, 1
cmp bl, cl
je 0x180002d53
cmp bl, cl
je 0x180002d77
add rdx, 4
add rsi, 2
jmp 0x180002d4a
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r13
mov rdx, qword [rbp - 0x18]
call r9
add rsp, 0x20
mov qword [r14], rax
mov ecx, dword [0x180021a70]
mov eax, dword [0x180021a6c]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
cmp eax, 0xa
jl 0x180002ddb
test edx, edx
jne 0x180002ebf
jmp 0x180002ddb
mov rdx, qword [rbp - 0x28]
add rdx, 8
add r14, 8
mov qword [rbp - 0x28], rdx
mov rdx, qword [rdx]
test rdx, rdx
jne 0x180002b04
jmp 0x180002f84
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.180003060
add rsp, 0x20
mov r9, rax
cmp dword [0x180021a84], 0xa
jl 0x180002e0d
mov eax, dword [0x180021a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002fb6
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180021a8c], 0xa
jl 0x180002e3c
mov eax, dword [0x180021a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002fba
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov esi, dword [r9 + rcx + 0x24]
add rdx, r9
add rsi, r9
mov edi, dword [rdx]
add rdi, r9
mov rax, qword [rbp - 0x20]
movzx ebx, byte [rax]
movzx ecx, byte [rdi]
test bl, bl
je 0x180002e6e
add rax, 1
add rdi, 1
cmp bl, cl
je 0x180002e58
cmp bl, cl
je 0x180002e7c
add rdx, 4
add rsi, 2
jmp 0x180002e4f
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r13
mov rdx, qword [rbp - 0x18]
call r9
add rsp, 0x20
mov qword [r14], rax
mov ecx, dword [0x180021a70]
mov eax, dword [0x180021a6c]
cmp eax, 0xa
jl 0x180002dba
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180002dba
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.180003060
add rsp, 0x20
mov r9, rax
cmp dword [0x180021a84], 0xa
jl 0x180002ef1
mov eax, dword [0x180021a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002fb8
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180021a8c], 0xa
jl 0x180002f20
mov eax, dword [0x180021a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002fbc
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov esi, dword [r9 + rcx + 0x24]
add rdx, r9
add rsi, r9
mov edi, dword [rdx]
add rdi, r9
mov rax, qword [rbp - 0x20]
movzx ebx, byte [rax]
movzx ecx, byte [rdi]
test bl, bl
je 0x180002f52
add rax, 1
add rdi, 1
cmp bl, cl
je 0x180002f3c
cmp bl, cl
je 0x180002f60
add rdx, 4
add rsi, 2
jmp 0x180002f33
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r13
mov rdx, qword [rbp - 0x18]
call r9
add rsp, 0x20
mov qword [r14], rax
jmp 0x180002ddb
add qword [rbp - 8], 0x14
cmp eax, 0xa
jl 0x180002931
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
je 0x180002931
jmp 0x180002916
jmp 0x180002fa6
jmp 0x180002fa8
jmp 0x180002faa
jmp 0x180002fac
jmp 0x180002fae
jmp 0x180002fb0
jmp 0x180002fb2
jmp 0x180002fb4
jmp 0x180002fb6
jmp 0x180002fb8
jmp 0x180002fba
jmp 0x180002fbc
jmp 0x180002fbe
jmp 0x180002fc0
mov ecx, dword [0x180021a70]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x18000304a
cmp eax, 0xa
jl 0x180002fe3
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180003011
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x28]
add rax, r15
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180021a6c], 0xa
jl 0x180003027
mov eax, dword [0x180021a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180003027
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x28]
add rax, r15
sub rsp, 0x20
call rax
add rsp, 0x20
jmp 0x180002fe3
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x28]
add rax, r15
sub rsp, 0x20
call rax
add rsp, 0x20
mov eax, dword [0x180021a6c]
cmp eax, 0xa
jge 0x180002fc2
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret