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

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x3d8
mov dword [rsp + 0xa0], 0
mov dword [rsp + 0x48], 0
mov rax, qword [rsp + 0x3f0]
mov rax, qword [rax]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x3f0]
add rax, 0x60
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax]
mov qword [rsp + 0x58], rax
movsxd rax, dword [rsp + 0x3f8]
imul rax, rax, 0x58
mov rcx, qword [rsp + 0x3f0]
lea rax, [rcx + rax + 0x390]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax + 0x48]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x3f0]
mov rax, qword [rax + 8]
mov rcx, qword [rsp + 0xb0]
movzx ecx, byte [rcx + 0x2c]
imul rcx, rcx, 0x78
lea rax, [rax + rcx + 8]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0x48]
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x3f0]
add rax, 0x288
mov edx, dword [rsp + 0x80]
mov rcx, rax
call fcn.1400af770
not rax
mov rcx, qword [rsp + 0x400]
and rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0xb0]
mov qword [rcx + 0x50], rax
mov eax, dword [rsp + 0x3f8]
mov rcx, qword [rsp + 0x3f0]
mov qword [rsp + 0x350], rcx
movzx ecx, al
mov rax, qword [rsp + 0x350]
mov rax, qword [rax + 0x50]
shr rax, cl
and rax, 1
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x28]
and eax, 0x40
test eax, eax
je 0x1400a863c
mov rax, qword [rsp + 0x3f0]
movzx eax, word [rax + 0x38]
and eax, 0x20
test eax, eax
jne 0x1400a863c
mov dword [rsp + 0x358], 1
jmp 0x1400a8647
mov dword [rsp + 0x358], 0
mov eax, dword [rsp + 0x358]
mov dword [rsp + 0x9c], eax
mov rcx, qword [rsp + 0x50]
call fcn.1400722f0
mov dword [rsp + 0x35c], eax
mov rax, qword [rsp + 0xb0]
mov ecx, dword [rsp + 0x35c]
mov dword [rax + 0x10], ecx
mov rax, qword [rsp + 0xb0]
mov ecx, dword [rsp + 0x35c]
mov dword [rax + 0xc], ecx
mov eax, dword [rsp + 0x35c]
mov dword [rsp + 0x40], eax
mov rcx, qword [rsp + 0x50]
call fcn.1400722f0
mov dword [rsp + 0x360], eax
mov rax, qword [rsp + 0xb0]
mov ecx, dword [rsp + 0x360]
mov dword [rax + 0x18], ecx
mov eax, dword [rsp + 0x360]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0xb0]
movzx eax, byte [rax + 0x2c]
test eax, eax
jle 0x1400a873a
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x3c]
and eax, 8
test eax, eax
je 0x1400a873a
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax + 0x38]
inc eax
mov dword [rsp + 0x364], eax
mov rax, qword [rsp + 0xa8]
mov ecx, dword [rsp + 0x364]
mov dword [rax + 0x38], ecx
mov rax, qword [rsp + 0xb0]
mov ecx, dword [rsp + 0x364]
mov dword [rax], ecx
mov rax, qword [rsp + 0xb0]
mov r9d, dword [rax]
xor r8d, r8d
mov edx, 0x4c
mov rcx, qword [rsp + 0x50]
call fcn.140070d20
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0x40]
shr eax, 4
and eax, 1
test eax, eax
je 0x1400a87c2
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0x34]
mov dword [rsp + 0xbc], eax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0x30]
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8d, dword [rsp + 0xbc]
mov edx, 0xf
mov rcx, qword [rsp + 0x50]
call fcn.140053ef0
mov r9d, dword [rsp + 0x40]
mov r8d, dword [rsp + 0xbc]
mov edx, 0x10
mov rcx, qword [rsp + 0x50]
call fcn.140070d20
mov rcx, qword [rsp + 0xb0]
mov dword [rcx + 0x34], eax
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x2d], 0xd
jmp 0x1400aac3f
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x28]
and eax, 0x400
test eax, eax
je 0x1400a8c75
mov rax, qword [rsp + 0x78]
movzx eax, word [rax + 0x2c]
mov dword [rsp + 0xc0], eax
mov rcx, qword [rsp + 0xa8]
call fcn.140077af0
mov eax, dword [rsp + 0xc0]
add eax, 2
mov edx, eax
mov rcx, qword [rsp + 0xa8]
call fcn.140079780
mov dword [rsp + 0xc4], eax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0xcc], eax
mov dword [rsp + 0xb8], 0
jmp 0x1400a8843
mov eax, dword [rsp + 0xb8]
inc eax
mov dword [rsp + 0xb8], eax
mov eax, dword [rsp + 0xc0]
cmp dword [rsp + 0xb8], eax
jge 0x1400a8929
mov eax, dword [rsp + 0xc4]
mov ecx, dword [rsp + 0xb8]
lea eax, [rax + rcx + 2]
mov dword [rsp + 0xd0], eax
movsxd rax, dword [rsp + 0xb8]
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x38]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x68], rax
cmp qword [rsp + 0x68], 0
jne 0x1400a8894
jmp 0x1400a8833
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x14]
and eax, 1
test eax, eax
je 0x1400a88ed
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0xb8]
mov r8, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xa8]
call fcn.1400ab4e0
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0xcc], eax
jmp 0x1400a8924
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0xd8], rax
mov r9d, 1
mov r8d, dword [rsp + 0xd0]
mov rdx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xa8]
call fcn.1400ac3b0
jmp 0x1400a8833
mov r9d, dword [rsp + 0xc4]
mov rax, qword [rsp + 0x78]
mov r8d, dword [rax + 0x18]
mov edx, 0x4c
mov rcx, qword [rsp + 0x50]
call fcn.140070d20
mov eax, dword [rsp + 0xc4]
inc eax
mov r9d, eax
mov r8d, dword [rsp + 0xc0]
mov edx, 0x4c
mov rcx, qword [rsp + 0x50]
call fcn.140070d20
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x1c]
test eax, eax
je 0x1400a8986
mov dword [rsp + 0x368], 0xfffffff5
jmp 0x1400a8991
mov dword [rsp + 0x368], 0xfffffffe
mov eax, dword [rsp + 0x368]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0xc4]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0xcc]
mov r8d, dword [rsp + 0x80]
mov edx, 0xb
mov rcx, qword [rsp + 0x50]
call fcn.14006fc90
mov rax, qword [rsp + 0x78]
mov byte [rax + 0x1c], 0
mov rax, qword [rsp + 0xb0]
mov ecx, dword [rsp + 0x80]
mov dword [rax + 0x30], ecx
mov rax, qword [rsp + 0x3f0]
movzx eax, byte [rax + 0x3d]
test eax, eax
je 0x1400a8a0c
mov dword [rsp + 0x36c], 0xa1
jmp 0x1400a8a17
mov dword [rsp + 0x36c], 0x46
mov rax, qword [rsp + 0xb0]
movzx ecx, byte [rsp + 0x36c]
mov byte [rax + 0x2d], cl
mov rcx, qword [rsp + 0x50]
call fcn.140070d70
mov rcx, qword [rsp + 0xb0]
mov dword [rcx + 0x34], eax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x38]
mov dword [rsp + 0xc8], eax
mov eax, dword [rsp + 0xc0]
dec eax
mov dword [rsp + 0xb8], eax
jmp 0x1400a8a73
mov eax, dword [rsp + 0xb8]
dec eax
mov dword [rsp + 0xb8], eax
cmp dword [rsp + 0xb8], 0
jl 0x1400a8c63
movsxd rax, dword [rsp + 0xb8]
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x38]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x68], rax
cmp dword [rsp + 0xb8], 0x10
jge 0x1400a8ad5
mov rax, qword [rsp + 0x78]
movzx eax, word [rax + 0x1e]
mov ecx, dword [rsp + 0xb8]
sar eax, cl
and eax, 1
test eax, eax
je 0x1400a8ad5
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xb0]
call fcn.1400ab0a0
jmp 0x1400a8c5e
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x14]
and eax, 1
test eax, eax
je 0x1400a8c5e
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x55]
test eax, eax
jne 0x1400a8b72
mov eax, dword [rsp + 0xc8]
dec eax
mov dword [rsp + 0xc8], eax
movsxd rax, dword [rsp + 0xc8]
imul rax, rax, 0xc
mov rcx, qword [rsp + 0xb0]
mov rcx, qword [rcx + 0x40]
mov edx, dword [rcx + rax + 4]
mov rcx, qword [rsp + 0x50]
call fcn.1400724d0
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0xe8]
movzx eax, byte [rax]
mov rcx, qword [rsp + 0xe8]
mov ecx, dword [rcx + 0xc]
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0xe8]
mov r9d, dword [rcx + 8]
mov rcx, qword [rsp + 0xe8]
mov r8d, dword [rcx + 4]
mov edx, eax
mov rcx, qword [rsp + 0x50]
call fcn.140053ef0
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov edx, 0x25
mov rcx, qword [rsp + 0xa8]
call fcn.14006d710
mov qword [rsp + 0xf0], rax
cmp qword [rsp + 0xf0], 0
je 0x1400a8c5e
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rax + 0x10]
mov qword [rcx + 0x10], rax
xor r8d, r8d
mov edx, 0x9d
mov rcx, qword [rsp + 0x58]
call fcn.14006d6a0
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xe0]
mov qword [rax + 0x18], rcx
cmp qword [rsp + 0xe0], 0
je 0x1400a8c3c
mov eax, dword [rsp + 0xc4]
mov ecx, dword [rsp + 0xb8]
lea eax, [rax + rcx + 2]
mov rcx, qword [rsp + 0xe0]
mov dword [rcx + 0x2c], eax
xor r9d, r9d
mov rax, qword [rsp + 0xb0]
mov r8d, dword [rax + 0x18]
mov rdx, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xa8]
call fcn.140078880
mov rax, qword [rsp + 0xf0]
mov qword [rax + 0x10], 0
mov rdx, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x58]
call fcn.14005ce50
jmp 0x1400a8a63
mov rcx, qword [rsp + 0xa8]
call fcn.140077b10
jmp 0x1400aac3f
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x28]
and eax, 0x100
test eax, eax
je 0x1400a8db4
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x28]
and eax, 5
test eax, eax
je 0x1400a8db4
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x38]
mov rax, qword [rax]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax + 0x38]
inc eax
mov dword [rsp + 0x370], eax
mov rax, qword [rsp + 0xa8]
mov ecx, dword [rsp + 0x370]
mov dword [rax + 0x38], ecx
mov eax, dword [rsp + 0x370]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xa8]
call fcn.1400ab4e0
mov dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0x48]
cmp dword [rsp + 0xa0], eax
je 0x1400a8d31
mov edx, dword [rsp + 0x48]
mov rcx, qword [rsp + 0xa8]
call fcn.140070e00
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x44]
mov r8d, dword [rsp + 0x80]
mov edx, 0x20
mov rcx, qword [rsp + 0x50]
call fcn.140053ef0
mov r8d, 1
mov edx, dword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
call fcn.140077fb0
mov r9d, dword [rsp + 0xa0]
mov r8d, 0xffffffff
mov edx, dword [rsp + 0x80]
mov rcx, qword [rsp + 0xa8]
call fcn.140077cd0
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x2d], 0xa1
jmp 0x1400aac3f
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x28]
and eax, 0x100
test eax, eax
je 0x1400a92d7
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x28]
and eax, 2
test eax, eax
je 0x1400a92d7
mov dword [rsp + 0x114], 0xa1
mov dword [rsp + 0x100], 0
mov dword [rsp + 0xb8], 0
mov qword [rsp + 0xf8], 0
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x28]
and eax, 0x20
test eax, eax
je 0x1400a8e55
movsxd rax, dword [rsp + 0xb8]
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x38]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x108], rax
mov eax, dword [rsp + 0xb8]
inc eax
mov dword [rsp + 0xb8], eax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x28]
and eax, 0x10
test eax, eax
je 0x1400a8e91
movsxd rax, dword [rsp + 0xb8]
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x38]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0xf8], rax
mov eax, dword [rsp + 0xb8]
inc eax
mov dword [rsp + 0xb8], eax
cmp dword [rsp + 0x60], 0
je 0x1400a8ec2
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xf8], rax
cmp qword [rsp + 0x108], 0
je 0x1400a903b
mov byte [rsp + 0x130], 0x1a
mov byte [rsp + 0x131], 0x18
mov byte [rsp + 0x132], 0x17
mov byte [rsp + 0x133], 0x19
mov rax, qword [rsp + 0x108]
mov rax, qword [rax]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x120]
mov rcx, qword [rax + 0x18]
call fcn.140074760
test eax, eax
je 0x1400a8f86
mov rcx, qword [rsp + 0xa8]
call fcn.140070d90
mov dword [rsp + 0x128], eax
mov eax, dword [rsp + 0x128]
mov dword [rsp + 0x118], eax
mov r9d, 1
mov r8d, dword [rsp + 0x118]
mov rax, qword [rsp + 0x120]
mov rdx, qword [rax + 0x18]
mov rcx, qword [rsp + 0xa8]
call fcn.1400ac3b0
mov rax, qword [rsp + 0x120]
movzx eax, byte [rax]
sub eax, 0x26
or eax, 1
cdqe
movzx eax, byte [rsp + rax + 0x130]
mov dword [rsp + 0x12c], eax
jmp 0x1400a8fe2
lea r8, [rsp + 0x128]
mov rax, qword [rsp + 0x120]
mov rdx, qword [rax + 0x18]
mov rcx, qword [rsp + 0xa8]
call fcn.140078130
mov dword [rsp + 0x118], eax
mov rdx, qword [rsp + 0x108]
mov rcx, qword [rsp + 0xb0]
call fcn.1400ab0a0
mov rax, qword [rsp + 0x120]
movzx eax, byte [rax]
sub eax, 0x26
cdqe
movzx eax, byte [rsp + rax + 0x130]
mov dword [rsp + 0x12c], eax
mov eax, dword [rsp + 0x118]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x80]
mov edx, dword [rsp + 0x12c]
mov rcx, qword [rsp + 0x50]
call fcn.140053ef0
mov r8d, 1
mov edx, dword [rsp + 0x118]
mov rcx, qword [rsp + 0xa8]
call fcn.140077fb0
mov edx, dword [rsp + 0x128]
mov rcx, qword [rsp + 0xa8]
call fcn.140070e00
jmp 0x1400a9078
cmp dword [rsp + 0x60], 0
je 0x1400a904f
mov dword [rsp + 0x374], 0x35
jmp 0x1400a905a
mov dword [rsp + 0x374], 0x39
mov r9d, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x80]
mov edx, dword [rsp + 0x374]
mov rcx, qword [rsp + 0x50]
call fcn.140070d20
cmp qword [rsp + 0xf8], 0
je 0x1400a91b0
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax + 0x38]
inc eax
mov dword [rsp + 0x378], eax
mov rax, qword [rsp + 0xa8]
mov ecx, dword [rsp + 0x378]
mov dword [rax + 0x38], ecx
mov eax, dword [rsp + 0x378]
mov dword [rsp + 0x100], eax
mov r9d, 1
mov r8d, dword [rsp + 0x100]
mov rax, qword [rsp + 0x138]
mov rdx, qword [rax + 0x18]
mov rcx, qword [rsp + 0xa8]
call fcn.1400ac3b0
mov rax, qword [rsp + 0x138]
mov rcx, qword [rax + 0x18]
call fcn.140074760
test eax, eax
jne 0x1400a9159
mov rax, qword [rsp + 0x138]
movzx eax, byte [rax]
cmp eax, 0x28
je 0x1400a912a
mov rax, qword [rsp + 0x138]
movzx eax, byte [rax]
cmp eax, 0x26
jne 0x1400a9159
cmp dword [rsp + 0x60], 0
je 0x1400a913e
mov dword [rsp + 0x37c], 0x27
jmp 0x1400a9149
mov dword [rsp + 0x37c], 0x29
mov eax, dword [rsp + 0x37c]
mov dword [rsp + 0x114], eax
jmp 0x1400a9186
cmp dword [rsp + 0x60], 0
je 0x1400a916d
mov dword [rsp + 0x380], 0x28
jmp 0x1400a9178
mov dword [rsp + 0x380], 0x26
mov eax, dword [rsp + 0x380]
mov dword [rsp + 0x114], eax
mov rax, qword [rsp + 0x138]
mov rcx, qword [rax + 0x18]
call fcn.140074760
test eax, eax
jne 0x1400a91b0
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xb0]
call fcn.1400ab0a0
mov rcx, qword [rsp + 0x50]
call fcn.140070d70
mov dword [rsp + 0x110], eax
cmp dword [rsp + 0x60], 0
je 0x1400a91d5
mov dword [rsp + 0x384], 6
jmp 0x1400a91e0
mov dword [rsp + 0x384], 7
mov rax, qword [rsp + 0xb0]
movzx ecx, byte [rsp + 0x384]
mov byte [rax + 0x2d], cl
mov rax, qword [rsp + 0xb0]
mov ecx, dword [rsp + 0x80]
mov dword [rax + 0x30], ecx
mov rax, qword [rsp + 0xb0]
mov ecx, dword [rsp + 0x110]
mov dword [rax + 0x34], ecx
cmp dword [rsp + 0x114], 0xa1
je 0x1400a92d2
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax + 0x38]
inc eax
mov dword [rsp + 0x388], eax
mov rax, qword [rsp + 0xa8]
mov ecx, dword [rsp + 0x388]
mov dword [rax + 0x38], ecx
mov eax, dword [rsp + 0x388]
mov dword [rsp + 0xa0], eax
mov r9d, dword [rsp + 0xa0]
mov r8d, dword [rsp + 0x80]
mov edx, 0x7b
mov rcx, qword [rsp + 0x50]
call fcn.140070d20
mov r9d, dword [rsp + 0xa0]
mov r8d, 0xffffffff
mov edx, dword [rsp + 0x80]
mov rcx, qword [rsp + 0xa8]
call fcn.140077cd0
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x100]
mov edx, dword [rsp + 0x114]
mov rcx, qword [rsp + 0x50]
call fcn.140053ef0
mov dl, 0x53
mov rcx, qword [rsp + 0x50]
call fcn.1400542c0
jmp 0x1400aac3f
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x28]
and eax, 0x200
test eax, eax
je 0x1400aa073
mov rax, qword [rsp + 0x78]
movzx eax, word [rax + 0x18]
mov word [rsp + 0x170], ax
mov rax, qword [rsp + 0x78]
movzx eax, word [rax + 0x1a]
mov word [rsp + 0x19c], ax
mov rax, qword [rsp + 0x78]
movzx eax, word [rax + 0x1c]
mov word [rsp + 0x178], ax
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x160], 0
mov dword [rsp + 0x14c], 0
mov qword [rsp + 0x150], 0
mov byte [rsp + 0x174], 0
mov byte [rsp + 0x190], 0
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x180], rax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 8]
mov dword [rsp + 0x15c], eax
mov rax, qword [rsp + 0x3f0]
movzx eax, word [rax + 0x38]
and eax, 1
test eax, eax
je 0x1400a93cf
mov rax, qword [rsp + 0x3f0]
movsx eax, byte [rax + 0x3b]
test eax, eax
jle 0x1400a93cf
mov rax, qword [rsp + 0x180]
movzx eax, word [rax + 0x5e]
movzx ecx, word [rsp + 0x170]
cmp eax, ecx
jle 0x1400a93cf
mov byte [rsp + 0x174], 1
mov dword [rsp + 0x14c], 1
movzx eax, word [rsp + 0x170]
mov dword [rsp + 0xb8], eax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x28]
and eax, 0x20
test eax, eax
je 0x1400a945a
movsxd rax, dword [rsp + 0xb8]
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x38]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x188], rax
mov eax, dword [rsp + 0xb8]
inc eax
mov dword [rsp + 0xb8], eax
mov rax, qword [rsp + 0x78]
movzx eax, word [rax + 0x1a]
cmp dword [rsp + 0x14c], eax
jle 0x1400a943c
mov eax, dword [rsp + 0x14c]
mov dword [rsp + 0x38c], eax
jmp 0x1400a944c
mov rax, qword [rsp + 0x78]
movzx eax, word [rax + 0x1a]
mov dword [rsp + 0x38c], eax
mov eax, dword [rsp + 0x38c]
mov dword [rsp + 0x14c], eax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x28]
and eax, 0x10
test eax, eax
je 0x1400a9642
movsxd rax, dword [rsp + 0xb8]
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x38]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x160], rax
mov eax, dword [rsp + 0xb8]
inc eax
mov dword [rsp + 0xb8], eax
mov rax, qword [rsp + 0x78]
movzx eax, word [rax + 0x1c]
cmp dword [rsp + 0x14c], eax
jle 0x1400a94bc
mov eax, dword [rsp + 0x14c]
mov dword [rsp + 0x390], eax
jmp 0x1400a94cc
mov rax, qword [rsp + 0x78]
movzx eax, word [rax + 0x1c]
mov dword [rsp + 0x390], eax
mov eax, dword [rsp + 0x390]
mov dword [rsp + 0x14c], eax
mov rax, qword [rsp + 0x160]
movzx eax, word [rax + 0x12]
and eax, 0x100
test eax, eax
je 0x1400a95d7
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax + 0x38]
inc eax
mov dword [rsp + 0x394], eax
mov rax, qword [rsp + 0xa8]
mov ecx, dword [rsp + 0x394]
mov dword [rax + 0x38], ecx
mov rax, qword [rsp + 0xb0]
mov ecx, dword [rsp + 0x394]
mov dword [rax + 0x24], ecx
mov rax, qword [rsp + 0xb0]
mov r9d, dword [rax + 0x24]
mov r8d, 1
mov edx, 0x4c
mov rcx, qword [rsp + 0x50]
call fcn.140070d20
mov rcx, qword [rsp + 0x50]
call fcn.140070d70
mov rcx, qword [rsp + 0xb0]
mov dword [rcx + 0x28], eax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x24]
shl eax, 1
mov rcx, qword [rsp + 0xb0]
mov dword [rcx + 0x24], eax
movzx eax, word [rsp + 0x170]
mov rcx, qword [rsp + 0x180]
mov rcx, qword [rcx + 0x38]
movzx eax, byte [rcx + rax]
cmp eax, 1
jne 0x1400a95a3
mov dword [rsp + 0x398], 1
jmp 0x1400a95ae
mov dword [rsp + 0x398], 0
mov eax, dword [rsp + 0x398]
mov ecx, dword [rsp + 0x60]
xor ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0xb0]
mov ecx, dword [rcx + 0x24]
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0xb0]
mov dword [rcx + 0x24], eax
cmp qword [rsp + 0x188], 0
jne 0x1400a9642
movzx eax, word [rsp + 0x170]
mov rcx, qword [rsp + 0x180]
mov rcx, qword [rcx + 8]
movsx eax, word [rcx + rax*2]
mov dword [rsp + 0xb8], eax
cmp dword [rsp + 0xb8], 0
jl 0x1400a9630
mov rax, qword [rsp + 0x180]
mov rax, qword [rax + 0x18]
movsxd rcx, dword [rsp + 0xb8]
imul rcx, rcx, 0x20
mov rax, qword [rax + 8]
movzx eax, byte [rax + rcx + 0x18]
test eax, eax
je 0x1400a963a
cmp dword [rsp + 0xb8], 0xfffffffe
jne 0x1400a9642
mov byte [rsp + 0x174], 1
movzx eax, word [rsp + 0x170]
mov rcx, qword [rsp + 0x180]
movzx ecx, word [rcx + 0x5e]
cmp eax, ecx
jge 0x1400a969b
movzx eax, word [rsp + 0x170]
mov rcx, qword [rsp + 0x180]
mov rcx, qword [rcx + 0x38]
movzx eax, byte [rcx + rax]
test eax, eax
jne 0x1400a9683
mov dword [rsp + 0x39c], 1
jmp 0x1400a968e
mov dword [rsp + 0x39c], 0
mov eax, dword [rsp + 0x39c]
cmp dword [rsp + 0x60], eax
je 0x1400a96c2
cmp dword [rsp + 0x60], 0
je 0x1400a974e
mov rax, qword [rsp + 0x180]
movzx eax, word [rax + 0x5e]
movzx ecx, word [rsp + 0x170]
cmp eax, ecx
jne 0x1400a974e
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x188], rax
movzx eax, byte [rsp + 0x174]
mov byte [rsp + 0x1a8], al
movzx eax, byte [rsp + 0x190]
mov byte [rsp + 0x174], al
movzx eax, byte [rsp + 0x1a8]
mov byte [rsp + 0x190], al
movzx eax, byte [rsp + 0x19c]
mov byte [rsp + 0x1a9], al
movzx eax, word [rsp + 0x178]
mov word [rsp + 0x19c], ax
movzx eax, byte [rsp + 0x1a9]
mov word [rsp + 0x178], ax
lea rax, [rsp + 0x168]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x14c]
mov r8d, dword [rsp + 0x60]
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xa8]
call fcn.1400abdc0
mov dword [rsp + 0x148], eax
cmp qword [rsp + 0x168], 0
je 0x1400a97c6
movzx eax, word [rsp + 0x178]
test eax, eax
je 0x1400a97c6
movzx eax, word [rsp + 0x170]
mov rcx, qword [rsp + 0x168]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.140035f80
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x44], eax
cmp qword [rsp + 0x188], 0
je 0x1400a9800
mov rax, qword [rsp + 0x188]
movzx eax, word [rax + 0x14]
and eax, 0x28
test eax, eax
jne 0x1400a9800
mov dword [rsp + 0x3a0], 0
jmp 0x1400a980b
mov dword [rsp + 0x3a0], 1
mov eax, dword [rsp + 0x3a0]
mov dword [rsp + 0x140], eax
cmp qword [rsp + 0x160], 0
je 0x1400a9844
mov rax, qword [rsp + 0x160]
movzx eax, word [rax + 0x14]
and eax, 0x28
test eax, eax
jne 0x1400a9844
mov dword [rsp + 0x3a4], 0
jmp 0x1400a984f
mov dword [rsp + 0x3a4], 1
mov eax, dword [rsp + 0x3a4]
mov dword [rsp + 0x194], eax
cmp qword [rsp + 0x188], 0
jne 0x1400a9881
movzx eax, word [rsp + 0x170]
test eax, eax
jg 0x1400a9881
mov dword [rsp + 0x3a8], 0
jmp 0x1400a988c
mov dword [rsp + 0x3a8], 1
mov eax, dword [rsp + 0x3a8]
mov dword [rsp + 0x158], eax
movzx eax, word [rsp + 0x170]
mov dword [rsp + 0x144], eax
cmp qword [rsp + 0x188], 0
je 0x1400a99ff
mov rax, qword [rsp + 0x188]
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x1b0], rax
movzx eax, word [rsp + 0x19c]
movzx ecx, word [rsp + 0x170]
mov edx, dword [rsp + 0x148]
add edx, ecx
mov ecx, edx
mov r9d, eax
mov r8d, ecx
mov rdx, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0xa8]
call fcn.1400ac3b0
mov r8, qword [rsp + 0x188]
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x50]
call fcn.1400ac1c0
mov rax, qword [rsp + 0x188]
movzx eax, word [rax + 0x12]
and eax, 0
test eax, eax
jne 0x1400a996d
mov rcx, qword [rsp + 0x1b0]
call fcn.140076820
test eax, eax
je 0x1400a996d
movzx eax, word [rsp + 0x170]
mov ecx, dword [rsp + 0x148]
add ecx, eax
mov eax, ecx
mov r9d, dword [rsp + 0x44]
mov r8d, eax
mov edx, 0x22
mov rcx, qword [rsp + 0x50]
call fcn.140070d20
cmp qword [rsp + 0x168], 0
je 0x1400a99a8
movzx eax, word [rsp + 0x170]
mov rcx, qword [rsp + 0x168]
add rcx, rax
mov rax, rcx
movzx ecx, word [rsp + 0x19c]
mov r8, rax
mov edx, ecx
mov rcx, qword [rsp + 0x1b0]
call fcn.1400ab2c0
movzx eax, word [rsp + 0x19c]
mov ecx, dword [rsp + 0x144]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x144], eax
mov rcx, qword [rsp + 0x1b0]
call fcn.140074760
test eax, eax
jne 0x1400a99ea
mov rdx, qword [rsp + 0x188]
mov rcx, qword [rsp + 0xb0]
call fcn.1400ab0a0
jmp 0x1400a99f5
mov dword [rsp + 0x140], 1
mov byte [rsp + 0x174], 0
jmp 0x1400a9a59
movzx eax, byte [rsp + 0x174]
test eax, eax
je 0x1400a9a59
movzx eax, word [rsp + 0x170]
mov ecx, dword [rsp + 0x148]
add ecx, eax
mov eax, ecx
mov r9d, eax
xor r8d, r8d
mov edx, 0x4f
mov rcx, qword [rsp + 0x50]
call fcn.140070d20
mov eax, dword [rsp + 0x144]
inc eax
mov dword [rsp + 0x144], eax
mov dword [rsp + 0x140], 0
mov dword [rsp + 0x158], 1
movzx eax, byte [rsp + 0x174]
mov ecx, dword [rsp + 0x144]
sub ecx, eax
mov eax, ecx
mov r9, qword [rsp + 0x168]
mov r8d, eax
mov edx, dword [rsp + 0x148]
mov rcx, qword [rsp + 0xa8]
call fcn.1400ab1d0
mov rax, qword [rsp + 0x78]
movzx eax, word [rax + 0x2e]
test eax, eax
jle 0x1400a9aac
mov rax, qword [rsp + 0x78]
movzx eax, word [rax + 0x2e]
cmp dword [rsp + 0x144], eax
jne 0x1400a9aac
jmp 0x1400a9b0c
mov eax, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x140]
lea eax, [rax + rcx*2]
mov ecx, dword [rsp + 0x158]
lea eax, [rax + rcx*4]
cdqe
lea rcx, [0x1400dcec0]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x198], eax
mov eax, dword [rsp + 0x144]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x148]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x44]
mov r8d, dword [rsp + 0x15c]
mov edx, dword [rsp + 0x198]
mov rcx, qword [rsp + 0x50]
call fcn.140053e80
movzx eax, word [rsp + 0x170]
mov dword [rsp + 0x144], eax
cmp qword [rsp + 0x160], 0
je 0x1400a9cb5
mov rax, qword [rsp + 0x160]
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x1b8], rax
movzx eax, word [rsp + 0x170]
mov ecx, dword [rsp + 0x148]
add ecx, eax
mov eax, ecx
mov r8d, 1
mov edx, eax
mov rcx, qword [rsp + 0xa8]
call fcn.140077970
movzx eax, word [rsp + 0x178]
movzx ecx, word [rsp + 0x170]
mov edx, dword [rsp + 0x148]
add edx, ecx
mov ecx, edx
mov r9d, eax
mov r8d, ecx
mov rdx, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0xa8]
call fcn.1400ac3b0
mov r8, qword [rsp + 0x160]
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x50]
call fcn.1400ac1c0
mov rax, qword [rsp + 0x160]
movzx eax, word [rax + 0x12]
and eax, 0
test eax, eax
jne 0x1400a9c07
mov rcx, qword [rsp + 0x1b8]
call fcn.140076820
test eax, eax
je 0x1400a9c07
movzx eax, word [rsp + 0x170]
mov ecx, dword [rsp + 0x148]
add ecx, eax
mov eax, ecx
mov r9d, dword [rsp + 0x44]
mov r8d, eax
mov edx, 0x22
mov rcx, qword [rsp + 0x50]
call fcn.140070d20
cmp qword [rsp + 0x150], 0
je 0x1400a9c66
movzx eax, word [rsp + 0x178]
mov r8, qword [rsp + 0x150]
mov edx, eax
mov rcx, qword [rsp + 0x1b8]
call fcn.1400ab2c0
movzx eax, word [rsp + 0x178]
movzx ecx, word [rsp + 0x170]
mov edx, dword [rsp + 0x148]
add edx, ecx
mov ecx, edx
mov r9, qword [rsp + 0x150]
mov r8d, eax
mov edx, ecx
mov rcx, qword [rsp + 0xa8]
call fcn.1400ab1d0
movzx eax, word [rsp + 0x178]
mov ecx, dword [rsp + 0x144]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x144], eax
mov rcx, qword [rsp + 0x1b8]
call fcn.140074760
test eax, eax
jne 0x1400a9ca8
mov rdx, qword [rsp + 0x160]
mov rcx, qword [rsp + 0xb0]
call fcn.1400ab0a0
jmp 0x1400a9cb3
mov dword [rsp + 0x194], 1
jmp 0x1400a9d04
movzx eax, byte [rsp + 0x190]
test eax, eax
je 0x1400a9d04
movzx eax, word [rsp + 0x170]
mov ecx, dword [rsp + 0x148]
add ecx, eax
mov eax, ecx
mov r9d, eax
xor r8d, r8d
mov edx, 0x4f
mov rcx, qword [rsp + 0x50]
call fcn.140070d20
mov dword [rsp + 0x194], 0
mov eax, dword [rsp + 0x144]
inc eax
mov dword [rsp + 0x144], eax
mov rdx, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x58]
call fcn.140012c10
mov rdx, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x58]
call fcn.140012c10
mov rcx, qword [rsp + 0x50]
call fcn.140070d70
mov rcx, qword [rsp + 0xb0]
mov dword [rcx + 0x34], eax
cmp dword [rsp + 0x144], 0
je 0x1400a9d9d
mov eax, dword [rsp + 0x194]
mov ecx, dword [rsp + 0x60]
lea eax, [rax + rcx*2]
cdqe
lea rcx, str._:_
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x198], eax
mov eax, dword [rsp + 0x144]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x148]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x44]
mov r8d, dword [rsp + 0x15c]
mov edx, dword [rsp + 0x198]
mov rcx, qword [rsp + 0x50]
call fcn.140053e80
cmp dword [rsp + 0x9c], 0
je 0x1400a9dac
jmp 0x1400a9fc5
mov rax, qword [rsp + 0x180]
mov rax, qword [rax + 0x18]
movzx eax, byte [rax + 0x46]
and eax, 0x20
test eax, eax
jne 0x1400a9ea6
mov rax, qword [rsp + 0x3f0]
movzx eax, word [rax + 0x38]
and eax, 0x400
test eax, eax
je 0x1400a9e7c
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax + 0x38]
inc eax
mov dword [rsp + 0x3ac], eax
mov rax, qword [rsp + 0xa8]
mov ecx, dword [rsp + 0x3ac]
mov dword [rax + 0x38], ecx
mov eax, dword [rsp + 0x3ac]
mov dword [rsp + 0xa0], eax
mov r9d, dword [rsp + 0xa0]
mov r8d, dword [rsp + 0x15c]
mov edx, 0x81
mov rcx, qword [rsp + 0x50]
call fcn.140070d20
mov r9d, dword [rsp + 0xa0]
mov r8d, 0xffffffff
mov edx, dword [rsp + 0x80]
mov rcx, qword [rsp + 0xa8]
call fcn.140077cd0
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8d, dword [rsp + 0x80]
mov edx, 0x21
mov rcx, qword [rsp + 0x50]
call fcn.140053ef0
jmp 0x1400a9ea1
mov r9d, dword [rsp + 0x15c]
mov r8d, dword [rsp + 0x80]
mov rdx, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x3f0]
call fcn.1400ac230
jmp 0x1400a9fc5
mov eax, dword [rsp + 0x15c]
cmp dword [rsp + 0x80], eax
je 0x1400a9fc5
mov rax, qword [rsp + 0x180]
mov rcx, qword [rax + 0x18]
call fcn.14005d6b0
mov qword [rsp + 0x1c0], rax
mov rax, qword [rsp + 0x1c0]
movzx eax, word [rax + 0x5e]
mov edx, eax
mov rcx, qword [rsp + 0xa8]
call fcn.140079780
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0xb8], 0
jmp 0x1400a9f12
mov eax, dword [rsp + 0xb8]
inc eax
mov dword [rsp + 0xb8], eax
mov rax, qword [rsp + 0x1c0]
movzx eax, word [rax + 0x5e]
cmp dword [rsp + 0xb8], eax
jge 0x1400a9f8e
movsxd rax, dword [rsp + 0xb8]
mov rcx, qword [rsp + 0x1c0]
mov rcx, qword [rcx + 8]
movzx edx, word [rcx + rax*2]
mov rcx, qword [rsp + 0x180]
call fcn.14007da80
cwde
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0xb8]
mov ecx, dword [rsp + 0xa0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x98]
mov r8d, dword [rsp + 0x15c]
mov edx, 0x60
mov rcx, qword [rsp + 0x50]
call fcn.140053ef0
jmp 0x1400a9f02
mov rax, qword [rsp + 0x1c0]
movzx eax, word [rax + 0x5e]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x70]
mov r8d, dword [rsp + 0x80]
mov edx, 0x1e
mov rcx, qword [rsp + 0x50]
call fcn.140053e80
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x28]
and eax, 0x1000
test eax, eax
je 0x1400a9fe4
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x2d], 0xa1
jmp 0x1400aa005
cmp dword [rsp + 0x60], 0
je 0x1400a9ff9
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x2d], 6
jmp 0x1400aa005
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x2d], 7
mov rax, qword [rsp + 0xb0]
mov ecx, dword [rsp + 0x15c]
mov dword [rax + 0x30], ecx
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x28]
and eax, 0x10000
test eax, eax
je 0x1400aa035
mov dword [rsp + 0x3b0], 1
jmp 0x1400aa040
mov dword [rsp + 0x3b0], 0
mov rax, qword [rsp + 0xb0]
movzx ecx, byte [rsp + 0x3b0]
mov byte [rax + 0x2e], cl
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x28]
and eax, 0xf
test eax, eax
jne 0x1400aa06e
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x2f], 1
jmp 0x1400aac3f
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x28]
and eax, 0x2000
test eax, eax
je 0x1400aabad
mov qword [rsp + 0x208], 0
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax + 0x34]
mov dword [rsp + 0x214], eax
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax + 0x34]
inc eax
mov rcx, qword [rsp + 0xa8]
mov dword [rcx + 0x34], eax
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax + 0x38]
inc eax
mov dword [rsp + 0x3b4], eax
mov rax, qword [rsp + 0xa8]
mov ecx, dword [rsp + 0x3b4]
mov dword [rax + 0x38], ecx
mov eax, dword [rsp + 0x3b4]
mov dword [rsp + 0x1f8], eax
mov dword [rsp + 0x218], 0
mov dword [rsp + 0x1dc], 0
mov rcx, qword [rsp + 0x50]
call fcn.1400722f0
mov dword [rsp + 0x1f4], eax
mov dword [rsp + 0x1c8], 0
mov qword [rsp + 0x1e8], 0
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x1e0], rax
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x38]
mov rax, qword [rax]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x200], rax
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x2d], 0x48
mov rax, qword [rsp + 0xb0]
mov ecx, dword [rsp + 0x1f8]
mov dword [rax + 0x30], ecx
mov rax, qword [rsp + 0x3f0]
movzx eax, byte [rax + 0x3a]
cmp eax, 1
jle 0x1400aa2dd
mov rax, qword [rsp + 0x3f0]
movzx eax, byte [rax + 0x3a]
sub eax, dword [rsp + 0x3f8]
dec eax
mov dword [rsp + 0x228], eax
movsxd rax, dword [rsp + 0x228]
imul rax, rax, 0x78
add rax, 0x80
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1400159b0
mov qword [rsp + 0x1d0], rax
cmp qword [rsp + 0x1d0], 0
jne 0x1400aa1f4
mov rax, qword [rsp + 0x400]
jmp 0x1400ab085
mov eax, dword [rsp + 0x228]
inc eax
movzx eax, al
mov rcx, qword [rsp + 0x1d0]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x1d0]
mov ecx, dword [rcx + 4]
mov dword [rax], ecx
mov rax, qword [rsp + 0x1d0]
add rax, 8
mov r8d, 0x78
mov rdx, qword [rsp + 0x88]
mov rcx, rax
call fcn.1400c2b10
mov rax, qword [rsp + 0x3f0]
mov rax, qword [rax + 8]
add rax, 8
mov qword [rsp + 0x220], rax
mov dword [rsp + 0x98], 1
jmp 0x1400aa277
mov eax, dword [rsp + 0x98]
inc eax
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0x228]
cmp dword [rsp + 0x98], eax
jg 0x1400aa2db
movsxd rax, dword [rsp + 0x98]
imul rax, rax, 0x58
mov rcx, qword [rsp + 0xb0]
movzx eax, byte [rcx + rax + 0x2c]
imul rax, rax, 0x78
mov rcx, qword [rsp + 0x220]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0x98]
imul rcx, rcx, 0x78
mov rdx, qword [rsp + 0x1d0]
lea rcx, [rdx + rcx + 8]
mov r8d, 0x78
mov rdx, rax
call fcn.1400c2b10
jmp 0x1400aa267
jmp 0x1400aa2f1
mov rax, qword [rsp + 0x3f0]
mov rax, qword [rax + 8]
mov qword [rsp + 0x1d0], rax
mov rax, qword [rsp + 0x3f0]
movzx eax, word [rax + 0x38]
and eax, 0x10
test eax, eax
jne 0x1400aa419
mov rax, qword [rsp + 0x1e0]
movzx eax, byte [rax + 0x46]
and eax, 0x20
test eax, eax
jne 0x1400aa36b
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax + 0x38]
inc eax
mov dword [rsp + 0x3b8], eax
mov rax, qword [rsp + 0xa8]
mov ecx, dword [rsp + 0x3b8]
mov dword [rax + 0x38], ecx
mov eax, dword [rsp + 0x3b8]
mov dword [rsp + 0x218], eax
mov r9d, dword [rsp + 0x218]
xor r8d, r8d
mov edx, 0x4f
mov rcx, qword [rsp + 0x50]
call fcn.140070d20
jmp 0x1400aa3e5
mov rcx, qword [rsp + 0x1e0]
call fcn.14005d6b0
mov qword [rsp + 0x230], rax
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax + 0x34]
mov dword [rsp + 0x218], eax
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax + 0x34]
inc eax
mov rcx, qword [rsp + 0xa8]
mov dword [rcx + 0x34], eax
mov rax, qword [rsp + 0x230]
movzx eax, word [rax + 0x5e]
mov r9d, eax
mov r8d, dword [rsp + 0x218]
mov edx, 0x6b
mov rcx, qword [rsp + 0x50]
call fcn.140070d20
mov rdx, qword [rsp + 0x230]
mov rcx, qword [rsp + 0xa8]
call fcn.140072480
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax + 0x38]
inc eax
mov dword [rsp + 0x3bc], eax
mov rax, qword [rsp + 0xa8]
mov ecx, dword [rsp + 0x3bc]
mov dword [rax + 0x38], ecx
mov eax, dword [rsp + 0x3bc]
mov dword [rsp + 0x1dc], eax
mov r9d, dword [rsp + 0x1f8]
xor r8d, r8d
mov edx, 0x4c
mov rcx, qword [rsp + 0x50]
call fcn.140070d20
mov dword [rsp + 0x1d8], eax
mov rax, qword [rsp + 0x90]
cmp dword [rax + 0x14], 1
jle 0x1400aa5ae
mov dword [rsp + 0x238], 0
jmp 0x1400aa469
mov eax, dword [rsp + 0x238]
inc eax
mov dword [rsp + 0x238], eax
mov rax, qword [rsp + 0x90]
mov eax, dword [rax + 0x14]
cmp dword [rsp + 0x238], eax
jge 0x1400aa575
movsxd rax, dword [rsp + 0x238]
imul rax, rax, 0x40
mov rcx, qword [rsp + 0x90]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rax + rcx]
mov qword [rsp + 0x240], rax
movsxd rax, dword [rsp + 0x238]
imul rax, rax, 0x40
mov rcx, qword [rsp + 0x90]
add rax, qword [rcx + 0x20]
cmp rax, qword [rsp + 0x68]
jne 0x1400aa4c6
jmp 0x1400aa459
mov rax, qword [rsp + 0x240]
mov eax, dword [rax + 4]
and eax, 1
test eax, eax
je 0x1400aa4dd
jmp 0x1400aa459
movsxd rax, dword [rsp + 0x238]
imul rax, rax, 0x40
mov rcx, qword [rsp + 0x90]
mov rcx, qword [rcx + 0x20]
movzx eax, word [rcx + rax + 0x12]
and eax, 6
test eax, eax
je 0x1400aa506
jmp 0x1400aa459
movsxd rax, dword [rsp + 0x238]
imul rax, rax, 0x40
mov rcx, qword [rsp + 0x90]
mov rcx, qword [rcx + 0x20]
movzx eax, word [rcx + rax + 0x14]
and eax, 0x1fff
test eax, eax
jne 0x1400aa531
jmp 0x1400aa459
xor r8d, r8d
mov rdx, qword [rsp + 0x240]
mov rcx, qword [rsp + 0x58]
call fcn.14006e2b0
mov qword [rsp + 0x240], rax
mov r8, qword [rsp + 0x240]
mov rdx, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x58]
call fcn.14006d910
mov qword [rsp + 0x1e8], rax
jmp 0x1400aa459
cmp qword [rsp + 0x1e8], 0
je 0x1400aa5ae
mov qword [rsp + 0x20], 0
mov r9, qword [rsp + 0x1e8]
xor r8d, r8d
mov edx, 0x11c
mov rcx, qword [rsp + 0xa8]
call fcn.14006d710
mov qword [rsp + 0x1e8], rax
mov rax, qword [rsp + 0x3f0]
movzx eax, word [rax + 0x38]
and eax, 0x400
or eax, 0x20
mov word [rsp + 0x210], ax
mov dword [rsp + 0x1f0], 0
jmp 0x1400aa5e7
mov eax, dword [rsp + 0x1f0]
inc eax
mov dword [rsp + 0x1f0], eax
mov rax, qword [rsp + 0x200]
mov eax, dword [rax + 0x14]
cmp dword [rsp + 0x1f0], eax
jge 0x1400aaac7
movsxd rax, dword [rsp + 0x1f0]
imul rax, rax, 0x40
mov rcx, qword [rsp + 0x200]
add rax, qword [rcx + 0x20]
mov qword [rsp + 0x248], rax
mov rax, qword [rsp + 0x248]
mov ecx, dword [rsp + 0x80]
cmp dword [rax + 0x1c], ecx
je 0x1400aa64c
mov rax, qword [rsp + 0x248]
movzx eax, word [rax + 0x14]
and eax, 0x400
test eax, eax
je 0x1400aaac2
mov rax, qword [rsp + 0x248]
mov rax, qword [rax]
mov qword [rsp + 0x250], rax
mov dword [rsp + 0x260], 0
cmp qword [rsp + 0x1e8], 0
je 0x1400aa6ab
mov rax, qword [rsp + 0x250]
mov eax, dword [rax + 4]
and eax, 1
test eax, eax
jne 0x1400aa6ab
mov rax, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x250]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x1e8]
mov qword [rsp + 0x250], rax
mov eax, dword [rsp + 0x214]
mov dword [rsp + 0x30], eax
movzx eax, word [rsp + 0x210]
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0x250]
mov rdx, qword [rsp + 0x1d0]
mov rcx, qword [rsp + 0xa8]
call fcn.1400a6be0
mov qword [rsp + 0x258], rax
cmp qword [rsp + 0x258], 0
je 0x1400aaac2
mov rax, qword [rsp + 0xb0]
movzx eax, byte [rax + 0x2c]
mov rcx, qword [rsp + 0x258]
add rcx, 0x390
mov word [rsp + 0x28], 0
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x3f8]
mov r8, rcx
mov rdx, qword [rsp + 0x1d0]
mov rcx, qword [rsp + 0xa8]
call fcn.1400a7c70
mov dword [rsp + 0x264], eax
mov rax, qword [rsp + 0x3f0]
movzx eax, word [rax + 0x38]
and eax, 0x10
test eax, eax
jne 0x1400aa9c9
mov rax, qword [rsp + 0x200]
mov eax, dword [rax + 0x14]
dec eax
cmp dword [rsp + 0x1f0], eax
jne 0x1400aa78a
mov dword [rsp + 0x3c0], 0xffffffff
jmp 0x1400aa798
mov eax, dword [rsp + 0x1f0]
mov dword [rsp + 0x3c0], eax
mov eax, dword [rsp + 0x3c0]
mov dword [rsp + 0x274], eax
mov rax, qword [rsp + 0x1e0]
movzx eax, byte [rax + 0x46]
and eax, 0x20
test eax, eax
jne 0x1400aa82f
mov byte [rsp + 0x28], 0
mov eax, dword [rsp + 0x1dc]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x80]
mov r8d, 0xffffffff
mov rdx, qword [rsp + 0x1e0]
mov rcx, qword [rsp + 0xa8]
call fcn.140077b90
mov dword [rsp + 0x270], eax
mov eax, dword [rsp + 0x274]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x270]
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8d, dword [rsp + 0x218]
mov edx, 0x3f
mov rcx, qword [rsp + 0x50]
call fcn.140053e80
mov dword [rsp + 0x260], eax
jmp 0x1400aa9c9
mov rcx, qword [rsp + 0x1e0]
call fcn.14005d6b0
mov qword [rsp + 0x280], rax
mov rax, qword [rsp + 0x280]
movzx eax, word [rax + 0x5e]
mov dword [rsp + 0x27c], eax
mov edx, dword [rsp + 0x27c]
mov rcx, qword [rsp + 0xa8]
call fcn.140079780
mov dword [rsp + 0x270], eax
mov dword [rsp + 0x278], 0
jmp 0x1400aa88f
mov eax, dword [rsp + 0x278]
inc eax
mov dword [rsp + 0x278], eax
mov eax, dword [rsp + 0x27c]
cmp dword [rsp + 0x278], eax
jge 0x1400aa8fb
movsxd rax, dword [rsp + 0x278]
mov rcx, qword [rsp + 0x280]
mov rcx, qword [rcx + 8]
movsx eax, word [rcx + rax*2]
mov dword [rsp + 0x288], eax
mov eax, dword [rsp + 0x278]
mov ecx, dword [rsp + 0x270]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x80]
mov r8d, dword [rsp + 0x288]
mov rdx, qword [rsp + 0x1e0]
mov rcx, qword [rsp + 0xa8]
call fcn.14009a4e0
jmp 0x1400aa87f
cmp dword [rsp + 0x274], 0
je 0x1400aa93c
mov eax, dword [rsp + 0x27c]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x270]
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8d, dword [rsp + 0x218]
mov edx, 0x1f
mov rcx, qword [rsp + 0x50]
call fcn.140053e80
mov dword [rsp + 0x260], eax
cmp dword [rsp + 0x274], 0
jl 0x1400aa9ad
mov eax, dword [rsp + 0x1dc]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x27c]
mov r8d, dword [rsp + 0x270]
mov edx, 0x63
mov rcx, qword [rsp + 0x50]
call fcn.140053ef0
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x1dc]
mov r8d, dword [rsp + 0x218]
mov edx, 0x7e
mov rcx, qword [rsp + 0x50]
call fcn.140053ef0
cmp dword [rsp + 0x274], 0
je 0x1400aa9ad
mov dl, 0x10
mov rcx, qword [rsp + 0x50]
call fcn.1400542c0
mov r8d, dword [rsp + 0x27c]
mov edx, dword [rsp + 0x270]
mov rcx, qword [rsp + 0xa8]
call fcn.140079820
mov r9d, dword [rsp + 0x1f4]
mov r8d, dword [rsp + 0x1f8]
mov edx, 0xe
mov rcx, qword [rsp + 0x50]
call fcn.140070d20
cmp dword [rsp + 0x260], 0
je 0x1400aaa03
mov edx, dword [rsp + 0x260]
mov rcx, qword [rsp + 0x50]
call fcn.140072400
mov rax, qword [rsp + 0x258]
movzx eax, byte [rax + 0x3e]
test eax, eax
je 0x1400aaa1e
mov dword [rsp + 0x1c8], 1
mov rax, qword [rsp + 0x258]
mov rax, qword [rax + 0x3d8]
mov qword [rsp + 0x268], rax
mov rax, qword [rsp + 0x268]
mov eax, dword [rax + 0x28]
and eax, 0x200
test eax, eax
je 0x1400aaaa9
cmp dword [rsp + 0x1f0], 0
je 0x1400aaa69
mov rax, qword [rsp + 0x268]
mov rcx, qword [rsp + 0x208]
cmp qword [rax + 0x20], rcx
jne 0x1400aaaa9
mov rax, qword [rsp + 0x1e0]
movzx eax, byte [rax + 0x46]
and eax, 0x20
test eax, eax
je 0x1400aaa93
mov rax, qword [rsp + 0x268]
mov rax, qword [rax + 0x20]
mov eax, dword [rax + 0x64]
and eax, 3
cmp eax, 2
je 0x1400aaaa9
mov rax, qword [rsp + 0x268]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x208], rax
jmp 0x1400aaab5
mov qword [rsp + 0x208], 0
mov rcx, qword [rsp + 0x258]
call fcn.1400b7b40
jmp 0x1400aa5d7
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x208]
mov qword [rax + 0x38], rcx
cmp qword [rsp + 0x208], 0
je 0x1400aaaf8
mov rax, qword [rsp + 0xb0]
mov ecx, dword [rsp + 0x214]
mov dword [rax + 8], ecx
cmp qword [rsp + 0x1e8], 0
je 0x1400aab25
mov rax, qword [rsp + 0x1e8]
mov qword [rax + 0x10], 0
mov rdx, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x58]
call fcn.14005ce50
mov rcx, qword [rsp + 0x50]
call fcn.140070d70
mov r8d, eax
mov edx, dword [rsp + 0x1d8]
mov rcx, qword [rsp + 0x50]
call fcn.14009a470
mov rax, qword [rsp + 0xb0]
mov edx, dword [rax + 0xc]
mov rcx, qword [rsp + 0x50]
call fcn.1400722b0
mov edx, dword [rsp + 0x1f4]
mov rcx, qword [rsp + 0x50]
call fcn.1400723a0
mov rax, qword [rsp + 0x3f0]
movzx eax, byte [rax + 0x3a]
cmp eax, 1
jle 0x1400aab8c
mov rdx, qword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x58]
call fcn.140012c10
cmp dword [rsp + 0x1c8], 0
jne 0x1400aaba8
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xb0]
call fcn.1400ab0a0
jmp 0x1400aac3f
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0x40]
shr eax, 5
and eax, 1
test eax, eax
je 0x1400aabd0
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x2d], 0xa1
jmp 0x1400aac3f
movsxd rax, dword [rsp + 0x60]
lea rcx, [0x1400dcd4c]
mov rdx, qword [rsp + 0xb0]
movzx eax, byte [rcx + rax]
mov byte [rdx + 0x2d], al
mov rax, qword [rsp + 0xb0]
mov ecx, dword [rsp + 0x80]
mov dword [rax + 0x30], ecx
movsxd rax, dword [rsp + 0x60]
lea rcx, [0x1400dce94]
movzx eax, byte [rcx + rax]
mov r9d, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x80]
mov edx, eax
mov rcx, qword [rsp + 0x50]
call fcn.140070d20
inc eax
mov rcx, qword [rsp + 0xb0]
mov dword [rcx + 0x34], eax
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x2f], 1
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x90]
mov eax, dword [rax + 0x14]
mov dword [rsp + 0xb8], eax
jmp 0x1400aac82
mov eax, dword [rsp + 0xb8]
dec eax
mov dword [rsp + 0xb8], eax
mov rax, qword [rsp + 0x68]
add rax, 0x40
mov qword [rsp + 0x68], rax
cmp dword [rsp + 0xb8], 0
jle 0x1400aadcf
mov dword [rsp + 0x28c], 0
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x12]
and eax, 6
test eax, eax
je 0x1400aacad
jmp 0x1400aac64
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xb0]
mov rcx, qword [rcx + 0x50]
mov rax, qword [rax + 0x38]
and rax, rcx
test rax, rax
je 0x1400aacd8
mov rax, qword [rsp + 0x3f0]
mov byte [rax + 0x3e], 1
jmp 0x1400aac64
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov qword [rsp + 0x290], rax
mov rax, qword [rsp + 0xb0]
cmp dword [rax], 0
je 0x1400aad0c
mov rax, qword [rsp + 0x290]
mov eax, dword [rax + 4]
and eax, 1
test eax, eax
jne 0x1400aad0c
jmp 0x1400aac64
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x12]
and eax, 0x200
test eax, eax
je 0x1400aad7a
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x24]
mov dword [rsp + 0x298], eax
mov eax, dword [rsp + 0x298]
and eax, 1
test eax, eax
je 0x1400aad4b
mov dword [rsp + 0x3c4], 0x16
jmp 0x1400aad56
mov dword [rsp + 0x3c4], 0x15
mov eax, dword [rsp + 0x298]
shr eax, 1
mov r8d, eax
mov edx, dword [rsp + 0x3c4]
mov rcx, qword [rsp + 0x50]
call fcn.140072270
mov dword [rsp + 0x28c], eax
mov r9d, 0x10
mov r8d, dword [rsp + 0x70]
mov rdx, qword [rsp + 0x290]
mov rcx, qword [rsp + 0xa8]
call fcn.140078880
cmp dword [rsp + 0x28c], 0
je 0x1400aadb5
mov edx, dword [rsp + 0x28c]
mov rcx, qword [rsp + 0x50]
call fcn.140072400
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x12]
or eax, 4
mov rcx, qword [rsp + 0x68]
mov word [rcx + 0x12], ax
jmp 0x1400aac64
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x90]
mov eax, dword [rax + 0x14]
mov dword [rsp + 0xb8], eax
jmp 0x1400aae12
mov eax, dword [rsp + 0xb8]
dec eax
mov dword [rsp + 0xb8], eax
mov rax, qword [rsp + 0x68]
add rax, 0x40
mov qword [rsp + 0x68], rax
cmp dword [rsp + 0xb8], 0
jle 0x1400aaf6b
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x12]
and eax, 6
test eax, eax
je 0x1400aae32
jmp 0x1400aadf4
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x14]
and eax, 0x82
test eax, eax
jne 0x1400aae46
jmp 0x1400aadf4
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x14]
and eax, 0x800
test eax, eax
jne 0x1400aae5a
jmp 0x1400aadf4
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x80]
cmp dword [rax + 0x1c], ecx
je 0x1400aae6d
jmp 0x1400aadf4
mov rax, qword [rsp + 0xb0]
cmp dword [rax], 0
je 0x1400aae7f
jmp 0x1400aadf4
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov qword [rsp + 0x300], rax
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x83
mov r9, qword [rsp + 0x400]
mov rax, qword [rsp + 0x68]
mov r8d, dword [rax + 0x28]
mov edx, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x90]
call fcn.1400af820
mov qword [rsp + 0x2a0], rax
cmp qword [rsp + 0x2a0], 0
jne 0x1400aaedd
jmp 0x1400aadf4
mov rax, qword [rsp + 0x2a0]
movzx eax, word [rax + 0x12]
and eax, 4
test eax, eax
je 0x1400aaef5
jmp 0x1400aadf4
mov rax, qword [rsp + 0x2a0]
mov rax, qword [rax]
lea rcx, [rsp + 0x308]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x48
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2b0]
lea rcx, [rsp + 0x308]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x48
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x300]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x2c0], rax
mov r9d, 0x10
mov r8d, dword [rsp + 0x70]
lea rdx, [rsp + 0x2b0]
mov rcx, qword [rsp + 0xa8]
call fcn.140078880
jmp 0x1400aadf4
mov rax, qword [rsp + 0xb0]
cmp dword [rax], 0
je 0x1400ab079
mov rcx, qword [rsp + 0x50]
call fcn.140070d70
mov rcx, qword [rsp + 0xb0]
mov dword [rcx + 0x1c], eax
mov rax, qword [rsp + 0xb0]
mov r9d, dword [rax]
mov r8d, 1
mov edx, 0x4c
mov rcx, qword [rsp + 0x50]
call fcn.140070d20
mov rcx, qword [rsp + 0xa8]
call fcn.1400941e0
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0xb8], 0
jmp 0x1400aaffa
mov eax, dword [rsp + 0xb8]
inc eax
mov dword [rsp + 0xb8], eax
mov rax, qword [rsp + 0x68]
add rax, 0x40
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x90]
mov eax, dword [rax + 0x14]
cmp dword [rsp + 0xb8], eax
jge 0x1400ab079
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x12]
and eax, 6
test eax, eax
je 0x1400ab020
jmp 0x1400aafdc
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xb0]
mov rcx, qword [rcx + 0x50]
mov rax, qword [rax + 0x38]
and rax, rcx
test rax, rax
je 0x1400ab03f
jmp 0x1400aafdc
mov r9d, 0x10
mov r8d, dword [rsp + 0x70]
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax]
mov rcx, qword [rsp + 0xa8]
call fcn.140078880
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x12]
or eax, 4
mov rcx, qword [rsp + 0x68]
mov word [rcx + 0x12], ax
jmp 0x1400aafdc
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax + 0x50]
add rsp, 0x3d8
pop rdi
pop rsi
ret