Function at 0x180001080
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
mov edx, dword [0x180020a70]
mov r15d, dword [0x180020a74]
jl 0x1800010c0
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001297
mov eax, 0x10
call entry0
sub rsp, rax
mov rsi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r10, rsp
cmp r15d, 0xa
jl 0x1800010f5
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180001420
mov al, byte [section..data]
mov byte [rsi], al
mov ecx, dword [0x180020a70]
mov ebx, dword [0x180020a74]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
cmp ebx, 0xa
jl 0x180001146
test edx, edx
je 0x180001146
mov ecx, dword [0x180020a70]
mov ebx, dword [0x180020a74]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
sete r8b
cmp ebx, 0xa
setl cl
or cl, r8b
nop dword [rax]
test cl, cl
je 0x180001140
mov byte [rsi], al
cmp ebx, 0xa
jl 0x180001153
test edx, edx
jne 0x180001410
mov al, byte [0x180004001]
mov byte [rsi + 1], al
mov ecx, dword [0x180020a70]
mov ebx, dword [0x180020a74]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
cmp ebx, 0xa
jl 0x1800011a7
test edx, edx
je 0x1800011a7
mov ecx, dword [0x180020a70]
mov ebx, dword [0x180020a74]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
sete r8b
cmp ebx, 0xa
setl cl
or cl, r8b
nop dword [rax]
test cl, cl
je 0x1800011a0
mov byte [rsi + 1], al
cmp ebx, 0xa
jl 0x1800011b4
test edx, edx
jne 0x180001410
mov al, byte [0x180004002]
mov byte [rsi + 2], al
mov ecx, dword [0x180020a70]
mov ebx, dword [0x180020a74]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
cmp ebx, 0xa
jl 0x180001207
test edx, edx
je 0x180001207
mov ecx, dword [0x180020a70]
mov ebx, dword [0x180020a74]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
sete r8b
cmp ebx, 0xa
setl cl
or cl, r8b
nop dword [rax]
test cl, cl
je 0x180001200
mov byte [rsi + 2], al
cmp ebx, 0xa
jl 0x180001214
test edx, edx
jne 0x180001410
mov al, byte [0x180004003]
mov byte [rsi + 3], al
mov edx, dword [0x180020a70]
mov r15d, dword [0x180020a74]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
cmp r15d, 0xa
jl 0x180001267
test edi, edi
je 0x180001267
mov edx, dword [0x180020a70]
mov r15d, dword [0x180020a74]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
sete bl
cmp r15d, 0xa
setl cl
or cl, bl
nop
test cl, cl
je 0x180001260
mov byte [rsi + 3], al
cmp r15d, 0xa
jl 0x180001275
test edi, edi
jne 0x180001410
cmp dword [0x180020a6c], 0xa
jl 0x180001432
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001432
cmp r15d, 0xa
jl 0x1800012ac
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180001430
mov edx, dword [0x180020a70]
mov ecx, dword [0x180020a74]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x1800012f4
test eax, eax
je 0x1800012f4
mov edx, dword [0x180020a70]
mov ecx, dword [0x180020a74]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
nop word [rax + rax]
test dl, dl
je 0x1800012f0
cmp ecx, 0xa
jl 0x180001301
test eax, eax
jne 0x180001400
mov edx, dword [0x180020a70]
mov ecx, dword [0x180020a74]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x180001344
test eax, eax
je 0x180001344
mov edx, dword [0x180020a70]
mov ecx, dword [0x180020a74]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
nop
test dl, dl
je 0x180001340
cmp ecx, 0xa
jl 0x180001351
test eax, eax
jne 0x180001400
mov edx, dword [0x180020a70]
mov ecx, dword [0x180020a74]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x180001394
test eax, eax
je 0x180001394
mov edx, dword [0x180020a70]
mov ecx, dword [0x180020a74]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
nop
test dl, dl
je 0x180001390
cmp ecx, 0xa
jl 0x18000139d
test eax, eax
jne 0x180001400
mov edx, dword [0x180020a70]
mov r15d, dword [0x180020a74]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp r15d, 0xa
jl 0x1800013e4
test eax, eax
je 0x1800013e4
mov edx, dword [0x180020a70]
mov r15d, dword [0x180020a74]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
sete bl
cmp r15d, 0xa
setl cl
or cl, bl
nop
test cl, cl
je 0x1800013e0
cmp r15d, 0xa
jl 0x1800010c0
test eax, eax
je 0x1800010c0
nop word cs:[rax + rax]
jmp 0x180001400
jmp 0x180001410
jmp 0x180001420
jmp 0x180001430
mov r9d, dword [rsi]
test r9, r9
je 0x1800015cc
xor r14d, r14d
cmp r9d, 0x10
jb 0x180001537
lea rax, [r9 - 1]
cmp rax, 0x400
jae 0x180001537
mov r14d, r9d
and r14d, 0xfffffff0
lea rdi, [r14 - 0x10]
mov rax, rdi
shr rax, 4
add rax, 1
mov r8d, eax
and r8d, 1
test rdi, rdi
je 0x1800014f9
mov rdi, r8
sub rdi, rax
xor eax, eax
lea r11, section..data
movaps xmm0, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
nop word cs:[rax + rax]
nop dword [rax]
mov esi, eax
and esi, 0x3e0
movups xmm1, xmmword [rsi + r11 + 4]
movups xmm2, xmmword [rax + r11 + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rax + r11 + 0x414]
xorps xmm2, xmm0
movups xmmword [rax + r11 + 0x404], xmm2
lea esi, [rax + 0x10]
and esi, 0x3f0
movups xmm2, xmmword [rsi + r11 + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rax + r11 + 0x414], xmm1
add rax, 0x20
add rdi, 2
jne 0x1800014a0
jmp 0x1800014fb
xor eax, eax
test r8, r8
je 0x18000152e
mov edi, eax
and edi, 0x3f0
lea rsi, section..data
movups xmm0, xmmword [rdi + rsi + 4]
movups xmm1, xmmword [rax + rsi + 0x404]
xorps xmm1, xmm0
xorps xmm1, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
movups xmmword [rax + rsi + 0x404], xmm1
cmp r14, r9
je 0x1800015cc
mov rsi, r14
not rsi
test r9b, 1
je 0x18000156e
mov edi, r14d
and edi, 0x3f0
lea r8, section..data
mov al, byte [rdi + r8 + 4]
xor al, byte [r14 + r8 + 0x404]
xor al, 0xc
mov byte [r14 + r8 + 0x404], al
or r14, 1
add rsi, r9
je 0x1800015cc
lea rax, section..data
nop word [rax + rax]
mov ecx, r14d
and ecx, 0x3ff
movzx ecx, byte [rcx + rax + 4]
xor cl, byte [r14 + rax + 0x404]
xor cl, 0xc
mov byte [r14 + rax + 0x404], cl
lea ecx, [r14 + 1]
and ecx, 0x3ff
movzx ecx, byte [rcx + rax + 4]
xor cl, byte [r14 + rax + 0x405]
xor cl, 0xc
mov byte [r14 + rax + 0x405], cl
add r14, 2
cmp r9, r14
jne 0x180001580
cmp r15d, 0xa
jl 0x1800015e2
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x1800015e2
nop dword [rax]
jmp 0x1800015e0
lea r14, section..data
lea r11, [r9 + r14]
add r11, 0x404
mov al, byte [r11]
mov byte [r10], al
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x180001647
test ecx, ecx
je 0x180001647
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
sete r8b
cmp edx, 0xa
setl bl
or bl, r8b
nop word [rax + rax]
test bl, bl
je 0x180001640
mov byte [r10], al
cmp edx, 0xa
jl 0x180001654
test ecx, ecx
jne 0x180001770
mov al, byte [r11 + 1]
mov byte [r10 + 1], al
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x1800016a8
test ecx, ecx
je 0x1800016a8
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
sete r8b
cmp edx, 0xa
setl bl
or bl, r8b
nop dword [rax]
test bl, bl
je 0x1800016a0
mov byte [r10 + 1], al
cmp edx, 0xa
jl 0x1800016b5
test ecx, ecx
jne 0x180001770
mov al, byte [r11 + 2]
mov byte [r10 + 2], al
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x180001705
test ecx, ecx
je 0x180001705
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
sete r8b
cmp edx, 0xa
setl bl
or bl, r8b
test bl, bl
je 0x1800016fd
mov byte [r10 + 2], al
cmp edx, 0xa
jl 0x18000170e
test ecx, ecx
jne 0x180001770
mov al, byte [r11 + 3]
mov byte [r10 + 3], al
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x18000175e
test ecx, ecx
je 0x18000175e
mov ebx, dword [0x180020a70]
mov edx, dword [0x180020a74]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
sete r8b
cmp edx, 0xa
setl bl
or bl, r8b
test bl, bl
je 0x180001756
mov byte [r10 + 3], al
cmp edx, 0xa
jl 0x180001772
test ecx, ecx
je 0x180001772
nop word [rax + rax]
jmp 0x180001770
mov eax, dword [0x180020a78]
mov r8d, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
sete dl
cmp r8d, 0xa
setl al
or al, dl
cmp al, 1
jne 0x1800017d0
add r11, 4
mov ebx, dword [r10]
lea r15, [r9 + r14]
add r15, 0x408
xor esi, esi
cmp rbx, rsi
je 0x1800017d2
mov edi, esi
and edi, 0x3ff
movzx edx, byte [rdi + r14 + 4]
xor byte [r15 + rsi], dl
add rsi, 1
test al, al
jne 0x1800017ac
nop dword [rax + rax]
jmp 0x1800017d0
cmp r8d, 0xa
mov qword [rbp - 0x10], r11
jl 0x180001ac1
test ecx, ecx
je 0x180001ac1
movsxd rsi, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
jl 0x180001812
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001812
nop dword [rax]
jmp 0x180001810
mov r14, r11
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001815
mov rbx, r14
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001822
mov r13, rbx
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x18000182e
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001839
mov rdi, r13
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001847
mov r12, rdi
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001853
sub rsp, 0x20
mov rcx, r14
call fcn.180002ba0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001892
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001892
nop dword [rax]
jmp 0x180001890
mov qword [rbp], rsi
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800018c3
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x1800018c3
jmp 0x1800018c1
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 0x1800018f5
add rsi, 1
add rdx, 1
cmp cl, al
je 0x1800018df
cmp cl, al
je 0x180001903
add r11, 4
add r10, 2
jmp 0x1800018d6
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 0x18000193b
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x18000193b
jmp 0x180001939
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001968
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180001968
jmp 0x180001966
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov edi, dword [r10 + rcx + 0x24]
add rdx, r10
add rdi, r10
mov esi, dword [rdx]
add rsi, r10
mov rbx, r13
movzx eax, byte [rbx]
movzx ecx, byte [rsi]
test al, al
je 0x180001999
add rbx, 1
add rsi, 1
cmp al, cl
je 0x180001983
cmp al, cl
je 0x1800019a7
add rdx, 4
add rdi, 2
jmp 0x18000197b
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r10, rax
sub rsp, 0x30
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, r12
mov r8, r12
call r10
add rsp, 0x10
mov rcx, r14
call fcn.180002ba0
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001a07
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001a07
jmp 0x180001a05
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001a34
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180001a34
jmp 0x180001a32
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
movzx eax, byte [r15 + rsi]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001a63
add rsi, 1
cmp al, bl
je 0x180001a4e
cmp al, bl
je 0x180001a71
add rdx, 4
add rcx, 2
jmp 0x180001a47
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r10, rax
lea r14, section..data
mov rax, qword [rbp]
mov edx, dword [rax + r14 + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
mov eax, dword [0x180020a78]
mov r8d, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov r11, qword [rbp - 0x10]
cmp r8d, 0xa
jl 0x180001acf
test ecx, ecx
jne 0x180001dce
movsxd rax, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
jl 0x180001af4
mov ecx, dword [0x180020a80]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x180001bf4
add rax, r14
add rax, 0x404
mov qword [rbp], rax
mov rsi, r11
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x180001b04
mov r13, rsi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001b10
mov rdi, r13
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001b1e
mov r14, rdi
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001b2a
mov rbx, r14
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001b37
mov r12, rbx
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001b43
sub rsp, 0x20
mov rcx, rsi
call fcn.180002ba0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001b80
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001bf6
mov qword [rbp - 0x18], rdi
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001baf
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001bf8
mov qword [rbp - 8], rsi
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, r13
nop
movzx ecx, byte [rdx]
movzx eax, byte [rsi]
test cl, cl
je 0x180001be6
add rdx, 1
add rsi, 1
cmp cl, al
je 0x180001bd0
cmp cl, al
je 0x180001bfa
add rdi, 4
add r10, 2
jmp 0x180001bc6
jmp 0x180001bf4
jmp 0x180001bf6
jmp 0x180001bf8
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 0x180001c30
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ca4
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001c5b
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001ca6
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
nop word cs:[rax + rax]
movzx ebx, byte [rax]
movzx ecx, byte [rsi]
test bl, bl
je 0x180001c96
add rax, 1
add rsi, 1
cmp bl, cl
je 0x180001c80
cmp bl, cl
je 0x180001ca8
add rdx, 4
add rdi, 2
jmp 0x180001c6e
jmp 0x180001ca4
jmp 0x180001ca6
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r10, rax
sub rsp, 0x30
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, r12
mov r8, r12
call r10
add rsp, 0x10
mov rcx, qword [rbp - 8]
call fcn.180002ba0
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001d07
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001d73
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001d32
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001d75
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov ecx, dword [r10 + rcx + 0x24]
add rdx, r10
add rcx, r10
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
nop dword [rax]
movzx eax, byte [r15 + rsi]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001d65
add rsi, 1
cmp al, bl
je 0x180001d50
cmp al, bl
je 0x180001d77
add rdx, 4
add rcx, 2
jmp 0x180001d45
jmp 0x180001d73
jmp 0x180001d75
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 ecx, dword [0x180020a78]
mov eax, dword [0x180020a6c]
lea ebx, [rcx - 1]
imul ebx, ecx
cmp eax, 0xa
mov r11, qword [rbp - 0x10]
jl 0x1800020af
mov edx, ebx
and edx, 1
je 0x1800020af
movsxd rsi, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
jl 0x180001df3
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ee4
mov r14, r11
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001df6
mov rbx, r14
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001e03
mov r13, rbx
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001e0f
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001e1a
mov rdi, r13
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001e28
mov r12, rdi
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001e34
sub rsp, 0x20
mov rcx, r14
call fcn.180002ba0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001e6d
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001ee6
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001e98
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001ee8
mov qword [rbp], rsi
add r8, r9
mov r11d, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add r11, r9
add r10, r9
mov edx, dword [r11]
add rdx, r9
mov rsi, rbx
nop dword [rax + rax]
movzx ecx, byte [rsi]
movzx eax, byte [rdx]
test cl, cl
je 0x180001ed6
add rsi, 1
add rdx, 1
cmp cl, al
je 0x180001ec0
cmp cl, al
je 0x180001eea
add r11, 4
add r10, 2
jmp 0x180001eaf
jmp 0x180001ee4
jmp 0x180001ee6
jmp 0x180001ee8
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 0x180001f20
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001f94
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001f4b
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180001f96
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov edi, dword [r10 + rcx + 0x24]
add rdx, r10
add rdi, r10
mov esi, dword [rdx]
add rsi, r10
mov rbx, r13
nop word cs:[rax + rax]
movzx eax, byte [rbx]
movzx ecx, byte [rsi]
test al, al
je 0x180001f86
add rbx, 1
add rsi, 1
cmp al, cl
je 0x180001f70
cmp al, cl
je 0x180001f98
add rdx, 4
add rdi, 2
jmp 0x180001f5e
jmp 0x180001f94
jmp 0x180001f96
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r10, rax
sub rsp, 0x30
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, r12
mov r8, r12
call r10
add rsp, 0x10
mov rcx, r14
call fcn.180002ba0
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001ff6
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002073
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
lea r14, section..data
jl 0x180002028
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002075
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov ecx, dword [r10 + rcx + 0x24]
add rdx, r10
add rcx, r10
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
nop word cs:[rax + rax]
nop dword [rax]
movzx eax, byte [r15 + rsi]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180002065
add rsi, 1
cmp al, bl
je 0x180002050
cmp al, bl
je 0x180002077
add rdx, 4
add rcx, 2
jmp 0x18000203b
jmp 0x180002073
jmp 0x180002075
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp]
mov edx, dword [rax + r14 + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
mov r11, qword [rbp - 0x10]
jmp 0x180001acf
test bl, 1
sete bl
cmp eax, 0xa
setl dl
or dl, bl
cmp dl, 1
jne 0x1800021a6
mov rbx, qword [rbp]
lea r8, [rbx + 0x108]
xor r9d, r9d
mov rbx, qword [rbp]
movzx ebx, word [rbx + 6]
cmp r9, rbx
jae 0x1800021ae
cmp dword [0x180020a74], 0xa
jl 0x180002103
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800021aa
lea rdx, [r9 + r9*4]
mov eax, dword [r8 + rdx*8 + 0xc]
mov ecx, dword [r8 + rdx*8 + 0x10]
add rax, r14
mov edx, dword [r8 + rdx*8 + 0x14]
lea rbx, section..data
add rdx, rbx
add rdx, 0x404
sub rcx, 1
jb 0x18000216d
movzx ebx, byte [rdx]
mov byte [rax], bl
mov esi, dword [0x180020a70]
mov ebx, dword [0x180020a74]
lea edi, [rsi - 1]
imul edi, esi
and edi, 1
cmp ebx, 0xa
jl 0x18000215a
test edi, edi
je 0x18000215a
movzx ebx, byte [rdx]
mov byte [rax], bl
jmp 0x180002130
add rdx, 1
add rax, 1
cmp ebx, 0xa
jl 0x18000212a
test edi, edi
je 0x18000212a
jmp 0x1800021a8
mov ecx, dword [0x180020a78]
mov eax, dword [0x180020a6c]
lea ebx, [rcx - 1]
imul ebx, ecx
cmp eax, 0xa
jl 0x18000218b
mov edx, ebx
and edx, 1
jne 0x1800021ac
add r9, 1
test bl, 1
sete bl
cmp eax, 0xa
setl dl
or dl, bl
cmp dl, 1
je 0x1800020d4
jmp 0x1800021a6
jmp 0x1800021a8
jmp 0x1800021aa
jmp 0x1800021ac
mov rbx, qword [rbp]
mov ebx, dword [rbx + 0xb0]
cmp dword [r14 + rbx], 0
je 0x180002374
add rbx, r14
mov rdi, qword [rbp]
mov rdi, qword [rdi + 0x30]
mov r15, r14
sub r15, rdi
movabs r8, 0x1fffffff8
mov r9, rbx
jmp 0x180002205
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete r9b
cmp eax, 0xa
setl dl
or dl, r9b
cmp dword [rbx], 0
mov r9, rbx
je 0x180002374
test dl, 1
je 0x180002205
mov edi, dword [r9 + 4]
test dl, 1
je 0x180002205
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
cmp edi, 7
jbe 0x180002349
cmp eax, 0xa
jl 0x180002232
test edx, edx
jne 0x180002370
add rdi, r8
shr rdi, 1
mov r10d, edi
xor r11d, r11d
cmp r11, r10
je 0x180002349
movzx edi, word [r9 + r11*2 + 8]
mov esi, edi
shr esi, 0xc
mov edx, edi
and edx, 0xfff
cmp edi, 0xa000
jae 0x1800022a9
cmp esi, 3
jne 0x180002329
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
cmp eax, 0xa
jl 0x18000229e
test edi, edi
je 0x18000229e
mov eax, dword [rbx]
lea rax, [r14 + rax*4]
mov ecx, edx
add dword [rax + rcx*4], r15d
mov ecx, dword [0x180020a78]
mov eax, dword [0x180020a6c]
lea edi, [rcx - 1]
imul edi, ecx
and edi, 1
cmp eax, 0xa
jl 0x1800022f7
test edi, edi
jne 0x18000231d
jmp 0x1800022f7
cmp esi, 0xa
jne 0x180002329
cmp eax, 0xa
jl 0x1800022c2
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x180002372
mov edx, edx
add rdx, r14
mov eax, dword [rbx]
add qword [rax + rdx], r15
mov ecx, dword [0x180020a78]
mov eax, dword [0x180020a6c]
cmp eax, 0xa
jl 0x180002329
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
je 0x180002329
mov eax, dword [rbx]
add qword [rdx + rax], r15
mov eax, dword [rbx]
add qword [rdx + rax], r15
jmp 0x1800022cd
mov eax, dword [rbx]
lea rax, [r14 + rax*4]
add dword [rax + rdx*4], r15d
mov ecx, dword [0x180020a78]
mov eax, dword [0x180020a6c]
cmp eax, 0xa
jl 0x180002329
lea esi, [rcx - 1]
imul esi, ecx
and esi, 1
je 0x180002329
mov eax, dword [rbx]
lea rax, [r14 + rax*4]
add dword [rax + rdx*4], r15d
jmp 0x1800022f7
add r11, 1
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
cmp eax, 0xa
jl 0x18000223e
test edx, edx
je 0x18000223e
jmp 0x180002370
test edx, edx
sete bl
cmp eax, 0xa
setl dl
or dl, bl
cmp dl, 1
jne 0x18000236a
mov ebx, dword [r9 + 4]
add rbx, r9
test dl, dl
jne 0x1800021e3
test dl, dl
je 0x18000236a
jmp 0x18000235b
jmp 0x180002370
jmp 0x180002372
test dl, 1
je 0x18000238b
cmp eax, 0xa
jl 0x18000238d
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
je 0x18000238d
jmp 0x180002389
jmp 0x18000238b
lea rax, [r14 + 2]
mov qword [rbp - 0x30], 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 0x180002b17
add r15, r14
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002ba0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800023ec
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002afd
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000241b
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002aff
add r8, r9
mov ebx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rbx, r9
add rcx, r9
mov esi, dword [rbx]
add rsi, r9
mov rdi, r13
movzx eax, byte [rdi]
movzx edx, byte [rsi]
test al, al
je 0x18000244c
add rdi, 1
add rsi, 1
cmp al, dl
je 0x180002436
cmp al, dl
je 0x18000245a
add rbx, 4
add rcx, 2
jmp 0x18000242e
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
call r9
add rsp, 0x20
mov qword [rbp - 0x10], rax
mov eax, dword [0x180020a78]
mov ecx, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180002709
test edx, edx
je 0x180002709
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002ba0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800024ce
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002b01
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800024fd
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002b03
add r8, r9
mov ebx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rbx, r9
add rcx, r9
mov esi, dword [rbx]
add rsi, r9
mov rdi, r13
movzx eax, byte [rdi]
movzx edx, byte [rsi]
test al, al
je 0x18000252e
add rdi, 1
add rsi, 1
cmp al, dl
je 0x180002518
cmp al, dl
je 0x18000253c
add rbx, 4
add rcx, 2
jmp 0x180002510
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
call r9
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x180002572
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000264c
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002ba0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800025a4
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002af5
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800025d3
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002af9
add r8, r9
mov ebx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rbx, r9
add rcx, r9
mov esi, dword [rbx]
add rsi, r9
mov rdi, r13
movzx eax, byte [rdi]
movzx edx, byte [rsi]
test al, al
je 0x180002604
add rdi, 1
add rsi, 1
cmp al, dl
je 0x1800025ee
cmp al, dl
je 0x180002612
add rbx, 4
add rcx, 2
jmp 0x1800025e6
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
call r9
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x1800023ba
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800023ba
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002ba0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x18000267e
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002af7
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800026ad
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002afb
add r8, r9
mov ebx, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rbx, r9
add rcx, r9
mov esi, dword [rbx]
add rsi, r9
mov rdi, r13
movzx eax, byte [rdi]
movzx edx, byte [rsi]
test al, al
je 0x1800026de
add rdi, 1
add rsi, 1
cmp al, dl
je 0x1800026c8
cmp al, dl
je 0x1800026ec
add rbx, 4
add rcx, 2
jmp 0x1800026c0
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
call r9
add rsp, 0x20
jmp 0x180002572
cmp ecx, 0xa
jl 0x180002716
test edx, edx
jne 0x180002b15
mov rdx, qword [rbp - 0x20]
mov ebx, dword [rdx]
mov r15d, dword [rdx + 0x10]
add r15, r14
add rbx, r14
mov qword [rbp - 0x28], rbx
mov rdx, qword [rbp - 0x28]
mov rdx, qword [rdx]
test rdx, rdx
je 0x180002ad3
mov rax, qword [rbp - 0x30]
add rax, rdx
test rdx, rdx
movzx r12d, dx
cmovns r12, rax
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002ba0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x18000277e
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002b0d
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800027ad
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002b0f
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 - 0x18]
movzx ebx, byte [rax]
movzx ecx, byte [rdi]
test bl, bl
je 0x1800027df
add rax, 1
add rdi, 1
cmp bl, cl
je 0x1800027c9
cmp bl, cl
je 0x1800027ed
add rdx, 4
add rsi, 2
jmp 0x1800027c0
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
mov rdx, r12
call r9
add rsp, 0x20
mov qword [r15], rax
mov eax, dword [0x180020a78]
mov ecx, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180002ab7
test edx, edx
je 0x180002ab7
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002ba0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002864
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002b11
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002893
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002b13
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 - 0x18]
movzx ebx, byte [rax]
movzx ecx, byte [rdi]
test bl, bl
je 0x1800028c5
add rax, 1
add rdi, 1
cmp bl, cl
je 0x1800028af
cmp bl, cl
je 0x1800028d3
add rdx, 4
add rsi, 2
jmp 0x1800028a6
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
mov rdx, r12
call r9
add rsp, 0x20
mov qword [r15], rax
cmp dword [0x180020a6c], 0xa
jl 0x180002910
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800029f2
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002ba0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002942
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002b05
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002971
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002b09
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 - 0x18]
movzx ebx, byte [rax]
movzx ecx, byte [rdi]
test bl, bl
je 0x1800029a3
add rax, 1
add rdi, 1
cmp bl, cl
je 0x18000298d
cmp bl, cl
je 0x1800029b1
add rdx, 4
add rsi, 2
jmp 0x180002984
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
mov rdx, r12
call r9
add rsp, 0x20
mov qword [r15], rax
cmp dword [0x180020a6c], 0xa
jl 0x18000274c
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x18000274c
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002ba0
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002a24
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002b07
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002a53
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002b0b
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 - 0x18]
movzx ebx, byte [rax]
movzx ecx, byte [rdi]
test bl, bl
je 0x180002a85
add rax, 1
add rdi, 1
cmp bl, cl
je 0x180002a6f
cmp bl, cl
je 0x180002a93
add rdx, 4
add rsi, 2
jmp 0x180002a66
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
mov rdx, r12
call r9
add rsp, 0x20
mov qword [r15], rax
jmp 0x180002910
add r15, 8
add qword [rbp - 0x28], 8
cmp ecx, 0xa
jl 0x18000272a
test edx, edx
je 0x18000272a
jmp 0x180002b15
add qword [rbp - 0x20], 0x14
cmp ecx, 0xa
jl 0x1800023a6
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800023a6
jmp 0x180002389
jmp 0x180002af5
jmp 0x180002af7
jmp 0x180002af9
jmp 0x180002afb
jmp 0x180002afd
jmp 0x180002aff
jmp 0x180002b01
jmp 0x180002b03
jmp 0x180002b05
jmp 0x180002b07
jmp 0x180002b09
jmp 0x180002b0b
jmp 0x180002b0d
jmp 0x180002b0f
jmp 0x180002b11
jmp 0x180002b13
jmp 0x180002b15
mov rax, qword [rbp]
mov eax, dword [rax + 0x28]
add rax, r14
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x180002b83
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002b83
mov rsi, qword [rbp]
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 0x180002b83
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002b49
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret