Function at 0x1800010b0
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 0x1800010e2
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1800010e2
nop
jmp 0x1800010e0
mov eax, 0x10
call entry0
sub rsp, rax
mov rsi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov qword [rbp], rsp
mov edi, dword [0x180020a74]
mov ebx, dword [0x180020a78]
cmp ebx, 0xa
jl 0x180001122
lea ecx, [rdi - 1]
imul ecx, edi
and ecx, 1
je 0x180001122
nop
jmp 0x180001120
mov r8b, byte [section..data]
mov r14d, dword [0x180020a74]
mov r13d, dword [0x180020a78]
lea r12d, [r14 - 1]
imul r12d, r14d
and r12d, 1
sete dl
cmp r13d, 0xa
setl cl
or cl, dl
mov r9b, byte [0x180004001]
mov r10b, byte [0x180004002]
mov edx, dword [0x180020a70]
lea eax, [rdx - 1]
imul eax, edx
test al, 1
sete al
cmp dword [0x180020a6c], 0xa
mov r11b, byte [0x180004003]
setl r15b
or r15b, al
mov edx, ecx
or dl, cl
cmp ebx, 0xa
jl 0x18000119b
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
jne 0x1800014a0
mov byte [rsi], r8b
test cl, cl
jne 0x1800011b7
nop word cs:[rax + rax]
nop dword [rax]
test cl, cl
je 0x1800011b0
mov byte [rsi], r8b
cmp r13d, 0xa
jl 0x1800011c6
test r12d, r12d
jne 0x1800014a0
mov byte [rsi + 1], r9b
test cl, cl
jne 0x1800011d8
nop
test cl, cl
je 0x1800011d0
mov byte [rsi + 1], r9b
cmp r13d, 0xa
jl 0x1800011e7
test r12d, r12d
jne 0x1800014a0
mov byte [rsi + 2], r10b
test cl, cl
jne 0x1800011f8
nop
test cl, cl
je 0x1800011f0
mov byte [rsi + 2], r10b
cmp r13d, 0xa
jl 0x180001207
test r12d, r12d
jne 0x1800014a0
mov byte [rsi + 3], r11b
test cl, cl
jne 0x180001218
nop
test cl, cl
je 0x180001210
mov byte [rsi + 3], r11b
cmp r13d, 0xa
jl 0x180001227
test r12d, r12d
jne 0x1800014a0
test r15b, r15b
jne 0x1800015b2
cmp r13d, 0xa
jl 0x18000123f
test r12d, r12d
jne 0x1800014d0
test cl, cl
mov eax, r12d
cmovne eax, r12d
mov esi, r13d
cmovne esi, r13d
test dl, dl
je 0x1800014e0
cmp esi, 0xa
jl 0x180001264
test eax, eax
jne 0x1800014b0
test cl, cl
mov eax, r12d
cmovne eax, r12d
mov esi, r13d
cmovne esi, r13d
test dl, dl
je 0x1800014f0
cmp esi, 0xa
jl 0x180001289
test eax, eax
jne 0x1800014b0
test cl, cl
mov eax, r12d
cmovne eax, r12d
mov esi, r13d
cmovne esi, r13d
test dl, dl
je 0x180001520
cmp esi, 0xa
jl 0x1800012ae
test eax, eax
jne 0x1800014b0
test cl, cl
mov eax, r12d
cmovne eax, r12d
mov edi, r14d
cmovne edi, edi
mov ebx, r13d
cmovne ebx, r13d
test dl, dl
je 0x180001550
cmp ebx, 0xa
jl 0x1800012d9
test eax, eax
jne 0x1800014b0
test r15b, r15b
jne 0x180001330
jmp 0x1800013e7
mov eax, 0x10
call entry0
sub rsp, rax
mov rsi, rsp
mov eax, 0x10
call entry0
sub rsp, rax
mov qword [rbp], rsp
cmp ebx, 0xa
jl 0x180001187
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
je 0x180001187
jmp 0x180001120
cmp ebx, 0xa
jl 0x180001344
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
jne 0x180001510
test cl, cl
mov eax, r12d
cmovne eax, r12d
mov esi, r13d
cmovne esi, r13d
test dl, dl
je 0x180001530
cmp esi, 0xa
jl 0x180001369
test eax, eax
jne 0x1800014c0
test cl, cl
mov eax, r12d
cmovne eax, r12d
mov esi, r13d
cmovne esi, r13d
test dl, dl
je 0x180001560
cmp esi, 0xa
jl 0x18000138e
test eax, eax
jne 0x1800014c0
test cl, cl
mov eax, r12d
cmovne eax, r12d
mov esi, r13d
cmovne esi, r13d
test dl, dl
je 0x180001580
cmp esi, 0xa
jl 0x1800013b3
test eax, eax
jne 0x1800014c0
test cl, cl
mov eax, r12d
cmovne eax, r12d
mov edi, r14d
cmovne edi, edi
mov ebx, r13d
cmovne ebx, r13d
test dl, dl
je 0x1800015a0
cmp ebx, 0xa
jl 0x1800013de
test eax, eax
jne 0x1800014c0
test r15b, r15b
jne 0x1800012e3
cmp ebx, 0xa
jl 0x1800013fb
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
jne 0x180001500
test cl, cl
mov eax, r12d
cmovne eax, r12d
mov esi, r13d
cmovne esi, r13d
test dl, dl
je 0x180001540
cmp esi, 0xa
jl 0x18000141c
test eax, eax
jne 0x180001490
test cl, cl
mov eax, r12d
cmovne eax, r12d
mov esi, r13d
cmovne esi, r13d
test dl, dl
je 0x180001570
cmp esi, 0xa
jl 0x18000143d
test eax, eax
jne 0x180001490
test cl, cl
mov eax, r12d
cmovne eax, r12d
mov esi, r13d
cmovne esi, r13d
test dl, dl
je 0x180001590
cmp esi, 0xa
jl 0x18000145e
test eax, eax
jne 0x180001490
test cl, cl
mov eax, r12d
cmovne eax, r12d
mov ebx, r13d
cmovne ebx, r13d
mov edi, r14d
cmovne edi, edi
test dl, dl
je 0x1800015b0
cmp ebx, 0xa
jl 0x180001330
test eax, eax
je 0x180001330
nop dword [rax]
jmp 0x180001490
jmp 0x1800014a0
jmp 0x1800014b0
jmp 0x1800014c0
jmp 0x1800014d0
jmp 0x1800014e0
jmp 0x1800014f0
jmp 0x180001500
jmp 0x180001510
jmp 0x180001520
jmp 0x180001530
jmp 0x180001540
jmp 0x180001550
jmp 0x180001560
jmp 0x180001570
jmp 0x180001580
jmp 0x180001590
jmp 0x1800015a0
jmp 0x1800015b0
mov r9d, dword [rsi]
test r9, r9
je 0x1800016c7
xor edx, edx
cmp r9d, 0x10
jb 0x18000169b
lea rax, [r9 - 1]
cmp rax, 0x400
jae 0x18000169b
mov edx, r9d
and edx, 0xfffffff0
lea rax, [rdx - 0x10]
mov rcx, rax
shr rcx, 4
add rcx, 1
mov r8d, ecx
and r8d, 1
test rax, rax
je 0x180001662
mov rdi, r8
sub rdi, rcx
xor ebx, ebx
lea rsi, section..data
movaps xmm0, xmmword [str._f_f_f_f_f_f_f_f_f_f_f_f_f_f_f_f]
mov eax, ebx
and eax, 0x3e0
movups xmm1, xmmword [rax + rsi + 4]
movups xmm2, xmmword [rbx + rsi + 0x404]
xorps xmm2, xmm1
movups xmm1, xmmword [rbx + rsi + 0x414]
xorps xmm2, xmm0
movups xmmword [rbx + rsi + 0x404], xmm2
lea eax, [rbx + 0x10]
and eax, 0x3f0
movups xmm2, xmmword [rax + rsi + 4]
xorps xmm1, xmm0
xorps xmm1, xmm2
movups xmmword [rbx + rsi + 0x414], xmm1
add rbx, 0x20
add rdi, 2
jne 0x180001611
jmp 0x180001664
xor ebx, ebx
test r8, r8
je 0x180001696
mov eax, ebx
and eax, 0x3f0
lea rcx, section..data
movups xmm0, xmmword [rax + rcx + 4]
movups xmm1, xmmword [rbx + 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 [rbx + rcx + 0x404], xmm1
cmp rdx, r9
je 0x1800016c7
lea rcx, section..data
mov eax, edx
and eax, 0x3ff
movzx eax, byte [rax + rcx + 4]
xor al, byte [rdx + rcx + 0x404]
xor al, 0xc
mov byte [rdx + rcx + 0x404], al
add rdx, 1
cmp rdx, r9
jb 0x1800016a2
cmp r13d, 0xa
jl 0x1800016e2
test r12d, r12d
je 0x1800016e2
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x1800016e0
lea r14, section..data
lea r11, [r9 + r14]
add r11, 0x404
mov rsi, qword [rbp]
mov cl, byte [r11]
mov byte [rsi], cl
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ebx, 0xa
jl 0x18000171b
test edx, edx
jne 0x1800016fb
cmp ebx, 0xa
jl 0x180001728
test edx, edx
jne 0x180001b20
mov cl, byte [r11 + 1]
mov byte [rsi + 1], cl
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ebx, 0xa
jl 0x18000174d
test edx, edx
jne 0x18000172c
cmp ebx, 0xa
jl 0x18000175a
test edx, edx
jne 0x180001b20
mov cl, byte [r11 + 2]
mov byte [rsi + 2], cl
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ebx, 0xa
jl 0x18000177f
test edx, edx
jne 0x18000175e
cmp ebx, 0xa
jl 0x18000178c
test edx, edx
jne 0x180001b20
mov cl, byte [r11 + 3]
mov byte [rsi + 3], cl
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
cmp ebx, 0xa
jl 0x1800017b1
test edi, edi
jne 0x180001790
cmp ebx, 0xa
jl 0x1800017be
test edi, edi
jne 0x180001b20
cmp dword [0x180020a6c], 0xa
jl 0x180001b42
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001b42
cmp ebx, 0xa
jl 0x1800017f4
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180001b30
mov cl, byte [r9 + r14 + 0x404]
nop dword [rax]
mov byte [rsi], cl
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ebx, 0xa
jl 0x180001820
test edx, edx
jne 0x180001800
cmp ebx, 0xa
jl 0x18000182d
test edx, edx
jne 0x180001b00
mov r8b, byte [r9 + r14 + 0x405]
mov byte [rsi + 1], r8b
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ebx, 0xa
jl 0x180001888
test edx, edx
je 0x180001888
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
sete al
cmp ebx, 0xa
setl cl
or cl, al
nop word [rax + rax]
test cl, cl
je 0x180001880
mov byte [rsi + 1], r8b
cmp ebx, 0xa
jl 0x180001895
test edx, edx
jne 0x180001b00
mov r8b, byte [r9 + r14 + 0x406]
mov byte [rsi + 2], r8b
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ebx, 0xa
jl 0x1800018e8
test edx, edx
je 0x1800018e8
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
sete al
cmp ebx, 0xa
setl cl
or cl, al
nop
test cl, cl
je 0x1800018e0
mov byte [rsi + 2], r8b
cmp ebx, 0xa
jl 0x1800018f5
test edx, edx
jne 0x180001b00
mov r8b, byte [r9 + r14 + 0x407]
mov byte [rsi + 3], r8b
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
cmp ebx, 0xa
jl 0x180001947
test edi, edi
je 0x180001947
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
sete al
cmp ebx, 0xa
setl cl
or cl, al
test cl, cl
je 0x18000193f
mov byte [rsi + 3], r8b
cmp ebx, 0xa
jl 0x180001954
test edi, edi
jne 0x180001b00
cmp ebx, 0xa
jl 0x180001968
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
jne 0x180001b40
mov cl, byte [r9 + r14 + 0x404]
mov byte [rsi], cl
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ebx, 0xa
jl 0x180001990
test edx, edx
jne 0x180001970
cmp ebx, 0xa
jl 0x18000199d
test edx, edx
jne 0x180001b10
mov r8b, byte [r9 + r14 + 0x405]
mov byte [rsi + 1], r8b
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ebx, 0xa
jl 0x1800019ef
test edx, edx
je 0x1800019ef
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
sete al
cmp ebx, 0xa
setl cl
or cl, al
test cl, cl
je 0x1800019e7
mov byte [rsi + 1], r8b
cmp ebx, 0xa
jl 0x1800019fc
test edx, edx
jne 0x180001b10
mov r8b, byte [r9 + r14 + 0x406]
mov byte [rsi + 2], r8b
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp ebx, 0xa
jl 0x180001a4e
test edx, edx
je 0x180001a4e
mov eax, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
sete al
cmp ebx, 0xa
setl cl
or cl, al
test cl, cl
je 0x180001a46
mov byte [rsi + 2], r8b
cmp ebx, 0xa
jl 0x180001a5b
test edx, edx
jne 0x180001b10
mov r8b, byte [r9 + r14 + 0x407]
mov byte [rsi + 3], r8b
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
cmp ebx, 0xa
jl 0x180001aad
test edi, edi
je 0x180001aad
mov edx, dword [0x180020a74]
mov ebx, dword [0x180020a78]
lea edi, [rdx - 1]
imul edi, edx
and edi, 1
sete al
cmp ebx, 0xa
setl cl
or cl, al
test cl, cl
je 0x180001aa5
mov byte [rsi + 3], r8b
cmp ebx, 0xa
jl 0x180001ab6
test edi, edi
jne 0x180001b10
cmp dword [0x180020a6c], 0xa
jl 0x180001ad4
mov eax, dword [0x180020a70]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800017e0
cmp ebx, 0xa
jl 0x1800016f8
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x1800016f8
jmp 0x1800016e0
jmp 0x180001b00
jmp 0x180001b10
jmp 0x180001b20
jmp 0x180001b30
jmp 0x180001b40
add r11, 4
mov r10d, dword [rsi]
test r10, r10
mov qword [rbp], r11
je 0x180001cbf
xor eax, eax
cmp r10d, 0x20
jb 0x180001c9a
lea rcx, [r10 - 1]
cmp rcx, 0x400
jae 0x180001c9a
lea rcx, [r9 + r14]
add rcx, 0x408
lea rdx, [r10 + r14]
add rdx, 4
cmp rcx, rdx
jae 0x180001bb0
lea rcx, [r10 + r9]
add rcx, r14
add rcx, 0x408
lea rdx, str.fWacgSXcZxsropmPfBglTeuURcagjlsXBpVfAxAQRLGAalagFWkFSWzThhIaDrKheqkrZeoplITmhjnTgDuLKFrldagSmdSMjHQdiydEDgOGccwuJwPdpSaOTZveCxHfYjVSCMMIayMXccyAYHJJPFhLXATRnWFbHmyvdpKAmicIqmraoUkzrmtQsFEUyJJLHpMjYTtDEoGyXBxeduJAUsVhMrwsLORXZWJrybhKDVmMvFrvWAOYrZTSYudXXeBPpmEKHjXKsPwDdcyHgiRsxWyYYARDXQruwvXsyclvJjwnHJTsbQBpVQvbSzwuuaKRqOeBPHxbaxqoRKeeHbQiMFVxSOnntaLDCgAkrWGltBtrfkhqhYRauGkJSoBlvbWFsWEAPdKjzYjsXygyQsDEKYCFtFkBrCuSgkUrGeLYkRfVglCZfzmuvFKaEtygvyKIqbnMQtkhyPlRsXeiFnQfFqyIQQTJqWXUGCQAFFJJyFVeMaPScfcBqKHqykFdcXmPSdXGOrKfvfQwPBQmneYpvKchhUmRdsmfutQLsVTLmJRnqdofnprkkEYoERcmIpdaTTplSyOYxSGKiUSDkwKISwPpheCnFPtixCFKhcyfQiiEwjknsnWwwjtlRkfexfUFAZKXZygXDnfWJWaLIHbSvCeEoVMeKvnWcPMWBWSImSvxUuYajaTcFirqPwUrMJLgJIOsQtQyWmSEqMpCgSePqubqPFEgtlyFLXYGoiiYtpuzMynqqnAEgZdXTUOwlioRDZUrnWEmxzqynQDHotqGdzuyKmCXsWUFnlopyGPRmSHETwbVgYUrbQzjiLrDMqeMbKJabDZjsyIExMstFSWqsHqoMzQuKZGcjBwIUVvoHCwVqcuOiUSTKdTxDqWLyprkLUcKZfozdtoKfwYpqDTAkWfOwxtCHecTPcWLDVUjjOQRusTFoZXZPwESlPhEOvCjeRfDRZZFmHSsicWotkqiQHsjZqYLKKnKDhaLpLUdFcBzKFCuEzyJDTWnXBSFPmy
cmp rcx, rdx
jbe 0x180001bb0
xor eax, eax
mov r11, qword [rbp]
jmp 0x180001c9a
mov eax, r10d
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 0x180001c4e
lea rdx, section..data
lea rsi, [r9 + rdx]
add rsi, 0x438
mov rdi, r8
sub rdi, rcx
xor ebx, ebx
mov ecx, ebx
and ecx, 0x3c0
movups xmm0, xmmword [rcx + rdx + 4]
movups xmm1, xmmword [rcx + rdx + 0x14]
movups xmm2, xmmword [rsi + rbx - 0x30]
xorps xmm2, xmm0
movups xmm0, xmmword [rsi + rbx - 0x20]
xorps xmm0, xmm1
movups xmm1, xmmword [rsi + rbx - 0x10]
movups xmm3, xmmword [rsi + rbx]
movups xmmword [rsi + rbx - 0x30], xmm2
movups xmmword [rsi + rbx - 0x20], xmm0
lea ecx, [rbx + 0x20]
and ecx, 0x3e0
movups xmm0, xmmword [rcx + rdx + 4]
xorps xmm0, xmm1
movups xmm1, xmmword [rcx + rdx + 0x14]
xorps xmm1, xmm3
movups xmmword [rsi + rbx - 0x10], xmm0
movups xmmword [rsi + rbx], xmm1
add rbx, 0x40
add rdi, 2
jne 0x180001beb
jmp 0x180001c50
xor ebx, ebx
test r8, r8
je 0x180001c8a
mov ecx, ebx
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 + rbx]
xorps xmm2, xmm0
movups xmm0, xmmword [rcx + rbx + 0x10]
xorps xmm0, xmm1
movups xmmword [rcx + rbx], xmm2
movups xmmword [rcx + rbx + 0x10], xmm0
cmp rax, r10
lea r14, section..data
mov r11, qword [rbp]
je 0x180001cbf
lea rcx, [r9 + r14]
add rcx, 0x408
mov edx, eax
and edx, 0x3ff
movzx edx, byte [rdx + r14 + 4]
xor byte [rcx + rax], dl
add rax, 1
cmp rax, r10
jb 0x180001ca5
cmp dword [0x180020a7c], 0xa
jl 0x180001ce2
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001ce2
nop dword [rax]
jmp 0x180001ce0
lea r15, [r9 + 0x408]
movsxd rax, dword [0x180004440]
add rax, r14
add rax, 0x404
mov qword [rbp - 8], rax
mov rsi, r11
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x180001d00
mov r13, rsi
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180001d0c
mov rdi, r13
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180001d1a
mov r12, rdi
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001d26
mov rbx, r12
cmp byte [rbx], 0
lea rbx, [rbx + 1]
jne 0x180001d35
mov r14, rbx
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180001d41
sub rsp, 0x20
mov rcx, rsi
call fcn.180002990
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180001d7c
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022bd
mov qword [rbp - 0x30], rdi
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001daf
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800022bf
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 esi, dword [rdi]
add rsi, r9
mov rdx, r13
movzx ecx, byte [rdx]
movzx eax, byte [rsi]
test cl, cl
je 0x180001de4
add rdx, 1
add rsi, 1
cmp cl, al
je 0x180001dce
cmp cl, al
je 0x180001df2
add rdi, 4
add r10, 2
jmp 0x180001dc6
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 0x180001e2c
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022c1
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180001e5b
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800022c3
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, r12
movzx ebx, byte [rax]
movzx ecx, byte [rsi]
test bl, bl
je 0x180001e8c
add rax, 1
add rsi, 1
cmp bl, cl
je 0x180001e76
cmp bl, cl
je 0x180001e9a
add rdx, 4
add rdi, 2
jmp 0x180001e6e
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 - 0x10]
call fcn.180002990
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x180001efd
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022c5
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 0x180001f33
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800022c7
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, [r15 + rsi]
movzx eax, byte [rcx + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180001f65
add rsi, 1
cmp al, bl
je 0x180001f4d
cmp al, bl
je 0x180001f73
add rdx, 4
add r9, 2
jmp 0x180001f46
movzx eax, word [r9]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp - 8]
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 [0x180020a70]
mov ecx, dword [0x180020a6c]
lea edx, [rdi - 1]
imul edx, edi
and edx, 1
cmp ecx, 0xa
mov rbx, qword [rbp]
jl 0x1800022d7
test edx, edx
je 0x1800022d7
movsxd rsi, dword [0x180004440]
cmp dword [0x180020a7c], 0xa
mov rcx, rbx
jl 0x180001ff3
mov eax, dword [0x180020a80]
lea edx, [rax - 1]
imul edx, eax
mov rcx, rbx
and edx, 1
jne 0x1800022c9
cmp byte [rcx], 0
lea rcx, [rcx + 1]
jne 0x180001ff3
mov r12, rcx
cmp byte [r12], 0
lea r12, [r12 + 1]
jne 0x180001fff
mov r13, r12
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x18000200e
cmp byte [r13], 0
lea r13, [r13 + 1]
jne 0x180002019
mov rdi, r13
cmp byte [rdi], 0
lea rdi, [rdi + 1]
jne 0x180002027
mov r14, rdi
cmp byte [r14], 0
lea r14, [r14 + 1]
jne 0x180002033
sub rsp, 0x20
mov qword [rbp - 8], rcx
call fcn.180002990
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x18000206f
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022cb
mov qword [rbp - 0x10], rsi
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800020a2
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800022cd
add r8, r9
mov esi, dword [r9 + rcx + 0x20]
mov r10d, dword [r9 + rcx + 0x24]
add rsi, r9
add r10, r9
mov edx, dword [rsi]
add rdx, r9
mov rcx, r12
movzx eax, byte [rcx]
movzx ebx, byte [rdx]
test al, al
je 0x1800020d3
add rcx, 1
add rdx, 1
cmp al, bl
je 0x1800020bd
cmp al, bl
je 0x1800020e1
add rsi, 4
add r10, 2
jmp 0x1800020b5
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 0x18000211b
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022cf
movsxd rax, dword [r10 + 0x3c]
mov eax, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000214a
mov ecx, dword [0x180020a90]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1800022d1
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, r13
movzx ecx, byte [rbx]
movzx edx, byte [rax]
test cl, cl
je 0x18000217b
add rbx, 1
add rax, 1
cmp cl, dl
je 0x180002165
cmp cl, dl
je 0x180002189
add rdi, 4
add rsi, 2
jmp 0x18000215d
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, r14
mov r8, r14
call r10
add rsp, 0x10
mov rcx, qword [rbp - 8]
call fcn.180002990
add rsp, 0x20
mov r10, rax
cmp dword [0x180020a84], 0xa
jl 0x1800021ec
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1800022d3
movsxd rax, dword [r10 + 0x3c]
mov ecx, dword [r10 + rax + 0x88]
mov r8d, dword [r10 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x18000221b
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x1800022d5
add r8, r10
mov edx, dword [r10 + rcx + 0x20]
mov ecx, dword [r10 + rcx + 0x24]
add rdx, r10
add rcx, r10
lea r14, section..data
mov edi, dword [rdx]
add rdi, r10
xor esi, esi
lea rax, [r15 + rsi]
movzx eax, byte [r14 + rax]
movzx ebx, byte [rdi + rsi]
test al, al
je 0x180002255
add rsi, 1
cmp al, bl
je 0x18000223c
cmp al, bl
je 0x180002263
add rdx, 4
add rcx, 2
jmp 0x180002235
movzx eax, word [rcx]
mov eax, dword [r8 + rax*4]
add r10, rax
mov rax, qword [rbp - 0x10]
mov edx, dword [rax + r14 + 0x454]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
xor ecx, ecx
call r10
add rsp, 0x20
cmp dword [0x180020a7c], 0xa
mov r11, qword [rbp]
jl 0x180001ce9
mov eax, dword [0x180020a80]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x180001ce9
jmp 0x180001ce0
jmp 0x1800022bd
jmp 0x1800022bf
jmp 0x1800022c1
jmp 0x1800022c3
jmp 0x1800022c5
jmp 0x1800022c7
jmp 0x1800022c9
jmp 0x1800022cb
jmp 0x1800022cd
jmp 0x1800022cf
jmp 0x1800022d1
jmp 0x1800022d3
jmp 0x1800022d5
mov r14, rax
cmp ecx, 0xa
jl 0x1800022e5
test edx, edx
je 0x1800022e5
jmp 0x1800022e3
mov rdx, qword [rbp - 8]
lea r11, [rdx + 0x108]
xor r10d, r10d
mov rdx, qword [rbp - 8]
movzx edx, word [rdx + 6]
cmp r10, rdx
jae 0x180002481
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea rax, [r10 + r10*4]
lea r8, [r11 + rax*8]
add r8, 0xc
lea r15, [r11 + rax*8]
add r15, 0x10
lea r9, [r11 + rax*8]
add r9, 0x14
cmp edx, 0xa
jl 0x180002340
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x18000247d
mov r12d, dword [r15]
test r12, r12
je 0x1800023b0
mov eax, dword [r9]
lea rcx, section..data
add rcx, rax
add rcx, 0x404
mov edi, dword [r8]
mov rax, r14
add rdi, r14
jmp 0x180002378
add r12, 0xffffffffffffffff
add rdi, 1
add rcx, 1
test r12, r12
je 0x1800023b0
movzx eax, byte [rcx]
mov byte [rdi], al
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp edx, 0xa
jl 0x1800023a2
test eax, eax
je 0x1800023a2
movzx eax, byte [rcx]
mov byte [rdi], al
jmp 0x180002378
cmp edx, 0xa
jl 0x180002367
test eax, eax
je 0x180002367
jmp 0x180002479
mov edi, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
lea esi, [rdi - 1]
imul esi, edi
and esi, 1
cmp ecx, 0xa
jl 0x18000245f
test esi, esi
je 0x18000245f
cmp edx, 0xa
jl 0x1800023ea
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
jne 0x18000247f
mov r12d, dword [r15]
test r12, r12
je 0x18000232c
mov eax, dword [r9]
lea rcx, section..data
add rcx, rax
add rcx, 0x404
mov edi, dword [r8]
mov rax, r14
add rdi, r14
jmp 0x18000242a
add r12, 0xffffffffffffffff
add rdi, 1
add rcx, 1
test r12, r12
je 0x18000232c
movzx eax, byte [rcx]
mov byte [rdi], al
mov ebx, dword [0x180020a74]
mov edx, dword [0x180020a78]
lea eax, [rbx - 1]
imul eax, ebx
and eax, 1
cmp edx, 0xa
jl 0x180002454
test eax, eax
je 0x180002454
movzx eax, byte [rcx]
mov byte [rdi], al
jmp 0x18000242a
cmp edx, 0xa
jl 0x180002415
test eax, eax
je 0x180002415
jmp 0x18000247b
add r10, 1
cmp ecx, 0xa
jl 0x1800022f3
test esi, esi
je 0x1800022f3
jmp 0x1800022e3
jmp 0x180002479
jmp 0x18000247b
jmp 0x18000247d
jmp 0x18000247f
mov rdx, qword [rbp - 8]
mov rbx, qword [rdx + 0x30]
mov rdx, r14
mov r15, r14
sub r15, rbx
cmp ecx, 0xa
jl 0x1800024a4
lea ebx, [rdi - 1]
imul ebx, edi
and ebx, 1
je 0x1800024a4
jmp 0x1800024a2
mov rbx, qword [rbp - 8]
mov ebx, dword [rbx + 0xb0]
mov rax, r14
add rbx, r14
movabs r8, 0x1fffffff8
cmp dword [rbx], 0
je 0x18000261c
mov eax, dword [rbx + 4]
cmp rax, 8
jb 0x1800025e4
cmp ecx, 0xa
jl 0x1800024e8
lea esi, [rdi - 1]
imul esi, edi
and esi, 1
jne 0x180002612
add rax, r8
shr rax, 1
mov r9d, eax
xor r10d, r10d
cmp r10, r9
je 0x1800025e4
movzx eax, word [rbx + r10*2 + 8]
mov esi, eax
shr esi, 0xc
mov r11d, eax
and r11d, 0xfff
cmp eax, 0xa000
jae 0x180002569
cmp esi, 3
jne 0x1800025bb
cmp ecx, 0xa
jl 0x180002536
lea ecx, [rdi - 1]
imul ecx, edi
and ecx, 1
jne 0x180002616
mov eax, dword [rbx]
mov rcx, r14
lea rdx, [r14 + r11*4]
add dword [rdx + rax*4], r15d
mov edi, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x1800025bb
lea esi, [rdi - 1]
imul esi, edi
and esi, 1
je 0x1800025bb
mov eax, dword [rbx]
add dword [rdx + rax*4], r15d
mov eax, dword [rbx]
jmp 0x18000253f
cmp esi, 0xa
jne 0x1800025bb
cmp ecx, 0xa
jl 0x180002582
lea ecx, [rdi - 1]
imul ecx, edi
and ecx, 1
jne 0x180002618
mov eax, dword [rbx]
mov edx, r11d
mov rcx, r14
add rdx, r14
add qword [rax + rdx], r15
mov edi, dword [0x180020a70]
mov ecx, dword [0x180020a6c]
cmp ecx, 0xa
jl 0x1800025bb
lea esi, [rdi - 1]
imul esi, edi
and esi, 1
je 0x1800025bb
mov eax, dword [rbx]
add qword [rdx + rax], r15
mov eax, dword [rbx]
add qword [rdx + rax], r15
jmp 0x180002591
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
cmp ecx, 0xa
jl 0x1800025cd
test eax, eax
jne 0x180002614
add r10, 1
cmp ecx, 0xa
jl 0x1800024f4
test eax, eax
je 0x1800024f4
jmp 0x180002612
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
cmp ecx, 0xa
jl 0x1800025f6
test eax, eax
jne 0x18000261a
mov esi, dword [rbx + 4]
add rbx, rsi
cmp ecx, 0xa
jl 0x1800024be
test eax, eax
je 0x1800024be
jmp 0x1800024a2
jmp 0x180002612
jmp 0x180002614
jmp 0x180002616
jmp 0x180002618
jmp 0x18000261a
cmp ecx, 0xa
jl 0x18000262e
lea ecx, [rdi - 1]
imul ecx, edi
and ecx, 1
je 0x18000262e
jmp 0x18000262c
mov rcx, r14
lea rax, [r14 + 2]
mov qword [rbp - 0x28], rax
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x90]
add rax, r14
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
mov r12d, dword [rax + 0xc]
test r12, r12
je 0x18000296a
add r12, r14
sub rsp, 0x20
jmp 0x180002678
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 - 0x10]
call fcn.180002990
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x1800026a6
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x18000295c
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800026d5
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x18000295e
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 0x180002706
add rdi, 1
add rsi, 1
cmp al, dl
je 0x1800026f0
cmp al, dl
je 0x180002714
add rbx, 4
add rcx, 2
jmp 0x1800026e8
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 ecx, dword [0x180020a70]
mov eax, dword [0x180020a6c]
cmp eax, 0xa
jl 0x1800027f7
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x1800027f7
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.180002990
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002785
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002960
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800027b4
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002962
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 0x1800027e5
add rdi, 1
add rsi, 1
cmp al, dl
je 0x1800027cf
cmp al, dl
je 0x180002664
add rbx, 4
add rcx, 2
jmp 0x1800027c7
mov rdx, qword [rbp - 0x18]
mov ebx, dword [rdx]
mov edi, dword [rdx + 0x10]
mov rdx, r14
add rdi, r14
mov qword [rbp - 0x20], rdi
add rbx, r14
mov qword [rbp], rbx
jmp 0x18000281d
add qword [rbp - 0x20], 8
add qword [rbp], 8
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete bl
cmp eax, 0xa
setl cl
or cl, bl
test cl, cl
je 0x180002831
mov rcx, qword [rbp]
mov rcx, qword [rcx]
test rcx, rcx
je 0x180002940
mov rax, qword [rbp - 0x28]
add rax, rcx
test rcx, rcx
movzx r12d, cx
cmovns r12, rax
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
call fcn.180002990
add rsp, 0x20
mov r9, rax
cmp dword [0x180020a84], 0xa
jl 0x180002889
mov eax, dword [0x180020a88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x180002964
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [r9 + rax + 0x88]
mov r8d, dword [r9 + rcx + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x1800028b8
mov eax, dword [0x180020a90]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
jne 0x180002966
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 0x1800028ea
add rax, 1
add rsi, 1
cmp bl, cl
je 0x1800028d4
cmp bl, cl
je 0x1800028f8
add rdx, 4
add rdi, 2
jmp 0x1800028cb
movzx eax, word [rdi]
mov eax, dword [r8 + rax*4]
add r9, rax
sub rsp, 0x20
mov rcx, r15
mov rdx, r12
call r9
add rsp, 0x20
mov rcx, qword [rbp - 0x20]
mov qword [rcx], rax
mov ecx, dword [0x180020a70]
mov eax, dword [0x180020a6c]
cmp eax, 0xa
jl 0x180002813
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x180002813
jmp 0x180002968
add qword [rbp - 0x18], 0x14
cmp eax, 0xa
jl 0x18000264a
and edx, 1
je 0x18000264a
jmp 0x18000262c
jmp 0x18000295c
jmp 0x18000295e
jmp 0x180002960
jmp 0x180002962
jmp 0x180002964
jmp 0x180002966
jmp 0x180002968
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x28]
mov rcx, r14
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