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, 0x38
lea rbp, [rsp + 0x30]
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 r10, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r9, rsp
mov edx, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
cmp ebx, 0xa
jl 0x1800010b2
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x1800010b2
nop
jmp 0x1800010b0
lea r8, section..data
cmp ebx, 0xa
jl 0x1800010cd
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x1800013d0
mov r11d, 3
mov rdi, r10
mov rax, r8
mov cl, byte [r8]
nop dword [rax]
mov byte [rdi], cl
mov edx, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
cmp ebx, 0xa
jl 0x18000111e
test esi, esi
je 0x18000111e
mov byte [rdi], cl
cmp dword [0x180020a70], 0xa
jl 0x1800010e0
mov edx, dword [0x180020a6c]
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
jne 0x180001100
jmp 0x1800010e0
cmp ebx, 0xa
jl 0x18000112b
test esi, esi
jne 0x1800013d0
add rdi, 1
add rax, 1
sub r11, 1
jb 0x18000113d
mov cl, byte [rax]
jmp 0x1800010e0
cmp dword [0x180020a64], 0xa
jl 0x180001432
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001432
mov eax, 0x10
call entry0
sub rsp, rax
mov rax, rsp
cmp ebx, 0xa
jl 0x180001183
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
jne 0x180001410
mov r9d, 3
mov rsi, r8
mov cl, byte [r8]
jmp 0x1800011a0
mov cl, byte [rsi]
nop word cs:[rax + rax]
nop dword [rax]
mov byte [rax], cl
mov edx, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
cmp ebx, 0xa
jl 0x1800011de
test edi, edi
je 0x1800011de
mov byte [rax], cl
cmp dword [0x180020a70], 0xa
jl 0x1800011a0
mov edx, dword [0x180020a6c]
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
jne 0x1800011c0
jmp 0x1800011a0
cmp ebx, 0xa
jl 0x1800011eb
test edi, edi
jne 0x180001400
add rax, 1
add rsi, 1
sub r9, 1
jae 0x180001191
mov eax, 0x10
call entry0
sub rsp, rax
mov rax, rsp
cmp ebx, 0xa
jl 0x18000121d
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
jne 0x180001420
mov r9d, 3
mov rdi, r8
mov cl, byte [r8]
nop dword [rax]
mov byte [rax], cl
mov edx, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
cmp ebx, 0xa
jl 0x18000126e
test esi, esi
je 0x18000126e
mov byte [rax], cl
cmp dword [0x180020a70], 0xa
jl 0x180001230
mov edx, dword [0x180020a6c]
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
jne 0x180001250
jmp 0x180001230
cmp ebx, 0xa
jl 0x18000127b
test esi, esi
jne 0x1800013e0
add rax, 1
add rdi, 1
sub r9, 1
jb 0x18000128d
mov cl, byte [rdi]
jmp 0x180001230
cmp dword [0x180020a64], 0xa
jl 0x1800012ab
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001357
mov eax, 0x10
call entry0
sub rsp, rax
mov rax, rsp
cmp ebx, 0xa
jl 0x1800012cf
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
jne 0x180001430
mov r9d, 3
mov rdi, r8
mov cl, byte [r8]
nop dword [rax + rax]
mov byte [rax], cl
mov edx, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
cmp ebx, 0xa
jl 0x18000131e
test esi, esi
je 0x18000131e
mov byte [rax], cl
cmp dword [0x180020a70], 0xa
jl 0x1800012e0
mov edx, dword [0x180020a6c]
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
jne 0x180001300
jmp 0x1800012e0
cmp ebx, 0xa
jl 0x18000132b
test esi, esi
jne 0x1800013f0
add rax, 1
add rdi, 1
sub r9, 1
jb 0x18000133d
mov cl, byte [rdi]
jmp 0x1800012e0
cmp dword [0x180020a64], 0xa
jl 0x180001390
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001390
mov eax, 0x10
call entry0
sub rsp, rax
mov rax, rsp
mov r9d, 3
mov rsi, r8
cmp ebx, 0xa
jl 0x180001191
lea ecx, [rdx - 1]
imul ecx, edx
mov rsi, r8
and ecx, 1
je 0x180001191
jmp 0x180001410
mov eax, 0x10
call entry0
sub rsp, rax
mov r10, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r9, rsp
cmp ebx, 0xa
jl 0x1800010b9
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x1800010b9
jmp 0x1800010b0
jmp 0x1800013d0
jmp 0x1800013e0
jmp 0x1800013f0
jmp 0x180001400
jmp 0x180001410
jmp 0x180001420
jmp 0x180001430
mov r12d, dword [r10]
test r12, r12
je 0x1800015b7
xor r11d, r11d
cmp r12d, 0x10
jb 0x180001528
lea rax, [r12 - 1]
cmp rax, 0x400
jae 0x180001528
mov r11d, r12d
and r11d, 0xfffffff0
lea rdi, [r11 - 0x10]
mov rax, rdi
shr rax, 4
add rax, 1
mov r8d, eax
and r8d, 1
test rdi, rdi
je 0x1800014eb
mov rdi, r8
sub rdi, rax
xor esi, esi
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, esi
and eax, 0x3e0
movups xmm1, xmmword [rax + r10 + 4]
movups xmm2, xmmword [rsi + r10 + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rsi + r10 + 0x414]
xorps xmm2, xmm0
movups xmmword [rsi + r10 + 0x404], xmm2
lea eax, [rsi + 0x10]
and eax, 0x3f0
movups xmm2, xmmword [rax + r10 + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rsi + r10 + 0x414], xmm1
add rsi, 0x20
add rdi, 2
jne 0x180001494
jmp 0x1800014ed
xor esi, esi
test r8, r8
je 0x18000151f
mov eax, esi
and eax, 0x3f0
lea rdi, section..data
movups xmm0, xmmword [rax + rdi + 4]
movups xmm1, xmmword [rsi + rdi + 0x404]
xorps xmm1, xmm0
xorps xmm1, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
movups xmmword [rsi + rdi + 0x404], xmm1
cmp r11, r12
je 0x1800015b7
mov rsi, r11
not rsi
test r12b, 1
je 0x18000155f
mov edi, r11d
and edi, 0x3f0
lea r8, section..data
mov al, byte [rdi + r8 + 4]
xor al, byte [r11 + r8 + 0x404]
xor al, 0xc
mov byte [r11 + r8 + 0x404], al
or r11, 1
add rsi, r12
je 0x1800015b7
lea rax, section..data
mov ecx, r11d
and ecx, 0x3ff
movzx ecx, byte [rcx + rax + 4]
xor cl, byte [r11 + rax + 0x404]
xor cl, 0xc
mov byte [r11 + rax + 0x404], cl
lea ecx, [r11 + 1]
and ecx, 0x3ff
movzx ecx, byte [rcx + rax + 4]
xor cl, byte [r11 + rax + 0x405]
xor cl, 0xc
mov byte [r11 + rax + 0x405], cl
add r11, 2
cmp r12, r11
jne 0x18000156b
cmp ebx, 0xa
jl 0x1800015d2
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x1800015d2
nop word [rax + rax]
jmp 0x1800015d0
lea r15, section..data
lea r10, [r12 + r15]
add r10, 0x404
mov ecx, 4
mov r8, r10
mov rdx, r9
sub rcx, 1
jb 0x180001652
mov bl, byte [r8]
nop dword [rax + rax]
mov byte [rdx], bl
mov eax, dword [0x180020a6c]
mov esi, dword [0x180020a70]
lea edi, [rax - 1]
imul edi, eax
and edi, 1
cmp esi, 0xa
jl 0x18000163e
test edi, edi
je 0x18000163e
mov byte [rdx], bl
cmp dword [0x180020a70], 0xa
jl 0x180001600
mov eax, dword [0x180020a6c]
lea edi, [rax - 1]
imul edi, eax
and edi, 1
jne 0x180001620
jmp 0x180001600
add r8, 1
add rdx, 1
cmp esi, 0xa
jl 0x1800015ef
test edi, edi
je 0x1800015ef
nop
jmp 0x180001650
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x180020a64], 0xa
setl al
or al, cl
cmp al, 1
jne 0x1800016b0
add r10, 4
mov ecx, dword [r9]
lea rdx, [r12 + r15]
add rdx, 0x408
xor edi, edi
cmp rcx, rdi
je 0x1800016b2
mov ebx, edi
and ebx, 0x3ff
movzx ebx, byte [rbx + r15 + 4]
xor byte [rdx + rdi], bl
add rdi, 1
test al, al
jne 0x180001688
nop word cs:[rax + rax]
jmp 0x1800016b0
cmp dword [0x180020a74], 0xa
jl 0x1800016d2
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800016d2
nop dword [rax]
jmp 0x1800016d0
add r12, 0x408
mov qword [rbp - 0x10], r10
movsxd rax, dword [0x180004440]
mov qword [rbp], rax
mov rsi, r10
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x1800016eb
mov rax, rsi
cmp byte [rax], 0
lea rax, [rax + 1]
jne 0x1800016f7
mov rdi, rax
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001703
mov r14, rdi
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x18000170f
mov rbx, r14
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x18000171c
mov qword [rbp - 8], rax
mov r13, rbx
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x18000172c
sub rsp, 0x20
mov rcx, rsi
call fcn.180002b50
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001768
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002280
mov qword [rbp - 0x30], rdi
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
mov r11, qword [rbp - 8]
jl 0x18000179f
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002282
mov qword [rbp - 0x18], rsi
mov rax, qword [rbp]
add rax, r15
add rax, 0x404
mov qword [rbp], rax
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdi, r9
add r10, r9
mov esi, dword [rdi]
add rsi, r9
mov rdx, r11
movzx ecx, byte [rdx]
movzx eax, byte [rsi]
test cl, cl
je 0x1800017e5
add rdx, 1
add rsi, 1
cmp cl, al
je 0x1800017cf
cmp cl, al
je 0x1800017f3
add rdi, 4
add r10, 2
jmp 0x1800017c7
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, rbx
call r9
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x18000182d
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002284
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x18000185c
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002286
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, r14
movzx ebx, byte [rax]
movzx ecx, byte [rsi]
test bl, bl
je 0x18000188d
add rax, 1
add rsi, 1
cmp bl, cl
je 0x180001877
cmp bl, cl
je 0x18000189b
add rdx, 4
add rdi, 2
jmp 0x18000186f
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 - 0x18]
call fcn.180002b50
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800018fe
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002288
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x18000192d
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000228a
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
lea rax, [r12 + rsi]
movzx eax, byte [r15 + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001960
add rsi, 1
cmp al, bl
je 0x180001947
cmp al, bl
je 0x18000196e
add rdx, 4
add rcx, 2
jmp 0x180001940
movzx eax, word [rcx]
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 r14, rax
mov ebx, dword [0x180020a68]
mov edi, dword [0x180020a64]
cmp edi, 0xa
jl 0x1800022b6
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
je 0x1800022b6
movsxd rsi, dword [0x180004440]
cmp dword [0x180020a74], 0xa
mov rdx, qword [rbp - 0x10]
mov rcx, rdx
jl 0x1800019ee
mov eax, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
mov rcx, rdx
and ebx, 1
jne 0x180002290
cmp byte [rcx], 0
lea rcx, [rcx + 1]
jne 0x1800019ee
mov rbx, rcx
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x1800019fa
mov r14, rbx
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001a06
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001a10
mov rdi, r14
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001a1d
mov r13, rdi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001a29
sub rsp, 0x20
mov qword [rbp - 8], rcx
call fcn.180002b50
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001a66
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002296
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001a95
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000229c
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 0x180001acb
add rsi, 1
add rdx, 1
cmp cl, al
je 0x180001ab5
cmp cl, al
je 0x180001ad9
add r11, 4
add r10, 2
jmp 0x180001aac
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 0x180001b13
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022a2
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001b42
mov ecx, dword [0x180020a88]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800022a8
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, r14
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x180001b73
add rbx, 1
add rax, 1
cmp cl, dl
je 0x180001b5d
cmp cl, dl
je 0x180001b81
add rdi, 4
add rsi, 2
jmp 0x180001b55
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 - 8]
call fcn.180002b50
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001be4
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022ae
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001c13
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800022b4
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
lea rax, [r12 + rsi]
movzx eax, byte [r15 + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001c46
add rsi, 1
cmp al, bl
je 0x180001c2d
cmp al, bl
je 0x180001c54
add rdx, 4
add rcx, 2
jmp 0x180001c26
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 0x180001cce
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001fb4
jmp 0x180001cce
cmp dword [0x180020a74], 0xa
mov r10, qword [rbp - 0x10]
jl 0x1800016dd
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800016dd
jmp 0x1800016d0
movsxd rsi, dword [0x180004440]
cmp dword [0x180020a74], 0xa
mov rdx, qword [rbp - 0x10]
mov rcx, rdx
jl 0x180001cfd
mov eax, dword [0x180020a78]
lea ebx, [rax - 1]
imul ebx, eax
mov rcx, rdx
and ebx, 1
jne 0x18000228c
cmp byte [rcx], 0
lea rcx, [rcx + 1]
jne 0x180001cfd
mov rbx, rcx
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001d09
mov r14, rbx
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001d15
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001d1f
mov rdi, r14
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001d2c
mov r13, rdi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001d38
sub rsp, 0x20
mov qword [rbp - 8], rcx
call fcn.180002b50
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001d75
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002294
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001da4
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002298
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 0x180001dda
add rsi, 1
add rdx, 1
cmp cl, al
je 0x180001dc4
cmp cl, al
je 0x180001de8
add r11, 4
add r10, 2
jmp 0x180001dbb
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 0x180001e22
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000229e
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001e51
mov ecx, dword [0x180020a88]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800022a4
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, r14
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x180001e82
add rbx, 1
add rax, 1
cmp cl, dl
je 0x180001e6c
cmp cl, dl
je 0x180001e90
add rdi, 4
add rsi, 2
jmp 0x180001e64
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 - 8]
call fcn.180002b50
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x180001ef3
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022aa
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x180001f22
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800022b0
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
lea rax, [r12 + rsi]
movzx eax, byte [r15 + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001f55
add rsi, 1
cmp al, bl
je 0x180001f3c
cmp al, bl
je 0x180001f63
add rdx, 4
add rcx, 2
jmp 0x180001f35
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 0x180001ca3
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001ca3
movsxd rax, dword [0x180004440]
mov qword [rbp], rax
cmp dword [0x180020a74], 0xa
mov rdx, qword [rbp - 0x10]
mov rsi, rdx
jl 0x180001fe7
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
mov rsi, rdx
and ecx, 1
jne 0x18000228e
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x180001fe7
mov rbx, rsi
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001ff3
mov r14, rbx
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001fff
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180002009
mov rdi, r14
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180002016
mov r13, rdi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180002022
sub rsp, 0x20
mov rcx, rsi
call fcn.180002b50
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x18000205e
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002292
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x18000208d
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000229a
mov qword [rbp - 8], 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 0x1800020c3
add rsi, 1
add rdx, 1
cmp cl, al
je 0x1800020ad
cmp cl, al
je 0x1800020d1
add r11, 4
add r10, 2
jmp 0x1800020a4
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 0x18000210b
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022a0
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x18000213a
mov ecx, dword [0x180020a88]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800022a6
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, r14
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x18000216b
add rbx, 1
add rax, 1
cmp cl, dl
je 0x180002155
cmp cl, dl
je 0x180002179
add rdi, 4
add rsi, 2
jmp 0x18000214d
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 - 8]
call fcn.180002b50
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800021dc
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022ac
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x18000220b
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800022b2
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
lea rax, [r12 + rsi]
movzx eax, byte [r15 + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x18000223e
add rsi, 1
cmp al, bl
je 0x180002225
cmp al, bl
je 0x18000224c
add rdx, 4
add rcx, 2
jmp 0x18000221e
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
jmp 0x180001cce
jmp 0x180002280
jmp 0x180002282
jmp 0x180002284
jmp 0x180002286
jmp 0x180002288
jmp 0x18000228a
jmp 0x18000228c
jmp 0x18000228e
jmp 0x180002290
jmp 0x180002292
jmp 0x180002294
jmp 0x180002296
jmp 0x180002298
jmp 0x18000229a
jmp 0x18000229c
jmp 0x18000229e
jmp 0x1800022a0
jmp 0x1800022a2
jmp 0x1800022a4
jmp 0x1800022a6
jmp 0x1800022a8
jmp 0x1800022aa
jmp 0x1800022ac
jmp 0x1800022ae
jmp 0x1800022b0
jmp 0x1800022b2
jmp 0x1800022b4
mov rax, qword [rbp]
cmp word [rax + 6], 0
je 0x180002556
mov rax, qword [rbp]
lea r9, [rax + 0x108]
xor r8d, r8d
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edi, 0xa
jl 0x1800023a4
test ecx, ecx
je 0x1800023a4
cmp dword [0x180020a70], 0xa
jl 0x18000230b
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002554
lea rdx, [r8 + r8*4]
mov eax, dword [r9 + rdx*8 + 0xc]
mov ecx, dword [r9 + rdx*8 + 0x10]
add rax, r14
mov edx, dword [r9 + rdx*8 + 0x14]
add rdx, r15
add rdx, 0x404
sub rcx, 1
jb 0x18000238f
mov bl, byte [rdx]
mov byte [rax], bl
mov esi, dword [0x180020a6c]
mov edi, dword [0x180020a70]
lea ebx, [rsi - 1]
imul ebx, esi
and ebx, 1
cmp edi, 0xa
jl 0x180002379
test ebx, ebx
je 0x180002379
movzx ebx, byte [rdx]
mov byte [rax], bl
movzx ebx, byte [rdx]
mov byte [rax], bl
cmp dword [0x180020a70], 0xa
jl 0x180002331
mov ebx, dword [0x180020a6c]
lea edi, [rbx - 1]
imul edi, ebx
and edi, 1
jne 0x180002353
jmp 0x180002331
add rdx, 1
add rax, 1
cmp edi, 0xa
jl 0x18000232b
test ebx, ebx
je 0x18000232b
jmp 0x18000254c
mov eax, dword [0x180020a68]
mov edi, dword [0x180020a64]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x180020a6c]
mov edx, dword [0x180020a70]
cmp edi, 0xa
jl 0x1800023d9
test ecx, ecx
jne 0x1800024a4
jmp 0x1800023d9
add r8, 1
mov rax, qword [rbp]
movzx eax, word [rax + 6]
cmp r8, rax
jb 0x1800022d3
jmp 0x180002556
cmp edx, 0xa
jl 0x1800023ed
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002550
lea rcx, [r8 + r8*4]
mov r10d, dword [r9 + rcx*8 + 0x10]
test r10, r10
je 0x180002480
mov ebx, dword [r9 + rcx*8 + 0xc]
mov eax, dword [r9 + rcx*8 + 0x14]
lea rcx, [rax + r15]
add rcx, 0x404
add rbx, r14
jmp 0x18000242a
add r10, 0xffffffffffffffff
add rbx, 1
add rcx, 1
test r10, r10
je 0x180002480
mov al, byte [rcx]
mov byte [rbx], al
mov eax, dword [0x180020a6c]
mov edx, dword [0x180020a70]
lea edi, [rax - 1]
imul edi, eax
and edi, 1
cmp edx, 0xa
jl 0x180002472
test edi, edi
je 0x180002472
movzx eax, byte [rcx]
mov byte [rbx], al
movzx eax, byte [rcx]
mov byte [rbx], al
cmp dword [0x180020a70], 0xa
jl 0x18000242a
mov eax, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000244c
jmp 0x18000242a
cmp edx, 0xa
jl 0x180002419
test edi, edi
je 0x180002419
jmp 0x18000254e
mov ebx, dword [0x180020a68]
mov edi, dword [0x180020a64]
cmp edi, 0xa
jl 0x1800023bf
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
je 0x1800023bf
cmp edx, 0xa
jl 0x1800024b8
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002552
lea rcx, [r8 + r8*4]
mov r10d, dword [r9 + rcx*8 + 0x10]
test r10, r10
je 0x1800023d9
mov ebx, dword [r9 + rcx*8 + 0xc]
mov eax, dword [r9 + rcx*8 + 0x14]
lea rcx, [rax + r15]
add rcx, 0x404
add rbx, r14
jmp 0x1800024f9
add r10, 0xffffffffffffffff
add rbx, 1
add rcx, 1
test r10, r10
je 0x1800023d9
mov al, byte [rcx]
mov byte [rbx], al
mov eax, dword [0x180020a6c]
mov edx, dword [0x180020a70]
lea edi, [rax - 1]
imul edi, eax
and edi, 1
cmp edx, 0xa
jl 0x180002541
test edi, edi
je 0x180002541
movzx eax, byte [rcx]
mov byte [rbx], al
movzx eax, byte [rcx]
mov byte [rbx], al
cmp dword [0x180020a70], 0xa
jl 0x1800024f9
mov eax, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000251b
jmp 0x1800024f9
cmp edx, 0xa
jl 0x1800024e4
test edi, edi
je 0x1800024e4
jmp 0x18000254a
jmp 0x18000254c
jmp 0x18000254e
jmp 0x180002550
jmp 0x180002552
jmp 0x180002554
mov rax, qword [rbp]
mov rax, qword [rax + 0x30]
mov rcx, r14
sub rcx, rax
cmp edi, 0xa
jl 0x180002576
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
je 0x180002576
jmp 0x180002574
mov rax, qword [rbp]
mov edx, dword [rax + 0xb0]
add rdx, r14
movabs r8, 0x1fffffff8
cmp dword [rdx], 0
je 0x180002750
mov eax, dword [rdx + 4]
cmp rax, 8
jb 0x18000271a
cmp edi, 0xa
jl 0x1800025b7
lea esi, [rbx - 1]
imul esi, ebx
and esi, 1
jne 0x180002748
add rax, r8
shr rax, 1
mov r9d, eax
xor r10d, r10d
cmp r10, r9
je 0x18000271a
movzx eax, word [rdx + r10*2 + 8]
mov esi, eax
shr esi, 0xc
mov r11d, eax
and r11d, 0xfff
cmp eax, 0xa000
jae 0x18000260d
cmp esi, 3
jne 0x180002706
cmp edi, 0xa
jl 0x180002605
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x1800026d9
mov rbx, r11
jmp 0x1800026b4
cmp esi, 0xa
jne 0x180002706
cmp edi, 0xa
jl 0x18000262a
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x18000274c
mov esi, dword [rdx]
mov eax, r11d
add rax, r14
add qword [rsi + rax], rcx
jmp 0x18000263e
mov ebx, dword [rdx]
add qword [rax + rbx], rcx
mov ebx, dword [0x180020a68]
mov edi, dword [0x180020a64]
cmp edi, 0xa
jl 0x180002706
lea esi, [rbx - 1]
imul esi, ebx
and esi, 1
je 0x180002706
cmp edi, 0xa
jl 0x180002672
lea edi, [rbx - 1]
imul edi, ebx
and edi, 1
jne 0x180002692
mov ebx, dword [rdx]
add qword [rax + rbx], rcx
cmp dword [0x180020a64], 0xa
jl 0x180002638
mov ebx, dword [0x180020a68]
lea edi, [rbx - 1]
imul edi, ebx
and edi, 1
je 0x180002638
mov ebx, dword [rdx]
add qword [rax + rbx], rcx
jmp 0x180002672
add r10, 1
cmp edi, 0xa
jl 0x1800025c3
test eax, eax
je 0x1800025c3
jmp 0x180002748
mov eax, dword [rdx]
lea rax, [r14 + rax*4]
add dword [rax + rbx*4], ecx
mov ebx, dword [0x180020a68]
mov edi, dword [0x180020a64]
cmp edi, 0xa
jl 0x180002706
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
je 0x180002706
mov ebx, r11d
lea rdi, [r14 + rbx*4]
mov eax, dword [rdx]
add dword [rdi + rax*4], ecx
mov eax, dword [rdx]
add dword [rdi + rax*4], ecx
cmp dword [0x180020a64], 0xa
jl 0x1800026b4
mov eax, dword [0x180020a68]
lea esi, [rax - 1]
imul esi, eax
and esi, 1
jne 0x1800026e0
jmp 0x1800026b4
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp edi, 0xa
jl 0x18000269a
test eax, eax
je 0x18000269a
jmp 0x18000274a
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp edi, 0xa
jl 0x18000272c
test eax, eax
jne 0x18000274e
mov esi, dword [rdx + 4]
add rdx, rsi
cmp edi, 0xa
jl 0x18000258d
test eax, eax
je 0x18000258d
jmp 0x180002574
jmp 0x180002748
jmp 0x18000274a
jmp 0x18000274c
jmp 0x18000274e
lea edx, [rbx - 1]
imul edx, ebx
and edx, 1
cmp edi, 0xa
jl 0x180002764
test edx, edx
je 0x180002764
jmp 0x180002762
lea rax, [r14 + 2]
mov qword [rbp - 0x28], rax
mov rax, qword [rbp]
mov eax, dword [rax + 0x90]
add rax, r14
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x20]
mov r15d, dword [rax + 0xc]
test r15, r15
je 0x180002b10
cmp edi, 0xa
jl 0x18000279b
test edx, edx
jne 0x180002880
sub rsp, 0x20
mov rcx, qword [rbp - 0x18]
call fcn.180002b50
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800027cd
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002aa3
movsxd rax, dword [r9 + 0x3c]
mov eax, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rax + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800027fc
mov ecx, dword [0x180020a88]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180002aa7
lea rcx, [r14 + r15]
add r8, r9
mov edi, dword [r9 + rax + 0x20]
mov r10d, dword [r9 + rax + 0x24]
add rdi, r9
add r10, r9
mov esi, dword [rdi]
add rsi, r9
mov rax, qword [rbp - 8]
movzx edx, byte [rax]
movzx ebx, byte [rsi]
test dl, dl
je 0x180002832
add rax, 1
add rsi, 1
cmp dl, bl
je 0x18000281c
cmp dl, bl
je 0x180002840
add rdi, 4
add r10, 2
jmp 0x180002813
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
call r9
add rsp, 0x20
mov qword [rbp - 0x10], rax
mov ecx, dword [0x180020a68]
mov edi, dword [0x180020a64]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
cmp edi, 0xa
jl 0x180002940
test eax, eax
je 0x180002940
sub rsp, 0x20
mov rcx, qword [rbp - 0x18]
call fcn.180002b50
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800028b2
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002aa5
movsxd rax, dword [r9 + 0x3c]
mov eax, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rax + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800028e1
mov ecx, dword [0x180020a88]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180002aa9
lea rcx, [r14 + r15]
add r8, r9
mov edi, dword [r9 + rax + 0x20]
mov r10d, dword [r9 + rax + 0x24]
add rdi, r9
add r10, r9
mov esi, dword [rdi]
add rsi, r9
mov rax, qword [rbp - 8]
movzx edx, byte [rax]
movzx ebx, byte [rsi]
test dl, dl
je 0x180002917
add rax, 1
add rsi, 1
cmp dl, bl
je 0x180002901
cmp dl, bl
je 0x180002925
add rdi, 4
add r10, 2
jmp 0x1800028f8
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
call r9
add rsp, 0x20
jmp 0x18000279b
cmp edi, 0xa
jl 0x18000294d
test eax, eax
jne 0x180002a9b
mov rax, qword [rbp - 0x20]
mov r12d, dword [rax]
mov r13d, dword [rax + 0x10]
add r12, r14
add r13, r14
mov rax, qword [r12]
test rax, rax
je 0x180002a77
mov rcx, qword [rbp - 0x28]
add rcx, rax
test rax, rax
movzx r15d, ax
cmovns r15, rcx
sub rsp, 0x20
mov rcx, qword [rbp - 0x18]
call fcn.180002b50
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a7c], 0xa
jl 0x1800029af
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002a9d
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a84], 0xa
jl 0x1800029de
mov eax, dword [0x180020a88]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002a9f
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 - 0x30]
movzx eax, byte [rsi]
movzx ebx, byte [rdi]
test al, al
je 0x180002a10
add rsi, 1
add rdi, 1
cmp al, bl
je 0x1800029fa
cmp al, bl
je 0x180002a1e
add rdx, 4
add rcx, 2
jmp 0x1800029f1
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
mov rdx, r15
call r9
add rsp, 0x20
mov qword [r13], rax
mov ecx, dword [0x180020a68]
mov edi, dword [0x180020a64]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
cmp edi, 0xa
jl 0x180002a5c
test eax, eax
jne 0x180002aa1
add r12, 8
add r13, 8
cmp edi, 0xa
jl 0x18000295e
test eax, eax
je 0x18000295e
jmp 0x180002a9b
add qword [rbp - 0x20], 0x14
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
cmp edi, 0xa
jl 0x18000277d
test edx, edx
je 0x18000277d
jmp 0x180002762
jmp 0x180002a9b
jmp 0x180002a9d
jmp 0x180002a9f
jmp 0x180002aa1
jmp 0x180002aa3
jmp 0x180002aa5
jmp 0x180002aa7
jmp 0x180002aa9
mov ecx, dword [0x180020a68]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180002b33
cmp eax, 0xa
jl 0x180002acc
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180002afa
mov rax, qword [rbp]
mov eax, dword [rax + 0x28]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180020a64], 0xa
jl 0x180002b10
mov eax, dword [0x180020a68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002b10
mov rax, qword [rbp]
mov eax, dword [rax + 0x28]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
jmp 0x180002acc
mov rax, qword [rbp]
mov eax, dword [rax + 0x28]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
mov eax, dword [0x180020a64]
cmp eax, 0xa
jge 0x180002aab
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret