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]
mov eax, dword [0x180020a6c]
mov r9d, dword [0x180020a70]
lea r11d, [rax - 1]
imul r11d, eax
and r11d, 1
cmp r9d, 0xa
jl 0x180001274
test r11d, r11d
je 0x180001274
mov r10d, dword [0x180020a74]
mov r14d, dword [0x180020a78]
lea ecx, [r10 - 1]
imul ecx, r10d
and ecx, 1
sete al
cmp r14d, 0xa
setl dl
or dl, al
mov eax, dword [0x180020a6c]
mov r9d, dword [0x180020a70]
lea r11d, [rax - 1]
imul r11d, eax
and r11d, 1
sete al
cmp r9d, 0xa
setl r8b
or r8b, al
mov eax, edx
or al, dl
mov ebx, r14d
mov esi, r10d
cmp ebx, 0xa
jl 0x18000113b
lea edi, [rsi - 1]
imul edi, esi
and edi, 1
jne 0x1800012c0
test dl, dl
mov esi, ecx
cmovne esi, ecx
mov edi, r14d
cmovne edi, r14d
test al, al
je 0x1800012d0
cmp edi, 0xa
jl 0x18000115e
test esi, esi
jne 0x1800012a0
test dl, dl
mov esi, ecx
cmovne esi, ecx
mov edi, r14d
cmovne edi, r14d
test al, al
je 0x1800012e0
cmp edi, 0xa
jl 0x180001181
test esi, esi
jne 0x1800012a0
test dl, dl
mov esi, ecx
cmovne esi, ecx
mov edi, r14d
cmovne edi, r14d
test al, al
je 0x1800012f0
cmp edi, 0xa
jl 0x1800011a4
test esi, esi
jne 0x1800012a0
test dl, dl
mov edi, ecx
cmovne edi, ecx
mov ebx, r14d
cmovne ebx, r14d
mov esi, r10d
cmovne esi, esi
test al, al
je 0x180001300
cmp ebx, 0xa
jl 0x1800011cd
test edi, edi
jne 0x1800012a0
cmp ebx, 0xa
jl 0x1800011e1
lea edi, [rsi - 1]
imul edi, esi
and edi, 1
jne 0x180001310
test dl, dl
mov esi, ecx
cmovne esi, ecx
mov edi, r14d
cmovne edi, r14d
test al, al
je 0x180001320
cmp edi, 0xa
jl 0x180001204
test esi, esi
jne 0x1800012b0
test dl, dl
mov esi, ecx
cmovne esi, ecx
mov edi, r14d
cmovne edi, r14d
test al, al
je 0x180001330
cmp edi, 0xa
jl 0x180001227
test esi, esi
jne 0x1800012b0
test dl, dl
mov esi, ecx
cmovne esi, ecx
mov edi, r14d
cmovne edi, r14d
test al, al
je 0x180001340
cmp edi, 0xa
jl 0x180001246
test esi, esi
jne 0x1800012b0
test dl, dl
mov edi, ecx
cmovne edi, ecx
mov esi, r10d
cmovne esi, esi
mov ebx, r14d
cmovne ebx, r14d
test al, al
je 0x180001350
cmp ebx, 0xa
jl 0x18000126b
test edi, edi
jne 0x1800012b0
test r8b, r8b
je 0x180001127
cmp r9d, 0xa
jl 0x180001352
test r11d, r11d
je 0x180001352
nop word [rax + rax]
jmp 0x180001290
jmp 0x1800012a0
jmp 0x1800012b0
jmp 0x1800012c0
jmp 0x1800012d0
jmp 0x1800012e0
jmp 0x1800012f0
jmp 0x180001300
jmp 0x180001310
jmp 0x180001320
jmp 0x180001330
jmp 0x180001340
jmp 0x180001350
mov eax, 0x10
call entry0
sub rsp, rax
mov rdx, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r9, rsp
mov ebx, dword [0x180020a74]
mov edi, dword [0x180020a78]
cmp edi, 0xa
jl 0x180001392
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
je 0x180001392
nop
jmp 0x180001390
lea r8, section..data
cmp edi, 0xa
jl 0x1800013ad
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x1800017d0
mov r10b, byte [section..data]
mov byte [rdx], r10b
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp ebx, 0xa
jl 0x180001407
test ecx, ecx
je 0x180001407
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
sete r11b
cmp ebx, 0xa
setl al
or al, r11b
nop word [rax + rax]
test al, al
je 0x180001400
mov byte [rdx], r10b
cmp ebx, 0xa
jl 0x180001414
test ecx, ecx
jne 0x1800017d0
mov r10b, byte [0x180004001]
mov byte [rdx + 1], r10b
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp ebx, 0xa
jl 0x180001468
test ecx, ecx
je 0x180001468
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
sete r11b
cmp ebx, 0xa
setl al
or al, r11b
nop
test al, al
je 0x180001460
mov byte [rdx + 1], r10b
cmp ebx, 0xa
jl 0x180001475
test ecx, ecx
jne 0x1800017d0
mov r10b, byte [0x180004002]
mov byte [rdx + 2], r10b
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
cmp ebx, 0xa
jl 0x1800014c8
test ecx, ecx
je 0x1800014c8
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
sete r11b
cmp ebx, 0xa
setl al
or al, r11b
test al, al
je 0x1800014c0
mov byte [rdx + 2], r10b
cmp ebx, 0xa
jl 0x1800014d5
test ecx, ecx
jne 0x1800017d0
mov al, byte [0x180004003]
mov byte [rdx + 3], al
mov esi, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea ecx, [rsi - 1]
imul ecx, esi
and ecx, 1
cmp edi, 0xa
jl 0x180001527
test ecx, ecx
je 0x180001527
mov esi, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea ecx, [rsi - 1]
imul ecx, esi
and ecx, 1
sete r10b
cmp edi, 0xa
setl bl
or bl, r10b
nop
test bl, bl
je 0x180001520
mov byte [rdx + 3], al
cmp edi, 0xa
jl 0x180001534
test ecx, ecx
jne 0x1800017d0
cmp dword [0x180020a70], 0xa
jl 0x1800017f2
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800017f2
mov eax, 0x10
call entry0
sub rsp, rax
mov rdx, rsp
cmp edi, 0xa
jl 0x18000157a
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
jne 0x1800017e0
mov r9d, 3
mov rcx, r8
mov al, byte [r8]
jmp 0x180001590
mov al, byte [rcx]
nop word [rax + rax]
mov byte [rdx], al
mov ebx, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea esi, [rbx - 1]
imul esi, ebx
and esi, 1
cmp edi, 0xa
jl 0x1800015b0
test esi, esi
jne 0x180001590
cmp edi, 0xa
jl 0x1800015bd
test esi, esi
jne 0x1800017c0
add rdx, 1
add rcx, 1
sub r9, 1
jae 0x180001588
cmp edi, 0xa
jl 0x1800015df
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x1800017f0
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x180001624
test eax, eax
je 0x180001624
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
nop dword [rax]
test dl, dl
je 0x180001620
cmp ecx, 0xa
jl 0x180001631
test eax, eax
jne 0x1800017b0
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x180001674
test eax, eax
je 0x180001674
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
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 0x180001670
cmp ecx, 0xa
jl 0x180001681
test eax, eax
jne 0x1800017b0
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x1800016c4
test eax, eax
je 0x1800016c4
mov edx, dword [0x180020a74]
mov ecx, dword [0x180020a78]
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 0x1800016c0
cmp ecx, 0xa
jl 0x1800016d1
test eax, eax
jne 0x1800017b0
mov ebx, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp edi, 0xa
jl 0x180001714
test eax, eax
je 0x180001714
mov ebx, dword [0x180020a74]
mov edi, dword [0x180020a78]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
sete dl
cmp edi, 0xa
setl cl
or cl, dl
nop
test cl, cl
je 0x180001710
cmp edi, 0xa
jl 0x180001721
test eax, eax
jne 0x1800017b0
mov eax, 0x10
call entry0
sub rsp, rax
mov rdx, rsp
cmp dword [0x180020a70], 0xa
jl 0x180001777
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001777
mov r9d, 3
mov rcx, r8
cmp edi, 0xa
jl 0x180001588
lea eax, [rbx - 1]
imul eax, ebx
mov r9d, 3
mov rcx, r8
and eax, 1
je 0x180001588
jmp 0x1800017e0
mov eax, 0x10
call entry0
sub rsp, rax
mov r9, rsp
cmp edi, 0xa
jl 0x180001399
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
je 0x180001399
jmp 0x180001390
jmp 0x1800017b0
jmp 0x1800017c0
jmp 0x1800017d0
jmp 0x1800017e0
jmp 0x1800017f0
mov r14d, dword [rdx]
test r14, r14
je 0x180001912
xor ecx, ecx
cmp r14d, 0x10
jb 0x1800018e4
lea rax, [r14 - 1]
cmp rax, 0x400
jae 0x1800018e4
mov ecx, r14d
and ecx, 0xfffffff0
lea rdx, [rcx - 0x10]
mov rax, rdx
shr rax, 4
add rax, 1
mov r8d, eax
and r8d, 1
test rdx, rdx
je 0x1800018aa
mov rbx, r8
sub rbx, rax
xor eax, eax
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 edx, eax
and edx, 0x3e0
movups xmm1, xmmword [rdx + r10 + 4]
movups xmm2, xmmword [rax + r10 + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rax + r10 + 0x414]
xorps xmm2, xmm0
movups xmmword [rax + r10 + 0x404], xmm2
lea edx, [rax + 0x10]
and edx, 0x3f0
movups xmm2, xmmword [rdx + r10 + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rax + r10 + 0x414], xmm1
add rax, 0x20
add rbx, 2
jne 0x180001851
jmp 0x1800018ac
xor eax, eax
test r8, r8
je 0x1800018df
mov edx, eax
and edx, 0x3f0
lea rbx, section..data
movups xmm0, xmmword [rdx + rbx + 4]
movups xmm1, xmmword [rax + rbx + 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 + rbx + 0x404], xmm1
cmp rcx, r14
je 0x180001912
lea rax, section..data
mov edx, ecx
and edx, 0x3ff
movzx edx, byte [rdx + rax + 4]
xor dl, byte [rcx + rax + 0x404]
xor dl, 0xc
mov byte [rcx + rax + 0x404], dl
add rcx, 1
cmp rcx, r14
jb 0x1800018eb
cmp edi, 0xa
jl 0x180001932
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
je 0x180001932
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x180001930
lea r15, section..data
lea rsi, [r14 + r15]
add rsi, 0x404
mov bl, byte [r14 + r15 + 0x404]
mov byte [r9], bl
mov ecx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
cmp edx, 0xa
jl 0x18000196d
test eax, eax
jne 0x18000194c
cmp edx, 0xa
jl 0x18000197a
test eax, eax
jne 0x180001c40
mov al, byte [rsi + 1]
mov byte [r9 + 1], al
mov ecx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
cmp ebx, 0xa
jl 0x1800019c9
test edx, edx
je 0x1800019c9
mov ecx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
sete r8b
cmp ebx, 0xa
setl cl
or cl, r8b
test cl, cl
je 0x1800019c1
mov byte [r9 + 1], al
cmp ebx, 0xa
jl 0x1800019d6
test edx, edx
jne 0x180001c40
mov al, byte [rsi + 2]
mov byte [r9 + 2], al
mov ecx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
cmp ebx, 0xa
jl 0x180001a25
test edx, edx
je 0x180001a25
mov ecx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
sete r8b
cmp ebx, 0xa
setl cl
or cl, r8b
test cl, cl
je 0x180001a1d
mov byte [r9 + 2], al
cmp ebx, 0xa
jl 0x180001a32
test edx, edx
jne 0x180001c40
mov al, byte [rsi + 3]
mov byte [r9 + 3], al
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
cmp ebx, 0xa
jl 0x180001a81
test edi, edi
je 0x180001a81
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
sete r8b
cmp ebx, 0xa
setl cl
or cl, r8b
test cl, cl
je 0x180001a79
mov byte [r9 + 3], al
cmp ebx, 0xa
jl 0x180001a8e
test edi, edi
jne 0x180001c40
cmp dword [0x180020a70], 0xa
jl 0x180001c62
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001c62
cmp ebx, 0xa
jl 0x180001ac4
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180001c60
mov bl, byte [r14 + r15 + 0x404]
mov byte [r9], bl
mov ecx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
cmp edx, 0xa
jl 0x180001aed
test eax, eax
jne 0x180001acc
cmp edx, 0xa
jl 0x180001afa
test eax, eax
jne 0x180001c50
mov al, byte [r14 + r15 + 0x405]
mov byte [r9 + 1], al
mov ecx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
cmp ebx, 0xa
jl 0x180001b4e
test edx, edx
je 0x180001b4e
mov ecx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
sete r8b
cmp ebx, 0xa
setl cl
or cl, r8b
test cl, cl
je 0x180001b46
mov byte [r9 + 1], al
cmp ebx, 0xa
jl 0x180001b5b
test edx, edx
jne 0x180001c50
mov al, byte [r14 + r15 + 0x406]
mov byte [r9 + 2], al
mov ecx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
cmp ebx, 0xa
jl 0x180001baf
test edx, edx
je 0x180001baf
mov ecx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
sete r8b
cmp ebx, 0xa
setl cl
or cl, r8b
test cl, cl
je 0x180001ba7
mov byte [r9 + 2], al
cmp ebx, 0xa
jl 0x180001bbc
test edx, edx
jne 0x180001c50
mov al, byte [r14 + r15 + 0x407]
mov byte [r9 + 3], al
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
cmp ebx, 0xa
jl 0x180001c10
test edi, edi
je 0x180001c10
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
sete r8b
cmp ebx, 0xa
setl cl
or cl, r8b
test cl, cl
je 0x180001c08
mov byte [r9 + 3], al
cmp ebx, 0xa
jl 0x180001c19
test edi, edi
jne 0x180001c50
cmp ebx, 0xa
jl 0x180001944
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x180001944
jmp 0x180001930
jmp 0x180001c40
jmp 0x180001c50
jmp 0x180001c60
lea rax, [rsi + 4]
mov qword [rbp], rax
mov r9d, dword [r9]
test r9, r9
je 0x180001dce
xor eax, eax
cmp r9d, 0x20
jb 0x180001da9
lea rcx, [r9 - 1]
cmp rcx, 0x400
jae 0x180001da9
lea rcx, [r9 + r15]
add rcx, 4
cmp qword [rbp], rcx
jae 0x180001cc3
lea rcx, [rsi + r9]
add rcx, 4
lea rdx, str.SZbxhyVxGorOoptVlGCQnaIZRPScJbBalSdMHYkSeucGJEdZMrJTPvoMMpxUApAumxebDLkzCCKqdxwksyGapXqjmOgpzjYfAWUzqedFBzQylIUwXWkpCveAOyIzcDKpLzqJcPLwWBxwHqIFtPRIcxJzKRvaMRujvcSreVAlgIoUdxsjXoaLyggsYTSDWHavhHaaYxaLYBcjSxQFVLoUmtiVQRZndirmtWvWXSJKltdcFinszHRRVCVVaBxStRAtdlnKZrrzgHlTImMVrhsAPUQioYUwoCzeeyPjJFBVuTaVcPiodaJgVYgaOmFSuGFEoOSVxLKlhLxdwokyoIkGWRxmhFWkblVJxTVMrHhRzDKHoetbxGspPTLMYbMSkUuJsguRdlvDytxfJXdafHKgftkuLYgVIeQskCxcGjXpglAlAzXxHASSJcxCXhCpQgMCgRJbJHZwTVmbMqAXXmYCbVUgBTnjonigmLULEhFTFPdQHPIFTuuAtxMzUGVzwFpUGJRPXdkBMWZHGnccJovPHcEGsAtVoKmlPqukALZSeyHtTVgSHoAKYvRxKPAWCWtAjPEiOQcOtnldItMJxvIVIKHWlqOmLEAjnzXiUVOosMWEDFfMLtylowhcCFLSwsIGUueWOxrqkbGdTbGifbEpBAIOVUaazqmosJlZZrRWBRmVyThHFnPAUmwFsVonAXyezFgfrqegYBLmCRRuPJSbYrygXirtKevBbgIrqbqvyiiaYvegCEjOFUGQLkcXdyXEfmPzHzDseukUOgoDSqpXVrFLhoRMLOOlvIzHjGiznaeslmZacWkadfYXFmKteZWyBQTgcPPWrwdEpAijwcDHCuzDahnJidpsaDgCCGZmlPDFIdFtryfvCVtjHEHRnQewrHYQkocbioBIlTwvWkDbtihvqVHhrVoKznOZlJJwxmznzTCEWoTZHdFtMAePFXLqrRuBAPsepLEIPQMLxwwgfzwLGZrkvWhqntsEJpWhRSyxfUfjEcoxjFFgeBuBTKb
cmp rcx, rdx
jbe 0x180001cc3
xor eax, eax
lea r15, section..data
jmp 0x180001da9
mov eax, r9d
and eax, 0xffffffe0
lea rbx, [rax - 0x20]
mov rcx, rbx
shr rcx, 5
add rcx, 1
mov r8d, ecx
and r8d, 1
test rbx, rbx
je 0x180001d61
lea rdx, section..data
lea rdi, [r14 + rdx]
add rdi, 0x438
mov rbx, r8
sub rbx, rcx
xor esi, esi
mov ecx, esi
and ecx, 0x3c0
movups xmm0, xmmword [rcx + rdx + 4]
movups xmm1, xmmword [rcx + rdx + 0x14]
movups xmm2, xmmword [rdi + rsi - 0x30]
xorps xmm2, xmm0
movups xmm0, xmmword [rdi + rsi - 0x20]
xorps xmm0, xmm1
movups xmm1, xmmword [rdi + rsi - 0x10]
movups xmm3, xmmword [rdi + rsi]
movups xmmword [rdi + rsi - 0x30], xmm2
movups xmmword [rdi + rsi - 0x20], xmm0
lea ecx, [rsi + 0x20]
and ecx, 0x3e0
movups xmm0, xmmword [rcx + rdx + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rcx + rdx + 0x14]
xorps xmm1, xmm3
movups xmmword [rdi + rsi - 0x10], xmm0
movups xmmword [rdi + rsi], xmm1
add rsi, 0x40
add rbx, 2
jne 0x180001cfe
jmp 0x180001d63
xor esi, esi
test r8, r8
je 0x180001d9d
mov ecx, esi
and ecx, 0x3e0
lea rdx, section..data
movups xmm0, xmmword [rcx + rdx + 4]
movups xmm1, xmmword [rcx + rdx + 0x14]
mov rcx, qword [rbp]
movups xmm2, xmmword [rcx + rsi]
xorps xmm2, xmm0
movups xmm0, xmmword [rcx + rsi + 0x10]
xorps xmm0, xmm1
movups xmmword [rcx + rsi], xmm2
movups xmmword [rcx + rsi + 0x10], xmm0
cmp rax, r9
lea r15, section..data
je 0x180001dce
lea rcx, [r14 + r15]
add rcx, 0x408
mov edx, eax
and edx, 0x3ff
movzx edx, byte [rdx + r15 + 4]
xor byte [rcx + rax], dl
add rax, 1
cmp rax, r9
jb 0x180001db4
cmp dword [0x180020a7c], 0xa
jl 0x180001df2
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001df2
nop dword [rax + rax]
jmp 0x180001df0
add r14, 0x408
movsxd rax, dword [0x180004440]
lea rsi, [rax + r15]
add rsi, 0x404
mov rdi, qword [rbp]
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001e0f
mov r13, rdi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001e1b
mov r12, r13
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001e29
mov qword [rbp - 0x30], r12
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001e39
mov rbx, r12
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001e48
mov r15, rbx
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001e54
sub rsp, 0x20
mov rcx, rdi
call fcn.180002b90
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001e8f
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800023df
mov qword [rbp - 8], rdi
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001ec2
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800023e1
mov qword [rbp - 0x10], rsi
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rdi, r9
add r10, r9
mov edx, dword [rdi]
add rdx, r9
mov rsi, r13
nop word cs:[rax + rax]
nop dword [rax + rax]
movzx ecx, byte [rsi]
movzx eax, byte [rdx]
test cl, cl
je 0x180001f06
add rsi, 1
add rdx, 1
cmp cl, al
je 0x180001ef0
cmp cl, al
je 0x180001f14
add rdi, 4
add r10, 2
jmp 0x180001ed9
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 0x180001f4e
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800023e3
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001f7d
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800023e5
add r8, r10
mov edx, dword [r10 + rax + 0x20]
mov edi, dword [r10 + rax + 0x24]
add rdx, r10
add rdi, r10
mov eax, dword [rdx]
add rax, r10
mov rsi, r12
nop dword [rax + rax]
movzx ebx, byte [rsi]
movzx ecx, byte [rax]
test bl, bl
je 0x180001fb6
add rsi, 1
add rax, 1
cmp bl, cl
je 0x180001fa0
cmp bl, cl
je 0x180001fc4
add rdx, 4
add rdi, 2
jmp 0x180001f90
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 - 8]
call fcn.180002b90
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180002027
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800023e7
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 0x18000205d
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800023e9
add r8, r10
mov edx, dword [r10 + rbx + 0x20]
mov r9d, dword [r10 + rbx + 0x24]
add rdx, r10
add r9, r10
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
lea rax, [r14 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x18000208f
add rsi, 1
cmp al, bl
je 0x180002077
cmp al, bl
je 0x18000209d
add rdx, 4
add r9, 2
jmp 0x180002070
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp - 0x10]
mov edx, dword [rax + 0x50]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
mov edi, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea ecx, [rdi - 1]
imul ecx, edi
and ecx, 1
cmp ebx, 0xa
jl 0x1800023f9
test ecx, ecx
je 0x1800023f9
movsxd rsi, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
mov r12, qword [rbp]
jl 0x18000211b
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
mov r12, qword [rbp]
and ecx, 1
jne 0x1800023eb
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x18000211b
mov rbx, r12
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x18000212a
mov r15, rbx
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180002136
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180002140
mov rdi, r15
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x18000214d
mov r13, rdi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180002159
sub rsp, 0x20
mov rcx, r12
call fcn.180002b90
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002195
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800023ed
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800021c4
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800023ef
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 0x1800021fa
add rsi, 1
add rdx, 1
cmp cl, al
je 0x1800021e4
cmp cl, al
je 0x180002208
add r11, 4
add r10, 2
jmp 0x1800021db
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 0x180002242
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800023f1
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002271
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800023f3
add r8, r10
mov edi, dword [r10 + rax + 0x20]
mov esi, dword [r10 + rax + 0x24]
add rdi, r10
add rsi, r10
mov eax, dword [rdi]
add rax, r10
mov rbx, r15
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x1800022a2
add rbx, 1
add rax, 1
cmp cl, dl
je 0x18000228c
cmp cl, dl
je 0x1800022b0
add rdi, 4
add rsi, 2
jmp 0x180002284
movzx eax, word [rsi]
mov eax, dword [r8 + rax*4]
add r10, rax
sub rsp, 0x30
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, r13
mov r8, r13
call r10
add rsp, 0x10
mov rcx, r12
call fcn.180002b90
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180002312
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800023f5
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
jl 0x180002348
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800023f7
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, [r14 + rsi]
movzx eax, byte [r15 + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x18000237b
add rsi, 1
cmp al, bl
je 0x180002362
cmp al, bl
je 0x180002389
add rdx, 4
add rcx, 2
jmp 0x18000235b
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 [0x180020a7c], 0xa
jl 0x180001df9
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001df9
jmp 0x180001df0
jmp 0x1800023df
jmp 0x1800023e1
jmp 0x1800023e3
jmp 0x1800023e5
jmp 0x1800023e7
jmp 0x1800023e9
jmp 0x1800023eb
jmp 0x1800023ed
jmp 0x1800023ef
jmp 0x1800023f1
jmp 0x1800023f3
jmp 0x1800023f5
jmp 0x1800023f7
mov r15, rax
cmp ebx, 0xa
jl 0x180002407
test ecx, ecx
je 0x180002407
jmp 0x180002405
mov rax, qword [rbp - 0x10]
lea r8, [rax + 0x108]
xor r9d, r9d
mov rax, qword [rbp - 0x10]
movzx eax, word [rax + 6]
cmp r9, rax
jae 0x1800025ad
lea rax, [r9 + r9*4]
lea r10, [r8 + rax*8]
add r10, 0xc
mov eax, dword [0x180020a74]
mov ecx, dword [0x180020a78]
cmp ecx, 0xa
jl 0x180002452
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800025a9
cmp ecx, 0xa
jl 0x180002466
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800025a5
mov r11d, dword [r10 + 4]
test r11, r11
je 0x1800024d9
mov ebx, dword [r10]
mov rax, r15
add rbx, r15
mov eax, dword [r10 + 8]
lea rcx, section..data
lea rdx, [rax + rcx]
add rdx, 0x404
jmp 0x1800024a1
add r11, 0xffffffffffffffff
add rbx, 1
add rdx, 1
test r11, r11
je 0x1800024d9
movzx eax, byte [rdx]
mov byte [rbx], al
mov eax, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea edi, [rax - 1]
imul edi, eax
and edi, 1
cmp ecx, 0xa
jl 0x1800024cb
test edi, edi
je 0x1800024cb
movzx eax, byte [rdx]
mov byte [rbx], al
jmp 0x1800024a1
cmp ecx, 0xa
jl 0x180002490
test edi, edi
je 0x180002490
jmp 0x1800025a5
mov edi, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
lea edx, [rdi - 1]
imul edx, edi
and edx, 1
cmp ebx, 0xa
jl 0x18000258b
test edx, edx
je 0x18000258b
cmp ecx, 0xa
jl 0x180002513
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800025ab
mov r11d, dword [r10 + 4]
test r11, r11
je 0x18000243e
mov eax, dword [r10 + 8]
lea rcx, section..data
lea rbx, [rax + rcx]
add rbx, 0x404
mov edx, dword [r10]
mov rax, r15
add rdx, r15
jmp 0x180002556
add r11, 0xffffffffffffffff
add rdx, 1
add rbx, 1
test r11, r11
je 0x18000243e
movzx eax, byte [rbx]
mov byte [rdx], al
mov eax, dword [0x180020a74]
mov ecx, dword [0x180020a78]
lea edi, [rax - 1]
imul edi, eax
and edi, 1
cmp ecx, 0xa
jl 0x180002580
test edi, edi
je 0x180002580
movzx eax, byte [rbx]
mov byte [rdx], al
jmp 0x180002556
cmp ecx, 0xa
jl 0x180002541
test edi, edi
je 0x180002541
jmp 0x1800025a7
add r9, 1
cmp ebx, 0xa
jl 0x180002415
test edx, edx
je 0x180002415
jmp 0x180002405
jmp 0x1800025a5
jmp 0x1800025a7
jmp 0x1800025a9
jmp 0x1800025ab
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + 0x30]
mov r11, r15
sub r11, rax
cmp ebx, 0xa
jl 0x1800025cd
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
je 0x1800025cd
jmp 0x1800025cb
mov rax, qword [rbp - 0x10]
mov edx, dword [rax + 0xb0]
mov rax, r15
add rdx, r15
movabs r8, 0x1fffffff8
cmp dword [rdx], 0
je 0x180002738
mov eax, dword [rdx + 4]
cmp rax, 8
jb 0x180002704
cmp ebx, 0xa
jl 0x180002611
lea esi, [rdi - 1]
imul esi, edi
and esi, 1
jne 0x180002732
add rax, r8
shr rax, 1
mov r9d, eax
xor r10d, r10d
cmp r10, r9
je 0x180002704
movzx ecx, word [rdx + r10*2 + 8]
mov eax, ecx
shr eax, 0xc
mov esi, ecx
and esi, 0xfff
cmp ecx, 0xa000
jae 0x180002662
cmp eax, 3
jne 0x1800026f0
mov esi, esi
cmp ebx, 0xa
jl 0x1800026b8
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
jne 0x1800026e1
jmp 0x1800026b8
cmp eax, 0xa
jne 0x1800026f0
mov eax, dword [rdx]
mov rcx, r15
add rsi, r15
add qword [rax + rsi], r11
mov edi, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
cmp ebx, 0xa
jl 0x1800026f0
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
je 0x1800026f0
mov eax, dword [rdx]
add qword [rsi + rax], r11
mov eax, dword [rdx]
add qword [rsi + rax], r11
jmp 0x180002677
add r10, 1
cmp ebx, 0xa
jl 0x18000261d
test esi, esi
je 0x18000261d
jmp 0x180002732
mov eax, dword [rdx]
mov rcx, r15
lea rax, [r15 + rax*4]
add dword [rax + rsi*4], r11d
mov edi, dword [0x180020a6c]
mov ebx, dword [0x180020a70]
cmp ebx, 0xa
jl 0x1800026f0
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
je 0x1800026f0
mov eax, dword [rdx]
mov rcx, r15
lea rax, [r15 + rax*4]
add dword [rax + rsi*4], r11d
jmp 0x1800026b8
lea esi, [rdi - 1]
imul esi, edi
and esi, 1
cmp ebx, 0xa
jl 0x1800026a1
test esi, esi
je 0x1800026a1
jmp 0x180002734
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
cmp ebx, 0xa
jl 0x180002716
test eax, eax
jne 0x180002736
mov ecx, dword [rdx + 4]
add rdx, rcx
cmp ebx, 0xa
jl 0x1800025e7
test eax, eax
je 0x1800025e7
jmp 0x1800025cb
jmp 0x180002732
jmp 0x180002734
jmp 0x180002736
cmp ebx, 0xa
jl 0x18000274a
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
je 0x18000274a
jmp 0x180002748
mov rcx, r15
lea rax, [r15 + 2]
mov qword [rbp - 0x28], rax
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x90]
add rax, r15
mov qword [rbp], rax
mov rax, qword [rbp]
mov r14d, dword [rax + 0xc]
test r14, r14
je 0x180002b67
add r14, r15
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002b90
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800027ac
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002b5b
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800027db
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002b5d
add r8, r9
mov ebx, dword [r9 + rcx + 0x20]
mov edi, dword [r9 + rcx + 0x24]
add rbx, r9
add rdi, r9
mov esi, dword [rbx]
add rsi, r9
mov rax, r13
movzx edx, byte [rax]
movzx ecx, byte [rsi]
test dl, dl
je 0x18000280c
add rax, 1
add rsi, 1
cmp dl, cl
je 0x1800027f6
cmp dl, cl
je 0x18000281a
add rbx, 4
add rdi, 2
jmp 0x1800027ee
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
call r9
add rsp, 0x20
mov r12, rax
mov eax, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x1800029ea
test edx, edx
je 0x1800029ea
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002b90
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x18000288d
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002b53
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800028bc
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002b55
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 0x1800028ed
add rdi, 1
add rsi, 1
cmp al, dl
je 0x1800028d7
cmp al, dl
je 0x1800028fb
add rbx, 4
add rcx, 2
jmp 0x1800028cf
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
call r9
mov rcx, qword [rbp - 8]
call fcn.180002b90
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x18000293d
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002b57
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000296c
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002b59
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 0x18000299d
add rdi, 1
add rsi, 1
cmp al, dl
je 0x180002987
cmp al, dl
je 0x1800029ab
add rbx, 4
add rcx, 2
jmp 0x18000297f
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r14
call r9
add rsp, 0x20
cmp dword [0x180020a70], 0xa
jl 0x18000277a
mov eax, dword [0x180020a6c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000285b
jmp 0x18000277a
cmp ecx, 0xa
jl 0x1800029f7
test edx, edx
jne 0x180002b5f
mov rdx, qword [rbp]
mov ebx, dword [rdx]
mov edi, dword [rdx + 0x10]
mov rdx, r15
add rdi, r15
mov qword [rbp - 0x18], rdi
add rbx, r15
mov qword [rbp - 0x20], rbx
mov rdx, qword [rbp - 0x20]
mov rdx, qword [rdx]
test rdx, rdx
je 0x180002b31
mov rax, qword [rbp - 0x28]
add rax, rdx
test rdx, rdx
movzx r14d, dx
cmovns r14, rax
sub rsp, 0x20
mov rcx, qword [rbp - 8]
call fcn.180002b90
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002a65
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002b61
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002a94
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002b63
add r8, r9
mov edx, dword [r9 + rcx + 0x20]
mov edi, dword [r9 + rcx + 0x24]
add rdx, r9
add rdi, r9
mov esi, dword [rdx]
add rsi, r9
mov rax, qword [rbp - 0x30]
movzx ebx, byte [rax]
movzx ecx, byte [rsi]
test bl, bl
je 0x180002ac6
add rax, 1
add rsi, 1
cmp bl, cl
je 0x180002ab0
cmp bl, cl
je 0x180002ad4
add rdx, 4
add rdi, 2
jmp 0x180002aa7
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r12
mov rdx, r14
call r9
add rsp, 0x20
mov rcx, qword [rbp - 0x18]
mov qword [rcx], rax
mov eax, dword [0x180020a6c]
mov ecx, dword [0x180020a70]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x180002b14
test edx, edx
jne 0x180002b65
add qword [rbp - 0x20], 8
add qword [rbp - 0x18], 8
cmp ecx, 0xa
jl 0x180002a11
test edx, edx
je 0x180002a11
jmp 0x180002b5f
add qword [rbp], 0x14
cmp ecx, 0xa
jl 0x180002766
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002766
jmp 0x180002748
jmp 0x180002b53
jmp 0x180002b55
jmp 0x180002b57
jmp 0x180002b59
jmp 0x180002b5b
jmp 0x180002b5d
jmp 0x180002b5f
jmp 0x180002b61
jmp 0x180002b63
jmp 0x180002b65
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x28]
mov rcx, r15
add rcx, rax
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp rcx