Function at 0x1800010d0
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 r14d, dword [0x180020a70]
mov r11d, dword [0x180020a74]
jl 0x180001111
mov eax, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800011d4
mov eax, 0x10
call entry0
sub rsp, rax
mov r8, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov r9, rsp
cmp r11d, 0xa
jl 0x180001144
lea eax, [r14 - 1]
imul eax, r14d
and eax, 1
jne 0x1800011b0
lea rax, section..data
mov esi, 4
mov rdi, r8
nop word cs:[rax + rax]
nop dword [rax]
lea ebx, [r14 - 1]
imul ebx, r14d
test bl, 1
sete cl
cmp r11d, 0xa
setl dl
or dl, cl
nop word [rax + rax]
test dl, dl
je 0x180001180
sub rsi, 1
jb 0x1800011b2
mov cl, byte [rax]
add rax, 1
mov byte [rdi], cl
add rdi, 1
mov r14d, dword [0x180020a70]
mov r11d, dword [0x180020a74]
jmp 0x180001160
jmp 0x1800011b0
cmp dword [0x180020a6c], 0xa
jl 0x180001262
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001262
mov eax, 0x10
call entry0
sub rsp, rax
mov rax, rsp
cmp r11d, 0xa
jl 0x1800011f7
lea ecx, [r14 - 1]
imul ecx, r14d
and ecx, 1
jne 0x180001260
lea rbx, section..data
mov edi, 4
nop word cs:[rax + rax]
nop dword [rax]
lea ecx, [r14 - 1]
imul ecx, r14d
test cl, 1
sete cl
cmp r11d, 0xa
setl dl
or dl, cl
nop word [rax + rax]
test dl, dl
je 0x180001230
sub rdi, 1
jb 0x180001111
mov cl, byte [rbx]
add rbx, 1
mov byte [rax], cl
add rax, 1
mov r14d, dword [0x180020a70]
mov r11d, dword [0x180020a74]
jmp 0x180001210
jmp 0x180001260
mov r12d, dword [r8]
test r12, r12
je 0x180001397
xor edi, edi
cmp r12d, 0x10
jb 0x18000135e
lea rax, [r12 - 1]
cmp rax, 0x400
jae 0x18000135e
mov edi, r12d
and edi, 0xfffffff0
lea rax, [rdi - 0x10]
mov rsi, rax
shr rsi, 4
add rsi, 1
mov r8d, esi
and r8d, 1
test rax, rax
je 0x180001535
mov rax, r8
sub rax, rsi
xor esi, esi
lea r10, section..data
movaps xmm0, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
nop word cs:[rax + rax]
mov ecx, esi
and ecx, 0x3e0
movups xmm1, xmmword [rcx + r10 + 4]
movups xmm2, xmmword [rsi + r10 + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rsi + r10 + 0x414]
xorps xmm2, xmm0
movups xmmword [rsi + r10 + 0x404], xmm2
lea ecx, [rsi + 0x10]
and ecx, 0x3f0
movups xmm2, xmmword [rcx + r10 + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rsi + r10 + 0x414], xmm1
add rsi, 0x20
add rax, 2
jne 0x1800012d0
test r8, r8
je 0x180001359
mov eax, esi
and eax, 0x3f0
lea rcx, section..data
movups xmm0, xmmword [rax + rcx + 4]
movups xmm1, xmmword [rsi + rcx + 0x404]
xorps xmm1, xmm0
xorps xmm1, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
movups xmmword [rsi + rcx + 0x404], xmm1
cmp rdi, r12
je 0x180001397
lea rax, section..data
nop word cs:[rax + rax]
nop
mov ecx, edi
and ecx, 0x3ff
movzx ecx, byte [rcx + rax + 4]
xor cl, byte [rdi + rax + 0x404]
xor cl, 0xc
mov byte [rdi + rax + 0x404], cl
add rdi, 1
cmp rdi, r12
jb 0x180001370
cmp r11d, 0xa
jl 0x1800013a6
and ebx, 1
jne 0x1800014d0
lea r10, section..data
lea r13, [r12 + r10]
add r13, 0x404
mov ebx, 4
mov rax, r9
mov rdi, r13
jmp 0x1800013ea
mov cl, byte [rdi]
add rdi, 1
mov byte [rax], cl
add rax, 1
mov r14d, dword [0x180020a70]
mov r11d, dword [0x180020a74]
lea ecx, [r14 - 1]
imul ecx, r14d
test cl, 1
sete cl
cmp r11d, 0xa
setl dl
or dl, cl
nop word cs:[rax + rax]
nop dword [rax + rax]
test dl, dl
je 0x180001410
sub rbx, 1
jae 0x1800013d0
cmp dword [0x180020a6c], 0xa
jl 0x1800014d2
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800014d2
mov eax, 4
mov rbx, r9
mov rdi, r13
nop word [rax + rax]
lea esi, [r14 - 1]
imul esi, r14d
test sil, 1
sete cl
cmp r11d, 0xa
setl dl
or dl, cl
nop dword [rax + rax]
test dl, dl
je 0x180001470
sub rax, 1
jb 0x1800014a0
mov cl, byte [rdi]
add rdi, 1
mov byte [rbx], cl
add rbx, 1
mov r14d, dword [0x180020a70]
mov r11d, dword [0x180020a74]
jmp 0x180001450
mov ebx, 4
mov rax, r9
mov rdi, r13
cmp r11d, 0xa
jl 0x1800013ea
mov rax, r9
mov rdi, r13
and esi, 1
je 0x1800013ea
nop word cs:[rax + rax]
nop
jmp 0x1800014d0
add r13, 4
mov esi, dword [r9]
test rsi, rsi
je 0x18000168d
xor eax, eax
cmp esi, 0x20
jb 0x180001625
lea rdx, [rsi - 1]
cmp rdx, 0x400
jae 0x180001625
lea rax, [r12 + r10]
add rax, 0x408
lea rcx, [rsi + r10]
add rcx, 4
cmp rax, rcx
jae 0x180001545
lea rax, [rsi + r12]
add rax, r10
add rax, 0x408
lea rcx, str.rngBWhGZTdOtqLCgPgXejnDcIQhnugyFhySsInGnztCjtMXjAfGlUGHzGHxHDGpAqwaRlFlDDFzYkyMtPYjnzeIzpFfgaXftAWWYGliqgPAfPApOglIcEZKusnWFyMTtJJyxBPTmwbYDLkinVVIbSvfsrJqKuDMGfAUeiOcznVkCJjGiRCiUAnsaecchJHHJTKWqpYagCCYrXQIIVlFSVHjPmUUMvZFVweLkPUTBIgAsOmyVZyvRxzYhQucckswfdxYafPSEMlCJfvUQOuwsgxTPGliIkReWrJKdMnxYociCwzcoMFAiZYkuRctWlKnxJhauRFsPFLxOqVjdMmsBkmZbUBMlDerGTjRhdUvCrAzTTVRrxUMYYmvFGtpFlOWSXKhgiZlGZfMYQWHgrmpceIZykrZSGUqpQhRlyZCPQjkTXLCULXjcWdpRbemLWSZGlUMdWpVLwBKYHrHvOJwRYiKqwWXnmOitmVKpbbXySVIQTaLXXjGYkZLVbFxeRBmXLFYppgEyrcTgGOpDCFmeosgZnVAxArRFXbMewMWeyOembwDqlljATQqtvftoigLgvGjMhSOaMTaGOEYCWmTlmJamDAnFnEYaAuuFmFEUUIQwgDDCWYFOMCzFjznhuJnnvTzBEbflaaGUuyMzThmWPPsYbsblGIBnkcXejrMVcKCWAhyXiEbcubtHhYCpMdtlkaPZbBemlHDczMzrgeghGfzuzKuZZEHSfqVdPuyUGmJYvjncQxJUHlsRPYzdkpthwDJOfYvxJSqaVESMjcTDKPtyHgLUTyobARZmPAgtHVTflvGFalKfExfLwFAbzKQrBleLJiaacQJUIrhgRrlgJlQVUuhGjPDoyTlhljLfPBBgFRGleoToaOYjeutbfsxWJwEzVKFpFBJibGziaxEydfOgsfxjamZqRdSaSfIEBOQbYMwIjPmJzXFmyZBImDuPsveXIaHwXmfvdtPPZjIeaqDsYbnMJMGGfJTqGozGCxhFzfezHgivsZxmkMlPtwU
cmp rax, rcx
jbe 0x180001545
xor eax, eax
jmp 0x180001625
xor esi, esi
test r8, r8
jne 0x18000132c
jmp 0x180001359
mov eax, esi
and eax, 0xffffffe0
lea rcx, [rax - 0x20]
mov rdx, rcx
shr rdx, 5
add rdx, 1
mov r8d, edx
and r8d, 1
test rcx, rcx
je 0x1800015e7
lea rdi, [r12 + r10]
add rdi, 0x438
mov rbx, r8
sub rbx, rdx
xor edx, edx
nop dword [rax]
mov ecx, edx
and ecx, 0x3c0
movups xmm0, xmmword [rcx + r10 + 4]
movups xmm1, xmmword [rcx + r10 + 0x14]
movups xmm2, xmmword [rdi + rdx - 0x30]
xorps xmm2, xmm0
movups xmm0, xmmword [rdi + rdx - 0x20]
xorps xmm0, xmm1
movups xmm1, xmmword [rdi + rdx - 0x10]
movups xmm3, xmmword [rdi + rdx]
movups xmmword [rdi + rdx - 0x30], xmm2
movups xmmword [rdi + rdx - 0x20], xmm0
lea ecx, [rdx + 0x20]
and ecx, 0x3e0
movups xmm0, xmmword [rcx + r10 + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rcx + r10 + 0x14]
xorps xmm1, xmm3
movups xmmword [rdi + rdx - 0x10], xmm0
movups xmmword [rdi + rdx], xmm1
add rdx, 0x40
add rbx, 2
jne 0x180001580
jmp 0x1800015e9
xor edx, edx
test r8, r8
je 0x180001620
mov ecx, edx
and ecx, 0x3e0
movups xmm0, xmmword [rcx + r10 + 4]
movups xmm1, xmmword [rcx + r10 + 0x14]
movups xmm2, xmmword [r13 + rdx]
xorps xmm2, xmm0
movups xmm0, xmmword [r13 + rdx + 0x10]
xorps xmm0, xmm1
movups xmmword [r13 + rdx], xmm2
movups xmmword [r13 + rdx + 0x10], xmm0
cmp rax, rsi
je 0x18000168d
mov rdx, rax
not rdx
test sil, 1
je 0x180001647
mov ecx, eax
and ecx, 0x3e0
mov cl, byte [rcx + r10 + 4]
xor byte [r13 + rax], cl
or rax, 1
add rdx, rsi
je 0x18000168d
lea rdx, [r12 + r10]
add rdx, 0x409
nop word [rax + rax]
mov ecx, eax
and ecx, 0x3ff
movzx ecx, byte [rcx + r10 + 4]
xor byte [rdx + rax - 1], cl
lea ecx, [rax + 1]
and ecx, 0x3ff
movzx ecx, byte [rcx + r10 + 4]
xor byte [rdx + rax], cl
add rax, 2
cmp rsi, rax
jne 0x180001660
cmp dword [0x180020a7c], 0xa
jl 0x1800016b2
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800016b2
nop word [rax + rax]
jmp 0x1800016b0
movsxd rax, dword [0x180004440]
nop dword [rax]
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x1800016c0
lea rsi, [rax + r10]
add rsi, 0x404
mov r14, r13
nop dword [rax]
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x1800016e0
mov r15, r14
nop dword [rax]
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x1800016f0
mov qword [rbp - 0x28], r15
nop
cmp byte [r15], 0
lea r15, [r15 + 1]
jne 0x180001700
mov rbx, r15
nop dword [rax]
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001710
mov rdi, rbx
nop dword [rax]
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001720
sub rsp, 0x20
mov rcx, r13
call fcn.180002390
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001762
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001762
nop word cs:[rax + rax]
jmp 0x180001760
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001792
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180001792
nop dword [rax]
jmp 0x180001790
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
nop dword [rax]
mov edx, dword [r11]
add rdx, r9
mov rsi, r14
nop dword [rax]
movzx ecx, byte [rsi]
movzx eax, byte [rdx]
test cl, cl
je 0x1800017d6
add rsi, 1
add rdx, 1
cmp cl, al
je 0x1800017c0
cmp cl, al
je 0x1800017e4
add r10, 2
add r11, 4
jmp 0x1800017b0
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 0x180001822
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001822
nop word [rax + rax]
jmp 0x180001820
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001852
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180001852
nop dword [rax]
jmp 0x180001850
add r8, r10
mov edx, dword [r10 + rax + 0x20]
mov r9d, dword [r10 + rax + 0x24]
add rdx, r10
add r9, r10
mov eax, dword [rdx]
add rax, r10
mov rsi, r15
nop dword [rax]
movzx ebx, byte [rsi]
movzx ecx, byte [rax]
test bl, bl
je 0x180001886
add rsi, 1
add rax, 1
cmp bl, cl
je 0x180001870
cmp bl, cl
je 0x180001894
add r9, 2
add rdx, 4
jmp 0x180001865
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
sub rsp, 0x30
mov qword [rsp + 0x28], 0x1388
mov qword [rsp + 0x20], 0
mov r9d, 0x10
xor ecx, ecx
mov rdx, rdi
mov r8, rdi
call r10
add rsp, 0x10
mov rcx, r13
call fcn.180002390
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001902
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001902
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x180001900
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001932
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180001932
nop dword [rax]
jmp 0x180001930
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov r9d, dword [r10 + rcx + 0x24]
add rdx, r10
add r9, r10
lea rax, section..data
lea rdi, [r12 + rax]
add rdi, 0x408
mov eax, dword [rdx]
add rax, r10
xor esi, esi
nop
movzx ebx, byte [rdi + rsi]
movzx ecx, byte [rax + rsi]
test bl, bl
je 0x180001974
add rsi, 1
cmp bl, cl
je 0x180001960
cmp bl, cl
je 0x180001982
add r9, 2
add rdx, 4
jmp 0x180001957
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rsi, qword [rbp]
mov edx, dword [rsi + 0x50]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
mov r12, rax
mov eax, dword [0x180020a78]
mov ecx, dword [0x180020a6c]
lea ebx, [rax - 1]
imul ebx, eax
cmp ecx, 0xa
jl 0x1800019d2
mov edx, ebx
and edx, 1
je 0x1800019d2
nop
jmp 0x1800019d0
test bl, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
cmp dl, 1
jne 0x180001b50
lea r8, [rsi + 0x108]
xor r9d, r9d
movzx ebx, word [rsi + 6]
cmp r9, rbx
jae 0x180001b62
lea rax, [r9 + r9*4]
lea r10, [r8 + rax*8]
add r10, 0xc
mov r15d, dword [0x180020a70]
mov r11d, dword [0x180020a74]
cmp r11d, 0xa
jl 0x180001a31
lea eax, [r15 - 1]
imul eax, r15d
and eax, 1
jne 0x180001b60
mov edi, dword [r10]
mov edx, dword [r10 + 8]
mov ecx, dword [r10 + 4]
add rdi, r12
lea rax, section..data
add rdx, rax
add rdx, 0x404
lea esi, [r15 - 1]
imul esi, r15d
test sil, 1
sete al
cmp r11d, 0xa
setl bl
or bl, al
nop dword [rax + rax]
test bl, bl
je 0x180001a70
sub rcx, 1
jb 0x180001a96
mov al, byte [rdx]
add rdx, 1
mov byte [rdi], al
add rdi, 1
mov r15d, dword [0x180020a70]
mov r11d, dword [0x180020a74]
jmp 0x180001a50
mov eax, dword [0x180020a78]
mov ecx, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
cmp ecx, 0xa
jl 0x180001b2b
mov esi, edx
and esi, 1
je 0x180001b2b
mov eax, dword [r10 + 8]
lea rcx, section..data
lea rsi, [rax + rcx]
add rsi, 0x404
mov ecx, dword [r10 + 4]
mov edi, dword [r10]
add rdi, r12
lea ebx, [r15 - 1]
imul ebx, r15d
test bl, 1
sete dl
cmp r11d, 0xa
setl al
or al, dl
nop dword [rax + rax]
test al, al
je 0x180001af0
sub rcx, 1
jb 0x180001b16
mov al, byte [rsi]
add rsi, 1
mov byte [rdi], al
add rdi, 1
mov r15d, dword [0x180020a70]
mov r11d, dword [0x180020a74]
jmp 0x180001ad4
cmp r11d, 0xa
jl 0x180001a31
and ebx, 1
je 0x180001a31
jmp 0x180001b60
add r9, 1
test dl, 1
sete bl
cmp ecx, 0xa
setl dl
or dl, bl
cmp dl, 1
mov rsi, qword [rbp]
je 0x1800019f3
nop word [rax + rax]
jmp 0x180001b50
jmp 0x180001b60
mov r15d, dword [rsi + 0xb0]
cmp dword [r12 + r15], 0
je 0x180001d12
add r15, r12
mov rbx, qword [rbp]
mov rbx, qword [rbx + 0x30]
mov r11, r12
sub r11, rbx
movabs r8, 0x1fffffff8
mov r9, r15
test dl, 1
jne 0x180001bd1
jmp 0x180001d10
mov ebx, dword [r9 + 4]
lea r15, [r9 + rbx]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete r10b
cmp ecx, 0xa
setl dl
or dl, r10b
cmp dword [r9 + rbx], 0
mov r9, r15
je 0x180001d12
test dl, 1
je 0x180001d10
mov edx, dword [r9 + 4]
lea edi, [rax - 1]
imul edi, eax
and edi, 1
cmp rdx, 7
jbe 0x180001cf7
cmp ecx, 0xa
jl 0x180001bf5
test edi, edi
jne 0x180001d0a
add rdx, r8
shr rdx, 1
mov r10d, edx
xor edx, edx
cmp r10, rdx
je 0x180001cf7
movzx ebx, word [r9 + rdx*2 + 8]
mov esi, ebx
shr esi, 0xc
mov edi, ebx
and edi, 0xfff
cmp ebx, 0xa000
jae 0x180001c52
cmp esi, 3
jne 0x180001caf
lea esi, [rax - 1]
imul esi, eax
and esi, 1
cmp ecx, 0xa
jl 0x180001c43
test esi, esi
jne 0x180001d0e
cmp ecx, 0xa
jl 0x180001cc3
test esi, esi
jne 0x180001cea
jmp 0x180001cc3
cmp esi, 0xa
jne 0x180001caf
mov edi, edi
cmp ecx, 0xa
jl 0x180001c88
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001c88
lea rbx, [rdi + r12]
jmp 0x180001c81
add rdx, 1
cmp ecx, 0xa
jl 0x180001c00
test edi, edi
je 0x180001c00
jmp 0x180001d0a
mov eax, dword [r15]
add qword [rbx + rax], r11
mov eax, dword [r15]
lea rbx, [rdi + r12]
add qword [rax + rbx], r11
mov eax, dword [0x180020a78]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x180001caf
lea esi, [rax - 1]
imul esi, eax
and esi, 1
jne 0x180001c81
lea edi, [rax - 1]
imul edi, eax
and edi, 1
cmp ecx, 0xa
jl 0x180001c6f
test edi, edi
je 0x180001c6f
jmp 0x180001d0c
mov eax, dword [r15]
lea rax, [r12 + rax*4]
add dword [rax + rdi*4], r11d
mov eax, dword [0x180020a78]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x180001caf
lea esi, [rax - 1]
imul esi, eax
and esi, 1
je 0x180001caf
mov eax, dword [r15]
lea rax, [r12 + rax*4]
add dword [rax + rdi*4], r11d
jmp 0x180001cc3
cmp ecx, 0xa
jl 0x180001b9c
test edi, edi
je 0x180001b9c
jmp 0x180001d08
jmp 0x180001d0a
jmp 0x180001d0c
jmp 0x180001d0e
jmp 0x180001d10
test dl, 1
je 0x180001d29
cmp ecx, 0xa
jl 0x180001d2b
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001d2b
jmp 0x180001d27
jmp 0x180001d29
lea rax, [r12 + 2]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp]
mov eax, dword [rax + 0x90]
add rax, r12
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
mov r15d, dword [rax + 0xc]
test r15, r15
je 0x180002354
add r15, r12
sub rsp, 0x20
mov rcx, r13
call fcn.180002390
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001d8a
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022e1
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001db9
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800022e3
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdi, r9
add rcx, r9
mov ebx, dword [rdi]
add rbx, r9
mov rsi, r14
movzx eax, byte [rsi]
movzx edx, byte [rbx]
test al, al
je 0x180001dea
add rsi, 1
add rbx, 1
cmp al, dl
je 0x180001dd4
cmp al, dl
je 0x180001df8
add rcx, 2
add rdi, 4
jmp 0x180001dcc
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 - 0x20], rax
mov eax, dword [0x180020a78]
mov ecx, dword [0x180020a6c]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ecx, 0xa
jl 0x18000209c
test edx, edx
je 0x18000209c
sub rsp, 0x20
mov rcx, r13
call fcn.180002390
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001e6b
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022d5
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001e9a
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800022d7
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdi, r9
add rcx, r9
mov ebx, dword [rdi]
add rbx, r9
mov rsi, r14
movzx eax, byte [rsi]
movzx edx, byte [rbx]
test al, al
je 0x180001ecb
add rsi, 1
add rbx, 1
cmp al, dl
je 0x180001eb5
cmp al, dl
je 0x180001ed9
add rcx, 2
add rdi, 4
jmp 0x180001ead
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
call r9
mov rcx, r13
call fcn.180002390
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001f1a
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022d9
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001f49
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800022db
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdi, r9
add rcx, r9
mov ebx, dword [rdi]
add rbx, r9
mov rsi, r14
movzx eax, byte [rsi]
movzx edx, byte [rbx]
test al, al
je 0x180001f7a
add rsi, 1
add rbx, 1
cmp al, dl
je 0x180001f64
cmp al, dl
je 0x180001f88
add rcx, 2
add rdi, 4
jmp 0x180001f5c
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 0x180001fbe
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001e3a
sub rsp, 0x20
mov rcx, r13
call fcn.180002390
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001fef
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022dd
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000201e
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800022df
add r8, r9
mov edi, dword [r9 + rcx + 0x20]
mov ecx, dword [r9 + rcx + 0x24]
add rdi, r9
add rcx, r9
mov ebx, dword [rdi]
add rbx, r9
mov rsi, r14
movzx eax, byte [rsi]
movzx edx, byte [rbx]
test al, al
je 0x18000204f
add rsi, 1
add rbx, 1
cmp al, dl
je 0x180002039
cmp al, dl
je 0x18000205d
add rcx, 2
add rdi, 4
jmp 0x180002031
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 0x180001d59
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180001e3a
jmp 0x180001d59
cmp ecx, 0xa
jl 0x1800020a9
test edx, edx
jne 0x1800022ed
mov rbx, qword [rbp - 8]
mov edi, dword [rbx]
mov r15d, dword [rbx + 0x10]
add rdi, r12
mov qword [rbp - 0x10], rdi
add r15, r12
mov rbx, qword [rbp - 0x10]
mov rbx, qword [rbx]
test rbx, rbx
je 0x1800022b3
mov rax, qword [rbp - 0x30]
add rax, rbx
test rbx, rbx
movzx ebx, bx
cmovns rbx, rax
mov qword [rbp - 0x18], rbx
cmp ecx, 0xa
jl 0x180002108
test edx, edx
jne 0x1800021ee
jmp 0x180002108
add r15, 8
add qword [rbp - 0x10], 8
cmp ecx, 0xa
jl 0x1800020bd
test edx, edx
je 0x1800020bd
jmp 0x1800022ed
sub rsp, 0x20
mov rcx, r13
call fcn.180002390
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002139
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022e5
movsxd rax, dword [r9 + 0x3c]
mov eax, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002168
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800022e9
add r8, r9
mov edx, dword [r9 + rax + 0x20]
mov edi, dword [r9 + rax + 0x24]
add rdx, r9
add rdi, r9
mov eax, dword [rdx]
add rax, r9
mov rsi, qword [rbp - 0x28]
movzx ebx, byte [rsi]
movzx ecx, byte [rax]
test bl, bl
je 0x18000219a
add rsi, 1
add rax, 1
cmp bl, cl
je 0x180002184
cmp bl, cl
je 0x1800021a8
add rdi, 2
add rdx, 4
jmp 0x18000217b
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
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 0x1800020f1
test edx, edx
je 0x1800020f1
sub rsp, 0x20
mov rcx, r13
call fcn.180002390
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x18000221f
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022e7
movsxd rax, dword [r9 + 0x3c]
mov eax, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000224e
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800022eb
add r8, r9
mov edx, dword [r9 + rax + 0x20]
mov edi, dword [r9 + rax + 0x24]
add rdx, r9
add rdi, r9
mov eax, dword [rdx]
add rax, r9
mov rsi, qword [rbp - 0x28]
movzx ebx, byte [rsi]
movzx ecx, byte [rax]
test bl, bl
je 0x180002280
add rsi, 1
add rax, 1
cmp bl, cl
je 0x18000226a
cmp bl, cl
je 0x18000228e
add rdi, 2
add rdx, 4
jmp 0x180002261
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
call r9
add rsp, 0x20
mov qword [r15], rax
jmp 0x180002108
add qword [rbp - 8], 0x14
cmp ecx, 0xa
jl 0x180001d45
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001d45
jmp 0x180001d27
jmp 0x1800022d5
jmp 0x1800022d7
jmp 0x1800022d9
jmp 0x1800022db
jmp 0x1800022dd
jmp 0x1800022df
jmp 0x1800022e1
jmp 0x1800022e3
jmp 0x1800022e5
jmp 0x1800022e7
jmp 0x1800022e9
jmp 0x1800022eb
jmp 0x1800022ed
mov ecx, dword [0x180020a78]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180002377
cmp eax, 0xa
jl 0x180002310
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
jne 0x18000233e
mov rax, qword [rbp]
mov eax, dword [rax + 0x28]
add rax, r12
sub rsp, 0x20
call rax
add rsp, 0x20
cmp dword [0x180020a6c], 0xa
jl 0x180002354
mov eax, dword [0x180020a78]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180002354
mov rax, qword [rbp]
mov eax, dword [rax + 0x28]
add rax, r12
sub rsp, 0x20
call rax
add rsp, 0x20
jmp 0x180002310
mov rax, qword [rbp]
mov eax, dword [rax + 0x28]
add rax, r12
sub rsp, 0x20
call rax
add rsp, 0x20
mov eax, dword [0x180020a6c]
cmp eax, 0xa
jge 0x1800022ef
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret