Function at 0x180001090
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
cmp dword [0x180020a6c], 0xa
jl 0x1800010c2
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800010c2
nop
jmp 0x1800010c0
mov eax, 0x10
call entry0
sub rsp, rax
mov rdi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov rsi, rsp
cmp dword [0x180020a74], 0xa
jl 0x180001102
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001102
nop dword [rax]
jmp 0x180001100
mov r10b, byte [section..data]
mov eax, dword [0x180020a78]
mov r8d, dword [0x180020a74]
lea r9d, [rax - 1]
imul r9d, eax
test r9b, 1
sete al
cmp r8d, 0xa
setl dl
or dl, al
mov r14b, byte [0x180004001]
mov r11b, byte [0x180004002]
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x180020a6c], 0xa
mov r15b, byte [0x180004003]
setl cl
or cl, al
mov ebx, edx
xor bl, 1
mov byte [rdi], r10b
test dl, dl
je 0x1800011c0
mov byte [rdi + 1], r14b
je 0x1800011c0
mov byte [rdi + 2], r11b
test dl, dl
je 0x1800011c0
mov byte [rdi + 3], r15b
je 0x1800011c0
test cl, cl
jne 0x1800011e2
test dl, dl
je 0x1800011d0
je 0x1800011e0
test bl, bl
jne 0x1800011e0
jne 0x1800011e0
test bl, bl
jne 0x1800011e0
mov eax, 0x10
call entry0
sub rsp, rax
mov rdi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov rsi, rsp
test dl, dl
jne 0x180001166
jmp 0x180001100
jmp 0x1800011c0
jmp 0x1800011d0
jmp 0x1800011e0
mov r11d, dword [rdi]
test r11, r11
je 0x180001307
xor eax, eax
cmp r11d, 0x10
jb 0x1800012cf
lea rcx, [r11 - 1]
cmp rcx, 0x400
jae 0x1800012cf
mov eax, r11d
and eax, 0xfffffff0
lea rdx, [rax - 0x10]
mov rcx, rdx
shr rcx, 4
add rcx, 1
mov r10d, ecx
and r10d, 1
test rdx, rdx
je 0x180001295
mov rdx, r10
sub rdx, rcx
xor edi, edi
lea rbx, section..data
movaps xmm0, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
mov ecx, edi
and ecx, 0x3e0
movups xmm1, xmmword [rcx + rbx + 4]
movups xmm2, xmmword [rdi + rbx + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rdi + rbx + 0x414]
xorps xmm2, xmm0
movups xmmword [rdi + rbx + 0x404], xmm2
lea ecx, [rdi + 0x10]
and ecx, 0x3f0
movups xmm2, xmmword [rcx + rbx + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rdi + rbx + 0x414], xmm1
add rdi, 0x20
add rdx, 2
jne 0x180001242
jmp 0x180001297
xor edi, edi
test r10, r10
je 0x1800012ca
mov ecx, edi
and ecx, 0x3f0
lea rdx, section..data
movups xmm0, xmmword [rcx + rdx + 4]
movups xmm1, xmmword [rdi + rdx + 0x404]
xorps xmm1, xmm0
xorps xmm1, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
movups xmmword [rdi + rdx + 0x404], xmm1
cmp rax, r11
je 0x180001307
lea rcx, section..data
nop word cs:[rax + rax]
mov edx, eax
and edx, 0x3ff
movzx edx, byte [rdx + rcx + 4]
xor dl, byte [rax + rcx + 0x404]
xor dl, 0xc
mov byte [rax + rcx + 0x404], dl
add rax, 1
cmp rax, r11
jb 0x1800012e0
cmp r8d, 0xa
jl 0x180001322
and r9d, 1
je 0x180001322
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x180001320
lea r10, section..data
lea r8, [r11 + r10]
add r8, 0x404
mov al, byte [r8]
mov byte [rsi], al
cmp dword [0x180020a74], 0xa
jl 0x180001357
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800015b0
mov al, byte [r8 + 1]
mov byte [rsi + 1], al
cmp dword [0x180020a74], 0xa
jl 0x18000137c
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800015b0
mov al, byte [r8 + 2]
mov byte [rsi + 2], al
cmp dword [0x180020a74], 0xa
jl 0x1800013a1
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800015b0
mov al, byte [r8 + 3]
mov byte [rsi + 3], al
mov eax, dword [0x180020a78]
mov ecx, dword [0x180020a74]
cmp ecx, 0xa
jl 0x1800013c8
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800015b0
cmp dword [0x180020a6c], 0xa
jl 0x1800015d2
mov edx, dword [0x180020a70]
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
je 0x1800015d2
cmp ecx, 0xa
jl 0x1800013fe
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800015c0
movzx eax, byte [r11 + r10 + 0x404]
mov byte [rsi], al
cmp dword [0x180020a74], 0xa
jl 0x180001427
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001590
movzx eax, byte [r11 + r10 + 0x405]
mov byte [rsi + 1], al
cmp dword [0x180020a74], 0xa
jl 0x180001451
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001590
movzx eax, byte [r11 + r10 + 0x406]
mov byte [rsi + 2], al
cmp dword [0x180020a74], 0xa
jl 0x18000147b
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001590
movzx eax, byte [r11 + r10 + 0x407]
mov byte [rsi + 3], al
mov edx, dword [0x180020a78]
mov ecx, dword [0x180020a74]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x1800014a9
test eax, eax
jne 0x180001590
cmp ecx, 0xa
jl 0x1800014b6
test eax, eax
jne 0x1800015d0
movzx eax, byte [r11 + r10 + 0x404]
mov byte [rsi], al
cmp dword [0x180020a74], 0xa
jl 0x1800014df
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800015a0
movzx eax, byte [r11 + r10 + 0x405]
mov byte [rsi + 1], al
cmp dword [0x180020a74], 0xa
jl 0x180001509
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800015a0
movzx eax, byte [r11 + r10 + 0x406]
mov byte [rsi + 2], al
cmp dword [0x180020a74], 0xa
jl 0x18000152f
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800015a0
movzx eax, byte [r11 + r10 + 0x407]
mov byte [rsi + 3], al
mov eax, dword [0x180020a78]
mov ecx, dword [0x180020a74]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180001559
test edx, edx
jne 0x1800015a0
cmp dword [0x180020a6c], 0xa
jl 0x180001577
mov ebx, dword [0x180020a70]
lea edi, [rbx - 1]
imul edi, ebx
and edi, 1
jne 0x1800013ea
cmp ecx, 0xa
jl 0x180001334
test edx, edx
je 0x180001334
jmp 0x180001320
jmp 0x180001590
jmp 0x1800015a0
jmp 0x1800015b0
jmp 0x1800015c0
jmp 0x1800015d0
add r8, 4
mov r9d, dword [rsi]
test r9, r9
mov qword [rbp - 0x10], r8
je 0x180001735
xor ecx, ecx
cmp r9d, 0x20
jb 0x180001711
lea rax, [r9 - 1]
cmp rax, 0x400
jae 0x180001711
lea rax, [r11 + r10]
add rax, 0x408
lea rdx, [r9 + r10]
add rdx, 4
cmp rax, rdx
jae 0x180001639
lea rax, [r9 + r11]
add rax, r10
add rax, 0x408
lea rdx, str.besSTQiXPpVCqEGyyWrYpheYdLUWzpHgHvnWyFFOkLOrxuorHZqEYGOhMRQxcDIrnmKrMRXzsCyttBFBgBviddsZvyGXLwOefaCGlakdbkYDUDdykFIfUkjAjYkyVuvdkPCHxfEBjmAjucHhevCknloQUmMAVYkbPWSDaDvbEbPOmWdgftTcZQqbLztOiFWuVZywxPkMRCuprHgdZiUeWeDUhDipCMweSHUCvDAXHbOWEGqKgCKdUCZLmdXcALPFkuSgZKhzGvOoxilSKGTdooGXckDlythDOqGgoZYQgqHmseEulgmAzLnylbKTUWSihQpVXCcvldcBmeqQuXiGupJtpjwTKjRFJUrFiDcUOJXJfWwFLoOaWuWQZCmZXmlOCoGlEIouwwRewKfwwyIABRGWpMYkenKcgyYCwsLJemXXleFAedqugTddAdTwhqKWAFzLTizetmApADWdXQeLJOiBkXfSgxKZJcnmicpyLQGaQKiaeIJSklyphGjyGjvTRrLTzwbrtXMnlwzLQQpzislTWABJIUEOTnKMiIkmmwODnkrnKEWJdnmSUKyISbJCdPXrvFbpcmWpcsJJheaqXzzuhZmVmtPbsdBubZLmpZtgimJkLdrCSchPcVsnXQGKcYZBRCqTmDiAMGHbrbgwRtvqMgttFbBfEDlKExTAUbkqULzZgfXPxUMvhFHotOBqrkZikUehcHsKOmQZbKpRrXHCVYwnVJpDoOyAxUrpMupjdPObJVCCBTsqyyuZRudgLAOhmaHcQXhAvaPhDayoLuiSclExTXnqQpRSWmIfqIUUBtqZVYJJzPcRdVYXKtzEsLYIWbikhgWMFwaoGbpMbIFfoYRfehwWwExbgODjThaVvFhpAcJQwKgakBuUKjYwYuwIwqzyUkQaHRFVDhkZZwwADwPFRTbndQtFqZfdSxvYDwbfdeCPpwhiXLbTlcnhIOMQmAmAHqLFYKBsAWTahISCejyFIyYvvUrVHhXyYUEAgxzRMSfnLdVTCjXGxwc
cmp rax, rdx
jbe 0x180001639
xor ecx, ecx
jmp 0x180001711
mov ecx, r9d
and ecx, 0xffffffe0
lea rbx, [rcx - 0x20]
mov rax, rbx
shr rax, 5
add rax, 1
mov r8d, eax
and r8d, 1
test rbx, rbx
je 0x1800016d2
lea rsi, [r11 + r10]
add rsi, 0x438
mov rbx, r8
sub rbx, rax
xor edi, edi
mov eax, edi
and eax, 0x3c0
movups xmm0, xmmword [rax + r10 + 4]
movups xmm1, xmmword [rax + r10 + 0x14]
movups xmm2, xmmword [rsi + rdi - 0x30]
xorps xmm2, xmm0
movups xmm0, xmmword [rsi + rdi - 0x20]
xorps xmm0, xmm1
movups xmm1, xmmword [rsi + rdi - 0x10]
movups xmm3, xmmword [rsi + rdi]
movups xmmword [rsi + rdi - 0x30], xmm2
movups xmmword [rsi + rdi - 0x20], xmm0
lea eax, [rdi + 0x20]
and eax, 0x3e0
movups xmm0, xmmword [rax + r10 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rax + r10 + 0x14]
xorps xmm1, xmm3
movups xmmword [rsi + rdi - 0x10], xmm0
movups xmmword [rsi + rdi], xmm1
add rdi, 0x40
add rbx, 2
jne 0x18000166d
jmp 0x1800016d4
xor edi, edi
test r8, r8
mov r8, qword [rbp - 0x10]
je 0x18000170c
mov eax, edi
and eax, 0x3e0
movups xmm0, xmmword [rax + r10 + 4]
movups xmm1, xmmword [rax + r10 + 0x14]
movups xmm2, xmmword [r8 + rdi]
xorps xmm2, xmm0
movups xmm0, xmmword [r8 + rdi + 0x10]
xorps xmm0, xmm1
movups xmmword [r8 + rdi], xmm2
movups xmmword [r8 + rdi + 0x10], xmm0
cmp rcx, r9
je 0x180001735
lea rax, [r11 + r10]
add rax, 0x408
mov edx, ecx
and edx, 0x3ff
movzx edx, byte [rdx + r10 + 4]
xor byte [rax + rcx], dl
add rcx, 1
cmp rcx, r9
jb 0x18000171b
cmp dword [0x180020a7c], 0xa
jl 0x180001752
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001752
nop
jmp 0x180001750
lea r12, [r11 + 0x408]
movsxd rax, dword [0x180004440]
mov rdi, r8
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001763
lea rsi, [rax + r10]
add rsi, 0x404
mov r13, rdi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x18000177a
mov r14, r13
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001788
mov qword [rbp - 0x18], r14
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001796
mov rbx, r14
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x1800017a3
mov r15, rbx
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x1800017af
sub rsp, 0x20
mov rcx, rdi
call fcn.180002bb0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800017ea
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002062
mov qword [rbp], rdi
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000181d
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002064
mov qword [rbp - 8], rsi
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add r10, r9
add rdi, r9
mov esi, dword [rdi]
add rsi, r9
mov rdx, r13
nop dword [rax]
movzx ecx, byte [rdx]
movzx eax, byte [rsi]
test cl, cl
je 0x180001856
add rsi, 1
add rdx, 1
cmp cl, al
je 0x180001840
cmp cl, al
je 0x180001864
add rdi, 4
add r10, 2
jmp 0x180001834
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 [0x180020a84], 0xa
jl 0x18000189e
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002066
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800018cd
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002068
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov edi, dword [r10 + rcx + 0x24]
add rdi, r10
add rdx, r10
mov esi, dword [rdx]
add rsi, r10
mov rax, r14
nop dword [rax + rax]
movzx ebx, byte [rax]
movzx ecx, byte [rsi]
test bl, bl
je 0x180001906
add rsi, 1
add rax, 1
cmp bl, cl
je 0x1800018f0
cmp bl, cl
je 0x180001914
add rdx, 4
add rdi, 2
jmp 0x1800018e0
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, r15
mov r8, r15
call r10
add rsp, 0x10
mov rcx, qword [rbp]
call fcn.180002bb0
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001977
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000206a
movsxd rax, dword [r10 + 0x3c]
mov ebx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rbx + 0x1c]
cmp dword [0x180020a8c], 0xa
lea rcx, section..data
jl 0x1800019ad
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000206c
add r8, r10
mov edx, dword [r10 + rbx + 0x20]
mov r9d, dword [r10 + rbx + 0x24]
add r9, r10
add rdx, r10
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
lea rax, [r12 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x1800019df
add rsi, 1
cmp al, bl
je 0x1800019c7
cmp al, bl
je 0x1800019ed
add rdx, 4
add r9, 2
jmp 0x1800019c0
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rsi, qword [rbp - 8]
mov edx, dword [rsi + 0x50]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
mov r14, rax
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a6c]
cmp edx, 0xa
jl 0x18000206e
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
je 0x18000206e
movsxd rsi, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
mov rdx, qword [rbp - 0x10]
mov r15, rdx
jl 0x180001a6e
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov r15, rdx
and ecx, 1
jne 0x180002046
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001a6e
mov rbx, r15
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001a7b
mov r13, rbx
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001a87
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001a92
mov rdi, r13
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001aa0
mov r14, rdi
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001aac
sub rsp, 0x20
mov rcx, r15
call fcn.180002bb0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001ae7
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002048
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001b16
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000204a
mov qword [rbp], rsi
add r8, r9
mov r11d, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add r10, r9
add r11, r9
mov edx, dword [r11]
add rdx, r9
mov rsi, rbx
nop word cs:[rax + rax]
movzx ecx, byte [rsi]
movzx eax, byte [rdx]
test cl, cl
je 0x180001b56
add rdx, 1
add rsi, 1
cmp cl, al
je 0x180001b40
cmp cl, al
je 0x180001b64
add r11, 4
add r10, 2
jmp 0x180001b2d
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, rdi
call r9
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001b9e
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000204c
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001bcd
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000204e
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov edi, dword [r10 + rcx + 0x24]
add rdi, r10
add rdx, r10
mov esi, dword [rdx]
add rsi, r10
mov rbx, r13
nop dword [rax + rax]
movzx eax, byte [rbx]
movzx ecx, byte [rsi]
test al, al
je 0x180001c06
add rsi, 1
add rbx, 1
cmp al, cl
je 0x180001bf0
cmp al, cl
je 0x180001c14
add rdx, 4
add rdi, 2
jmp 0x180001be0
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, r14
mov r8, r14
call r10
add rsp, 0x10
mov rcx, r15
call fcn.180002bb0
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001c76
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002050
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
lea r15, section..data
mov r14, qword [rbp - 0x10]
jl 0x180001cb0
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002052
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov ecx, dword [r10 + rcx + 0x24]
add rcx, r10
add rdx, r10
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
nop word [rax + rax]
lea rax, [r12 + rsi]
movzx eax, byte [r15 + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001ce9
add rsi, 1
cmp al, bl
je 0x180001cd0
cmp al, bl
je 0x180001cf7
add rdx, 4
add rcx, 2
jmp 0x180001cc3
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
movsxd rsi, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
mov rcx, r14
jl 0x180001d51
mov eax, dword [0x180020a80]
lea edx, [rax - 1]
imul edx, eax
mov rcx, r14
and edx, 1
jne 0x180002054
cmp byte [rcx], 0
lea rcx, [rcx + 1]
jne 0x180001d51
mov rbx, rcx
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001d5d
mov r13, rbx
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001d69
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001d74
mov rdi, r13
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001d82
mov r14, rdi
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001d8e
sub rsp, 0x20
mov qword [rbp], rcx
call fcn.180002bb0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001dca
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002056
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001df9
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002058
mov qword [rbp - 8], rsi
add r8, r9
mov r11d, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add r10, r9
add r11, 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 0x180001e36
add rdx, 1
add rsi, 1
cmp cl, al
je 0x180001e20
cmp cl, al
je 0x180001e44
add r11, 4
add r10, 2
jmp 0x180001e10
movzx eax, word [r10]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, rdi
call r9
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001e7e
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000205a
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001ead
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000205c
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov edi, dword [r10 + rcx + 0x24]
add rdi, r10
add rdx, r10
mov esi, dword [rdx]
add rsi, r10
mov rbx, r13
nop dword [rax + rax]
movzx eax, byte [rbx]
movzx ecx, byte [rsi]
test al, al
je 0x180001ee6
add rsi, 1
add rbx, 1
cmp al, cl
je 0x180001ed0
cmp al, cl
je 0x180001ef4
add rdx, 4
add rdi, 2
jmp 0x180001ec0
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, r14
mov r8, r14
call r10
add rsp, 0x10
mov rcx, qword [rbp]
call fcn.180002bb0
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001f57
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000205e
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001f86
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002060
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov ecx, dword [r10 + rcx + 0x24]
add rcx, r10
add rdx, 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 0x180001fb9
add rsi, 1
cmp al, bl
je 0x180001fa0
cmp al, bl
je 0x180001fc7
add rdx, 4
add rcx, 2
jmp 0x180001f99
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp - 8]
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 [0x180020a6c], 0xa
jl 0x180002014
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001a3f
cmp dword [0x180020a7c], 0xa
lea r10, section..data
mov r8, qword [rbp - 0x10]
jl 0x180001759
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001759
jmp 0x180001750
jmp 0x180002046
jmp 0x180002048
jmp 0x18000204a
jmp 0x18000204c
jmp 0x18000204e
jmp 0x180002050
jmp 0x180002052
jmp 0x180002054
jmp 0x180002056
jmp 0x180002058
jmp 0x18000205a
jmp 0x18000205c
jmp 0x18000205e
jmp 0x180002060
jmp 0x180002062
jmp 0x180002064
jmp 0x180002066
jmp 0x180002068
jmp 0x18000206a
jmp 0x18000206c
cmp word [rsi + 6], 0
je 0x1800021d9
mov rax, qword [rbp - 8]
lea r8, [rax + 0x108]
xor r9d, r9d
cmp edx, 0xa
jl 0x18000209b
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x180002201
lea rax, [r9 + r9*4]
lea r10, [r8 + rax*8]
add r10, 0xc
mov ecx, dword [0x180020a78]
mov eax, dword [0x180020a74]
cmp eax, 0xa
jl 0x1800020c7
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800021fd
cmp eax, 0xa
jl 0x1800020db
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800021f9
mov r11d, dword [r10 + 4]
test r11, r11
je 0x180002135
mov ebx, dword [r10]
add rbx, r14
mov eax, dword [r10 + 8]
lea rcx, section..data
lea rdi, [rax + rcx]
add rdi, 0x404
xor edx, edx
jmp 0x18000210d
add rdx, 1
cmp r11, rdx
je 0x180002135
movzx eax, byte [rdi + rdx]
mov byte [rbx + rdx], al
mov ecx, dword [0x180020a78]
mov eax, dword [0x180020a74]
cmp eax, 0xa
jl 0x180002104
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
je 0x180002104
jmp 0x1800021f9
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a6c]
cmp edx, 0xa
jl 0x1800021c4
lea edi, [rbx - 1]
imul edi, ebx
and edi, 1
je 0x1800021c4
cmp eax, 0xa
jl 0x180002165
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800021ff
mov r11d, dword [r10 + 4]
test r11, r11
je 0x1800020b3
mov eax, dword [r10 + 8]
mov ebx, dword [r10]
add rbx, r14
lea rcx, section..data
lea rdi, [rax + rcx]
add rdi, 0x404
xor edx, edx
jmp 0x18000219f
add rdx, 1
cmp r11, rdx
je 0x1800020b3
movzx eax, byte [rdi + rdx]
mov byte [rbx + rdx], al
mov ecx, dword [0x180020a78]
mov eax, dword [0x180020a74]
cmp eax, 0xa
jl 0x180002192
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
je 0x180002192
jmp 0x1800021fb
add r9, 1
mov rax, qword [rbp - 8]
movzx eax, word [rax + 6]
cmp r9, rax
jb 0x180002087
mov rax, qword [rbp - 8]
mov rcx, qword [rax + 0x30]
mov rax, r14
sub rax, rcx
cmp edx, 0xa
jl 0x180002203
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
je 0x180002203
jmp 0x1800021f7
jmp 0x1800021f9
jmp 0x1800021fb
jmp 0x1800021fd
jmp 0x1800021ff
jmp 0x180002201
mov rcx, qword [rbp - 8]
mov ecx, dword [rcx + 0xb0]
add rcx, r14
movabs r8, 0x1fffffff8
cmp dword [rcx], 0
je 0x18000243c
mov edi, dword [rcx + 4]
cmp rdi, 8
jb 0x1800023f2
cmp edx, 0xa
jl 0x180002244
lea esi, [rbx - 1]
imul esi, ebx
and esi, 1
jne 0x180002436
add rdi, r8
shr rdi, 1
mov r9d, edi
xor r10d, r10d
cmp r10, r9
je 0x1800023f2
movzx edi, word [rcx + r10*2 + 8]
mov esi, edi
shr esi, 0xc
mov r11d, edi
and r11d, 0xfff
cmp edi, 0xa000
jae 0x180002319
cmp esi, 3
jne 0x1800023d6
mov edx, dword [rcx]
lea rdx, [r14 + rdx*4]
add dword [rdx + r11*4], eax
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a6c]
cmp edx, 0xa
jl 0x1800023d6
lea esi, [rbx - 1]
imul esi, ebx
and esi, 1
je 0x1800023d6
lea rdi, [r14 + r11*4]
cmp edx, 0xa
jl 0x1800022c9
lea edx, [rbx - 1]
imul edx, ebx
and edx, 1
jne 0x180002434
mov edx, dword [rcx]
add dword [rdi + rdx*4], eax
cmp dword [0x180020a6c], 0xa
jl 0x1800022ef
mov edx, dword [0x180020a70]
lea ebx, [rdx - 1]
imul ebx, edx
and ebx, 1
je 0x1800022ef
mov edx, dword [rcx]
add dword [rdi + rdx*4], eax
jmp 0x1800022c9
mov edx, dword [rcx]
add dword [rdi + rdx*4], eax
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a6c]
cmp edx, 0xa
jl 0x1800023d6
lea esi, [rbx - 1]
imul esi, ebx
and esi, 1
jne 0x1800022b5
jmp 0x1800023d6
cmp esi, 0xa
jne 0x1800023d6
mov r11d, r11d
cmp edx, 0xa
jl 0x180002351
lea esi, [rbx - 1]
imul esi, ebx
and esi, 1
jne 0x180002379
jmp 0x180002351
add r10, 1
cmp edx, 0xa
jl 0x180002250
test edi, edi
je 0x180002250
jmp 0x180002436
mov edx, dword [rcx]
mov rsi, r11
add rsi, r14
add qword [rdx + rsi], rax
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a6c]
cmp edx, 0xa
jl 0x1800023d6
lea esi, [rbx - 1]
imul esi, ebx
and esi, 1
je 0x1800023d6
cmp edx, 0xa
jge 0x18000243a
lea rdx, [r11 + r14]
mov esi, dword [rcx]
add qword [rsi + rdx], rax
jmp 0x180002394
mov esi, dword [rcx]
add qword [rdx + rsi], rax
cmp dword [0x180020a6c], 0xa
jl 0x180002351
mov esi, dword [0x180020a70]
lea edi, [rsi - 1]
imul edi, esi
and edi, 1
je 0x180002351
mov esi, dword [rcx]
add qword [rdx + rsi], rax
mov esi, dword [rcx]
add qword [rdx + rsi], rax
cmp dword [0x180020a6c], 0xa
jl 0x18000238e
mov esi, dword [0x180020a70]
lea edi, [rsi - 1]
imul edi, esi
and edi, 1
jne 0x1800023ae
jmp 0x18000238e
lea edi, [rbx - 1]
imul edi, ebx
and edi, 1
cmp edx, 0xa
jl 0x180002337
test edi, edi
je 0x180002337
jmp 0x180002438
lea edi, [rbx - 1]
imul edi, ebx
test dil, 1
sete r10b
cmp edx, 0xa
setl r9b
or r9b, r10b
jne 0x180002417
xor esi, esi
test sil, 1
mov esi, r9d
je 0x18000240e
mov esi, dword [rcx + 4]
add rcx, rsi
cmp edx, 0xa
jl 0x18000221a
and edi, 1
je 0x18000221a
jmp 0x1800021f7
jmp 0x180002434
jmp 0x180002436
jmp 0x180002438
jmp 0x18000243a
cmp edx, 0xa
jl 0x18000244e
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
je 0x18000244e
jmp 0x18000244c
lea rax, [r14 + 2]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x90]
add rax, r14
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x20]
mov r12d, dword [rax + 0xc]
test r12, r12
je 0x180002b2a
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.180002bb0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800024aa
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002b0c
add r12, r14
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800024dc
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002b0e
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rcx, r9
add rdi, r9
mov esi, dword [rdi]
add rsi, r9
mov rbx, r13
movzx eax, byte [rbx]
movzx edx, byte [rsi]
test al, al
je 0x18000250d
add rsi, 1
add rbx, 1
cmp al, dl
je 0x1800024f7
cmp al, dl
je 0x18000251b
add rdi, 4
add rcx, 2
jmp 0x1800024ef
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r12
call r9
add rsp, 0x20
mov r15, rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180002647
test edx, edx
je 0x180002647
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.180002bb0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x18000258e
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002b10
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800025bd
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002b12
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rcx, r9
add rdi, r9
mov esi, dword [rdi]
add rsi, r9
mov rbx, r13
movzx eax, byte [rbx]
movzx edx, byte [rsi]
test al, al
je 0x1800025ee
add rsi, 1
add rbx, 1
cmp al, dl
je 0x1800025d8
cmp al, dl
je 0x1800025fc
add rdi, 4
add rcx, 2
jmp 0x1800025d0
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r12
call r9
mov rcx, qword [rbp]
call fcn.180002bb0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800024ad
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800024ad
jmp 0x180002b0c
cmp ecx, 0xa
jl 0x180002654
test edx, edx
jne 0x180002b24
mov rdx, qword [rbp - 0x20]
mov ebx, dword [rdx]
mov r12d, dword [rdx + 0x10]
add r12, r14
add rbx, r14
mov qword [rbp - 0x28], rbx
mov rdx, qword [rbp - 0x28]
mov rdx, qword [rdx]
test rdx, rdx
je 0x180002aea
mov rax, qword [rbp - 0x30]
add rax, rdx
test rdx, rdx
movzx ecx, dx
cmovns rcx, rax
mov qword [rbp - 0x10], rcx
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.180002bb0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800026bf
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002b26
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800026ee
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002b28
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rcx, r9
add rdx, r9
mov edi, dword [rdx]
add rdi, r9
mov rsi, qword [rbp - 0x18]
movzx eax, byte [rsi]
movzx ebx, byte [rdi]
test al, al
je 0x180002720
add rdi, 1
add rsi, 1
cmp al, bl
je 0x18000270a
cmp al, bl
je 0x18000272e
add rdx, 4
add rcx, 2
jmp 0x180002701
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
mov rdx, qword [rbp - 0x10]
call r9
add rsp, 0x20
mov qword [r12], rax
mov eax, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180002ace
test edx, edx
je 0x180002ace
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.180002bb0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800027a6
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002b14
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800027d5
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002b16
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rcx, r9
add rdx, r9
mov edi, dword [rdx]
add rdi, r9
mov rsi, qword [rbp - 0x18]
movzx eax, byte [rsi]
movzx ebx, byte [rdi]
test al, al
je 0x180002807
add rdi, 1
add rsi, 1
cmp al, bl
je 0x1800027f1
cmp al, bl
je 0x180002815
add rdx, 4
add rcx, 2
jmp 0x1800027e8
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
mov rdx, qword [rbp - 0x10]
call r9
add rsp, 0x20
mov qword [r12], rax
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.180002bb0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002867
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002b18
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002896
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002b1a
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rcx, r9
add rdx, r9
mov edi, dword [rdx]
add rdi, r9
mov rsi, qword [rbp - 0x18]
movzx eax, byte [rsi]
movzx ebx, byte [rdi]
test al, al
je 0x1800028c8
add rdi, 1
add rsi, 1
cmp al, bl
je 0x1800028b2
cmp al, bl
je 0x1800028d6
add rdx, 4
add rcx, 2
jmp 0x1800028a9
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
mov rdx, qword [rbp - 0x10]
call r9
add rsp, 0x20
mov qword [r12], rax
cmp dword [0x180020a6c], 0xa
jl 0x180002936
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002774
jmp 0x180002936
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
mov rdx, qword [rbp - 0x10]
call r9
add rsp, 0x20
mov qword [r12], rax
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.180002bb0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002968
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002b1e
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002997
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002b1c
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rcx, r9
add rdx, r9
mov edi, dword [rdx]
add rdi, r9
mov rsi, qword [rbp - 0x18]
movzx eax, byte [rsi]
movzx ebx, byte [rdi]
test al, al
je 0x1800029c9
add rdi, 1
add rsi, 1
cmp al, bl
je 0x1800029b3
cmp al, bl
je 0x1800029d7
add rdx, 4
add rcx, 2
jmp 0x1800029aa
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
mov rdx, qword [rbp - 0x10]
call r9
add rsp, 0x20
mov qword [r12], rax
mov edi, dword [0x180020a70]
mov esi, dword [0x180020a6c]
sub rsp, 0x20
mov rcx, qword [rbp]
call fcn.180002bb0
add rsp, 0x20
mov ecx, dword [0x180020a88]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete cl
cmp dword [0x180020a84], 0xa
mov r9, rax
setl al
or al, cl
cmp esi, 0xa
jl 0x180002ac4
lea ecx, [rdi - 1]
imul ecx, edi
and ecx, 1
je 0x180002ac4
test al, al
je 0x180002b20
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002a80
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002b22
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rcx, r9
add rdx, r9
mov edi, dword [rdx]
add rdi, r9
mov rsi, qword [rbp - 0x18]
movzx eax, byte [rsi]
movzx ebx, byte [rdi]
test al, al
je 0x180002ab2
add rdi, 1
add rsi, 1
cmp al, bl
je 0x180002a9c
cmp al, bl
je 0x180002916
add rdx, 4
add rcx, 2
jmp 0x180002a93
test al, al
jne 0x1800026bf
jmp 0x180002b26
add qword [rbp - 0x28], 8
add r12, 8
cmp ecx, 0xa
jl 0x180002668
test edx, edx
je 0x180002668
jmp 0x180002b24
add qword [rbp - 0x20], 0x14
cmp ecx, 0xa
jl 0x180002467
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002467
jmp 0x18000244c
jmp 0x180002b0c
jmp 0x180002b0e
jmp 0x180002b10
jmp 0x180002b12
jmp 0x180002b14
jmp 0x180002b16
jmp 0x180002b18
jmp 0x180002b1a
jmp 0x180002b1c
jmp 0x180002b1e
jmp 0x180002b20
jmp 0x180002b22
jmp 0x180002b24
jmp 0x180002b26
jmp 0x180002b28
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x28]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x180002b96
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002b96
mov rsi, qword [rbp - 8]
mov eax, dword [rsi + 0x28]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
mov eax, dword [rsi + 0x28]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x180002b96
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002b5c
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret