Function at 0x14008ba10
Capabilities:
Encode data using xor

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 qword [rbp], 0xfffffffffffffffe
mov r15, rcx
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008ba59
cmp dword [0x14022a22c], 9
jg 0x14008ba3f
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008ba73
cmp dword [0x14022a22c], 9
jg 0x14008bad1
mov eax, 0x20
call fcn.1401e7180
sub rsp, rax
mov r12, rsp
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov r10, rsp
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov r13, rsp
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov r14, rsp
mov rax, qword [r15 + 0x38]
mov ecx, dword [0x14022a228]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x14008baff
cmp dword [0x14022a22c], 9
jle 0x14008baff
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008ba73
cmp dword [0x14022a22c], 0xa
jge 0x14008bae0
jmp 0x14008ba73
mov rax, qword [rax]
mov ecx, dword [0x14022a228]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x14008bb1c
cmp dword [0x14022a22c], 9
jg 0x14008bb02
test rax, rax
je 0x14008bca5
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008bb43
cmp dword [0x14022a22c], 9
jg 0x14008bc2c
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008bb61
cmp dword [0x14022a22c], 9
jg 0x14008bbe5
mov r9, qword [r15 + 0x50]
mov r8d, dword [r9]
imul ebx, dword [0x14021c748], 0xcc813757
imul edi, dword [0x14021c74c], 0xe4c19ac4
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor edx, edx
mov dword [rax], edx
mov ecx, ebx
not ecx
mov eax, ecx
and eax, edi
sub ebx, eax
lea esi, [rbx + rdi*2]
add esi, ecx
or ecx, edi
sub esi, ecx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov dword [rax], edx
mov ebx, 0xe0ca6aa5
mov ecx, esi
or ecx, ebx
mov eax, esi
xor eax, 0x1f35955a
add eax, ecx
not esi
or esi, ebx
mov ecx, dword [0x14022a228]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x14008bc10
cmp dword [0x14022a22c], 9
jle 0x14008bc10
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor ecx, ecx
mov dword [rax], ecx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov dword [rax], ecx
jmp 0x14008bb61
sub eax, esi
mov ecx, dword [0x14022a228]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x14008bc57
cmp dword [0x14022a22c], 9
jle 0x14008bc57
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor ecx, ecx
mov dword [rax], ecx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov dword [rax], ecx
jmp 0x14008bb43
add eax, ebx
mov ecx, dword [0x14022a228]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x14008bc73
cmp dword [0x14022a22c], 9
jg 0x14008bc59
cmp r8d, eax
jle 0x14008bca5
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
mov r10d, r8d
not r10d
test cl, 1
je 0x14008bd71
cmp dword [0x14022a22c], 9
jg 0x14008be42
jmp 0x14008bd71
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008bcce
cmp dword [0x14022a22c], 9
jg 0x14008bcb4
cmp qword [r15 + 0x80], 0
je 0x14008bd66
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008bd05
cmp dword [0x14022a22c], 9
jg 0x14008bceb
mov rcx, qword [r15 + 0x18]
lea rax, [r15 + 0x70]
cmp qword [rcx], rax
jne 0x14008c00d
mov eax, dword [0x14022a228]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
mov eax, dword [0x14022a228]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x14008bd3f
cmp dword [0x14022a22c], 9
jg 0x14008bd25
mov eax, dword [0x14022a228]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x14008beeb
cmp dword [0x14022a22c], 9
jg 0x14008bfcc
jmp 0x14008beeb
mov r12d, 0xffffffff
jmp 0x14008ebc9
imul ecx, dword [0x14021c750], 0x2b8221fd
imul edx, dword [0x14021c754], 0x81ee37d5
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor ebx, ebx
mov dword [rax], ebx
mov edi, ecx
and edi, edx
add edi, edx
not ecx
or ecx, edx
sub edi, ecx
lea ecx, [rdi - 1]
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov dword [rax], ebx
mov esi, edi
neg esi
mov edx, 0xd6580c91
mov eax, esi
and eax, edx
neg eax
add eax, edi
dec eax
xor ecx, edx
add ecx, eax
and esi, 0x29a7f36e
add ecx, esi
add ecx, 0xacb01923
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov dword [rax], ebx
mov eax, r10d
and eax, ecx
mov edx, r8d
sub edx, eax
add edx, ecx
mov eax, r8d
xor eax, ecx
add eax, edx
or ecx, r10d
add eax, ecx
inc eax
mov dword [r9], eax
mov rax, qword [r15 + 0x38]
mov rcx, qword [rax]
lea rdx, [rcx + 1]
mov qword [rax], rdx
movzx r12d, byte [rcx]
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008ebc9
cmp dword [0x14022a22c], 0xa
jl 0x14008ebc9
imul ecx, dword [0x14021c750], 0x2b8221fd
imul edx, dword [0x14021c754], 0x81ee37d5
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor ebx, ebx
mov dword [rax], ebx
mov edi, ecx
and edi, edx
add edi, edx
not ecx
or ecx, edx
sub edi, ecx
lea ecx, [rdi - 1]
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov dword [rax], ebx
mov esi, edi
neg esi
mov edx, 0xd6580c91
mov eax, esi
and eax, edx
neg eax
add eax, edi
dec eax
xor ecx, edx
add ecx, eax
and esi, 0x29a7f36e
add ecx, esi
add ecx, 0xacb01923
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov dword [rax], ebx
mov eax, r10d
and eax, ecx
mov edx, r8d
sub edx, eax
add edx, ecx
mov eax, r8d
xor eax, ecx
add eax, edx
or ecx, r10d
add eax, ecx
inc eax
mov dword [r9], eax
mov rax, qword [r15 + 0x38]
inc qword [rax]
jmp 0x14008bd71
mov eax, dword [0x14022a228]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x14008bf05
cmp dword [0x14022a22c], 9
jg 0x14008bf66
mov edx, dword [r15 + 0x90]
mov rbx, qword [r15 + 0x88]
mov qword [rcx], rbx
mov rax, qword [r15 + 0x38]
mov qword [rax], rbx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], 0
mov eax, edx
and eax, ebx
mov edi, ebx
not edi
and edi, edx
sub edi, eax
add edi, edx
xor edx, ebx
sub edi, edx
mov rax, qword [r15 + 0x50]
mov dword [rax], edi
mov eax, dword [0x14022a228]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x14008bfb2
cmp dword [0x14022a22c], 9
jle 0x14008bfb2
mov edx, dword [r15 + 0x90]
mov rbx, qword [r15 + 0x88]
mov qword [rcx], rbx
mov rax, qword [r15 + 0x38]
mov qword [rax], rbx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], 0
mov eax, edx
and eax, ebx
mov edi, ebx
not edi
and edi, edx
sub edi, eax
add edi, edx
xor edx, ebx
sub edi, edx
mov rax, qword [r15 + 0x50]
mov dword [rax], edi
jmp 0x14008bf05
mov eax, dword [0x14022a228]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x14008bffc
cmp dword [0x14022a22c], 9
jle 0x14008bffc
mov eax, dword [0x14022a228]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x14008ebf7
cmp dword [0x14022a22c], 9
jg 0x14008ec60
jmp 0x14008ebf7
cmp dword [0x14022a22c], 9
jle 0x14008c00d
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14008bff3
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008c036
cmp dword [0x14022a22c], 9
jg 0x14008c01c
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008c050
cmp dword [0x14022a22c], 9
jg 0x14008c06a
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008c095
cmp dword [0x14022a22c], 9
jle 0x14008c095
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008c050
cmp dword [0x14022a22c], 0xa
jge 0x14008c079
jmp 0x14008c050
mov rax, qword [r15 + 0x68]
mov ecx, dword [0x14022a228]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x14008c0b3
cmp dword [0x14022a22c], 9
jg 0x14008c099
test rax, rax
je 0x14008c0e3
mov qword [rbp - 0x10], r10
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008c2a7
cmp dword [0x14022a22c], 9
jg 0x14008c3c5
jmp 0x14008c2a7
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008c10c
cmp dword [0x14022a22c], 9
jg 0x14008c0f2
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008c12a
cmp dword [0x14022a22c], 9
jg 0x14008c229
mov rcx, qword [r15 + 0x80]
mov edx, 0x100687c
add rdx, qword [0x14021c8b0]
sub rsp, 0x20
call rdx
add rsp, 0x20
mov r8d, eax
mov eax, dword [0x14021c758]
mov ebx, dword [0x14021c75c]
shrd ebx, eax, 0x10
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor edx, edx
mov dword [rax], edx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov dword [rax], edx
mov eax, 0xf3f58fc4
mov esi, ebx
xor esi, eax
not ebx
mov edi, ebx
and edi, 0xc0a703b
add edi, esi
or ebx, eax
sub edi, ebx
add edi, eax
mov esi, dword [0x14021c760]
mov ebx, dword [0x14021c764]
mov ecx, esi
shl ecx, 0xc
shr ebx, 0x14
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov dword [rax], edx
shl esi, 0xd
or esi, ebx
sub esi, ecx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov dword [rax], edx
xor esi, 0x19e5cef4
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
and esi, r8d
lea ecx, [rsi + rsi]
sub ecx, esi
cmp r8d, edi
mov dword [rax], edx
mov r12d, 0xffffffff
cmovne r12d, ecx
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008ebc9
cmp dword [0x14022a22c], 0xa
jl 0x14008ebc9
mov rcx, qword [r15 + 0x80]
mov edx, 0x100687c
add rdx, qword [0x14021c8b0]
sub rsp, 0x20
call rdx
add rsp, 0x20
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor ecx, ecx
mov dword [rax], ecx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov dword [rax], ecx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov dword [rax], ecx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov dword [rax], ecx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov dword [rax], ecx
jmp 0x14008c12a
mov qword [r12], 0
movaps xmm0, xmmword [0x1401eb1b0]
movups xmmword [r12 + 0x10], xmm0
movzx eax, byte [0x14021c768]
movzx edx, byte [0x14021c769]
shl eax, 3
lea ecx, [rax + rax*8]
neg ecx
imul edx, edx, 0x5d
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor esi, esi
mov byte [rax], sil
mov eax, edx
not al
and al, cl
add al, dl
not cl
sub al, cl
or cl, dl
add cl, al
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov byte [rax], sil
mov eax, ecx
and al, 0xa7
add al, cl
mov edx, ecx
not dl
and dl, 0x58
add dl, al
xor cl, 0x58
sub dl, cl
add dl, 0x58
mov byte [r12], dl
mov rcx, qword [r15 + 0x80]
mov edx, 0x100687c
add rdx, qword [0x14021c8b0]
sub rsp, 0x20
call rdx
add rsp, 0x20
mov r9d, eax
imul ecx, dword [0x14021c76c], 0x6de5fa9a
imul edx, dword [0x14021c770], 0x8a44011a
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov dword [rax], esi
mov eax, ecx
and eax, edx
add edx, eax
add edx, ecx
sub edx, eax
mov ecx, edx
not ecx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov dword [rax], esi
mov ebx, 0x72c702ca
mov eax, edx
and eax, ebx
add eax, edx
xor edx, 0x8d38fd35
sub eax, edx
or ecx, ebx
mov edx, dword [0x14022a228]
lea ebx, [rdx - 1]
imul ebx, edx
test bl, 1
je 0x14008c48c
cmp dword [0x14022a22c], 9
jle 0x14008c48c
mov qword [r12], 0
movaps xmm0, xmmword [0x1401eb1b0]
movups xmmword [r12 + 0x10], xmm0
movzx eax, byte [0x14021c768]
movzx edx, byte [0x14021c769]
shl eax, 3
lea ecx, [rax + rax*8]
neg ecx
imul edx, edx, 0x5d
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor esi, esi
mov byte [rax], sil
mov eax, edx
not al
and al, cl
add al, dl
not cl
sub al, cl
or cl, dl
add cl, al
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov byte [rax], sil
mov eax, ecx
and al, 0xa7
add al, cl
mov edx, ecx
not dl
and dl, 0x58
add dl, al
xor cl, 0x58
sub dl, cl
add dl, 0x58
mov byte [r12], dl
mov rcx, qword [r15 + 0x80]
mov edx, 0x100687c
add rdx, qword [0x14021c8b0]
sub rsp, 0x20
call rdx
add rsp, 0x20
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov dword [rax], esi
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov dword [rax], esi
jmp 0x14008c2a7
mov qword [rbp - 8], r12
mov qword [rbp - 0x20], r13
lea rdx, [r13 + 1]
mov qword [rbp - 0x18], rdx
lea rdx, [r15 + 0x74]
mov qword [rbp - 0x28], rdx
add eax, ecx
add eax, 0x1a71fa6b
mov ecx, dword [0x14022a228]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x14008c4c5
cmp dword [0x14022a22c], 9
jg 0x14008c4ab
cmp r9d, eax
jne 0x14008c51e
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008c4f3
cmp dword [0x14022a22c], 9
jg 0x14008c4d9
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov r14, qword [rbp - 8]
je 0x14008da45
cmp dword [0x14022a22c], 9
jg 0x14008da88
jmp 0x14008da45
xor r13d, r13d
movabs r12, 0x671191f0f0788c07
mov rax, qword [rbp - 8]
mov r10, qword [rax + 0x10]
mov r8, qword [rax + 0x18]
cmp r10, r8
jae 0x14008c585
mov eax, dword [0x14022a228]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
mov eax, dword [0x14022a228]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x14008c565
cmp dword [0x14022a22c], 9
jg 0x14008c54b
mov eax, dword [0x14022a228]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x14008c5d5
cmp dword [0x14022a22c], 9
jg 0x14008c9ce
jmp 0x14008c5d5
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008c5ae
cmp dword [0x14022a22c], 9
jg 0x14008c594
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008cda7
cmp dword [0x14022a22c], 9
jg 0x14008cdea
jmp 0x14008cda7
mov eax, dword [0x14022a228]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x14008c5f3
cmp dword [0x14022a22c], 9
jg 0x14008c7dd
mov rdx, qword [0x14021c778]
movabs rax, 0x649dc6f5ab938625
imul rdx, rax
mov rdi, qword [0x14021c780]
movabs rax, 0x10863040cbdf0451
imul rdi, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rbx, rdx
and rbx, rdi
add rbx, rdx
add rbx, rdi
not rdi
add rbx, rdi
or rdi, rdx
sub rbx, rdi
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rbx
movabs rcx, 0xcf427d8fa2e9a5ce
and rax, rcx
not rbx
sub rax, rbx
movabs rcx, 0x30bd82705d165a31
or rbx, rcx
add rbx, rax
add rbx, rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rbx
not rax
and rax, r10
add rax, rbx
mov rdx, r10
xor rdx, rbx
sub rax, rdx
or rbx, r10
add rbx, rax
mov rcx, qword [rbp - 8]
mov qword [rcx + 0x10], rbx
mov rsi, qword [0x14021c788]
movabs rax, 0xaf13f769fb145512
imul rsi, rax
mov rdi, qword [0x14021c790]
movabs rax, 0x583bdc991fc32a29
imul rdi, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
lea rax, [rdi + rsi*2]
mov rdx, rsi
xor rdx, rdi
sub rax, rdx
add rax, rdi
and rdi, rsi
not rdi
lea rdx, [rax + rdi*2]
lea rdi, [rax + rdi*2]
add rdi, 2
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rdi
and rax, r12
add rax, rdx
add rax, 2
mov rdx, rdi
xor rdx, r12
add rdx, rax
not rdi
or rdi, r12
lea rax, [rdi + rdx]
inc rax
mov rsi, rcx
cmp r8, rax
jbe 0x14008c75a
mov rsi, qword [rcx]
mov byte [rsi + r10], r9b
movzx eax, byte [0x14021c798]
movzx ecx, byte [0x14021c799]
imul edx, eax, 0xffffffe2
mov edi, ecx
shl edi, 7
sub edi, ecx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov byte [rax], r13b
mov eax, edx
and al, dil
lea ecx, [rdx + rdx]
sub cl, al
add cl, dil
not dl
add dl, cl
add dl, al
inc dl
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov byte [rax], r13b
lea eax, [rdx + rdx]
sub al, dl
add al, 0xc3
mov byte [rsi + rbx], al
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008c9ac
cmp dword [0x14022a22c], 9
jle 0x14008c9ac
mov rcx, qword [0x14021c778]
movabs rax, 0x649dc6f5ab938625
imul rcx, rax
mov rdx, qword [0x14021c780]
movabs rax, 0x10863040cbdf0451
imul rdx, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rbx, rcx
and rbx, rdx
add rbx, rcx
add rbx, rdx
not rdx
add rbx, rdx
or rdx, rcx
sub rbx, rdx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rbx
movabs rcx, 0xcf427d8fa2e9a5ce
and rax, rcx
not rbx
sub rax, rbx
movabs rcx, 0x30bd82705d165a31
or rbx, rcx
add rbx, rax
add rbx, rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rbx
not rax
and rax, r10
add rax, rbx
mov rcx, r10
xor rcx, rbx
sub rax, rcx
or rbx, r10
add rbx, rax
mov rsi, qword [rbp - 8]
mov qword [rsi + 0x10], rbx
mov rdi, qword [0x14021c788]
movabs rax, 0xaf13f769fb145512
imul rdi, rax
mov rdx, qword [0x14021c790]
movabs rax, 0x583bdc991fc32a29
imul rdx, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
lea rax, [rdx + rdi*2]
mov rcx, rdi
xor rcx, rdx
sub rax, rcx
add rax, rdx
and rdx, rdi
not rdx
lea rcx, [rax + rdx*2]
lea rdx, [rax + rdx*2]
add rdx, 2
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rdx
and rax, r12
add rax, rcx
add rax, 2
mov rcx, rdx
xor rcx, r12
add rcx, rax
not rdx
or rdx, r12
lea rax, [rdx + rcx]
inc rax
cmp r8, rax
jbe 0x14008c945
mov rax, qword [rbp - 8]
mov rsi, qword [rax]
mov byte [rsi + r10], r9b
movzx eax, byte [0x14021c798]
movzx edi, byte [0x14021c799]
imul edx, eax, 0xffffffe2
mov ecx, edi
shl ecx, 7
sub ecx, edi
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov byte [rax], r13b
mov eax, edx
and al, cl
lea edi, [rdx + rdx]
sub dil, al
add dil, cl
not dl
add dl, dil
add dl, al
inc dl
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov byte [rax], r13b
lea eax, [rdx + rdx]
sub al, dl
add al, 0xc3
mov byte [rsi + rbx], al
jmp 0x14008c5f3
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008ce36
cmp dword [0x14022a22c], 0xa
jl 0x14008ce36
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008c9ec
cmp dword [0x14022a22c], 9
jg 0x14008cbd8
mov rcx, qword [0x14021c778]
movabs rax, 0x649dc6f5ab938625
imul rcx, rax
mov rdx, qword [0x14021c780]
movabs rax, 0x10863040cbdf0451
imul rdx, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rbx, rcx
and rbx, rdx
add rbx, rcx
add rbx, rdx
not rdx
add rbx, rdx
or rdx, rcx
sub rbx, rdx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rbx
movabs rcx, 0xcf427d8fa2e9a5ce
and rax, rcx
not rbx
sub rax, rbx
movabs rcx, 0x30bd82705d165a31
or rbx, rcx
add rbx, rax
add rbx, rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rbx
not rax
and rax, r10
add rax, rbx
mov rcx, r10
xor rcx, rbx
sub rax, rcx
or rbx, r10
add rbx, rax
mov rsi, qword [rbp - 8]
mov qword [rsi + 0x10], rbx
mov rdi, qword [0x14021c788]
movabs rax, 0xaf13f769fb145512
imul rdi, rax
mov rdx, qword [0x14021c790]
movabs rax, 0x583bdc991fc32a29
imul rdx, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
lea rax, [rdx + rdi*2]
mov rcx, rdi
xor rcx, rdx
sub rax, rcx
add rax, rdx
and rdx, rdi
not rdx
lea rcx, [rax + rdx*2]
lea rdx, [rax + rdx*2]
add rdx, 2
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rdx
and rax, r12
add rax, rcx
add rax, 2
mov rcx, rdx
xor rcx, r12
add rcx, rax
not rdx
or rdx, r12
lea rax, [rdx + rcx]
inc rax
mov r11, rsi
cmp r8, rax
jbe 0x14008cb53
mov r11, qword [rsi]
mov byte [r11 + r10], r9b
movzx eax, byte [0x14021c798]
movzx edi, byte [0x14021c799]
imul edx, eax, 0xffffffe2
mov ecx, edi
shl ecx, 7
sub ecx, edi
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov byte [rax], r13b
mov eax, edx
and al, cl
lea edi, [rdx + rdx]
sub dil, al
add dil, cl
not dl
add dl, dil
add dl, al
inc dl
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov byte [rax], r13b
lea eax, [rdx + rdx]
sub al, dl
add al, 0xc3
mov byte [r11 + rbx], al
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008c5d5
cmp dword [0x14022a22c], 0xa
jl 0x14008c5d5
mov rcx, qword [0x14021c778]
movabs rax, 0x649dc6f5ab938625
imul rcx, rax
mov rdx, qword [0x14021c780]
movabs rax, 0x10863040cbdf0451
imul rdx, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rbx, rcx
and rbx, rdx
add rbx, rcx
add rbx, rdx
not rdx
add rbx, rdx
or rdx, rcx
sub rbx, rdx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rbx
movabs rcx, 0xcf427d8fa2e9a5ce
and rax, rcx
not rbx
sub rax, rbx
movabs rcx, 0x30bd82705d165a31
or rbx, rcx
add rbx, rax
add rbx, rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rbx
not rax
and rax, r10
add rax, rbx
mov rcx, r10
xor rcx, rbx
sub rax, rcx
or rbx, r10
add rbx, rax
mov rsi, qword [rbp - 8]
mov qword [rsi + 0x10], rbx
mov rdi, qword [0x14021c788]
movabs rax, 0xaf13f769fb145512
imul rdi, rax
mov rdx, qword [0x14021c790]
movabs rax, 0x583bdc991fc32a29
imul rdx, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
lea rax, [rdx + rdi*2]
mov rcx, rdi
xor rcx, rdx
sub rax, rcx
add rax, rdx
and rdx, rdi
not rdx
lea rcx, [rax + rdx*2]
lea rdx, [rax + rdx*2]
add rdx, 2
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rdx
and rax, r12
add rax, rcx
add rax, 2
mov rcx, rdx
xor rcx, r12
add rcx, rax
not rdx
or rdx, r12
lea rax, [rdx + rcx]
inc rax
cmp r8, rax
jbe 0x14008cd40
mov rax, qword [rbp - 8]
mov rsi, qword [rax]
mov byte [rsi + r10], r9b
movzx eax, byte [0x14021c798]
movzx edi, byte [0x14021c799]
imul edx, eax, 0xffffffe2
mov ecx, edi
shl ecx, 7
sub ecx, edi
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov byte [rax], r13b
mov eax, edx
and al, cl
lea edi, [rdx + rdx]
sub dil, al
add dil, cl
not dl
add dl, dil
add dl, al
inc dl
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov byte [rax], r13b
lea eax, [rdx + rdx]
sub al, dl
add al, 0xc3
mov byte [rsi + rbx], al
jmp 0x14008c9ec
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008cdd0
cmp dword [0x14022a22c], 9
jg 0x14008cdb6
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008ce06
cmp dword [0x14022a22c], 9
jle 0x14008ce06
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008cda7
cmp dword [0x14022a22c], 0xa
jge 0x14008cdea
jmp 0x14008cda7
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008ce20
cmp dword [0x14022a22c], 9
jg 0x14008ce06
sub rsp, 0x20
mov edx, 1
mov rcx, qword [rbp - 8]
call fcn.14009c480
add rsp, 0x20
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008ce5f
cmp dword [0x14022a22c], 9
jg 0x14008ce45
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov r10, qword [rbp - 0x10]
je 0x14008ce81
cmp dword [0x14022a22c], 9
jg 0x14008cfc6
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008ce9f
cmp dword [0x14022a22c], 9
jg 0x14008cf81
mov rcx, qword [r15 + 0x68]
mov r11, qword [rbp - 8]
mov r9, qword [r11 + 0x18]
mov rbx, qword [0x14021c7a0]
movabs rax, 0x2ac68419295ae683
imul rbx, rax
mov rdi, qword [0x14021c7a8]
movabs rax, 0xb4716b433cd7741
imul rdi, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rbx
and rax, rdi
lea rsi, [rbx + rbx]
sub rsi, rax
add rsi, rdi
not rbx
add rbx, rsi
lea rdi, [rbx + rax]
lea rsi, [rax + rbx]
inc rsi
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rsi
movabs rdx, 0x46cb7224718549c5
and rax, rdx
add rax, rdi
inc rax
mov rbx, rsi
xor rbx, rdx
add rbx, rax
or rsi, rdx
sub rbx, rsi
movabs rax, 0xb9348ddb8e7ab63a
add rbx, rax
mov r8, r11
cmp r9, rbx
jbe 0x14008cf59
mov r8, qword [r11]
mov r9, qword [r11 + 0x10]
add r9, r8
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, dword [0x14022a228]
lea ebx, [rdx - 1]
imul ebx, edx
test bl, 1
je 0x14008cfac
cmp dword [0x14022a22c], 9
jle 0x14008cfac
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
jmp 0x14008ce9f
mov edx, dword [0x14022a228]
lea ebx, [rdx - 1]
imul ebx, edx
test bl, 1
je 0x14008cfed
cmp dword [0x14022a22c], 9
jle 0x14008cfed
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008d474
cmp dword [0x14022a22c], 9
jg 0x14008d4bc
jmp 0x14008d474
mov edx, dword [0x14022a228]
lea ebx, [rdx - 1]
imul ebx, edx
test bl, 1
je 0x14008d007
cmp dword [0x14022a22c], 9
jg 0x14008cfed
sub rsp, 0x40
mov qword [rsp + 0x38], r14
mov rdx, qword [rbp - 0x18]
mov qword [rsp + 0x30], rdx
mov rdx, qword [rbp - 0x20]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r10
mov rdx, qword [rbp - 0x28]
call rax
add rsp, 0x40
mov ecx, dword [0x14022a228]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
mov ecx, dword [0x14022a228]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x14008d05a
cmp dword [0x14022a22c], 9
jg 0x14008d040
mov ecx, dword [0x14022a228]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
mov r10, qword [rbp - 0x10]
je 0x14008d078
cmp dword [0x14022a22c], 9
jg 0x14008d0bb
mov ecx, dword [0x14022a228]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
mov ecx, dword [0x14022a228]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x14008d0a1
cmp dword [0x14022a22c], 9
jg 0x14008d087
mov ecx, dword [0x14022a228]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x14008d0d7
cmp dword [0x14022a22c], 9
jle 0x14008d0d7
mov ecx, dword [0x14022a228]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x14008d078
cmp dword [0x14022a22c], 0xa
jge 0x14008d0bb
jmp 0x14008d078
mov ecx, dword [0x14022a228]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x14008d0f1
cmp dword [0x14022a22c], 9
jg 0x14008d0d7
cmp eax, 2
jae 0x14008d9df
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008d123
cmp dword [0x14022a22c], 9
jg 0x14008d109
mov rax, qword [rbp - 0x20]
cmp qword [r14], rax
jne 0x14008da0f
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008d159
cmp dword [0x14022a22c], 9
jg 0x14008d13f
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008d177
cmp dword [0x14022a22c], 9
jg 0x14008d442
mov rdx, qword [r10]
mov r8, qword [rbp - 8]
mov rbx, qword [r8 + 0x18]
mov rdi, qword [0x14021c820]
movabs rax, 0xa41c651caa8a61c5
imul rdi, rax
mov rsi, qword [str.om.]
movabs rax, 0xb842b4b2ad02e380
imul rsi, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rdi
and rax, rsi
mov rcx, rdi
not rcx
and rcx, rsi
sub rax, rcx
add rax, rsi
xor rsi, rdi
add rsi, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
movabs rax, 0xcb7751c4f3e69452
add rsi, rax
mov rcx, r8
cmp rbx, rsi
jbe 0x14008d205
mov rcx, qword [r8]
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rcx
not rax
and rax, rdx
add rax, rax
mov rbx, rdx
sub rbx, rax
sub rbx, rcx
mov rax, rdx
or rax, rcx
add rax, rbx
mov rbx, rdx
xor rbx, rcx
not rbx
add rbx, rax
mov rax, rdx
not rax
or rax, rcx
add rax, rax
sub rbx, rax
and rdx, rcx
not rdx
add rdx, rbx
mov rbx, qword [r8 + 0x10]
cmp rbx, rdx
cmovb rdx, rbx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rbx
and rax, rdx
add rax, rbx
sub rax, rdx
mov r9, rbx
xor r9, rdx
add r9, rax
or rbx, rdx
sub r9, rbx
mov qword [r8 + 0x10], r9
mov r8, qword [0x14021c830]
movabs rax, 0xe10d9a6a783a5a34
imul r8, rax
mov rbx, qword [0x14021c838]
movabs rax, 0x1d863b2bef7bcec8
imul rbx, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rbx
not rax
and rax, r8
lea rdi, [r8 + r8]
sub rdi, rax
add rdi, rbx
mov rsi, r8
xor rsi, rbx
add rsi, rdi
or rbx, r8
sub rsi, rbx
mov rbx, rsi
not rbx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rsi
movabs rdi, 0x95b6d76df5031120
and rax, rdi
add rax, rsi
movabs rdi, 0x6a4928920afceede
and rbx, rdi
add rbx, rax
movabs rax, 0x95b6d76df5031121
xor rsi, rax
add rsi, rbx
movabs rax, 0x95b6d76df5031122
add rsi, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, r9
not rax
mov rbx, rax
and rbx, rsi
mov rdi, r9
sub rdi, rbx
add rdi, rsi
xor r9, rsi
add r9, rdi
or rax, rsi
lea r8, [rax + r9]
inc r8
add rdx, rcx
sub rsp, 0x20
call sub.VCRUNTIME140.dll_memmove
add rsp, 0x20
mov rcx, qword [r15 + 0x80]
mov rdx, qword [0x14021c8b0]
mov eax, 0x100687c
add rdx, rax
sub rsp, 0x20
call rdx
add rsp, 0x20
mov r9d, eax
mov ecx, dword [0x14021c840]
mov edx, dword [0x14021c844]
mov ebx, edx
shr ebx, 0x1e
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov dword [rax], r13d
shrd edx, ecx, 0x1e
lea eax, [rdx + rcx*4]
not edx
add edx, eax
lea ecx, [rbx + rdx]
inc ecx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov dword [rax], r13d
mov eax, ecx
not eax
mov ebx, 0xecf1d831
and eax, ebx
mov edx, ecx
xor edx, ebx
sub edx, eax
mov eax, ecx
or eax, ebx
add edx, eax
not eax
add eax, edx
or ecx, 0x130e27ce
sub eax, ecx
mov ecx, dword [0x14022a228]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
mov r10, qword [rbp - 0x10]
je 0x14008d466
cmp dword [0x14022a22c], 9
jle 0x14008d466
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008d4e4
cmp dword [0x14022a22c], 9
jg 0x14008d770
jmp 0x14008d4e4
cmp r9d, eax
jne 0x14008c52b
jmp 0x14008c4ca
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008ce81
cmp dword [0x14022a22c], 0xa
jl 0x14008ce81
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
jmp 0x14008d474
mov rdx, qword [r10]
mov r8, qword [rbp - 8]
mov rbx, qword [r8 + 0x18]
mov rdi, qword [0x14021c820]
movabs rax, 0xa41c651caa8a61c5
imul rdi, rax
mov rsi, qword [str.om.]
movabs rax, 0xb842b4b2ad02e380
imul rsi, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rdi
and rax, rsi
mov rcx, rdi
not rcx
and rcx, rsi
sub rax, rcx
add rax, rsi
xor rsi, rdi
add rsi, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
movabs rax, 0xcb7751c4f3e69452
add rsi, rax
mov rcx, r8
cmp rbx, rsi
jbe 0x14008d572
mov rcx, qword [r8]
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rcx
not rax
and rax, rdx
add rax, rax
mov rbx, rdx
sub rbx, rax
sub rbx, rcx
mov rax, rdx
or rax, rcx
add rax, rbx
mov rbx, rdx
xor rbx, rcx
not rbx
add rbx, rax
mov rax, rdx
not rax
or rax, rcx
add rax, rax
sub rbx, rax
and rdx, rcx
not rdx
add rdx, rbx
mov rbx, qword [r8 + 0x10]
cmp rbx, rdx
cmovb rdx, rbx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rbx
and rax, rdx
add rax, rbx
sub rax, rdx
mov r9, rbx
xor r9, rdx
add r9, rax
or rbx, rdx
sub r9, rbx
mov qword [r8 + 0x10], r9
mov r8, qword [0x14021c830]
movabs rax, 0xe10d9a6a783a5a34
imul r8, rax
mov rbx, qword [0x14021c838]
movabs rax, 0x1d863b2bef7bcec8
imul rbx, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rbx
not rax
and rax, r8
lea rdi, [r8 + r8]
sub rdi, rax
add rdi, rbx
mov rsi, r8
xor rsi, rbx
add rsi, rdi
or rbx, r8
sub rsi, rbx
mov rbx, rsi
not rbx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rsi
movabs rdi, 0x95b6d76df5031120
and rax, rdi
add rax, rsi
movabs rdi, 0x6a4928920afceede
and rbx, rdi
add rbx, rax
movabs rax, 0x95b6d76df5031121
xor rsi, rax
add rsi, rbx
movabs rax, 0x95b6d76df5031122
add rsi, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, r9
not rax
mov rbx, rax
and rbx, rsi
mov rdi, r9
sub rdi, rbx
add rdi, rsi
xor r9, rsi
add r9, rdi
or rax, rsi
lea r8, [rax + r9]
inc r8
add rdx, rcx
sub rsp, 0x20
call sub.VCRUNTIME140.dll_memmove
add rsp, 0x20
mov rcx, qword [r15 + 0x80]
mov rdx, qword [0x14021c8b0]
mov eax, 0x100687c
add rdx, rax
sub rsp, 0x20
call rdx
mov r10, qword [rbp - 0x10]
add rsp, 0x20
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov dword [rax], r13d
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov dword [rax], r13d
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008d177
cmp dword [0x14022a22c], 0xa
jl 0x14008d177
mov rdx, qword [r10]
mov r8, qword [rbp - 8]
mov rbx, qword [r8 + 0x18]
mov rdi, qword [0x14021c820]
movabs rax, 0xa41c651caa8a61c5
imul rdi, rax
mov rsi, qword [str.om.]
movabs rax, 0xb842b4b2ad02e380
imul rsi, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rdi
and rax, rsi
mov rcx, rdi
not rcx
and rcx, rsi
sub rax, rcx
add rax, rsi
xor rsi, rdi
add rsi, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
movabs rax, 0xcb7751c4f3e69452
add rsi, rax
mov rcx, r8
cmp rbx, rsi
jbe 0x14008d7fe
mov rcx, qword [r8]
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rcx
not rax
and rax, rdx
add rax, rax
mov rbx, rdx
sub rbx, rax
sub rbx, rcx
mov rax, rdx
or rax, rcx
add rax, rbx
mov rbx, rdx
xor rbx, rcx
not rbx
add rbx, rax
mov rax, rdx
not rax
or rax, rcx
add rax, rax
sub rbx, rax
and rdx, rcx
not rdx
add rdx, rbx
mov rbx, qword [r8 + 0x10]
cmp rbx, rdx
cmovb rdx, rbx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rbx
and rax, rdx
add rax, rbx
sub rax, rdx
mov r9, rbx
xor r9, rdx
add r9, rax
or rbx, rdx
sub r9, rbx
mov qword [r8 + 0x10], r9
mov r8, qword [0x14021c830]
movabs rax, 0xe10d9a6a783a5a34
imul r8, rax
mov rbx, qword [0x14021c838]
movabs rax, 0x1d863b2bef7bcec8
imul rbx, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rbx
not rax
and rax, r8
lea rdi, [r8 + r8]
sub rdi, rax
add rdi, rbx
mov rsi, r8
xor rsi, rbx
add rsi, rdi
or rbx, r8
sub rsi, rbx
mov rbx, rsi
not rbx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, rsi
movabs rdi, 0x95b6d76df5031120
and rax, rdi
add rax, rsi
movabs rdi, 0x6a4928920afceede
and rbx, rdi
add rbx, rax
movabs rax, 0x95b6d76df5031121
xor rsi, rax
add rsi, rbx
movabs rax, 0x95b6d76df5031122
add rsi, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r13
mov rax, r9
not rax
mov rbx, rax
and rbx, rsi
mov rdi, r9
sub rdi, rbx
add rdi, rsi
xor r9, rsi
add r9, rdi
or rax, rsi
lea r8, [rax + r9]
inc r8
add rdx, rcx
sub rsp, 0x20
call sub.VCRUNTIME140.dll_memmove
add rsp, 0x20
mov rcx, qword [r15 + 0x80]
mov rdx, qword [0x14021c8b0]
mov eax, 0x100687c
add rdx, rax
sub rsp, 0x20
call rdx
add rsp, 0x20
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov dword [rax], r13d
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov dword [rax], r13d
mov r10, qword [rbp - 0x10]
jmp 0x14008d4e4
cmp eax, 3
jne 0x14008da36
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov r14, qword [rbp - 8]
je 0x14008dacd
cmp dword [0x14022a22c], 9
jg 0x14008dbd9
jmp 0x14008dacd
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008dc2d
cmp dword [0x14022a22c], 9
jg 0x14008dde8
jmp 0x14008dc2d
mov r12d, 0xffffffff
mov r14, qword [rbp - 8]
jmp 0x14008e3ae
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008da6e
cmp dword [0x14022a22c], 9
jg 0x14008da54
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008daa4
cmp dword [0x14022a22c], 9
jle 0x14008daa4
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008da45
cmp dword [0x14022a22c], 0xa
jge 0x14008da88
jmp 0x14008da45
mov r12d, 0xffffffff
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008e46a
cmp dword [0x14022a22c], 0xa
jge 0x14008daaa
jmp 0x14008e46a
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008daeb
cmp dword [0x14022a22c], 9
jg 0x14008db92
mov rcx, qword [r14 + 0x18]
mov rax, qword [0x14021c810]
mov rdx, qword [0x14021c818]
shrd rdx, rax, 0x2f
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor ebx, ebx
mov qword [rax], rbx
lea rdi, [rdx + rdx]
sub rdi, rdx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rbx
movabs rax, 0x42f394aa8d4fc84
mov rdx, rdi
xor rdx, rax
movabs rbx, 0xfbd0c6b5572b037b
xor rbx, rdi
add rbx, rdx
not rdi
add rbx, rdi
add rdi, rdi
movabs rdx, 0x85e729551a9f908
or rdx, rdi
sub rbx, rdx
add rbx, rax
mov rax, r14
cmp rcx, rbx
jbe 0x14008db78
mov rax, qword [r14]
mov ecx, dword [0x14022a228]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x14008dbbf
cmp dword [0x14022a22c], 9
jle 0x14008dbbf
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor ecx, ecx
mov qword [rax], rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rcx
jmp 0x14008daeb
mov ecx, dword [0x14022a228]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x14008dc06
cmp dword [0x14022a22c], 9
jle 0x14008dc06
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor ecx, ecx
mov qword [rax], rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rcx
jmp 0x14008dacd
movsx r12d, byte [rax]
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008e3ae
cmp dword [0x14022a22c], 0xa
jge 0x14008dc0a
jmp 0x14008e3ae
movabs rsi, 0xc75f3f6c0e99481a
imul rsi, qword [0x14021c7b0]
mov rcx, qword [rbp - 8]
mov rdx, qword [rcx + 0x18]
movabs rdi, 0x66cd9e5df66be876
imul rdi, qword [0x14021c7b8]
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor r8d, r8d
mov qword [rax], r8
lea rax, [rdi + rsi*2]
mov rbx, rsi
or rbx, rdi
not rbx
add rbx, rax
add rbx, rdi
not rsi
add rbx, rsi
or rsi, rdi
sub rbx, rsi
lea rdi, [rbx + 1]
mov rsi, rdi
not rsi
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r8
movabs rax, 0x30a27ce6938ca759
or rax, rdi
add rax, rbx
inc rax
movabs rbx, 0xcf5d83196c7358a6
xor rdi, rbx
add rdi, rax
or rsi, rbx
add rsi, rdi
movabs rax, 0x30a27ce6938ca75b
add rax, rsi
mov rbx, rcx
cmp rdx, rax
jbe 0x14008dcec
mov rbx, qword [rcx]
add rbx, qword [rcx + 0x10]
mov rcx, qword [r10]
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r8
mov rdx, rbx
sub rdx, rcx
sub rdx, rcx
mov rax, rbx
xor rax, rcx
add rax, rdx
mov rdx, rbx
not rdx
or rdx, rcx
add rdx, rax
mov qword [rbp - 0x18], rcx
and rbx, rcx
movabs rdi, 0xb7d88ded820f2ce5
imul rdi, qword [0x14021c7c0]
lea r13, [rbx + rdx]
inc r13
movabs rdx, 0x5a22da45e335fa92
imul rdx, qword [0x14021c7c8]
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r8
mov rax, rdx
not rax
and rax, rdi
add rax, rdi
add rax, rdx
not rdi
or rdi, rdx
lea rdx, [rax + rdi]
add rdi, rax
inc rdi
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r8
movabs rax, 0x819c2862b1c58d40
and rax, rdi
add rax, rdx
inc rax
not rdi
movabs rcx, 0x7e63d79d4e3a72bf
or rcx, rdi
add rcx, rax
movabs rax, 0x7e63d79d4e3a72c0
add rax, rcx
mov ecx, dword [0x14022a228]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x14008de4e
cmp dword [0x14022a22c], 9
jle 0x14008de4e
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor ecx, ecx
mov qword [rax], rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rcx
jmp 0x14008dc2d
cmp r13, rax
jle 0x14008e343
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008de80
cmp dword [0x14022a22c], 9
jg 0x14008de66
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
movabs r12, 0xc0615f2355595d8b
test cl, 1
je 0x14008dea8
cmp dword [0x14022a22c], 9
jg 0x14008e187
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008dec6
cmp dword [0x14022a22c], 9
jg 0x14008e047
mov rdx, qword [r15 + 0x80]
mov rcx, qword [0x14021c7d0]
imul rcx, r12
mov rdi, qword [0x14021c7d8]
movabs rax, 0xa7e2f7d0703e2d2d
imul rdi, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov rbx, r12
xor r12d, r12d
mov qword [rax], r12
mov rax, rdi
not rax
and rax, rcx
add rax, rcx
lea r14, [rax + rdi*2]
or rdi, rcx
sub r14, rdi
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r12
mov rax, r14
movabs rsi, 0xf92cfe83b32926bc
xor rax, rsi
lea rax, [rax + r14*2]
mov rcx, r14
or rcx, rsi
sub rax, rcx
sub rax, rcx
add rax, rcx
not r14
or r14, rsi
add r14, rax
movabs rax, 0xf92cfe83b32926bd
add r14, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r12
mov rax, r14
not rax
mov rcx, r13
and rcx, rax
add rcx, r13
add rcx, r14
xor r14, r13
not r14
add r14, rcx
or rax, r13
sub r14, rax
mov rax, qword [rbp - 0x18]
movsx ecx, byte [rax + r14]
mov edi, 0x100687c
add rdi, qword [0x14021c8b8]
sub rsp, 0x20
call rdi
add rsp, 0x20
mov rcx, qword [0x14021c7e0]
mov rsi, qword [0x14021c7e8]
mov rdi, rcx
shl rdi, 0x39
mov rdx, rsi
shr rdx, 7
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r12
mov rax, rdx
not rax
shld rcx, rsi, 0x39
sub rdx, rdi
add rcx, rdx
add rcx, rax
add rcx, rdi
inc rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r12
mov r12, rbx
movabs rdx, 0x8a2160e8f90b0bc9
mov eax, dword [0x14022a228]
lea edi, [rax - 1]
imul edi, eax
test dil, 1
je 0x14008e163
cmp dword [0x14022a22c], 9
jle 0x14008e163
mov rdx, qword [r15 + 0x80]
mov rbx, qword [0x14021c7d0]
imul rbx, r12
mov rdi, qword [0x14021c7d8]
movabs rax, 0xa7e2f7d0703e2d2d
imul rdi, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor r14d, r14d
mov qword [rax], r14
mov rax, rdi
not rax
and rax, rbx
add rax, rbx
lea rcx, [rax + rdi*2]
or rdi, rbx
sub rcx, rdi
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r14
mov rax, rcx
movabs rsi, 0xf92cfe83b32926bc
xor rax, rsi
lea rax, [rax + rcx*2]
mov rbx, rcx
or rbx, rsi
sub rax, rbx
sub rax, rbx
add rax, rbx
not rcx
or rcx, rsi
add rcx, rax
movabs rax, 0xf92cfe83b32926bd
add rcx, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r14
mov rax, rcx
not rax
mov rbx, r13
and rbx, rax
add rbx, r13
add rbx, rcx
xor rcx, r13
not rcx
add rcx, rbx
or rax, r13
sub rcx, rax
mov rax, qword [rbp - 0x18]
movsx ecx, byte [rax + rcx]
mov ebx, 0x100687c
add rbx, qword [0x14021c8b8]
sub rsp, 0x20
call rbx
add rsp, 0x20
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r14
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r14
jmp 0x14008dec6
mov rax, rcx
and rax, rdx
or rcx, rdx
mov edx, dword [0x14022a228]
lea edi, [rdx - 1]
imul edi, edx
test dil, 1
je 0x14008e1ae
cmp dword [0x14022a22c], 9
jle 0x14008e1ae
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008ecac
cmp dword [0x14022a22c], 9
jg 0x14008ede5
jmp 0x14008ecac
sub rcx, rax
mov eax, dword [0x14022a228]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x14008e1cb
cmp dword [0x14022a22c], 9
jg 0x14008e1b1
cmp r13, rcx
mov rsi, qword [rbp - 0x10]
je 0x14008e343
xor r12d, r12d
mov r13, r14
mov rcx, qword [rsi]
mov rdx, qword [r15 + 0x80]
mov rsi, qword [0x14021c7f0]
mov rdi, qword [0x14021c7f8]
mov rbx, rsi
shl rbx, 0x36
shr rdi, 0xa
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r12
shl rsi, 0x37
or rsi, rdi
sub rsi, rbx
movabs rax, 0x8e177dbc0619111a
xor rsi, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r12
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r12
mov rax, r14
and rax, rsi
add rax, r14
add rax, rsi
xor r13, rsi
add r13, rax
or rsi, r14
sub r13, rsi
movsx ecx, byte [rcx + r13]
mov rbx, qword [0x14021c8b8]
mov eax, 0x100687c
add rbx, rax
sub rsp, 0x20
call rbx
mov rsi, qword [rbp - 0x10]
add rsp, 0x20
mov rdi, qword [0x14021c800]
movabs rax, 0x7199b1aaac395a27
imul rdi, rax
mov rbx, qword [0x14021c808]
movabs rax, 0x152554342a33707c
imul rbx, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r12
mov rax, rdi
not rax
and rax, rbx
mov rdx, rdi
sub rdx, rax
add rdx, rbx
mov rcx, rdi
or rcx, rbx
add rdx, rcx
not rcx
add rcx, rdx
not rbx
or rbx, rdi
sub rcx, rbx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r12
mov rax, rcx
not rax
mov rdx, rax
movabs rbx, 0xf6fb7d6205b6de4a
and rdx, rbx
add rdx, rcx
movabs rdi, 0x904829dfa4921b5
xor rcx, rdi
add rcx, rdx
or rax, rbx
sub rcx, rax
add rcx, rbx
cmp r14, rcx
mov r14, r13
jg 0x14008e1de
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov r14, qword [rbp - 8]
mov rdx, qword [rbp - 0x20]
je 0x14008e365
cmp dword [0x14022a22c], 9
jg 0x14008e383
movzx r12d, byte [rdx]
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008e3ae
cmp dword [0x14022a22c], 0xa
jl 0x14008e3ae
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008e365
cmp dword [0x14022a22c], 0xa
jge 0x14008e392
jmp 0x14008e365
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008e3d7
cmp dword [0x14022a22c], 9
jg 0x14008e3bd
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008e3f1
cmp dword [0x14022a22c], 9
jg 0x14008e434
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008e41a
cmp dword [0x14022a22c], 9
jg 0x14008e400
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008e459
cmp dword [0x14022a22c], 9
jle 0x14008e459
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008e3f1
cmp dword [0x14022a22c], 0xa
jge 0x14008e434
jmp 0x14008e3f1
cmp dword [0x14022a22c], 9
jle 0x14008e46a
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14008e450
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008e488
cmp dword [0x14022a22c], 9
jg 0x14008e52b
mov r9, qword [r14 + 0x18]
mov rdx, qword [0x14021c848]
mov rsi, qword [0x14021c850]
mov rdi, rdx
shl rdi, 5
mov rbx, rsi
shr rbx, 0x3b
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor r8d, r8d
mov qword [rax], r8
mov rax, rbx
not rax
shld rdx, rsi, 5
sub rbx, rdi
add rdx, rbx
add rdx, rax
lea rcx, [rdi + rdx]
inc rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r8
movabs rax, 0xb1af485d660d2558
mov rbx, rcx
and rbx, rax
mov rdx, rcx
not rdx
and rdx, rax
add rdx, rbx
xor rcx, rax
sub rcx, rdx
add rcx, rax
mov eax, dword [0x14022a228]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x14008e558
cmp dword [0x14022a22c], 9
jle 0x14008e558
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor ecx, ecx
mov qword [rax], rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rcx
jmp 0x14008e488
cmp r9, rcx
jbe 0x14008ebc9
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008e57f
cmp dword [0x14022a22c], 9
jg 0x14008e6d9
movabs rdi, 0x2d5dc736a2dbbd65
imul rdi, qword [0x14021c858]
mov r8, qword [r14]
movabs rdx, 0x68f05bd9496c14b6
imul rdx, qword [0x14021c860]
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor r10d, r10d
mov qword [rax], r10
lea rax, [rdx + rdi*2]
mov rcx, rdi
or rcx, rdx
not rcx
add rcx, rax
not rdx
or rdx, rdi
sub rcx, rdx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r10
movabs rax, 0x38a30ba0d34340b8
mov rdx, rcx
or rdx, rax
add rdx, rcx
not rcx
or rcx, rax
lea r11, [rcx + rdx]
inc r11
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r10
mov rax, r11
not rax
mov rdi, r9
and rdi, rax
add rdi, r9
add rdi, r11
mov rcx, r9
xor rcx, r11
sub rdi, rcx
sub rdi, rax
and r11, r9
not r11
mov rcx, qword [0x14021c868]
mov rsi, qword [0x14021c870]
mov rbx, rcx
shl rbx, 0x3e
mov rdx, rsi
shr rdx, 2
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r10
shld rcx, rsi, 0x3e
add rbx, rcx
not rcx
add rcx, rbx
lea rsi, [rcx + rdx]
add rdx, rcx
inc rdx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r10
mov rax, rdx
not rax
movabs rcx, 0x2c187387f8107138
and rax, rcx
lea rbx, [rax + rsi]
inc rbx
mov rax, rdx
xor rax, rcx
add rax, rbx
or rdx, rcx
mov ecx, dword [0x14022a228]
lea ebx, [rcx - 1]
imul ebx, ecx
test bl, 1
je 0x14008e700
cmp dword [0x14022a22c], 9
jle 0x14008e700
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008ef01
cmp dword [0x14022a22c], 9
jg 0x14008ef84
jmp 0x14008ef01
add rdi, r11
sub rax, rdx
mov ecx, dword [0x14022a228]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x14008e720
cmp dword [0x14022a22c], 9
jg 0x14008e706
cmp rdi, rax
jbe 0x14008e745
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008e74d
cmp dword [0x14022a22c], 9
jg 0x14008e8b9
jmp 0x14008e74d
mov r14, r8
jmp 0x14008eb5b
mov r14, qword [r8 - 8]
mov rax, qword [0x14021c878]
mov rcx, qword [0x14021c880]
shrd rcx, rax, 0x33
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor esi, esi
mov qword [rax], rsi
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rsi
movabs rax, 0x48194b6b3c625208
mov rdx, rcx
xor rdx, rax
add rdx, rdx
movabs rbx, 0xb7e6b494c39dadf7
or rbx, rcx
add rbx, rdx
not rcx
or rcx, rax
lea rdi, [rcx + rbx]
add rdi, 2
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rsi
mov rax, rdi
not rax
mov rcx, r8
and rcx, rax
lea rcx, [r8 + rcx*2]
add rcx, rdi
mov rdx, r8
or rdx, rdi
sub rcx, rdx
mov rdx, r8
xor rdx, rdi
not rdx
add rdx, rcx
add rax, rax
sub rdx, rax
and rdi, r8
not rdi
add rdi, rdx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rsi
movabs rcx, 0x31bb7f573b30fb59
imul rcx, qword [0x14021c888]
sub rdi, r14
movabs rdx, 0x75d38a19e1f57512
imul rdx, qword [0x14021c890]
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rsi
mov rax, rcx
and rax, rdx
xor rdx, rcx
lea rcx, [rdx + rax*2]
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rsi
movabs rax, 0xc39742c02d32256a
and rax, rcx
lea rdx, [rcx + rax*2]
movabs rbx, 0x3c68bd3fd2cdda95
or rbx, rcx
sub rdx, rbx
not rax
add rax, rdx
mov ecx, dword [0x14022a228]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x14008e932
cmp dword [0x14022a22c], 9
jle 0x14008e932
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor edx, edx
mov qword [rax], rdx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rdx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rdx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rdx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rdx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rdx
jmp 0x14008e74d
cmp rdi, rax
jae 0x14008e980
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008e960
cmp dword [0x14022a22c], 9
jg 0x14008e946
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008e9c2
cmp dword [0x14022a22c], 9
jg 0x14008eb17
jmp 0x14008e9c2
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008e99a
cmp dword [0x14022a22c], 9
jg 0x14008e980
sub rsp, 0x20
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
add rsp, 0x20
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008e9c2
cmp dword [0x14022a22c], 9
jg 0x14008e9a8
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008e9e0
cmp dword [0x14022a22c], 9
jg 0x14008eab7
movabs rdi, 0xd5343ee56817a9c7
imul rdi, qword [0x14021c898]
movabs rdx, 0x4f42889ef4a6ab34
imul rdx, qword [0x14021c8a0]
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor ebx, ebx
mov qword [rax], rbx
lea rax, [rdx + rdi*2]
mov rcx, rdi
xor rcx, rdx
sub rax, rcx
mov rcx, rdx
not rcx
or rcx, rdi
sub rax, rcx
and rdx, rdi
not rdx
add rdx, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rbx
movabs rax, 0x17d9f7a7ccd6451
mov rcx, rdx
and rcx, rax
xor rdx, rax
lea rax, [rdx + rcx*2]
movabs rdx, 0xfd04c10b0665375d
add rdx, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rbx
mov rax, rdx
not rax
and rax, r9
add rax, r9
mov rdi, r9
not rdi
and rdi, rdx
add rdi, rax
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008eaf7
cmp dword [0x14022a22c], 9
jle 0x14008eaf7
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor ecx, ecx
mov qword [rax], rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rcx
jmp 0x14008e9e0
add rdi, rdx
xor rdx, r9
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008eb3e
cmp dword [0x14022a22c], 9
jle 0x14008eb3e
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008efea
cmp dword [0x14022a22c], 9
jg 0x14008f047
jmp 0x14008efea
sub rdi, rdx
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008eb5b
cmp dword [0x14022a22c], 0xa
jge 0x14008eb41
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008eb75
cmp dword [0x14022a22c], 9
jg 0x14008ebab
mov eax, 0x100687c
add rax, qword [0x14021c8d0]
sub rsp, 0x20
mov rcx, r14
mov rdx, rdi
call rax
add rsp, 0x20
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008ebc9
cmp dword [0x14022a22c], 9
jle 0x14008ebc9
mov eax, 0x100687c
add rax, qword [0x14021c8d0]
sub rsp, 0x20
mov rcx, r14
mov rdx, rdi
call rax
add rsp, 0x20
jmp 0x14008eb75
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008ebe3
cmp dword [0x14022a22c], 9
jg 0x14008ebc9
mov eax, r12d
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov edx, dword [r15 + 0x90]
mov rbx, qword [r15 + 0x88]
mov qword [rcx], rbx
mov rax, qword [r15 + 0x38]
mov qword [rax], rbx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], 0
mov eax, edx
and eax, ebx
mov edi, ebx
not edi
and edi, edx
sub edi, eax
add edi, edx
xor edx, ebx
sub edi, edx
mov rax, qword [r15 + 0x50]
mov dword [rax], edi
mov eax, dword [0x14022a228]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x14008beeb
cmp dword [0x14022a22c], 0xa
jl 0x14008beeb
mov edx, dword [r15 + 0x90]
mov rbx, qword [r15 + 0x88]
mov qword [rcx], rbx
mov rax, qword [r15 + 0x38]
mov qword [rax], rbx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], 0
mov eax, edx
and eax, ebx
mov edi, ebx
not edi
and edi, edx
sub edi, eax
add edi, edx
xor edx, ebx
sub edi, edx
mov rax, qword [r15 + 0x50]
mov dword [rax], edi
jmp 0x14008ebf7
mov rdx, qword [r15 + 0x80]
mov rdi, qword [0x14021c7d0]
imul rdi, r12
mov rbx, qword [0x14021c7d8]
movabs rax, 0xa7e2f7d0703e2d2d
imul rbx, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor r14d, r14d
mov qword [rax], r14
mov rax, rbx
not rax
and rax, rdi
add rax, rdi
lea rcx, [rax + rbx*2]
or rbx, rdi
sub rcx, rbx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r14
mov rax, rcx
movabs rsi, 0xf92cfe83b32926bc
xor rax, rsi
lea rax, [rax + rcx*2]
mov rbx, rcx
or rbx, rsi
sub rax, rbx
sub rax, rbx
add rax, rbx
not rcx
or rcx, rsi
add rcx, rax
movabs rax, 0xf92cfe83b32926bd
add rcx, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r14
mov rax, rcx
not rax
mov rbx, r13
and rbx, rax
add rbx, r13
add rbx, rcx
xor rcx, r13
not rcx
add rcx, rbx
or rax, r13
sub rcx, rax
mov rax, qword [rbp - 0x18]
movsx ecx, byte [rax + rcx]
mov ebx, 0x100687c
add rbx, qword [0x14021c8b8]
sub rsp, 0x20
call rbx
add rsp, 0x20
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r14
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r14
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008dea8
cmp dword [0x14022a22c], 0xa
jl 0x14008dea8
mov rdx, qword [r15 + 0x80]
mov rbx, qword [0x14021c7d0]
imul rbx, r12
mov rdi, qword [0x14021c7d8]
movabs rax, 0xa7e2f7d0703e2d2d
imul rdi, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor r14d, r14d
mov qword [rax], r14
mov rax, rdi
not rax
and rax, rbx
add rax, rbx
lea rcx, [rax + rdi*2]
or rdi, rbx
sub rcx, rdi
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r14
mov rax, rcx
movabs rsi, 0xf92cfe83b32926bc
xor rax, rsi
lea rax, [rax + rcx*2]
mov rbx, rcx
or rbx, rsi
sub rax, rbx
sub rax, rbx
add rax, rbx
not rcx
or rcx, rsi
add rcx, rax
movabs rax, 0xf92cfe83b32926bd
add rcx, rax
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r14
mov rax, rcx
not rax
mov rbx, r13
and rbx, rax
add rbx, r13
add rbx, rcx
xor rcx, r13
not rcx
add rcx, rbx
or rax, r13
sub rcx, rax
mov rax, qword [rbp - 0x18]
movsx ecx, byte [rax + rcx]
mov ebx, 0x100687c
add rbx, qword [0x14021c8b8]
sub rsp, 0x20
call rbx
add rsp, 0x20
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r14
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r14
jmp 0x14008ecac
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor ecx, ecx
mov qword [rax], rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rcx
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008e57f
cmp dword [0x14022a22c], 0xa
jl 0x14008e57f
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor ecx, ecx
mov qword [rax], rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rcx
jmp 0x14008ef01
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor ecx, ecx
mov qword [rax], rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rcx
mov eax, dword [0x14022a228]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14008e9c2
cmp dword [0x14022a22c], 0xa
jl 0x14008e9c2
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor ecx, ecx
mov qword [rax], rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rcx
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rcx
jmp 0x14008efea