Function at 0x14019a1b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x488
mov rdi, rsp
mov ecx, 0x122
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x4a0]
mov rax, qword [0x14031fcd0]
xor rax, rsp
mov qword [rsp + 0x478], rax
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x4c], 0
mov dword [rsp + 0x74], 0
mov dword [rsp + 0x94], 0
mov dword [rsp + 0x98], 0
lea rax, [rsp + 0x1f4]
mov rdi, rax
xor eax, eax
mov ecx, 5
rep stosb byte [rdi], al
mov dword [rsp + 0x2a8], 0
mov qword [rsp + 0x2b8], 0
mov rax, qword [rsp + 0x4a0]
mov rax, qword [rax + 0x48]
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x4b0], 0
jne 0x14019a274
mov eax, 7
jmp 0x14019c17e
mov rax, qword [rsp + 0x4a0]
movzx eax, byte [rax + 0xc]
mov rcx, qword [rsp + 0x4a0]
movzx ecx, word [rcx + 0x16]
add eax, ecx
mov dword [rsp + 0x54], eax
cmp dword [rsp + 0x54], 2
jge 0x14019a2a3
mov dword [rsp + 0x60], 0
jmp 0x14019a2f6
cmp dword [rsp + 0x4a8], 0
jne 0x14019a2b7
mov dword [rsp + 0x60], 0
jmp 0x14019a2e6
mov eax, dword [rsp + 0x54]
cmp dword [rsp + 0x4a8], eax
jne 0x14019a2d9
mov eax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x4c0]
lea eax, [rax + rcx - 2]
mov dword [rsp + 0x60], eax
jmp 0x14019a2e6
mov eax, dword [rsp + 0x4a8]
dec eax
mov dword [rsp + 0x60], eax
mov eax, 2
sub eax, dword [rsp + 0x4c0]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x54]
add ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x4a0]
movzx ecx, byte [rcx + 0xc]
sub eax, ecx
mov rcx, qword [rsp + 0x4a0]
movzx ecx, word [rcx + 0x16]
cmp eax, ecx
jne 0x14019a357
mov rax, qword [rsp + 0x4a0]
movzx eax, byte [rax + 9]
add eax, 8
cdqe
mov rcx, qword [rsp + 0x4a0]
mov rcx, qword [rcx + 0x50]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x108], rax
jmp 0x14019a3b1
mov rax, qword [rsp + 0x4a0]
movzx eax, word [rax + 0x18]
mov ecx, dword [rsp + 0x60]
mov edx, dword [rsp + 0x54]
add edx, ecx
mov ecx, edx
mov rdx, qword [rsp + 0x4a0]
movzx edx, byte [rdx + 0xc]
sub ecx, edx
shl ecx, 1
movsxd rcx, ecx
mov rdx, qword [rsp + 0x4a0]
mov rdx, qword [rdx + 0x60]
movzx ecx, word [rdx + rcx]
ror cx, 8
movzx ecx, cx
and eax, ecx
cdqe
mov rcx, qword [rsp + 0x4a0]
add rax, qword [rcx + 0x50]
mov qword [rsp + 0x108], rax
mov rcx, qword [rsp + 0x108]
call fcn.1401eb180
mov dword [rsp + 0x1d4], eax
xor eax, eax
cmp eax, 1
je 0x14019a77e
movsxd rax, dword [rsp + 0x54]
lea rax, [rsp + rax*8 + 0xa8]
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8, rax
mov edx, dword [rsp + 0x1d4]
mov rcx, qword [rsp + 0x40]
call fcn.1401b30d0
mov dword [rsp + 0x74], eax
cmp dword [rsp + 0x74], 0
je 0x14019a437
mov eax, dword [rsp + 0x54]
inc eax
cdqe
shl rax, 3
mov qword [rsp + 0x3f0], rax
lea rcx, [rsp + 0xa8]
mov rdi, rcx
xor eax, eax
mov rcx, qword [rsp + 0x3f0]
rep stosb byte [rdi], al
jmp 0x14019c107
movsxd rax, dword [rsp + 0x54]
mov rax, qword [rsp + rax*8 + 0xa8]
movzx eax, word [rax + 0x16]
movsxd rcx, dword [rsp + 0x54]
mov rcx, qword [rsp + rcx*8 + 0xa8]
movzx ecx, byte [rcx + 0xc]
add ecx, dword [rsp + 0x48]
lea eax, [rcx + rax + 1]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x3f8], eax
mov eax, dword [rsp + 0x54]
dec eax
mov dword [rsp + 0x54], eax
cmp dword [rsp + 0x3f8], 0
jne 0x14019a491
mov dword [rsp + 0x3fc], 1
jmp 0x14019a49c
mov dword [rsp + 0x3fc], 0
cmp dword [rsp + 0x3fc], 0
je 0x14019a4ab
jmp 0x14019a77e
mov rax, qword [rsp + 0x4a0]
movzx eax, byte [rax + 0xc]
test eax, eax
je 0x14019a57c
mov eax, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x54]
add ecx, eax
mov eax, ecx
mov ecx, 2
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x4a0]
movzx ecx, word [rdx + rcx + 0x1a]
cmp eax, ecx
jne 0x14019a57c
mov eax, 8
imul rax, rax, 0
movsxd rcx, dword [rsp + 0x54]
mov rdx, qword [rsp + 0x4a0]
mov rax, qword [rdx + rax + 0x28]
mov qword [rsp + rcx*8 + 0x118], rax
movsxd rax, dword [rsp + 0x54]
mov rcx, qword [rsp + rax*8 + 0x118]
call fcn.1401eb180
mov dword [rsp + 0x1d4], eax
movsxd rax, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x4a0]
mov rcx, qword [rcx + 0x78]
mov qword [rsp + 0x400], rcx
mov rdx, qword [rsp + rax*8 + 0x118]
mov rcx, qword [rsp + 0x4a0]
mov rax, qword [rsp + 0x400]
call qword [str.PS_]
movsxd rcx, dword [rsp + 0x54]
movzx eax, ax
mov dword [rsp + rcx*4 + 0x1a8], eax
mov rax, qword [rsp + 0x4a0]
mov byte [rax + 0xc], 0
jmp 0x14019a779
mov rax, qword [rsp + 0x4a0]
movzx eax, word [rax + 0x18]
mov ecx, dword [rsp + 0x60]
mov edx, dword [rsp + 0x54]
add edx, ecx
mov ecx, edx
mov rdx, qword [rsp + 0x4a0]
movzx edx, byte [rdx + 0xc]
sub ecx, edx
shl ecx, 1
movsxd rcx, ecx
mov rdx, qword [rsp + 0x4a0]
mov rdx, qword [rdx + 0x60]
movzx ecx, word [rdx + rcx]
ror cx, 8
movzx ecx, cx
and eax, ecx
cdqe
mov rcx, qword [rsp + 0x4a0]
add rax, qword [rcx + 0x50]
movsxd rcx, dword [rsp + 0x54]
mov qword [rsp + rcx*8 + 0x118], rax
movsxd rax, dword [rsp + 0x54]
mov rcx, qword [rsp + rax*8 + 0x118]
call fcn.1401eb180
mov dword [rsp + 0x1d4], eax
movsxd rax, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x4a0]
mov rcx, qword [rcx + 0x78]
mov qword [rsp + 0x408], rcx
mov rdx, qword [rsp + rax*8 + 0x118]
mov rcx, qword [rsp + 0x4a0]
mov rax, qword [rsp + 0x408]
call qword [str.PS_]
movsxd rcx, dword [rsp + 0x54]
movzx eax, ax
mov dword [rsp + rcx*4 + 0x1a8], eax
mov rax, qword [rsp + 0x40]
movzx eax, word [rax + 0x26]
and eax, 0xc
test eax, eax
je 0x14019a73e
movsxd rax, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x4a0]
mov ecx, dword [rcx + 0x50]
mov eax, dword [rsp + rax*8 + 0x118]
sub eax, ecx
mov dword [rsp + 0x2d4], eax
movsxd rax, dword [rsp + 0x54]
mov eax, dword [rsp + rax*4 + 0x1a8]
mov ecx, dword [rsp + 0x2d4]
add ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x40]
cmp eax, dword [rcx + 0x34]
jle 0x14019a6cf
mov ecx, 0x10d7c
call fcn.1401d9620
mov dword [rsp + 0x74], eax
mov eax, dword [rsp + 0x54]
inc eax
cdqe
shl rax, 3
mov qword [rsp + 0x410], rax
lea rcx, [rsp + 0xa8]
mov rdi, rcx
xor eax, eax
mov rcx, qword [rsp + 0x410]
rep stosb byte [rdi], al
jmp 0x14019c107
movsxd rax, dword [rsp + 0x54]
movsxd rax, dword [rsp + rax*4 + 0x1a8]
movsxd rcx, dword [rsp + 0x54]
movsxd rdx, dword [rsp + 0x2d4]
mov rdi, qword [rsp + 0x4b0]
add rdi, rdx
mov rdx, rdi
mov rdi, rdx
mov rsi, qword [rsp + rcx*8 + 0x118]
mov rcx, rax
rep movsb byte [rdi], byte [rsi]
movsxd rax, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x4a0]
mov rcx, qword [rcx + 0x50]
mov rax, qword [rsp + rax*8 + 0x118]
sub rax, rcx
mov rcx, qword [rsp + 0x4b0]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0x54]
mov qword [rsp + rcx*8 + 0x118], rax
movsxd rax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x60]
mov edx, dword [rsp + 0x54]
add edx, ecx
mov ecx, edx
mov rdx, qword [rsp + 0x4a0]
movzx edx, byte [rdx + 0xc]
sub ecx, edx
lea r9, [rsp + 0x74]
mov r8d, dword [rsp + rax*4 + 0x1a8]
mov edx, ecx
mov rcx, qword [rsp + 0x4a0]
call fcn.1401a8860
jmp 0x14019a3c5
mov eax, dword [rsp + 0x48]
add eax, 3
and eax, 0xfffffffc
mov dword [rsp + 0x48], eax
movsxd rax, dword [rsp + 0x48]
movsxd rcx, dword [rsp + 0x48]
shl rcx, 1
lea rax, [rcx + rax*8]
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx + 0x30]
add rax, rcx
mov dword [rsp + 0x9c], eax
movsxd rax, dword [rsp + 0x9c]
mov rdx, rax
xor ecx, ecx
call fcn.1401dbb00
mov qword [rsp + 0x2b8], rax
cmp qword [rsp + 0x2b8], 0
jne 0x14019a7e1
mov dword [rsp + 0x74], 7
jmp 0x14019c107
movsxd rax, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x2b8]
lea rax, [rcx + rax*8]
mov qword [rsp + 0x2c0], rax
movsxd rax, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x2c0]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x1c8], rax
mov eax, 8
imul rax, rax, 0
mov rax, qword [rsp + rax + 0xa8]
mov qword [rsp + 0x2b0], rax
mov rax, qword [rsp + 0x2b0]
movzx eax, byte [rax + 8]
shl eax, 2
mov word [rsp + 0x84], ax
mov rax, qword [rsp + 0x2b0]
movzx eax, byte [rax + 3]
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x54], 0
jmp 0x14019a86a
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x50]
cmp dword [rsp + 0x54], eax
jge 0x14019ad1d
movsxd rax, dword [rsp + 0x54]
mov rax, qword [rsp + rax*8 + 0xa8]
mov qword [rsp + 0x2d8], rax
mov rax, qword [rsp + 0x2d8]
movzx eax, word [rax + 0x16]
mov dword [rsp + 0x2e0], eax
mov rax, qword [rsp + 0x2d8]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x2e8], rax
mov rax, qword [rsp + 0x2d8]
movzx eax, word [rax + 0x18]
mov word [rsp + 0x2f0], ax
mov rax, qword [rsp + 0x2d8]
movzx eax, word [rax + 0x12]
mov rcx, qword [rsp + 0x2e8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x2f8], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x2d8]
mov rcx, qword [rcx + 0x50]
movzx eax, byte [rcx + rax]
mov ecx, 8
imul rcx, rcx, 0
mov rcx, qword [rsp + rcx + 0xa8]
mov edx, 1
imul rdx, rdx, 0
mov rcx, qword [rcx + 0x50]
movzx ecx, byte [rcx + rdx]
cmp eax, ecx
je 0x14019a93c
mov ecx, 0x10dbd
call fcn.1401d9620
mov dword [rsp + 0x74], eax
jmp 0x14019c107
mov rax, qword [rsp + 0x2d8]
movzx eax, byte [rax + 0xc]
mov ecx, dword [rsp + 0x2e0]
add ecx, eax
mov eax, ecx
cdqe
shl rax, 1
mov qword [rsp + 0x418], rax
movsxd rcx, dword [rsp + 0x2a8]
mov rdx, qword [rsp + 0x2c0]
lea rcx, [rdx + rcx*2]
mov rdi, rcx
xor eax, eax
mov rcx, qword [rsp + 0x418]
rep stosb byte [rdi], al
mov rax, qword [rsp + 0x2d8]
movzx eax, byte [rax + 0xc]
test eax, eax
jle 0x14019aa99
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x2d8]
movzx eax, word [rcx + rax + 0x1a]
mov dword [rsp + 0x2e0], eax
mov dword [rsp + 0x58], 0
jmp 0x14019a9c8
mov eax, dword [rsp + 0x58]
inc eax
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x2e0]
cmp dword [rsp + 0x58], eax
jge 0x14019aa3b
movzx eax, word [rsp + 0x2f0]
mov rcx, qword [rsp + 0x2f8]
movzx ecx, word [rcx]
ror cx, 8
movzx ecx, cx
and eax, ecx
cdqe
mov rcx, qword [rsp + 0x2e8]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0x2a8]
mov rdx, qword [rsp + 0x2b8]
mov qword [rdx + rcx*8], rax
mov rax, qword [rsp + 0x2f8]
add rax, 2
mov qword [rsp + 0x2f8], rax
mov eax, dword [rsp + 0x2a8]
inc eax
mov dword [rsp + 0x2a8], eax
jmp 0x14019a9be
mov dword [rsp + 0x5c], 0
jmp 0x14019aa4f
mov eax, dword [rsp + 0x5c]
inc eax
mov dword [rsp + 0x5c], eax
mov rax, qword [rsp + 0x2d8]
movzx eax, byte [rax + 0xc]
cmp dword [rsp + 0x5c], eax
jge 0x14019aa99
movsxd rax, dword [rsp + 0x5c]
movsxd rcx, dword [rsp + 0x2a8]
mov rdx, qword [rsp + 0x2b8]
mov rdi, qword [rsp + 0x2d8]
mov rax, qword [rdi + rax*8 + 0x28]
mov qword [rdx + rcx*8], rax
mov eax, dword [rsp + 0x2a8]
inc eax
mov dword [rsp + 0x2a8], eax
jmp 0x14019aa45
mov rax, qword [rsp + 0x2d8]
movzx eax, word [rax + 0x12]
mov rcx, qword [rsp + 0x2e8]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x2d8]
movzx ecx, word [rcx + 0x16]
shl ecx, 1
movsxd rcx, ecx
add rax, rcx
mov qword [rsp + 0x300], rax
mov rax, qword [rsp + 0x300]
cmp qword [rsp + 0x2f8], rax
jae 0x14019ab47
movzx eax, word [rsp + 0x2f0]
mov rcx, qword [rsp + 0x2f8]
movzx ecx, word [rcx]
ror cx, 8
movzx ecx, cx
and eax, ecx
cdqe
mov rcx, qword [rsp + 0x2e8]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0x2a8]
mov rdx, qword [rsp + 0x2b8]
mov qword [rdx + rcx*8], rax
mov rax, qword [rsp + 0x2f8]
add rax, 2
mov qword [rsp + 0x2f8], rax
mov eax, dword [rsp + 0x2a8]
inc eax
mov dword [rsp + 0x2a8], eax
jmp 0x14019aacf
movsxd rax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x2a8]
mov dword [rsp + rax*4 + 0x178], ecx
mov eax, dword [rsp + 0x50]
dec eax
cmp dword [rsp + 0x54], eax
jge 0x14019ad18
cmp dword [rsp + 0x88], 0
jne 0x14019ad18
movsxd rax, dword [rsp + 0x54]
movzx eax, word [rsp + rax*4 + 0x1a8]
mov word [rsp + 0x308], ax
movsxd rax, dword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x2c0]
movzx edx, word [rsp + 0x308]
mov word [rcx + rax*2], dx
movsxd rax, dword [rsp + 0x94]
mov rcx, qword [rsp + 0x1c8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x310], rax
movzx eax, word [rsp + 0x308]
mov ecx, dword [rsp + 0x94]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x94], eax
movzx eax, word [rsp + 0x308]
movsxd rcx, dword [rsp + 0x54]
mov rdi, qword [rsp + 0x310]
mov rsi, qword [rsp + rcx*8 + 0x118]
mov ecx, eax
rep movsb byte [rdi], byte [rsi]
movzx eax, word [rsp + 0x84]
mov rcx, qword [rsp + 0x310]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0x2a8]
mov rdx, qword [rsp + 0x2b8]
mov qword [rdx + rcx*8], rax
movsxd rax, dword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x2c0]
movzx eax, word [rcx + rax*2]
movzx ecx, word [rsp + 0x84]
sub eax, ecx
movsxd rcx, dword [rsp + 0x2a8]
mov rdx, qword [rsp + 0x2c0]
mov word [rdx + rcx*2], ax
mov rax, qword [rsp + 0x2d8]
movzx eax, byte [rax + 8]
test eax, eax
jne 0x14019ac9e
mov eax, 1
imul rax, rax, 8
mov rcx, qword [rsp + 0x2d8]
mov rcx, qword [rcx + 0x50]
movsxd rdx, dword [rsp + 0x2a8]
mov rdi, qword [rsp + 0x2b8]
mov rdx, qword [rdi + rdx*8]
mov eax, dword [rcx + rax]
mov dword [rdx], eax
jmp 0x14019ad08
movsxd rax, dword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x2c0]
movzx eax, word [rcx + rax*2]
cmp eax, 4
jge 0x14019ad08
movsxd rax, dword [rsp + 0x94]
mov rcx, qword [rsp + 0x1c8]
mov byte [rcx + rax], 0
mov eax, dword [rsp + 0x94]
inc eax
mov dword [rsp + 0x94], eax
movsxd rax, dword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x2c0]
movzx eax, word [rcx + rax*2]
inc ax
movsxd rcx, dword [rsp + 0x2a8]
mov rdx, qword [rsp + 0x2c0]
mov word [rdx + rcx*2], ax
jmp 0x14019ac9e
mov eax, dword [rsp + 0x2a8]
inc eax
mov dword [rsp + 0x2a8], eax
jmp 0x14019a860
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x34]
movzx ecx, word [rsp + 0x84]
lea eax, [rax + rcx - 0xc]
mov dword [rsp + 0x8c], eax
mov dword [rsp + 0x54], 0
jmp 0x14019ad4c
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x50]
cmp dword [rsp + 0x54], eax
jge 0x14019ae45
movsxd rax, dword [rsp + 0x54]
mov rax, qword [rsp + rax*8 + 0xa8]
mov qword [rsp + 0x318], rax
mov rax, qword [rsp + 0x318]
movzx eax, word [rax + 0x14]
mov ecx, dword [rsp + 0x8c]
sub ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x54]
mov dword [rsp + rcx*4 + 0x1a8], eax
mov dword [rsp + 0x58], 0
jmp 0x14019ada6
mov eax, dword [rsp + 0x58]
inc eax
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0x318]
movzx eax, byte [rax + 0xc]
cmp dword [rsp + 0x58], eax
jge 0x14019ae28
movsxd rax, dword [rsp + 0x54]
mov qword [rsp + 0x420], rax
movsxd rcx, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x318]
mov rdx, qword [rdx + 0x78]
mov qword [rsp + 0x428], rdx
mov rdx, qword [rsp + 0x318]
mov rdx, qword [rdx + rcx*8 + 0x28]
mov rcx, qword [rsp + 0x318]
mov rax, qword [rsp + 0x428]
call qword [str.PS_]
movzx eax, ax
mov rcx, qword [rsp + 0x420]
mov ecx, dword [rsp + rcx*4 + 0x1a8]
lea eax, [rax + rcx + 2]
movsxd rcx, dword [rsp + 0x54]
mov dword [rsp + rcx*4 + 0x1a8], eax
jmp 0x14019ad9c
movsxd rax, dword [rsp + 0x54]
movsxd rcx, dword [rsp + 0x54]
mov eax, dword [rsp + rax*4 + 0x178]
mov dword [rsp + rcx*4 + 0x148], eax
jmp 0x14019ad42
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x5c], eax
mov dword [rsp + 0x54], 0
jmp 0x14019ae61
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x5c]
cmp dword [rsp + 0x54], eax
jge 0x14019b154
movsxd rax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x8c]
cmp dword [rsp + rax*4 + 0x1a8], ecx
jle 0x14019afc4
mov eax, dword [rsp + 0x54]
inc eax
cmp eax, dword [rsp + 0x5c]
jl 0x14019aee2
mov eax, dword [rsp + 0x54]
add eax, 2
mov dword [rsp + 0x5c], eax
cmp dword [rsp + 0x5c], 5
jle 0x14019aeb9
mov ecx, 0x10e2a
call fcn.1401d9620
mov dword [rsp + 0x74], eax
jmp 0x14019c107
mov eax, dword [rsp + 0x5c]
dec eax
cdqe
mov dword [rsp + rax*4 + 0x1a8], 0
mov eax, dword [rsp + 0x5c]
dec eax
cdqe
mov ecx, dword [rsp + 0x2a8]
mov dword [rsp + rax*4 + 0x148], ecx
movsxd rax, dword [rsp + 0x54]
mov eax, dword [rsp + rax*4 + 0x148]
dec eax
mov edx, eax
lea rcx, [rsp + 0x2a8]
call fcn.14019f1e0
movzx eax, ax
add eax, 2
mov dword [rsp + 0x320], eax
movsxd rax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x320]
mov eax, dword [rsp + rax*4 + 0x1a8]
sub eax, ecx
movsxd rcx, dword [rsp + 0x54]
mov dword [rsp + rcx*4 + 0x1a8], eax
cmp dword [rsp + 0x88], 0
jne 0x14019af7f
movsxd rax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x2a8]
cmp dword [rsp + rax*4 + 0x148], ecx
jge 0x14019af74
movsxd rax, dword [rsp + 0x54]
mov edx, dword [rsp + rax*4 + 0x148]
lea rcx, [rsp + 0x2a8]
call fcn.14019f1e0
movzx eax, ax
add eax, 2
mov dword [rsp + 0x320], eax
jmp 0x14019af7f
mov dword [rsp + 0x320], 0
mov eax, dword [rsp + 0x54]
inc eax
cdqe
mov eax, dword [rsp + rax*4 + 0x1a8]
add eax, dword [rsp + 0x320]
mov ecx, dword [rsp + 0x54]
inc ecx
movsxd rcx, ecx
mov dword [rsp + rcx*4 + 0x1a8], eax
movsxd rax, dword [rsp + 0x54]
mov eax, dword [rsp + rax*4 + 0x148]
dec eax
movsxd rcx, dword [rsp + 0x54]
mov dword [rsp + rcx*4 + 0x148], eax
jmp 0x14019ae6f
movsxd rax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x2a8]
cmp dword [rsp + rax*4 + 0x148], ecx
jge 0x14019b0dc
movsxd rax, dword [rsp + 0x54]
mov edx, dword [rsp + rax*4 + 0x148]
lea rcx, [rsp + 0x2a8]
call fcn.14019f1e0
movzx eax, ax
add eax, 2
mov dword [rsp + 0x320], eax
movsxd rax, dword [rsp + 0x54]
mov eax, dword [rsp + rax*4 + 0x1a8]
add eax, dword [rsp + 0x320]
cmp eax, dword [rsp + 0x8c]
jle 0x14019b024
jmp 0x14019b0dc
movsxd rax, dword [rsp + 0x54]
mov eax, dword [rsp + rax*4 + 0x1a8]
add eax, dword [rsp + 0x320]
movsxd rcx, dword [rsp + 0x54]
mov dword [rsp + rcx*4 + 0x1a8], eax
movsxd rax, dword [rsp + 0x54]
mov eax, dword [rsp + rax*4 + 0x148]
inc eax
movsxd rcx, dword [rsp + 0x54]
mov dword [rsp + rcx*4 + 0x148], eax
cmp dword [rsp + 0x88], 0
jne 0x14019b0af
movsxd rax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x2a8]
cmp dword [rsp + rax*4 + 0x148], ecx
jge 0x14019b0a4
movsxd rax, dword [rsp + 0x54]
mov edx, dword [rsp + rax*4 + 0x148]
lea rcx, [rsp + 0x2a8]
call fcn.14019f1e0
movzx eax, ax
add eax, 2
mov dword [rsp + 0x320], eax
jmp 0x14019b0af
mov dword [rsp + 0x320], 0
mov eax, dword [rsp + 0x54]
inc eax
cdqe
mov ecx, dword [rsp + 0x320]
mov eax, dword [rsp + rax*4 + 0x1a8]
sub eax, ecx
mov ecx, dword [rsp + 0x54]
inc ecx
movsxd rcx, ecx
mov dword [rsp + rcx*4 + 0x1a8], eax
jmp 0x14019afc4
movsxd rax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x2a8]
cmp dword [rsp + rax*4 + 0x148], ecx
jl 0x14019b0fd
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x5c], eax
jmp 0x14019b14f
cmp dword [rsp + 0x54], 0
jle 0x14019b11c
mov eax, dword [rsp + 0x54]
dec eax
cdqe
mov eax, dword [rsp + rax*4 + 0x148]
mov dword [rsp + 0x430], eax
jmp 0x14019b127
mov dword [rsp + 0x430], 0
movsxd rax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x430]
cmp dword [rsp + rax*4 + 0x148], ecx
jg 0x14019b14f
mov ecx, 0x10e4b
call fcn.1401d9620
mov dword [rsp + 0x74], eax
jmp 0x14019c107
jmp 0x14019ae57
mov eax, dword [rsp + 0x5c]
dec eax
mov dword [rsp + 0x54], eax
jmp 0x14019b16a
mov eax, dword [rsp + 0x54]
dec eax
mov dword [rsp + 0x54], eax
cmp dword [rsp + 0x54], 0
jle 0x14019b392
movsxd rax, dword [rsp + 0x54]
mov eax, dword [rsp + rax*4 + 0x1a8]
mov dword [rsp + 0x324], eax
mov eax, dword [rsp + 0x54]
dec eax
cdqe
mov eax, dword [rsp + rax*4 + 0x1a8]
mov dword [rsp + 0x328], eax
mov eax, dword [rsp + 0x54]
dec eax
cdqe
mov eax, dword [rsp + rax*4 + 0x148]
dec eax
mov dword [rsp + 0x32c], eax
mov eax, dword [rsp + 0x32c]
inc eax
sub eax, dword [rsp + 0x88]
mov dword [rsp + 0x330], eax
mov edx, dword [rsp + 0x330]
lea rcx, [rsp + 0x2a8]
call fcn.14019f1e0
mov edx, dword [rsp + 0x32c]
lea rcx, [rsp + 0x2a8]
call fcn.14019f1e0
cmp dword [rsp + 0x324], 0
je 0x14019b27b
cmp dword [rsp + 0x4c0], 0
jne 0x14019b276
mov eax, dword [rsp + 0x5c]
dec eax
cmp dword [rsp + 0x54], eax
jne 0x14019b222
mov dword [rsp + 0x434], 0
jmp 0x14019b22d
mov dword [rsp + 0x434], 2
movsxd rax, dword [rsp + 0x330]
mov rcx, qword [rsp + 0x2c0]
movzx eax, word [rcx + rax*2]
mov ecx, dword [rsp + 0x324]
lea eax, [rcx + rax + 2]
movsxd rcx, dword [rsp + 0x32c]
mov rdx, qword [rsp + 0x2c0]
movzx ecx, word [rdx + rcx*2]
add ecx, dword [rsp + 0x434]
mov edx, dword [rsp + 0x328]
sub edx, ecx
mov ecx, edx
cmp eax, ecx
jle 0x14019b27b
jmp 0x14019b30e
movsxd rax, dword [rsp + 0x330]
mov rcx, qword [rsp + 0x2c0]
movzx eax, word [rcx + rax*2]
mov ecx, dword [rsp + 0x324]
lea eax, [rcx + rax + 2]
mov dword [rsp + 0x324], eax
movsxd rax, dword [rsp + 0x32c]
mov rcx, qword [rsp + 0x2c0]
movzx eax, word [rcx + rax*2]
add eax, 2
mov ecx, dword [rsp + 0x328]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x328], eax
mov eax, dword [rsp + 0x54]
dec eax
cdqe
mov ecx, dword [rsp + 0x32c]
mov dword [rsp + rax*4 + 0x148], ecx
mov eax, dword [rsp + 0x32c]
dec eax
mov dword [rsp + 0x32c], eax
mov eax, dword [rsp + 0x330]
dec eax
mov dword [rsp + 0x330], eax
cmp dword [rsp + 0x32c], 0
jge 0x14019b1e1
movsxd rax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x324]
mov dword [rsp + rax*4 + 0x1a8], ecx
mov eax, dword [rsp + 0x54]
dec eax
cdqe
mov ecx, dword [rsp + 0x328]
mov dword [rsp + rax*4 + 0x1a8], ecx
cmp dword [rsp + 0x54], 1
jle 0x14019b357
mov eax, dword [rsp + 0x54]
sub eax, 2
cdqe
mov eax, dword [rsp + rax*4 + 0x148]
mov dword [rsp + 0x438], eax
jmp 0x14019b362
mov dword [rsp + 0x438], 0
mov eax, dword [rsp + 0x54]
dec eax
cdqe
mov ecx, dword [rsp + 0x438]
cmp dword [rsp + rax*4 + 0x148], ecx
jg 0x14019b38d
mov ecx, 0x10e75
call fcn.1401d9620
mov dword [rsp + 0x74], eax
jmp 0x14019c107
jmp 0x14019b160
mov eax, 8
imul rax, rax, 0
mov rax, qword [rsp + rax + 0xa8]
mov ecx, 1
imul rcx, rcx, 0
mov rax, qword [rax + 0x50]
movzx eax, byte [rax + rcx]
mov dword [rsp + 0x90], eax
mov dword [rsp + 0x54], 0
jmp 0x14019b3cf
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x5c]
cmp dword [rsp + 0x54], eax
jge 0x14019b545
mov eax, dword [rsp + 0x50]
cmp dword [rsp + 0x54], eax
jge 0x14019b457
movsxd rax, dword [rsp + 0x54]
movsxd rcx, dword [rsp + 0x54]
mov rax, qword [rsp + rax*8 + 0xa8]
mov qword [rsp + rcx*8 + 0xd8], rax
movsxd rax, dword [rsp + 0x54]
mov rax, qword [rsp + rax*8 + 0xd8]
mov qword [rsp + 0x348], rax
movsxd rax, dword [rsp + 0x54]
mov qword [rsp + rax*8 + 0xa8], 0
mov rax, qword [rsp + 0x348]
mov rcx, qword [rax + 0x70]
call fcn.1401f78c0
mov dword [rsp + 0x74], eax
mov eax, dword [rsp + 0x4c]
inc eax
mov dword [rsp + 0x4c], eax
cmp dword [rsp + 0x74], 0
je 0x14019b452
jmp 0x14019c107
jmp 0x14019b540
cmp dword [rsp + 0x4c0], 0
je 0x14019b46e
mov dword [rsp + 0x43c], 1
jmp 0x14019b47c
mov eax, dword [rsp + 0x1d4]
mov dword [rsp + 0x43c], eax
mov byte [rsp + 0x20], 0
mov r9d, dword [rsp + 0x43c]
lea r8, [rsp + 0x1d4]
lea rdx, [rsp + 0x348]
mov rcx, qword [rsp + 0x40]
call fcn.140196170
mov dword [rsp + 0x74], eax
cmp dword [rsp + 0x74], 0
je 0x14019b4b3
jmp 0x14019c107
mov edx, dword [rsp + 0x90]
mov rcx, qword [rsp + 0x348]
call fcn.140248630
movsxd rax, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x348]
mov qword [rsp + rax*8 + 0xd8], rcx
mov eax, dword [rsp + 0x4c]
inc eax
mov dword [rsp + 0x4c], eax
movsxd rax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x2a8]
mov dword [rsp + rax*4 + 0x178], ecx
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x21]
test eax, eax
je 0x14019b540
lea rax, [rsp + 0x74]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x4a0]
mov r9d, dword [rax + 4]
mov r8b, 5
mov rax, qword [rsp + 0x348]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.1401c4820
cmp dword [rsp + 0x74], 0
je 0x14019b540
jmp 0x14019c107
jmp 0x14019b3c5
mov dword [rsp + 0x54], 0
jmp 0x14019b559
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x4c]
cmp dword [rsp + 0x54], eax
jge 0x14019b60f
movsxd rax, dword [rsp + 0x54]
mov rax, qword [rsp + rax*8 + 0xd8]
movsxd rcx, dword [rsp + 0x54]
mov eax, dword [rax + 4]
mov dword [rsp + rcx*4 + 0x218], eax
movsxd rax, dword [rsp + 0x54]
movsxd rcx, dword [rsp + 0x54]
mov eax, dword [rsp + rax*4 + 0x218]
mov dword [rsp + rcx*4 + 0x248], eax
movsxd rax, dword [rsp + 0x54]
mov rax, qword [rsp + rax*8 + 0xd8]
mov rax, qword [rax + 0x70]
movsxd rcx, dword [rsp + 0x54]
movzx eax, word [rax + 0x34]
mov word [rsp + rcx*2 + 0x278], ax
mov dword [rsp + 0x58], 0
jmp 0x14019b5d1
mov eax, dword [rsp + 0x58]
inc eax
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x54]
cmp dword [rsp + 0x58], eax
jge 0x14019b60a
movsxd rax, dword [rsp + 0x58]
movsxd rcx, dword [rsp + 0x54]
mov ecx, dword [rsp + rcx*4 + 0x218]
cmp dword [rsp + rax*4 + 0x218], ecx
jne 0x14019b608
mov ecx, 0x10ebf
call fcn.1401d9620
mov dword [rsp + 0x74], eax
jmp 0x14019c107
jmp 0x14019b5c7
jmp 0x14019b54f
mov dword [rsp + 0x54], 0
jmp 0x14019b623
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x4c]
cmp dword [rsp + 0x54], eax
jge 0x14019b746
mov dword [rsp + 0x354], 0
mov dword [rsp + 0x58], 1
jmp 0x14019b650
mov eax, dword [rsp + 0x58]
inc eax
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x4c]
cmp dword [rsp + 0x58], eax
jge 0x14019b684
movsxd rax, dword [rsp + 0x58]
movsxd rcx, dword [rsp + 0x354]
mov ecx, dword [rsp + rcx*4 + 0x248]
cmp dword [rsp + rax*4 + 0x248], ecx
jae 0x14019b682
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x354], eax
jmp 0x14019b646
movsxd rax, dword [rsp + 0x354]
mov eax, dword [rsp + rax*4 + 0x248]
mov dword [rsp + 0x1d4], eax
movsxd rax, dword [rsp + 0x354]
mov dword [rsp + rax*4 + 0x248], 0xffffffff
mov eax, dword [rsp + 0x54]
cmp dword [rsp + 0x354], eax
je 0x14019b741
mov eax, dword [rsp + 0x54]
cmp dword [rsp + 0x354], eax
jle 0x14019b6fc
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x3c]
mov ecx, dword [rsp + 0x354]
lea eax, [rax + rcx + 1]
movsxd rcx, dword [rsp + 0x354]
mov rcx, qword [rsp + rcx*8 + 0xd8]
xor r8d, r8d
mov edx, eax
mov rcx, qword [rcx + 0x70]
call fcn.1401f6790
movsxd rax, dword [rsp + 0x354]
movsxd rcx, dword [rsp + 0x54]
mov rcx, qword [rsp + rcx*8 + 0xd8]
movzx r8d, word [rsp + rax*2 + 0x278]
mov edx, dword [rsp + 0x1d4]
mov rcx, qword [rcx + 0x70]
call fcn.1401f6790
movsxd rax, dword [rsp + 0x54]
mov rax, qword [rsp + rax*8 + 0xd8]
mov ecx, dword [rsp + 0x1d4]
mov dword [rax + 4], ecx
jmp 0x14019b619
mov eax, dword [rsp + 0x4c]
dec eax
cdqe
mov rax, qword [rsp + rax*8 + 0xd8]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x108]
call fcn.1401fe170
mov eax, dword [rsp + 0x90]
and eax, 8
test eax, eax
jne 0x14019b807
mov eax, dword [rsp + 0x4c]
cmp dword [rsp + 0x50], eax
je 0x14019b807
mov eax, dword [rsp + 0x50]
cmp dword [rsp + 0x4c], eax
jle 0x14019b7a2
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x440], rax
jmp 0x14019b7b2
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x440], rax
mov eax, dword [rsp + 0x50]
dec eax
cdqe
mov rcx, qword [rsp + 0x440]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x358], rax
mov eax, 1
imul rax, rax, 8
mov rcx, qword [rsp + 0x358]
mov rcx, qword [rcx + 0x50]
mov edx, dword [rsp + 0x4c]
dec edx
movsxd rdx, edx
mov rdx, qword [rsp + rdx*8 + 0xd8]
mov edi, 1
imul rdi, rdi, 8
mov rdx, qword [rdx + 0x50]
mov eax, dword [rcx + rax]
mov dword [rdx + rdi], eax
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x21]
test eax, eax
je 0x14019bae0
mov eax, 8
imul rax, rax, 0
mov rax, qword [rsp + rax + 0xd8]
mov qword [rsp + 0x360], rax
mov rax, qword [rsp + 0x360]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x368], rax
mov rax, qword [rsp + 0x360]
movzx eax, word [rax + 0x16]
mov rcx, qword [rsp + 0x360]
movzx ecx, byte [rcx + 0xc]
add eax, ecx
mov dword [rsp + 0x370], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x34]
mov dword [rsp + 0x374], eax
mov dword [rsp + 0x378], 0
mov dword [rsp + 0x37c], 0
mov dword [rsp + 0x54], 0
jmp 0x14019b89f
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x2a8]
cmp dword [rsp + 0x54], eax
jge 0x14019bae0
movsxd rax, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x2b8]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x380], rax
mov eax, dword [rsp + 0x370]
cmp dword [rsp + 0x54], eax
jne 0x14019b9a8
mov eax, dword [rsp + 0x37c]
inc eax
mov dword [rsp + 0x37c], eax
mov eax, dword [rsp + 0x4c]
cmp dword [rsp + 0x37c], eax
jge 0x14019b911
movsxd rax, dword [rsp + 0x37c]
mov rax, qword [rsp + rax*8 + 0xd8]
mov qword [rsp + 0x448], rax
jmp 0x14019b929
movsxd rax, dword [rsp + 0x37c]
mov rax, qword [rsp + rax*8 + 0xa8]
mov qword [rsp + 0x448], rax
mov rax, qword [rsp + 0x448]
mov qword [rsp + 0x388], rax
cmp dword [rsp + 0x88], 0
jne 0x14019b950
mov dword [rsp + 0x450], 1
jmp 0x14019b95b
mov dword [rsp + 0x450], 0
mov rax, qword [rsp + 0x388]
movzx eax, word [rax + 0x16]
mov rcx, qword [rsp + 0x388]
movzx ecx, byte [rcx + 0xc]
mov edx, dword [rsp + 0x450]
add edx, eax
mov eax, edx
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x370]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x370], eax
mov rax, qword [rsp + 0x388]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x368], rax
movsxd rax, dword [rsp + 0x378]
mov eax, dword [rsp + rax*4 + 0x148]
cmp dword [rsp + 0x54], eax
jne 0x14019b9f4
mov eax, dword [rsp + 0x378]
inc eax
mov dword [rsp + 0x378], eax
movsxd rax, dword [rsp + 0x378]
mov rax, qword [rsp + rax*8 + 0xd8]
mov qword [rsp + 0x360], rax
cmp dword [rsp + 0x88], 0
jne 0x14019b9f4
jmp 0x14019b895
mov eax, dword [rsp + 0x4c]
cmp dword [rsp + 0x37c], eax
jge 0x14019ba53
movsxd rax, dword [rsp + 0x37c]
mov rcx, qword [rsp + 0x360]
mov eax, dword [rsp + rax*4 + 0x218]
cmp dword [rcx + 4], eax
jne 0x14019ba53
mov rax, qword [rsp + 0x368]
cmp qword [rsp + 0x380], rax
jb 0x14019ba53
movsxd rax, dword [rsp + 0x374]
mov rcx, qword [rsp + 0x368]
add rcx, rax
mov rax, rcx
cmp qword [rsp + 0x380], rax
jb 0x14019badb
movzx eax, word [rsp + 0x84]
test eax, eax
jne 0x14019ba91
mov rcx, qword [rsp + 0x380]
call fcn.1401eb180
lea rcx, [rsp + 0x74]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x360]
mov r9d, dword [rcx + 4]
mov r8b, 5
mov edx, eax
mov rcx, qword [rsp + 0x40]
call fcn.1401c4820
mov edx, dword [rsp + 0x54]
lea rcx, [rsp + 0x2a8]
call fcn.14019f1e0
movzx eax, ax
mov rcx, qword [rsp + 0x360]
movzx ecx, word [rcx + 0x10]
cmp eax, ecx
jle 0x14019bacf
lea r8, [rsp + 0x74]
mov rdx, qword [rsp + 0x380]
mov rcx, qword [rsp + 0x360]
call fcn.1401c49e0
cmp dword [rsp + 0x74], 0
je 0x14019badb
jmp 0x14019c107
jmp 0x14019b895
mov dword [rsp + 0x54], 0
jmp 0x14019baf4
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x4c]
dec eax
cmp dword [rsp + 0x54], eax
jge 0x14019bd47
movsxd rax, dword [rsp + 0x54]
mov rax, qword [rsp + rax*8 + 0xd8]
mov qword [rsp + 0x3a8], rax
movsxd rax, dword [rsp + 0x54]
mov eax, dword [rsp + rax*4 + 0x148]
mov dword [rsp + 0x58], eax
movsxd rax, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x2b8]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x390], rax
movsxd rax, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x2c0]
movzx eax, word [rcx + rax*2]
movzx ecx, word [rsp + 0x84]
add eax, ecx
mov dword [rsp + 0x3a0], eax
movsxd rax, dword [rsp + 0x98]
mov rcx, qword [rsp + 0x4b0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x398], rax
mov rax, qword [rsp + 0x3a8]
movzx eax, byte [rax + 8]
test eax, eax
jne 0x14019bbb9
mov eax, 1
imul rax, rax, 8
mov rcx, qword [rsp + 0x3a8]
mov rcx, qword [rcx + 0x50]
mov rdx, qword [rsp + 0x390]
mov edx, dword [rdx]
mov dword [rcx + rax], edx
jmp 0x14019bccc
cmp dword [rsp + 0x88], 0
je 0x14019bc66
mov eax, dword [rsp + 0x58]
dec eax
mov dword [rsp + 0x58], eax
movsxd rax, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x3a8]
mov rcx, qword [rcx + 0x80]
mov qword [rsp + 0x458], rcx
lea r8, [rsp + 0x3b8]
mov rcx, qword [rsp + 0x2b8]
mov rdx, qword [rcx + rax*8]
mov rcx, qword [rsp + 0x3a8]
mov rax, qword [rsp + 0x458]
call qword [str.PS_]
mov rax, qword [rsp + 0x398]
mov qword [rsp + 0x390], rax
mov eax, 1
imul rax, rax, 4
mov rcx, qword [rsp + 0x390]
add rcx, rax
mov rax, rcx
mov rdx, qword [rsp + 0x3b8]
mov rcx, rax
call fcn.1401fe1d0
add eax, 4
mov dword [rsp + 0x3a0], eax
mov qword [rsp + 0x398], 0
jmp 0x14019bccc
mov rax, qword [rsp + 0x390]
sub rax, 4
mov qword [rsp + 0x390], rax
movsxd rax, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x2c0]
movzx eax, word [rcx + rax*2]
cmp eax, 4
jne 0x14019bccc
mov rax, qword [rsp + 0x4a0]
mov rax, qword [rax + 0x78]
mov qword [rsp + 0x460], rax
mov rdx, qword [rsp + 0x390]
mov rcx, qword [rsp + 0x4a0]
mov rax, qword [rsp + 0x460]
call qword [str.PS_]
movzx eax, ax
mov dword [rsp + 0x3a0], eax
mov eax, dword [rsp + 0x3a0]
mov ecx, dword [rsp + 0x98]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x60]
add ecx, eax
mov eax, ecx
lea rcx, [rsp + 0x74]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x3a8]
mov ecx, dword [rcx + 4]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsp + 0x398]
mov qword [rsp + 0x20], rcx
mov r9d, dword [rsp + 0x3a0]
mov r8, qword [rsp + 0x390]
mov edx, eax
mov rcx, qword [rsp + 0x4a0]
call fcn.1401b5900
cmp dword [rsp + 0x74], 0
je 0x14019bd42
jmp 0x14019c107
jmp 0x14019baea
mov eax, 1
sub eax, dword [rsp + 0x4c]
mov dword [rsp + 0x54], eax
jmp 0x14019bd60
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x4c]
cmp dword [rsp + 0x54], eax
jge 0x14019bf8f
cmp dword [rsp + 0x54], 0
jge 0x14019bd84
mov eax, dword [rsp + 0x54]
neg eax
mov dword [rsp + 0x468], eax
jmp 0x14019bd8f
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x468], eax
mov eax, dword [rsp + 0x468]
mov dword [rsp + 0x3d4], eax
movsxd rax, dword [rsp + 0x3d4]
movzx eax, byte [rsp + rax + 0x1f4]
test eax, eax
je 0x14019bdb3
jmp 0x14019bd56
cmp dword [rsp + 0x54], 0
jge 0x14019bde5
mov eax, dword [rsp + 0x3d4]
dec eax
cdqe
mov ecx, dword [rsp + 0x3d4]
dec ecx
movsxd rcx, ecx
mov ecx, dword [rsp + rcx*4 + 0x148]
cmp dword [rsp + rax*4 + 0x178], ecx
jl 0x14019bf8a
cmp dword [rsp + 0x3d4], 0
jne 0x14019be24
mov dword [rsp + 0x3dc], 0
mov eax, dword [rsp + 0x3dc]
mov dword [rsp + 0x3d8], eax
mov eax, 4
imul rax, rax, 0
mov eax, dword [rsp + rax + 0x148]
mov dword [rsp + 0x3e0], eax
jmp 0x14019bef2
mov eax, dword [rsp + 0x50]
cmp dword [rsp + 0x3d4], eax
jge 0x14019be75
cmp dword [rsp + 0x88], 0
jne 0x14019be48
mov dword [rsp + 0x46c], 1
jmp 0x14019be53
mov dword [rsp + 0x46c], 0
mov eax, dword [rsp + 0x3d4]
dec eax
cdqe
mov eax, dword [rsp + rax*4 + 0x178]
add eax, dword [rsp + 0x46c]
mov dword [rsp + 0x470], eax
jmp 0x14019be83
mov eax, dword [rsp + 0x2a8]
mov dword [rsp + 0x470], eax
mov eax, dword [rsp + 0x470]
mov dword [rsp + 0x3dc], eax
cmp dword [rsp + 0x88], 0
jne 0x14019bea8
mov dword [rsp + 0x474], 1
jmp 0x14019beb3
mov dword [rsp + 0x474], 0
mov eax, dword [rsp + 0x3d4]
dec eax
cdqe
mov eax, dword [rsp + rax*4 + 0x148]
add eax, dword [rsp + 0x474]
mov dword [rsp + 0x3d8], eax
movsxd rax, dword [rsp + 0x3d4]
mov ecx, dword [rsp + 0x3d8]
mov eax, dword [rsp + rax*4 + 0x148]
sub eax, ecx
mov dword [rsp + 0x3e0], eax
movsxd rax, dword [rsp + 0x3d4]
lea rcx, [rsp + 0x2a8]
mov qword [rsp + 0x20], rcx
mov r9d, dword [rsp + 0x3e0]
mov r8d, dword [rsp + 0x3d8]
mov edx, dword [rsp + 0x3dc]
mov rcx, qword [rsp + rax*8 + 0xd8]
call fcn.1401a8c80
mov dword [rsp + 0x74], eax
cmp dword [rsp + 0x74], 0
je 0x14019bf3b
jmp 0x14019c107
movsxd rax, dword [rsp + 0x3d4]
movzx eax, byte [rsp + rax + 0x1f4]
inc al
movsxd rcx, dword [rsp + 0x3d4]
mov byte [rsp + rcx + 0x1f4], al
movsxd rax, dword [rsp + 0x3d4]
mov eax, dword [rsp + rax*4 + 0x1a8]
mov ecx, dword [rsp + 0x8c]
sub ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 0x3d4]
mov rcx, qword [rsp + rcx*8 + 0xd8]
mov word [rcx + 0x14], ax
jmp 0x14019bd56
cmp dword [rsp + 0x4b8], 0
je 0x14019c038
mov rax, qword [rsp + 0x4a0]
movzx eax, word [rax + 0x16]
test eax, eax
jne 0x14019c038
mov rax, qword [rsp + 0x4a0]
movzx eax, byte [rax + 9]
mov ecx, 8
imul rcx, rcx, 0
mov rcx, qword [rsp + rcx + 0xd8]
movzx ecx, word [rcx + 0x14]
cmp eax, ecx
jg 0x14019c038
mov eax, 8
imul rax, rax, 0
mov edx, 0xffffffff
mov rcx, qword [rsp + rax + 0xd8]
call fcn.1401a7290
mov dword [rsp + 0x74], eax
mov eax, 8
imul rax, rax, 0
lea r8, [rsp + 0x74]
mov rdx, qword [rsp + 0x4a0]
mov rcx, qword [rsp + rax + 0xd8]
call fcn.1401a61c0
mov eax, 8
imul rax, rax, 0
lea rdx, [rsp + 0x74]
mov rcx, qword [rsp + rax + 0xd8]
call fcn.1401b0da0
jmp 0x14019c0d0
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x21]
test eax, eax
je 0x14019c0d0
movzx eax, word [rsp + 0x84]
test eax, eax
jne 0x14019c0d0
mov dword [rsp + 0x54], 0
jmp 0x14019c069
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x4c]
cmp dword [rsp + 0x54], eax
jge 0x14019c0d0
movsxd rax, dword [rsp + 0x54]
mov rax, qword [rsp + rax*8 + 0xd8]
mov ecx, 1
imul rcx, rcx, 8
add rcx, qword [rax + 0x50]
mov rax, rcx
mov rcx, rax
call fcn.1401eb180
mov dword [rsp + 0x3e4], eax
movsxd rax, dword [rsp + 0x54]
mov rax, qword [rsp + rax*8 + 0xd8]
lea rcx, [rsp + 0x74]
mov qword [rsp + 0x20], rcx
mov r9d, dword [rax + 4]
mov r8b, 5
mov edx, dword [rsp + 0x3e4]
mov rcx, qword [rsp + 0x40]
call fcn.1401c4820
jmp 0x14019c05f
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x54], eax
jmp 0x14019c0e4
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x50]
cmp dword [rsp + 0x54], eax
jge 0x14019c107
movsxd rax, dword [rsp + 0x54]
lea rdx, [rsp + 0x74]
mov rcx, qword [rsp + rax*8 + 0xa8]
call fcn.1401b0da0
jmp 0x14019c0da
mov rdx, qword [rsp + 0x2b8]
xor ecx, ecx
call fcn.1401dba20
mov dword [rsp + 0x54], 0
jmp 0x14019c12a
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x50]
cmp dword [rsp + 0x54], eax
jge 0x14019c148
movsxd rax, dword [rsp + 0x54]
mov rcx, qword [rsp + rax*8 + 0xa8]
call fcn.1401c6910
jmp 0x14019c120
mov dword [rsp + 0x54], 0
jmp 0x14019c15c
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x4c]
cmp dword [rsp + 0x54], eax
jge 0x14019c17a
movsxd rax, dword [rsp + 0x54]
mov rcx, qword [rsp + rax*8 + 0xd8]
call fcn.1401c6910
jmp 0x14019c152
mov eax, dword [rsp + 0x74]
mov rdi, rax
mov rcx, rsp
lea rdx, [0x1402bb6d0]
call fcn.1402629dc
mov rax, rdi
mov rcx, qword [rsp + 0x478]
xor rcx, rsp
call fcn.1400b1670
add rsp, 0x488
pop rdi
pop rsi
ret