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

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
sub rsp, 0x1f0
mov rax, qword [rsp + 0x210]
mov rax, qword [rax + 0x200]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
movsx eax, word [rax + 0xe]
mov dword [rsp + 0x9c], eax
mov rax, qword [rsp + 0x78]
movsx eax, word [rax + 0xc]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x80], 0
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x8e4]
mov dword [rsp + 0x98], eax
mov rax, qword [rsp + 0x210]
mov ecx, dword [rax + 0xb8]
shr ecx, 8
add ecx, 1
xor edx, edx
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0xb8]
div ecx
mov dword [rsp + 0x6c], eax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x8f0]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x38]
and eax, 0x20
test eax, eax
je 0x1800a4515
mov dword [rsp + 0x184], 0x800000
jmp 0x1800a4520
mov dword [rsp + 0x184], 0x8000
mov eax, dword [rsp + 0x184]
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x70], 0
mov rax, qword [rsp + 0x78]
movsx eax, word [rax + 0xa]
test eax, eax
je 0x1800a4572
mov eax, dword [rsp + 0x38]
and eax, 0x80
test eax, eax
jne 0x1800a4572
mov rax, qword [rsp + 0x78]
movsx eax, word [rax + 8]
cmp eax, 3
jge 0x1800a4568
mov eax, dword [rsp + 0x34]
shl eax, 2
mov dword [rsp + 0x34], eax
jmp 0x1800a4572
mov eax, dword [rsp + 0x34]
shl eax, 1
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0xb8]
add ecx, dword [rsp + 0x220]
mov rax, qword [rsp + 0x210]
cmp ecx, dword [rax + 0xb8]
jbe 0x1800a45b6
mov rdx, qword [rsp + 0x210]
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0xb8]
mov eax, dword [rdx + 0xb8]
sub eax, ecx
mov dword [rsp + 0x220], eax
cmp dword [rsp + 0x220], 0
jne 0x1800a45c7
xor eax, eax
jmp 0x1800a93ab
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0xb8], 0
jne 0x1800a4648
mov rcx, qword [rsp + 0x78]
call fcn.1800a4240
mov rcx, qword [rsp + 0x78]
add rcx, 0x28
mov r8, qword [rsp + 0x210]
mov r8, qword [r8 + 0x98]
mov rdx, qword [rsp + 0x210]
mov rdx, qword [rdx + 0x90]
call fcn.1800a93c0
mov rdx, qword [rsp + 0x210]
cmp dword [rdx + 0xc4], 0
je 0x1800a4648
mov rcx, qword [rsp + 0x78]
add rcx, 0x70
mov r8, qword [rsp + 0x210]
mov r8, qword [r8 + 0xa0]
mov rdx, qword [rsp + 0x210]
mov rdx, qword [rdx + 0x90]
call fcn.1800a93c0
movsxd rcx, dword [rsp + 0x6c]
mov rax, qword [rsp + 0x78]
movsx eax, byte [rax + rcx*8 + 0xc0]
test eax, eax
jne 0x1800a4705
mov rax, qword [rsp + 0x78]
cmp qword [rax + 0x8c0], 0
jne 0x1800a46af
mov rcx, qword [rsp + 0x78]
call fcn.1800a9620
mov edx, eax
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x8c8], edx
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x8c8]
imul eax, eax, 0x100
mov ecx, eax
call fcn.1800776f4
mov rdx, rax
mov rax, qword [rsp + 0x78]
mov qword [rax + 0x8c0], rdx
movsxd rdx, dword [rsp + 0x6c]
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0xb8]
mov dword [rcx + rdx*8 + 0xc4], eax
mov rcx, qword [rsp + 0x78]
mov eax, dword [rsp + 0x6c]
imul eax, dword [rcx + 0x8c8]
mov edx, eax
mov rax, qword [rsp + 0x78]
add rdx, qword [rax + 0x8c0]
mov rcx, qword [rsp + 0x78]
call fcn.1800a97f0
movsxd rdx, dword [rsp + 0x6c]
mov rax, qword [rsp + 0x78]
mov byte [rax + rdx*8 + 0xc0], 1
lea rdi, [rsp + 0x20]
mov rsi, qword [rsp + 0x78]
add rsi, 0x8f4
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x904]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x78]
movsx eax, word [rax + 0xa]
test eax, eax
je 0x1800a4755
mov eax, dword [rsp + 0x38]
and eax, 0xa000
test eax, eax
je 0x1800a4753
mov dword [rsp + 0x80], 0xffffff00
jmp 0x1800a4795
mov eax, dword [rsp + 0x38]
and eax, 0x2000
test eax, eax
je 0x1800a4795
mov eax, dword [rsp + 0x38]
and eax, 0x8000
test eax, eax
je 0x1800a477c
mov dword [rsp + 0x188], 0xfffffe00
jmp 0x1800a4787
mov dword [rsp + 0x188], 0xffffff00
mov eax, dword [rsp + 0x188]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x38]
and eax, 0x20
test eax, eax
je 0x1800a47ee
mov ecx, dword [rsp + 0x9c]
mov eax, 0xff800000
sar eax, cl
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x48]
shl eax, cl
mov dword [rsp + 0x5c], eax
mov ecx, dword [rsp + 0x9c]
mov eax, 0x7fffff
sar eax, cl
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x58]
shl eax, cl
mov dword [rsp + 0x68], eax
jmp 0x1800a483a
mov ecx, dword [rsp + 0x9c]
mov eax, 0xffff8000
sar eax, cl
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x48]
shl eax, cl
mov dword [rsp + 0x5c], eax
mov ecx, dword [rsp + 0x9c]
mov eax, 0x7fff
sar eax, cl
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x58]
shl eax, cl
mov dword [rsp + 0x68], eax
mov rax, qword [rsp + 0x78]
movsx eax, word [rax + 8]
cmp eax, 3
jne 0x1800a55e4
mov rax, qword [rsp + 0x78]
movsx eax, word [rax + 0xa]
test eax, eax
jne 0x1800a55e4
mov eax, dword [rsp + 0x38]
and eax, 1
test eax, eax
je 0x1800a55e4
mov eax, dword [rsp + 0x38]
and eax, 2
test eax, eax
je 0x1800a4b1b
mov eax, dword [rsp + 0x38]
and eax, 0x40
test eax, eax
je 0x1800a4a68
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x3c], 0
jmp 0x1800a48af
mov eax, dword [rsp + 0x3c]
add eax, 1
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x220]
cmp dword [rsp + 0x3c], eax
jae 0x1800a4a63
xor edx, edx
mov rcx, qword [rsp + 0x78]
call fcn.1800abae0
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0x80000000
jne 0x1800a48df
jmp 0x1800a4a63
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x24]
add eax, ecx
mov dword [rsp + 0x24], eax
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x20]
add eax, ecx
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x64], 4
jge 0x1800a498a
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x40]
add rcx, 1
mov rax, qword [rsp + 0x78]
mov qword [rax + 0x40], rcx
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x38]
cmp qword [rcx + 0x40], rax
jne 0x1800a4945
mov rcx, qword [rsp + 0x78]
add rcx, 0x28
mov rax, qword [rsp + 0x78]
call qword [rax + 0x28]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x40]
movzx edx, byte [rax]
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x64]
movzx ecx, al
shl edx, cl
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x50]
or ecx, edx
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
mov rax, qword [rsp + 0x78]
movsxd rcx, dword [rax + 0x64]
add rcx, 8
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], ecx
jmp 0x1800a48fb
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x50]
mov dword [rsp + 0xa0], eax
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x64], 0x20
jle 0x1800a49e7
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x64]
sub ecx, 4
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x40]
movzx edx, byte [rax]
mov rax, qword [rsp + 0x78]
movsxd rcx, dword [rax + 0x64]
mov eax, 8
sub rax, rcx
movzx ecx, al
mov eax, edx
sar eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
jmp 0x1800a4a0d
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x64]
sub ecx, 4
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x50]
shr ecx, 4
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
mov eax, dword [rsp + 0xa0]
and eax, 0xf
mov ecx, dword [rsp + 0x20]
shl ecx, 4
add eax, ecx
mov dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0x30]
imul eax, eax, 3
add eax, dword [rsp + 0xa0]
mov dword [rsp + 0x30], eax
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0xa0]
mov dword [rcx], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a48a4
jmp 0x1800a4b16
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x3c], 0
jmp 0x1800a4a8d
mov eax, dword [rsp + 0x3c]
add eax, 1
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x220]
cmp dword [rsp + 0x3c], eax
jae 0x1800a4b16
xor edx, edx
mov rcx, qword [rsp + 0x78]
call fcn.1800abae0
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0x80000000
jne 0x1800a4ab6
jmp 0x1800a4b16
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x24]
add eax, ecx
mov dword [rsp + 0x24], eax
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x20]
add eax, ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x30]
imul eax, eax, 3
add eax, dword [rsp + 0x20]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x20]
shl eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a4a82
jmp 0x1800a55df
mov eax, dword [rsp + 0x38]
and eax, 0x10
test eax, eax
je 0x1800a5199
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x3c], 0
jmp 0x1800a4b4f
mov eax, dword [rsp + 0x3c]
add eax, 1
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x220]
cmp dword [rsp + 0x3c], eax
jae 0x1800a5194
mov eax, dword [rsp + 0x38]
and eax, 0x400
test eax, eax
je 0x1800a4b8e
xor edx, edx
mov rcx, qword [rsp + 0x78]
call fcn.1800a9d30
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0x80000000
jne 0x1800a4b8c
jmp 0x1800a5194
jmp 0x1800a4bad
xor edx, edx
mov rcx, qword [rsp + 0x78]
call fcn.1800aae60
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0x80000000
jne 0x1800a4bad
jmp 0x1800a5194
mov eax, dword [rsp + 0x38]
and eax, 0x8000
test eax, eax
je 0x1800a4d12
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0xbc]
mov dword [rsp + 0x64], eax
mov rax, qword [rsp + 0x78]
add rax, 0x90c
mov qword [rsp + 0x40], rax
jmp 0x1800a4bed
mov rax, qword [rsp + 0x40]
add rax, 0x60
mov qword [rsp + 0x40], rax
mov ecx, dword [rsp + 0x64]
mov eax, dword [rsp + 0x64]
sub eax, 1
mov dword [rsp + 0x64], eax
test ecx, ecx
je 0x1800a4d0d
movsxd rcx, dword [rsp + 0x98]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + rcx*4 + 0x10]
mov dword [rsp + 0xa8], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 8]
imul eax, dword [rsp + 0xa8]
add eax, 0x100
sar eax, 9
add eax, dword [rsp + 0x60]
mov dword [rsp + 0xa4], eax
cmp dword [rsp + 0xa8], 0
je 0x1800a4cda
cmp dword [rsp + 0x60], 0
je 0x1800a4cda
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0xa8]
xor eax, ecx
test eax, eax
jl 0x1800a4ca1
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 8]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
cmp edx, 0x200
jne 0x1800a4c9f
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
jmp 0x1800a4cda
mov rax, qword [rsp + 0x40]
mov edi, dword [rax + 8]
mov edx, dword [rsp + 0x80]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
cmp edi, edx
jne 0x1800a4cda
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
mov eax, dword [rsp + 0xa4]
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax]
mov eax, dword [rsp + 0x98]
add eax, ecx
and eax, 7
movsxd rdx, eax
mov rcx, qword [rsp + 0x40]
mov eax, dword [rsp + 0x60]
mov dword [rcx + rdx*4 + 0x10], eax
jmp 0x1800a4bdf
jmp 0x1800a4e61
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0xbc]
mov dword [rsp + 0x64], eax
mov rax, qword [rsp + 0x78]
add rax, 0x90c
mov qword [rsp + 0x40], rax
jmp 0x1800a4d41
mov rax, qword [rsp + 0x40]
add rax, 0x60
mov qword [rsp + 0x40], rax
mov ecx, dword [rsp + 0x64]
mov eax, dword [rsp + 0x64]
sub eax, 1
mov dword [rsp + 0x64], eax
test ecx, ecx
je 0x1800a4e61
movsxd rcx, dword [rsp + 0x98]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + rcx*4 + 0x10]
mov dword [rsp + 0xac], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 8]
imul eax, dword [rsp + 0xac]
add eax, 0x80
sar eax, 8
add eax, dword [rsp + 0x60]
mov dword [rsp + 0xa4], eax
cmp dword [rsp + 0xac], 0
je 0x1800a4e2e
cmp dword [rsp + 0x60], 0
je 0x1800a4e2e
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0xac]
xor eax, ecx
test eax, eax
jl 0x1800a4df5
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 8]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
cmp edx, 0x100
jne 0x1800a4df3
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
jmp 0x1800a4e2e
mov rax, qword [rsp + 0x40]
mov edi, dword [rax + 8]
mov edx, dword [rsp + 0x80]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
cmp edi, edx
jne 0x1800a4e2e
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
mov eax, dword [rsp + 0xa4]
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax]
mov eax, dword [rsp + 0x98]
add eax, ecx
and eax, 7
movsxd rdx, eax
mov rcx, qword [rsp + 0x40]
mov eax, dword [rsp + 0x60]
mov dword [rcx + rdx*4 + 0x10], eax
jmp 0x1800a4d33
mov eax, dword [rsp + 0x98]
add eax, 1
and eax, 7
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0x38]
and eax, 0x40
test eax, eax
je 0x1800a5150
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x8e0], 8
jl 0x1800a4f8b
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x64], 0
je 0x1800a4ec8
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x64]
sub ecx, 1
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x50]
and eax, 1
mov dword [rsp + 0x18c], eax
jmp 0x1800a4f37
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x40]
add rcx, 1
mov rax, qword [rsp + 0x78]
mov qword [rax + 0x40], rcx
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x38]
cmp qword [rcx + 0x40], rax
je 0x1800a4ef4
jmp 0x1800a4f05
mov rcx, qword [rsp + 0x78]
add rcx, 0x28
mov rax, qword [rsp + 0x78]
call qword [rax + 0x28]
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], 7
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x40]
movzx ecx, byte [rax]
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x50]
and eax, 1
mov dword [rsp + 0x18c], eax
cmp dword [rsp + 0x18c], 0
je 0x1800a4f60
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x50]
shr ecx, 1
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
mov dword [rsp + 0x190], 1
jmp 0x1800a4f7d
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x50]
shr ecx, 1
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
mov dword [rsp + 0x190], 0
cmp dword [rsp + 0x190], 0
jne 0x1800a50fe
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x64], 4
jge 0x1800a501a
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x40]
add rcx, 1
mov rax, qword [rsp + 0x78]
mov qword [rax + 0x40], rcx
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x38]
cmp qword [rcx + 0x40], rax
jne 0x1800a4fd5
mov rcx, qword [rsp + 0x78]
add rcx, 0x28
mov rax, qword [rsp + 0x78]
call qword [rax + 0x28]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x40]
movzx edx, byte [rax]
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x64]
movzx ecx, al
shl edx, cl
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x50]
or ecx, edx
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
mov rax, qword [rsp + 0x78]
movsxd rcx, dword [rax + 0x64]
add rcx, 8
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], ecx
jmp 0x1800a4f8b
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x50]
mov dword [rsp + 0xa4], eax
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x64], 0x20
jle 0x1800a5077
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x64]
sub ecx, 4
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x40]
movzx edx, byte [rax]
mov rax, qword [rsp + 0x78]
movsxd rcx, dword [rax + 0x64]
mov eax, 8
sub rax, rcx
movzx ecx, al
mov eax, edx
sar eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
jmp 0x1800a509d
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x64]
sub ecx, 4
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x50]
shr ecx, 4
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
mov eax, dword [rsp + 0xa4]
and eax, 0xf
mov dword [rsp + 0xa4], eax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x8dc]
cmp dword [rsp + 0xa4], eax
je 0x1800a50e5
mov rcx, qword [rsp + 0x78]
mov eax, dword [rsp + 0xa4]
mov dword [rcx + 0x8dc], eax
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x8e0], 0
jmp 0x1800a50fe
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x8e0]
add ecx, 1
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x8e0], ecx
mov eax, dword [rsp + 0x60]
shl eax, 4
mov rcx, qword [rsp + 0x78]
add eax, dword [rcx + 0x8dc]
mov dword [rsp + 0xa4], eax
mov eax, dword [rsp + 0x30]
imul eax, eax, 3
add eax, dword [rsp + 0xa4]
mov dword [rsp + 0x30], eax
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0xa4]
mov dword [rcx], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a518f
mov eax, dword [rsp + 0x30]
imul eax, eax, 3
add eax, dword [rsp + 0x60]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x60]
shl eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a4b44
jmp 0x1800a55df
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x3c], 0
jmp 0x1800a51be
mov eax, dword [rsp + 0x3c]
add eax, 1
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x220]
cmp dword [rsp + 0x3c], eax
jae 0x1800a55df
xor edx, edx
mov rcx, qword [rsp + 0x78]
call fcn.1800abae0
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0x80000000
jne 0x1800a51ee
jmp 0x1800a55df
mov ecx, dword [rsp + 0x24]
imul ecx, dword [rsp + 0x50]
add ecx, 0x80
sar ecx, 8
mov eax, dword [rsp + 0x20]
add eax, ecx
add eax, dword [rsp + 0x60]
mov dword [rsp + 0xb0], eax
cmp dword [rsp + 0x24], 0
jl 0x1800a5225
mov dword [rsp + 0x194], 1
jmp 0x1800a5230
mov dword [rsp + 0x194], 0
cmp dword [rsp + 0x60], 0
jle 0x1800a5244
mov dword [rsp + 0x198], 1
jmp 0x1800a524f
mov dword [rsp + 0x198], 0
mov eax, dword [rsp + 0x198]
cmp dword [rsp + 0x194], eax
jne 0x1800a5283
mov ecx, dword [rsp + 0x50]
mov eax, dword [rsp + 0x50]
add eax, 1
mov dword [rsp + 0x50], eax
cmp ecx, 0x100
jne 0x1800a5281
mov eax, dword [rsp + 0x50]
sub eax, 1
mov dword [rsp + 0x50], eax
jmp 0x1800a52a1
mov ecx, dword [rsp + 0x50]
mov eax, dword [rsp + 0x50]
sub eax, 1
mov dword [rsp + 0x50], eax
test ecx, ecx
jne 0x1800a52a1
mov eax, dword [rsp + 0x50]
add eax, 1
mov dword [rsp + 0x50], eax
mov ecx, dword [rsp + 0x20]
mov eax, dword [rsp + 0xb0]
sub eax, ecx
mov dword [rsp + 0x24], eax
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x20]
add eax, ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x38]
and eax, 0x40
test eax, eax
je 0x1800a559b
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x8e0], 8
jl 0x1800a53d6
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x64], 0
je 0x1800a5313
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x64]
sub ecx, 1
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x50]
and eax, 1
mov dword [rsp + 0x19c], eax
jmp 0x1800a5382
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x40]
add rcx, 1
mov rax, qword [rsp + 0x78]
mov qword [rax + 0x40], rcx
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x38]
cmp qword [rcx + 0x40], rax
je 0x1800a533f
jmp 0x1800a5350
mov rcx, qword [rsp + 0x78]
add rcx, 0x28
mov rax, qword [rsp + 0x78]
call qword [rax + 0x28]
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], 7
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x40]
movzx ecx, byte [rax]
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x50]
and eax, 1
mov dword [rsp + 0x19c], eax
cmp dword [rsp + 0x19c], 0
je 0x1800a53ab
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x50]
shr ecx, 1
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
mov dword [rsp + 0x1a0], 1
jmp 0x1800a53c8
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x50]
shr ecx, 1
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
mov dword [rsp + 0x1a0], 0
cmp dword [rsp + 0x1a0], 0
jne 0x1800a5549
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x64], 4
jge 0x1800a5465
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x40]
add rcx, 1
mov rax, qword [rsp + 0x78]
mov qword [rax + 0x40], rcx
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x38]
cmp qword [rcx + 0x40], rax
jne 0x1800a5420
mov rcx, qword [rsp + 0x78]
add rcx, 0x28
mov rax, qword [rsp + 0x78]
call qword [rax + 0x28]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x40]
movzx edx, byte [rax]
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x64]
movzx ecx, al
shl edx, cl
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x50]
or ecx, edx
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
mov rax, qword [rsp + 0x78]
movsxd rcx, dword [rax + 0x64]
add rcx, 8
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], ecx
jmp 0x1800a53d6
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x50]
mov dword [rsp + 0xb0], eax
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x64], 0x20
jle 0x1800a54c2
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x64]
sub ecx, 4
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x40]
movzx edx, byte [rax]
mov rax, qword [rsp + 0x78]
movsxd rcx, dword [rax + 0x64]
mov eax, 8
sub rax, rcx
movzx ecx, al
mov eax, edx
sar eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
jmp 0x1800a54e8
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x64]
sub ecx, 4
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x50]
shr ecx, 4
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
mov eax, dword [rsp + 0xb0]
and eax, 0xf
mov dword [rsp + 0xb0], eax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x8dc]
cmp dword [rsp + 0xb0], eax
je 0x1800a5530
mov rcx, qword [rsp + 0x78]
mov eax, dword [rsp + 0xb0]
mov dword [rcx + 0x8dc], eax
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x8e0], 0
jmp 0x1800a5549
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x8e0]
add ecx, 1
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x8e0], ecx
mov eax, dword [rsp + 0x20]
shl eax, 4
mov rcx, qword [rsp + 0x78]
add eax, dword [rcx + 0x8dc]
mov dword [rsp + 0xb0], eax
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0xb0]
mov dword [rcx], eax
mov eax, dword [rsp + 0x30]
imul eax, eax, 3
add eax, dword [rsp + 0xb0]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a55da
mov eax, dword [rsp + 0x30]
imul eax, eax, 3
add eax, dword [rsp + 0x20]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x20]
shl eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a51b3
jmp 0x1800a8efd
mov rax, qword [rsp + 0x78]
movsx eax, word [rax + 8]
cmp eax, 3
jne 0x1800a77eb
mov rax, qword [rsp + 0x78]
movsx eax, word [rax + 0xa]
test eax, eax
jne 0x1800a77eb
mov eax, dword [rsp + 0x38]
and eax, 1
test eax, eax
jne 0x1800a77eb
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x8d0]
mov dword [rsp + 0xbc], eax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x8d4]
mov dword [rsp + 0xb8], eax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x8cc]
mov dword [rsp + 0xb4], eax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x8d8]
mov dword [rsp + 0xc0], eax
mov eax, dword [rsp + 0x38]
and eax, 2
test eax, eax
je 0x1800a5a5f
mov eax, dword [rsp + 0x38]
and eax, 0x40
test eax, eax
je 0x1800a58ff
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x3c], 0
jmp 0x1800a56a1
mov eax, dword [rsp + 0x3c]
add eax, 1
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x220]
cmp dword [rsp + 0x3c], eax
jae 0x1800a58fa
xor edx, edx
mov rcx, qword [rsp + 0x78]
call fcn.1800abae0
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0x80000000
jne 0x1800a56d1
jmp 0x1800a58fa
mov edx, 1
mov rcx, qword [rsp + 0x78]
call fcn.1800abae0
mov dword [rsp + 0xcc], eax
mov ecx, dword [rsp + 0xcc]
and ecx, 1
mov eax, dword [rsp + 0x60]
shl eax, 1
or eax, ecx
mov dword [rsp + 0xc8], eax
mov eax, dword [rsp + 0xcc]
mov ecx, dword [rsp + 0xc8]
add ecx, eax
sar ecx, 1
mov eax, dword [rsp + 0x24]
add eax, ecx
mov dword [rsp + 0x24], eax
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x20]
add eax, ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0xcc]
mov ecx, dword [rsp + 0xc8]
sub ecx, eax
sar ecx, 1
mov eax, dword [rsp + 0x2c]
add eax, ecx
mov dword [rsp + 0x2c], eax
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x28]
add eax, ecx
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x64], 8
jge 0x1800a57e3
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x40]
add rcx, 1
mov rax, qword [rsp + 0x78]
mov qword [rax + 0x40], rcx
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x38]
cmp qword [rcx + 0x40], rax
jne 0x1800a579e
mov rcx, qword [rsp + 0x78]
add rcx, 0x28
mov rax, qword [rsp + 0x78]
call qword [rax + 0x28]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x40]
movzx edx, byte [rax]
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x64]
movzx ecx, al
shl edx, cl
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x50]
or ecx, edx
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
mov rax, qword [rsp + 0x78]
movsxd rcx, dword [rax + 0x64]
add rcx, 8
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], ecx
jmp 0x1800a5754
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x50]
mov dword [rsp + 0xc4], eax
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x64], 0x20
jle 0x1800a5840
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x64]
sub ecx, 8
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x40]
movzx edx, byte [rax]
mov rax, qword [rsp + 0x78]
movsxd rcx, dword [rax + 0x64]
mov eax, 8
sub rax, rcx
movzx ecx, al
mov eax, edx
sar eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
jmp 0x1800a5866
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x64]
sub ecx, 8
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x50]
shr ecx, 8
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
mov ecx, dword [rsp + 0x20]
shl ecx, 4
mov eax, dword [rsp + 0xc4]
sar eax, 4
and eax, 0xf
add ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov eax, dword [rsp + 0x30]
imul eax, eax, 3
mov rcx, qword [rsp + 0x88]
add eax, dword [rcx]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov ecx, dword [rsp + 0x28]
shl ecx, 4
mov eax, dword [rsp + 0xc4]
and eax, 0xf
add ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov eax, dword [rsp + 0x30]
imul eax, eax, 3
mov rcx, qword [rsp + 0x88]
add eax, dword [rcx]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a5696
jmp 0x1800a5a5a
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x3c], 0
jmp 0x1800a5924
mov eax, dword [rsp + 0x3c]
add eax, 1
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x220]
cmp dword [rsp + 0x3c], eax
jae 0x1800a5a5a
xor edx, edx
mov rcx, qword [rsp + 0x78]
call fcn.1800abae0
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0x80000000
jne 0x1800a5954
jmp 0x1800a5a5a
mov edx, 1
mov rcx, qword [rsp + 0x78]
call fcn.1800abae0
mov dword [rsp + 0xd4], eax
mov ecx, dword [rsp + 0xd4]
and ecx, 1
mov eax, dword [rsp + 0x60]
shl eax, 1
or eax, ecx
mov dword [rsp + 0xd0], eax
mov eax, dword [rsp + 0xd4]
mov ecx, dword [rsp + 0xd0]
add ecx, eax
sar ecx, 1
mov eax, dword [rsp + 0x24]
add eax, ecx
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0xd4]
mov ecx, dword [rsp + 0xd0]
sub ecx, eax
sar ecx, 1
mov eax, dword [rsp + 0x2c]
add eax, ecx
mov dword [rsp + 0x2c], eax
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x20]
add eax, ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x30]
imul eax, eax, 3
add eax, dword [rsp + 0x20]
mov dword [rsp + 0x30], eax
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x28]
add eax, ecx
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x30]
imul eax, eax, 3
add eax, dword [rsp + 0x28]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x20]
shl eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x28]
shl eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a5919
jmp 0x1800a779e
mov eax, dword [rsp + 0x38]
and eax, 0x10
test eax, eax
je 0x1800a7053
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x3c], 0
jmp 0x1800a5a93
mov eax, dword [rsp + 0x3c]
add eax, 1
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x220]
cmp dword [rsp + 0x3c], eax
jae 0x1800a704e
mov eax, dword [rsp + 0x38]
and eax, 0x1000
test eax, eax
je 0x1800a5af1
xor edx, edx
mov rcx, qword [rsp + 0x78]
call fcn.1800a9d30
mov dword [rsp + 0xe0], eax
cmp dword [rsp + 0xe0], 0x80000000
jne 0x1800a5ad6
jmp 0x1800a704e
mov edx, 1
mov rcx, qword [rsp + 0x78]
call fcn.1800a9d30
mov dword [rsp + 0xe8], eax
jmp 0x1800a5fba
mov eax, dword [rsp + 0x38]
and eax, 0x400
test eax, eax
je 0x1800a5da3
xor edx, edx
mov rcx, qword [rsp + 0x78]
call fcn.1800a9d30
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0x80000000
jne 0x1800a5b21
jmp 0x1800a704e
mov edx, 1
mov rcx, qword [rsp + 0x78]
call fcn.1800a9d30
mov dword [rsp + 0xe4], eax
mov eax, dword [rsp + 0xbc]
cmp dword [rsp + 0xb8], eax
jle 0x1800a5c77
mov eax, dword [rsp + 0xb8]
mov edx, dword [rsp + 0xbc]
add edx, eax
mov ecx, dword [rsp + 0xc0]
mov eax, dword [rsp + 0xb4]
add eax, ecx
cmp edx, eax
jge 0x1800a5bcb
mov eax, dword [rsp + 0xc0]
cmp dword [rsp + 0xb8], eax
jge 0x1800a5bcb
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0xe8], eax
mov eax, dword [rsp + 0xe4]
mov dword [rsp + 0xe0], eax
mov ecx, dword [rsp + 0xe0]
mov eax, dword [rsp + 0xe8]
add eax, ecx
mov dword [rsp + 0xec], eax
mov ecx, dword [rsp + 0xe8]
mov eax, dword [rsp + 0xe0]
sub eax, ecx
mov dword [rsp + 0xf4], eax
jmp 0x1800a5c72
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0xf4], eax
mov eax, dword [rsp + 0xbc]
cmp dword [rsp + 0xb4], eax
jge 0x1800a5c36
mov eax, dword [rsp + 0xe4]
shl eax, 1
mov ecx, dword [rsp + 0xf4]
and ecx, 1
or eax, ecx
mov dword [rsp + 0xec], eax
mov ecx, dword [rsp + 0xf4]
mov eax, dword [rsp + 0xec]
add eax, ecx
sar eax, 1
mov dword [rsp + 0xe0], eax
mov ecx, dword [rsp + 0xf4]
mov eax, dword [rsp + 0xec]
sub eax, ecx
sar eax, 1
mov dword [rsp + 0xe8], eax
jmp 0x1800a5c72
mov eax, dword [rsp + 0xe4]
mov dword [rsp + 0xe0], eax
mov ecx, dword [rsp + 0xf4]
mov eax, dword [rsp + 0xe0]
sub eax, ecx
mov dword [rsp + 0xe8], eax
mov ecx, dword [rsp + 0xe8]
mov eax, dword [rsp + 0xe4]
add eax, ecx
mov dword [rsp + 0xec], eax
jmp 0x1800a5d9e
mov eax, dword [rsp + 0xb8]
mov edx, dword [rsp + 0xbc]
add edx, eax
mov ecx, dword [rsp + 0xc0]
mov eax, dword [rsp + 0xb4]
add eax, ecx
cmp edx, eax
jge 0x1800a5cf7
mov eax, dword [rsp + 0xc0]
cmp dword [rsp + 0xbc], eax
jge 0x1800a5cf7
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0xe0], eax
mov eax, dword [rsp + 0xe4]
mov dword [rsp + 0xe8], eax
mov ecx, dword [rsp + 0xe8]
mov eax, dword [rsp + 0xe0]
add eax, ecx
mov dword [rsp + 0xec], eax
mov ecx, dword [rsp + 0xe8]
mov eax, dword [rsp + 0xe0]
sub eax, ecx
mov dword [rsp + 0xf4], eax
jmp 0x1800a5d9e
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0xf4], eax
mov eax, dword [rsp + 0xb8]
cmp dword [rsp + 0xb4], eax
jge 0x1800a5d62
mov eax, dword [rsp + 0xe4]
shl eax, 1
mov ecx, dword [rsp + 0xf4]
and ecx, 1
or eax, ecx
mov dword [rsp + 0xec], eax
mov ecx, dword [rsp + 0xf4]
mov eax, dword [rsp + 0xec]
add eax, ecx
sar eax, 1
mov dword [rsp + 0xe0], eax
mov ecx, dword [rsp + 0xf4]
mov eax, dword [rsp + 0xec]
sub eax, ecx
sar eax, 1
mov dword [rsp + 0xe8], eax
jmp 0x1800a5d9e
mov eax, dword [rsp + 0xe4]
mov dword [rsp + 0xe8], eax
mov ecx, dword [rsp + 0xe8]
mov eax, dword [rsp + 0xf4]
add eax, ecx
mov dword [rsp + 0xe0], eax
mov ecx, dword [rsp + 0xe4]
mov eax, dword [rsp + 0xe0]
add eax, ecx
mov dword [rsp + 0xec], eax
jmp 0x1800a5edd
xor edx, edx
mov rcx, qword [rsp + 0x78]
call fcn.1800aae60
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0x80000000
jne 0x1800a5dc2
jmp 0x1800a704e
mov edx, 1
mov rcx, qword [rsp + 0x78]
call fcn.1800aae60
mov dword [rsp + 0xe4], eax
mov eax, dword [rsp + 0xb8]
cmp dword [rsp + 0xb4], eax
jg 0x1800a5e42
mov eax, dword [rsp + 0xbc]
cmp dword [rsp + 0xb4], eax
jg 0x1800a5e42
mov eax, dword [rsp + 0xe4]
shl eax, 1
mov ecx, dword [rsp + 0x60]
and ecx, 1
or eax, ecx
mov dword [rsp + 0xec], eax
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0xec]
add eax, ecx
sar eax, 1
mov dword [rsp + 0xe0], eax
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0xec]
sub eax, ecx
sar eax, 1
mov dword [rsp + 0xe8], eax
jmp 0x1800a5ec6
mov eax, dword [rsp + 0xb8]
cmp dword [rsp + 0xbc], eax
jg 0x1800a5e8d
mov eax, dword [rsp + 0xe4]
mov dword [rsp + 0xe0], eax
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0xe0]
sub eax, ecx
mov dword [rsp + 0xe8], eax
mov ecx, dword [rsp + 0xe8]
mov eax, dword [rsp + 0xe4]
add eax, ecx
mov dword [rsp + 0xec], eax
jmp 0x1800a5ec6
mov eax, dword [rsp + 0xe4]
mov dword [rsp + 0xe8], eax
mov ecx, dword [rsp + 0xe8]
mov eax, dword [rsp + 0x60]
add eax, ecx
mov dword [rsp + 0xe0], eax
mov ecx, dword [rsp + 0xe0]
mov eax, dword [rsp + 0xe4]
add eax, ecx
mov dword [rsp + 0xec], eax
mov ecx, dword [rsp + 0xe8]
mov eax, dword [rsp + 0xe0]
sub eax, ecx
mov dword [rsp + 0xf4], eax
mov eax, dword [rsp + 0xb4]
sar eax, 8
mov edi, dword [rsp + 0xb4]
sub edi, eax
mov eax, dword [rsp + 0xec]
sar eax, 1
cdq
xor eax, edx
sub eax, edx
mov ecx, eax
mov eax, edi
add eax, ecx
mov dword [rsp + 0xb4], eax
mov eax, dword [rsp + 0xbc]
sar eax, 8
mov edi, dword [rsp + 0xbc]
sub edi, eax
mov eax, dword [rsp + 0xe0]
cdq
xor eax, edx
sub eax, edx
mov ecx, eax
mov eax, edi
add eax, ecx
mov dword [rsp + 0xbc], eax
mov eax, dword [rsp + 0xb8]
sar eax, 8
mov edi, dword [rsp + 0xb8]
sub edi, eax
mov eax, dword [rsp + 0xe8]
cdq
xor eax, edx
sub eax, edx
mov ecx, eax
mov eax, edi
add eax, ecx
mov dword [rsp + 0xb8], eax
mov eax, dword [rsp + 0xc0]
sar eax, 8
mov edi, dword [rsp + 0xc0]
sub edi, eax
mov eax, dword [rsp + 0xf4]
cdq
xor eax, edx
sub eax, edx
mov ecx, eax
mov eax, edi
add eax, ecx
mov dword [rsp + 0xc0], eax
mov eax, dword [rsp + 0x38]
and eax, 0x4000
test eax, eax
je 0x1800a5fba
mov eax, dword [rsp + 0xf4]
mov dword [rsp + 0xe0], eax
mov eax, dword [rsp + 0xec]
sar eax, 1
mov dword [rsp + 0xe8], eax
mov eax, dword [rsp + 0x38]
and eax, 0x8000
test eax, eax
je 0x1800a65e9
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0xbc]
mov dword [rsp + 0x64], eax
mov rax, qword [rsp + 0x78]
add rax, 0x90c
mov qword [rsp + 0x40], rax
jmp 0x1800a5ffa
mov rax, qword [rsp + 0x40]
add rax, 0x60
mov qword [rsp + 0x40], rax
mov ecx, dword [rsp + 0x64]
mov eax, dword [rsp + 0x64]
sub eax, 1
mov dword [rsp + 0x64], eax
test ecx, ecx
je 0x1800a65e4
mov rax, qword [rsp + 0x40]
cmp dword [rax], 0
jle 0x1800a6248
movsxd rcx, dword [rsp + 0x98]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + rcx*4 + 0x10]
mov dword [rsp + 0xfc], eax
movsxd rcx, dword [rsp + 0x98]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + rcx*4 + 0x30]
mov dword [rsp + 0xf8], eax
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax]
mov eax, dword [rsp + 0x98]
add eax, ecx
and eax, 7
mov dword [rsp + 0x100], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 8]
imul eax, dword [rsp + 0xfc]
add eax, 0x100
sar eax, 9
add eax, dword [rsp + 0xe0]
mov dword [rsp + 0xdc], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0xc]
imul eax, dword [rsp + 0xf8]
add eax, 0x100
sar eax, 9
add eax, dword [rsp + 0xe8]
mov dword [rsp + 0xd8], eax
cmp dword [rsp + 0xfc], 0
je 0x1800a6156
cmp dword [rsp + 0xe0], 0
je 0x1800a6156
mov ecx, dword [rsp + 0xe0]
mov eax, dword [rsp + 0xfc]
xor eax, ecx
test eax, eax
jl 0x1800a611d
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 8]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
cmp edx, 0x200
jne 0x1800a611b
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
jmp 0x1800a6156
mov rax, qword [rsp + 0x40]
mov edi, dword [rax + 8]
mov edx, dword [rsp + 0x80]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
cmp edi, edx
jne 0x1800a6156
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
cmp dword [rsp + 0xf8], 0
je 0x1800a61f7
cmp dword [rsp + 0xe8], 0
je 0x1800a61f7
mov ecx, dword [rsp + 0xe8]
mov eax, dword [rsp + 0xf8]
xor eax, ecx
test eax, eax
jl 0x1800a61be
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 0xc]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
cmp edx, 0x200
jne 0x1800a61bc
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
jmp 0x1800a61f7
mov rax, qword [rsp + 0x40]
mov edi, dword [rax + 0xc]
mov edx, dword [rsp + 0x80]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
cmp edi, edx
jne 0x1800a61f7
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
mov eax, dword [rsp + 0xdc]
mov dword [rsp + 0xe0], eax
movsxd rdx, dword [rsp + 0x100]
mov rcx, qword [rsp + 0x40]
mov eax, dword [rsp + 0xe0]
mov dword [rcx + rdx*4 + 0x10], eax
mov eax, dword [rsp + 0xd8]
mov dword [rsp + 0xe8], eax
movsxd rdx, dword [rsp + 0x100]
mov rcx, qword [rsp + 0x40]
mov eax, dword [rsp + 0xe8]
mov dword [rcx + rdx*4 + 0x30], eax
jmp 0x1800a65df
mov rax, qword [rsp + 0x40]
cmp dword [rax], 0xffffffff
jne 0x1800a641d
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rcx + 8]
imul ecx, dword [rax + 0x10]
add ecx, 0x100
sar ecx, 9
mov eax, dword [rsp + 0xe0]
add eax, ecx
mov dword [rsp + 0xdc], eax
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0x10], 0
je 0x1800a6323
cmp dword [rsp + 0xe0], 0
je 0x1800a6323
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0xe0]
mov eax, dword [rax + 0x10]
xor eax, ecx
test eax, eax
jl 0x1800a62ea
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 8]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
cmp edx, 0x200
jne 0x1800a62e8
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
jmp 0x1800a6323
mov rax, qword [rsp + 0x40]
mov edi, dword [rax + 8]
mov edx, dword [rsp + 0x80]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
cmp edi, edx
jne 0x1800a6323
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
mov eax, dword [rsp + 0xdc]
mov dword [rsp + 0xe0], eax
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
imul ecx, dword [rsp + 0xe0]
add ecx, 0x100
sar ecx, 9
mov eax, dword [rsp + 0xe8]
add eax, ecx
mov dword [rsp + 0xd8], eax
cmp dword [rsp + 0xe0], 0
je 0x1800a63fb
cmp dword [rsp + 0xe8], 0
je 0x1800a63fb
mov ecx, dword [rsp + 0xe8]
mov eax, dword [rsp + 0xe0]
xor eax, ecx
test eax, eax
jl 0x1800a63c2
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 0xc]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
cmp edx, 0x200
jne 0x1800a63c0
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
jmp 0x1800a63fb
mov rax, qword [rsp + 0x40]
mov edi, dword [rax + 0xc]
mov edx, dword [rsp + 0x80]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
cmp edi, edx
jne 0x1800a63fb
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
mov eax, dword [rsp + 0xd8]
mov dword [rsp + 0xe8], eax
mov rcx, qword [rsp + 0x40]
mov eax, dword [rsp + 0xe8]
mov dword [rcx + 0x10], eax
jmp 0x1800a65df
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rcx + 8]
imul ecx, dword [rax + 0x10]
add ecx, 0x100
sar ecx, 9
mov eax, dword [rsp + 0xe8]
add eax, ecx
mov dword [rsp + 0xd8], eax
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0x10], 0
je 0x1800a64ea
cmp dword [rsp + 0xe8], 0
je 0x1800a64ea
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0xe8]
mov eax, dword [rax + 0x10]
xor eax, ecx
test eax, eax
jl 0x1800a64b1
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 8]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
cmp edx, 0x200
jne 0x1800a64af
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
jmp 0x1800a64ea
mov rax, qword [rsp + 0x40]
mov edi, dword [rax + 8]
mov edx, dword [rsp + 0x80]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
cmp edi, edx
jne 0x1800a64ea
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
mov eax, dword [rsp + 0xd8]
mov dword [rsp + 0xe8], eax
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
imul ecx, dword [rsp + 0xe8]
add ecx, 0x100
sar ecx, 9
mov eax, dword [rsp + 0xe0]
add eax, ecx
mov dword [rsp + 0xdc], eax
cmp dword [rsp + 0xe8], 0
je 0x1800a65c2
cmp dword [rsp + 0xe0], 0
je 0x1800a65c2
mov ecx, dword [rsp + 0xe0]
mov eax, dword [rsp + 0xe8]
xor eax, ecx
test eax, eax
jl 0x1800a6589
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 0xc]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
cmp edx, 0x200
jne 0x1800a6587
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
jmp 0x1800a65c2
mov rax, qword [rsp + 0x40]
mov edi, dword [rax + 0xc]
mov edx, dword [rsp + 0x80]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
cmp edi, edx
jne 0x1800a65c2
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
mov eax, dword [rsp + 0xdc]
mov dword [rsp + 0xe0], eax
mov rcx, qword [rsp + 0x40]
mov eax, dword [rsp + 0xe0]
mov dword [rcx + 0x10], eax
jmp 0x1800a5fec
jmp 0x1800a6c02
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0xbc]
mov dword [rsp + 0x64], eax
mov rax, qword [rsp + 0x78]
add rax, 0x90c
mov qword [rsp + 0x40], rax
jmp 0x1800a6618
mov rax, qword [rsp + 0x40]
add rax, 0x60
mov qword [rsp + 0x40], rax
mov ecx, dword [rsp + 0x64]
mov eax, dword [rsp + 0x64]
sub eax, 1
mov dword [rsp + 0x64], eax
test ecx, ecx
je 0x1800a6c02
mov rax, qword [rsp + 0x40]
cmp dword [rax], 0
jle 0x1800a6866
movsxd rcx, dword [rsp + 0x98]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + rcx*4 + 0x10]
mov dword [rsp + 0x108], eax
movsxd rcx, dword [rsp + 0x98]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + rcx*4 + 0x30]
mov dword [rsp + 0x104], eax
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax]
mov eax, dword [rsp + 0x98]
add eax, ecx
and eax, 7
mov dword [rsp + 0x10c], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 8]
imul eax, dword [rsp + 0x108]
add eax, 0x80
sar eax, 8
add eax, dword [rsp + 0xe0]
mov dword [rsp + 0xdc], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0xc]
imul eax, dword [rsp + 0x104]
add eax, 0x80
sar eax, 8
add eax, dword [rsp + 0xe8]
mov dword [rsp + 0xd8], eax
cmp dword [rsp + 0x108], 0
je 0x1800a6774
cmp dword [rsp + 0xe0], 0
je 0x1800a6774
mov ecx, dword [rsp + 0xe0]
mov eax, dword [rsp + 0x108]
xor eax, ecx
test eax, eax
jl 0x1800a673b
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 8]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
cmp edx, 0x100
jne 0x1800a6739
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
jmp 0x1800a6774
mov rax, qword [rsp + 0x40]
mov edi, dword [rax + 8]
mov edx, dword [rsp + 0x80]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
cmp edi, edx
jne 0x1800a6774
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
cmp dword [rsp + 0x104], 0
je 0x1800a6815
cmp dword [rsp + 0xe8], 0
je 0x1800a6815
mov ecx, dword [rsp + 0xe8]
mov eax, dword [rsp + 0x104]
xor eax, ecx
test eax, eax
jl 0x1800a67dc
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 0xc]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
cmp edx, 0x100
jne 0x1800a67da
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
jmp 0x1800a6815
mov rax, qword [rsp + 0x40]
mov edi, dword [rax + 0xc]
mov edx, dword [rsp + 0x80]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
cmp edi, edx
jne 0x1800a6815
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
mov eax, dword [rsp + 0xdc]
mov dword [rsp + 0xe0], eax
movsxd rdx, dword [rsp + 0x10c]
mov rcx, qword [rsp + 0x40]
mov eax, dword [rsp + 0xe0]
mov dword [rcx + rdx*4 + 0x10], eax
mov eax, dword [rsp + 0xd8]
mov dword [rsp + 0xe8], eax
movsxd rdx, dword [rsp + 0x10c]
mov rcx, qword [rsp + 0x40]
mov eax, dword [rsp + 0xe8]
mov dword [rcx + rdx*4 + 0x30], eax
jmp 0x1800a6bfd
mov rax, qword [rsp + 0x40]
cmp dword [rax], 0xffffffff
jne 0x1800a6a3b
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rcx + 8]
imul ecx, dword [rax + 0x10]
add ecx, 0x80
sar ecx, 8
mov eax, dword [rsp + 0xe0]
add eax, ecx
mov dword [rsp + 0xdc], eax
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0x10], 0
je 0x1800a6941
cmp dword [rsp + 0xe0], 0
je 0x1800a6941
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0xe0]
mov eax, dword [rax + 0x10]
xor eax, ecx
test eax, eax
jl 0x1800a6908
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 8]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
cmp edx, 0x100
jne 0x1800a6906
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
jmp 0x1800a6941
mov rax, qword [rsp + 0x40]
mov edi, dword [rax + 8]
mov edx, dword [rsp + 0x80]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
cmp edi, edx
jne 0x1800a6941
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
mov eax, dword [rsp + 0xdc]
mov dword [rsp + 0xe0], eax
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
imul ecx, dword [rsp + 0xe0]
add ecx, 0x80
sar ecx, 8
mov eax, dword [rsp + 0xe8]
add eax, ecx
mov dword [rsp + 0xd8], eax
cmp dword [rsp + 0xe0], 0
je 0x1800a6a19
cmp dword [rsp + 0xe8], 0
je 0x1800a6a19
mov ecx, dword [rsp + 0xe8]
mov eax, dword [rsp + 0xe0]
xor eax, ecx
test eax, eax
jl 0x1800a69e0
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 0xc]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
cmp edx, 0x100
jne 0x1800a69de
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
jmp 0x1800a6a19
mov rax, qword [rsp + 0x40]
mov edi, dword [rax + 0xc]
mov edx, dword [rsp + 0x80]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
cmp edi, edx
jne 0x1800a6a19
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
mov eax, dword [rsp + 0xd8]
mov dword [rsp + 0xe8], eax
mov rcx, qword [rsp + 0x40]
mov eax, dword [rsp + 0xe8]
mov dword [rcx + 0x10], eax
jmp 0x1800a6bfd
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rcx + 8]
imul ecx, dword [rax + 0x10]
add ecx, 0x80
sar ecx, 8
mov eax, dword [rsp + 0xe8]
add eax, ecx
mov dword [rsp + 0xd8], eax
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0x10], 0
je 0x1800a6b08
cmp dword [rsp + 0xe8], 0
je 0x1800a6b08
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0xe8]
mov eax, dword [rax + 0x10]
xor eax, ecx
test eax, eax
jl 0x1800a6acf
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 8]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
cmp edx, 0x100
jne 0x1800a6acd
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
jmp 0x1800a6b08
mov rax, qword [rsp + 0x40]
mov edi, dword [rax + 8]
mov edx, dword [rsp + 0x80]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
cmp edi, edx
jne 0x1800a6b08
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
mov eax, dword [rsp + 0xd8]
mov dword [rsp + 0xe8], eax
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
imul ecx, dword [rsp + 0xe8]
add ecx, 0x80
sar ecx, 8
mov eax, dword [rsp + 0xe0]
add eax, ecx
mov dword [rsp + 0xdc], eax
cmp dword [rsp + 0xe8], 0
je 0x1800a6be0
cmp dword [rsp + 0xe0], 0
je 0x1800a6be0
mov ecx, dword [rsp + 0xe0]
mov eax, dword [rsp + 0xe8]
xor eax, ecx
test eax, eax
jl 0x1800a6ba7
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 0xc]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
cmp edx, 0x100
jne 0x1800a6ba5
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
jmp 0x1800a6be0
mov rax, qword [rsp + 0x40]
mov edi, dword [rax + 0xc]
mov edx, dword [rsp + 0x80]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
cmp edi, edx
jne 0x1800a6be0
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
mov eax, dword [rsp + 0xdc]
mov dword [rsp + 0xe0], eax
mov rcx, qword [rsp + 0x40]
mov eax, dword [rsp + 0xe0]
mov dword [rcx + 0x10], eax
jmp 0x1800a660a
mov eax, dword [rsp + 0x98]
add eax, 1
and eax, 7
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0x38]
and eax, 0x4000
test eax, eax
je 0x1800a6c7f
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0xf4], eax
mov ecx, dword [rsp + 0xf4]
and ecx, 1
mov eax, dword [rsp + 0xe8]
shl eax, 1
or eax, ecx
mov dword [rsp + 0xec], eax
mov ecx, dword [rsp + 0xf4]
mov eax, dword [rsp + 0xec]
sub eax, ecx
sar eax, 1
mov dword [rsp + 0xe8], eax
mov ecx, dword [rsp + 0xf4]
mov eax, dword [rsp + 0xec]
add eax, ecx
sar eax, 1
mov dword [rsp + 0xe0], eax
mov eax, dword [rsp + 0x38]
and eax, 0x40
test eax, eax
je 0x1800a6fc3
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x8e0], 8
jl 0x1800a6d95
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x64], 0
je 0x1800a6cd2
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x64]
sub ecx, 1
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x50]
and eax, 1
mov dword [rsp + 0x1a4], eax
jmp 0x1800a6d41
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x40]
add rcx, 1
mov rax, qword [rsp + 0x78]
mov qword [rax + 0x40], rcx
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x38]
cmp qword [rcx + 0x40], rax
je 0x1800a6cfe
jmp 0x1800a6d0f
mov rcx, qword [rsp + 0x78]
add rcx, 0x28
mov rax, qword [rsp + 0x78]
call qword [rax + 0x28]
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], 7
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x40]
movzx ecx, byte [rax]
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x50]
and eax, 1
mov dword [rsp + 0x1a4], eax
cmp dword [rsp + 0x1a4], 0
je 0x1800a6d6a
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x50]
shr ecx, 1
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
mov dword [rsp + 0x1a8], 1
jmp 0x1800a6d87
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x50]
shr ecx, 1
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
mov dword [rsp + 0x1a8], 0
cmp dword [rsp + 0x1a8], 0
jne 0x1800a6f0a
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x64], 8
jge 0x1800a6e24
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x40]
add rcx, 1
mov rax, qword [rsp + 0x78]
mov qword [rax + 0x40], rcx
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x38]
cmp qword [rcx + 0x40], rax
jne 0x1800a6ddf
mov rcx, qword [rsp + 0x78]
add rcx, 0x28
mov rax, qword [rsp + 0x78]
call qword [rax + 0x28]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x40]
movzx edx, byte [rax]
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x64]
movzx ecx, al
shl edx, cl
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x50]
or ecx, edx
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
mov rax, qword [rsp + 0x78]
movsxd rcx, dword [rax + 0x64]
add rcx, 8
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], ecx
jmp 0x1800a6d95
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x50]
mov dword [rsp + 0xf0], eax
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x64], 0x20
jle 0x1800a6e81
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x64]
sub ecx, 8
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x40]
movzx edx, byte [rax]
mov rax, qword [rsp + 0x78]
movsxd rcx, dword [rax + 0x64]
mov eax, 8
sub rax, rcx
movzx ecx, al
mov eax, edx
sar eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
jmp 0x1800a6ea7
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x64]
sub ecx, 8
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x50]
shr ecx, 8
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
mov eax, dword [rsp + 0xf0]
and eax, 0xff
mov dword [rsp + 0xf0], eax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x8dc]
cmp dword [rsp + 0xf0], eax
je 0x1800a6ef1
mov rcx, qword [rsp + 0x78]
mov eax, dword [rsp + 0xf0]
mov dword [rcx + 0x8dc], eax
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x8e0], 0
jmp 0x1800a6f0a
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x8e0]
add ecx, 1
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x8e0], ecx
mov edx, dword [rsp + 0xe0]
shl edx, 4
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x8dc]
sar ecx, 4
mov eax, edx
add eax, ecx
mov dword [rsp + 0xe0], eax
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0xe0]
mov dword [rcx], eax
mov eax, dword [rsp + 0x30]
imul eax, eax, 3
add eax, dword [rsp + 0xe0]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov edx, dword [rsp + 0xe8]
shl edx, 4
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x8dc]
and ecx, 0xf
mov eax, edx
add eax, ecx
mov dword [rsp + 0xe8], eax
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0xe8]
mov dword [rcx], eax
mov eax, dword [rsp + 0x30]
imul eax, eax, 3
add eax, dword [rsp + 0xe8]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a7049
mov edx, dword [rsp + 0x30]
imul edx, edx, 9
mov eax, dword [rsp + 0xe0]
imul eax, eax, 3
mov ecx, dword [rsp + 0xe8]
add ecx, edx
add eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0xe0]
shl eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0xe8]
shl eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a5a88
jmp 0x1800a779e
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x3c], 0
jmp 0x1800a7078
mov eax, dword [rsp + 0x3c]
add eax, 1
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x220]
cmp dword [rsp + 0x3c], eax
jae 0x1800a779e
xor edx, edx
mov rcx, qword [rsp + 0x78]
call fcn.1800abae0
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0x80000000
jne 0x1800a70a8
jmp 0x1800a779e
mov eax, dword [rsp + 0xb8]
cmp dword [rsp + 0xb4], eax
jg 0x1800a711a
mov eax, dword [rsp + 0xbc]
cmp dword [rsp + 0xb4], eax
jg 0x1800a711a
mov edx, 1
mov rcx, qword [rsp + 0x78]
call fcn.1800abae0
shl eax, 1
mov ecx, dword [rsp + 0x60]
and ecx, 1
or eax, ecx
mov dword [rsp + 0x120], eax
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x120]
add eax, ecx
sar eax, 1
mov dword [rsp + 0x118], eax
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x120]
sub eax, ecx
sar eax, 1
mov dword [rsp + 0x11c], eax
jmp 0x1800a71ae
mov eax, dword [rsp + 0xb8]
cmp dword [rsp + 0xbc], eax
jg 0x1800a716d
mov edx, 1
mov rcx, qword [rsp + 0x78]
call fcn.1800abae0
mov dword [rsp + 0x118], eax
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x118]
sub eax, ecx
mov dword [rsp + 0x11c], eax
mov ecx, dword [rsp + 0x11c]
mov eax, dword [rsp + 0x118]
add eax, ecx
mov dword [rsp + 0x120], eax
jmp 0x1800a71ae
mov edx, 1
mov rcx, qword [rsp + 0x78]
call fcn.1800abae0
mov dword [rsp + 0x11c], eax
mov ecx, dword [rsp + 0x11c]
mov eax, dword [rsp + 0x60]
add eax, ecx
mov dword [rsp + 0x118], eax
mov ecx, dword [rsp + 0x118]
mov eax, dword [rsp + 0x11c]
add eax, ecx
mov dword [rsp + 0x120], eax
mov eax, dword [rsp + 0xb4]
sar eax, 8
mov edi, dword [rsp + 0xb4]
sub edi, eax
mov eax, dword [rsp + 0x120]
sar eax, 1
cdq
xor eax, edx
sub eax, edx
mov ecx, eax
mov eax, edi
add eax, ecx
mov dword [rsp + 0xb4], eax
mov eax, dword [rsp + 0xbc]
sar eax, 8
mov edi, dword [rsp + 0xbc]
sub edi, eax
mov eax, dword [rsp + 0x118]
cdq
xor eax, edx
sub eax, edx
mov ecx, eax
mov eax, edi
add eax, ecx
mov dword [rsp + 0xbc], eax
mov eax, dword [rsp + 0xb8]
sar eax, 8
mov edi, dword [rsp + 0xb8]
sub edi, eax
mov eax, dword [rsp + 0x11c]
cdq
xor eax, edx
sub eax, edx
mov ecx, eax
mov eax, edi
add eax, ecx
mov dword [rsp + 0xb8], eax
mov ecx, dword [rsp + 0x24]
imul ecx, dword [rsp + 0x50]
add ecx, 0x80
sar ecx, 8
mov eax, dword [rsp + 0x20]
add eax, ecx
add eax, dword [rsp + 0x118]
mov dword [rsp + 0x114], eax
mov ecx, dword [rsp + 0x2c]
imul ecx, dword [rsp + 0x54]
add ecx, 0x80
sar ecx, 8
mov eax, dword [rsp + 0x28]
add eax, ecx
add eax, dword [rsp + 0x11c]
mov dword [rsp + 0x110], eax
cmp dword [rsp + 0x24], 0
jl 0x1800a7294
mov dword [rsp + 0x1ac], 1
jmp 0x1800a729f
mov dword [rsp + 0x1ac], 0
cmp dword [rsp + 0x118], 0
jle 0x1800a72b6
mov dword [rsp + 0x1b0], 1
jmp 0x1800a72c1
mov dword [rsp + 0x1b0], 0
mov eax, dword [rsp + 0x1b0]
cmp dword [rsp + 0x1ac], eax
jne 0x1800a72f5
mov ecx, dword [rsp + 0x50]
mov eax, dword [rsp + 0x50]
add eax, 1
mov dword [rsp + 0x50], eax
cmp ecx, 0x100
jne 0x1800a72f3
mov eax, dword [rsp + 0x50]
sub eax, 1
mov dword [rsp + 0x50], eax
jmp 0x1800a7313
mov ecx, dword [rsp + 0x50]
mov eax, dword [rsp + 0x50]
sub eax, 1
mov dword [rsp + 0x50], eax
test ecx, ecx
jne 0x1800a7313
mov eax, dword [rsp + 0x50]
add eax, 1
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x2c], 0
jl 0x1800a7327
mov dword [rsp + 0x1b4], 1
jmp 0x1800a7332
mov dword [rsp + 0x1b4], 0
cmp dword [rsp + 0x11c], 0
jle 0x1800a7349
mov dword [rsp + 0x1b8], 1
jmp 0x1800a7354
mov dword [rsp + 0x1b8], 0
mov eax, dword [rsp + 0x1b8]
cmp dword [rsp + 0x1b4], eax
jne 0x1800a7388
mov ecx, dword [rsp + 0x54]
mov eax, dword [rsp + 0x54]
add eax, 1
mov dword [rsp + 0x54], eax
cmp ecx, 0x100
jne 0x1800a7386
mov eax, dword [rsp + 0x54]
sub eax, 1
mov dword [rsp + 0x54], eax
jmp 0x1800a73a6
mov ecx, dword [rsp + 0x54]
mov eax, dword [rsp + 0x54]
sub eax, 1
mov dword [rsp + 0x54], eax
test ecx, ecx
jne 0x1800a73a6
mov eax, dword [rsp + 0x54]
add eax, 1
mov dword [rsp + 0x54], eax
mov ecx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x114]
sub eax, ecx
mov dword [rsp + 0x24], eax
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x20]
add eax, ecx
mov dword [rsp + 0x20], eax
mov ecx, dword [rsp + 0x28]
mov eax, dword [rsp + 0x110]
sub eax, ecx
mov dword [rsp + 0x2c], eax
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x28]
add eax, ecx
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x38]
and eax, 0x40
test eax, eax
je 0x1800a771f
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x8e0], 8
jl 0x1800a74fa
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x64], 0
je 0x1800a7437
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x64]
sub ecx, 1
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x50]
and eax, 1
mov dword [rsp + 0x1bc], eax
jmp 0x1800a74a6
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x40]
add rcx, 1
mov rax, qword [rsp + 0x78]
mov qword [rax + 0x40], rcx
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x38]
cmp qword [rcx + 0x40], rax
je 0x1800a7463
jmp 0x1800a7474
mov rcx, qword [rsp + 0x78]
add rcx, 0x28
mov rax, qword [rsp + 0x78]
call qword [rax + 0x28]
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], 7
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x40]
movzx ecx, byte [rax]
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x50]
and eax, 1
mov dword [rsp + 0x1bc], eax
cmp dword [rsp + 0x1bc], 0
je 0x1800a74cf
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x50]
shr ecx, 1
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
mov dword [rsp + 0x1c0], 1
jmp 0x1800a74ec
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x50]
shr ecx, 1
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
mov dword [rsp + 0x1c0], 0
cmp dword [rsp + 0x1c0], 0
jne 0x1800a766f
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x64], 8
jge 0x1800a7589
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x40]
add rcx, 1
mov rax, qword [rsp + 0x78]
mov qword [rax + 0x40], rcx
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x38]
cmp qword [rcx + 0x40], rax
jne 0x1800a7544
mov rcx, qword [rsp + 0x78]
add rcx, 0x28
mov rax, qword [rsp + 0x78]
call qword [rax + 0x28]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x40]
movzx edx, byte [rax]
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x64]
movzx ecx, al
shl edx, cl
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x50]
or ecx, edx
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
mov rax, qword [rsp + 0x78]
movsxd rcx, dword [rax + 0x64]
add rcx, 8
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], ecx
jmp 0x1800a74fa
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x50]
mov dword [rsp + 0x124], eax
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x64], 0x20
jle 0x1800a75e6
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x64]
sub ecx, 8
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x40]
movzx edx, byte [rax]
mov rax, qword [rsp + 0x78]
movsxd rcx, dword [rax + 0x64]
mov eax, 8
sub rax, rcx
movzx ecx, al
mov eax, edx
sar eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
jmp 0x1800a760c
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x64]
sub ecx, 8
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x50]
shr ecx, 8
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x50], ecx
mov eax, dword [rsp + 0x124]
and eax, 0xff
mov dword [rsp + 0x124], eax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x8dc]
cmp dword [rsp + 0x124], eax
je 0x1800a7656
mov rcx, qword [rsp + 0x78]
mov eax, dword [rsp + 0x124]
mov dword [rcx + 0x8dc], eax
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x8e0], 0
jmp 0x1800a766f
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x8e0]
add ecx, 1
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x8e0], ecx
mov edx, dword [rsp + 0x20]
shl edx, 4
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x8dc]
sar ecx, 4
mov eax, edx
add eax, ecx
mov dword [rsp + 0x114], eax
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x114]
mov dword [rcx], eax
mov eax, dword [rsp + 0x30]
imul eax, eax, 3
add eax, dword [rsp + 0x114]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov edx, dword [rsp + 0x28]
shl edx, 4
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x8dc]
and ecx, 0xf
mov eax, edx
add eax, ecx
mov dword [rsp + 0x110], eax
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x110]
mov dword [rcx], eax
mov eax, dword [rsp + 0x30]
imul eax, eax, 3
add eax, dword [rsp + 0x110]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a7799
mov edx, dword [rsp + 0x30]
imul edx, edx, 9
mov eax, dword [rsp + 0x20]
imul eax, eax, 3
mov ecx, dword [rsp + 0x28]
add ecx, edx
add eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x20]
shl eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x28]
shl eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a706d
mov rcx, qword [rsp + 0x78]
mov eax, dword [rsp + 0xbc]
mov dword [rcx + 0x8d0], eax
mov rcx, qword [rsp + 0x78]
mov eax, dword [rsp + 0xb8]
mov dword [rcx + 0x8d4], eax
mov rcx, qword [rsp + 0x78]
mov eax, dword [rsp + 0xb4]
mov dword [rcx + 0x8cc], eax
mov rcx, qword [rsp + 0x78]
mov eax, dword [rsp + 0xc0]
mov dword [rcx + 0x8d8], eax
jmp 0x1800a8efd
mov rax, qword [rsp + 0x78]
movsx eax, word [rax + 8]
cmp eax, 3
jne 0x1800a7ef8
mov rax, qword [rsp + 0x78]
movsx eax, word [rax + 0xa]
test eax, eax
je 0x1800a7ef8
mov eax, dword [rsp + 0x38]
and eax, 1
test eax, eax
je 0x1800a7ef8
mov eax, dword [rsp + 0x38]
and eax, 2
test eax, eax
je 0x1800a7968
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x3c], 0
jmp 0x1800a7851
mov eax, dword [rsp + 0x3c]
add eax, 1
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x220]
cmp dword [rsp + 0x3c], eax
jae 0x1800a7963
xor edx, edx
mov rcx, qword [rsp + 0x78]
call fcn.1800abae0
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0x80000000
jne 0x1800a7881
jmp 0x1800a7963
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x24]
add eax, ecx
mov dword [rsp + 0x24], eax
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x20]
add eax, ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x30]
imul eax, eax, 3
add eax, dword [rsp + 0x20]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x48]
cmp dword [rsp + 0x20], eax
jge 0x1800a78ee
mov eax, dword [rsp + 0x34]
neg eax
cmp dword [rsp + 0x20], eax
jge 0x1800a78ca
mov dword [rsp + 0x70], 1
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x5c]
mov dword [rcx], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a795e
mov eax, dword [rsp + 0x58]
cmp dword [rsp + 0x20], eax
jle 0x1800a792e
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0x20], eax
jle 0x1800a790a
mov dword [rsp + 0x70], 1
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x68]
mov dword [rcx], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a795e
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x20]
shl eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a7846
jmp 0x1800a7ef3
mov eax, dword [rsp + 0x38]
and eax, 0x410
test eax, eax
je 0x1800a7d09
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x3c], 0
jmp 0x1800a799e
mov eax, dword [rsp + 0x3c]
add eax, 1
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x220]
cmp dword [rsp + 0x3c], eax
jae 0x1800a7d04
mov eax, dword [rsp + 0x38]
and eax, 0x400
test eax, eax
je 0x1800a79d9
lea r8, [rsp + 0x90]
xor edx, edx
mov rcx, qword [rsp + 0x78]
call fcn.1800ac1c0
mov dword [rsp + 0x1c4], eax
jmp 0x1800a79ec
xor edx, edx
mov rcx, qword [rsp + 0x78]
call fcn.1800abae0
mov dword [rsp + 0x1c4], eax
mov eax, dword [rsp + 0x1c4]
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0x80000000
jne 0x1800a7a06
jmp 0x1800a7d04
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0xbc]
mov dword [rsp + 0x64], eax
mov rax, qword [rsp + 0x78]
add rax, 0x90c
mov qword [rsp + 0x40], rax
jmp 0x1800a7a35
mov rax, qword [rsp + 0x40]
add rax, 0x60
mov qword [rsp + 0x40], rax
mov ecx, dword [rsp + 0x64]
mov eax, dword [rsp + 0x64]
sub eax, 1
mov dword [rsp + 0x64], eax
test ecx, ecx
je 0x1800a7b74
movsxd rcx, dword [rsp + 0x98]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + rcx*4 + 0x10]
mov dword [rsp + 0x12c], eax
mov edx, dword [rsp + 0x12c]
and edx, 0xffff
mov rax, qword [rsp + 0x40]
imul edx, dword [rax + 8]
sar edx, 7
mov eax, dword [rsp + 0x12c]
and eax, 0xffff0000
sar eax, 7
mov rcx, qword [rsp + 0x40]
imul eax, dword [rcx + 8]
lea eax, [rdx + rax + 1]
sar eax, 1
add eax, dword [rsp + 0x60]
mov dword [rsp + 0x128], eax
cmp dword [rsp + 0x12c], 0
je 0x1800a7b41
cmp dword [rsp + 0x60], 0
je 0x1800a7b41
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x12c]
xor eax, ecx
test eax, eax
jl 0x1800a7b08
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 8]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
cmp edx, 0x100
jne 0x1800a7b06
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
jmp 0x1800a7b41
mov rax, qword [rsp + 0x40]
mov edi, dword [rax + 8]
mov edx, dword [rsp + 0x80]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
cmp edi, edx
jne 0x1800a7b41
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
mov eax, dword [rsp + 0x128]
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax]
mov eax, dword [rsp + 0x98]
add eax, ecx
and eax, 7
movsxd rdx, eax
mov rcx, qword [rsp + 0x40]
mov eax, dword [rsp + 0x60]
mov dword [rcx + rdx*4 + 0x10], eax
jmp 0x1800a7a27
mov eax, dword [rsp + 0x98]
add eax, 1
and eax, 7
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0x38]
and eax, 0x80
test eax, eax
je 0x1800a7c3e
mov eax, dword [rsp + 0x38]
and eax, 0x100
test eax, eax
je 0x1800a7be9
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x8e8]
mov ecx, dword [rsp + 0x90]
add ecx, eax
mov eax, dword [rsp + 0x60]
add eax, ecx
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x30]
imul eax, eax, 3
add eax, dword [rsp + 0x60]
mov dword [rsp + 0x30], eax
mov ecx, dword [rsp + 0x90]
neg ecx
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x8e8], ecx
jmp 0x1800a7c09
mov ecx, dword [rsp + 0x90]
mov eax, dword [rsp + 0x60]
add eax, ecx
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x30]
imul eax, eax, 3
add eax, dword [rsp + 0x60]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x60]
shl eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a7cff
mov eax, dword [rsp + 0x30]
imul eax, eax, 3
add eax, dword [rsp + 0x60]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x48]
cmp dword [rsp + 0x60], eax
jge 0x1800a7c8f
mov eax, dword [rsp + 0x34]
neg eax
cmp dword [rsp + 0x60], eax
jge 0x1800a7c6b
mov dword [rsp + 0x70], 1
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x5c]
mov dword [rcx], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a7cff
mov eax, dword [rsp + 0x58]
cmp dword [rsp + 0x60], eax
jle 0x1800a7ccf
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0x60], eax
jle 0x1800a7cab
mov dword [rsp + 0x70], 1
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x68]
mov dword [rcx], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a7cff
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x60]
shl eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a7993
jmp 0x1800a7ef3
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x3c], 0
jmp 0x1800a7d2e
mov eax, dword [rsp + 0x3c]
add eax, 1
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x220]
cmp dword [rsp + 0x3c], eax
jae 0x1800a7ef3
xor edx, edx
mov rcx, qword [rsp + 0x78]
call fcn.1800abae0
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0x80000000
jne 0x1800a7d5e
jmp 0x1800a7ef3
mov ecx, dword [rsp + 0x24]
imul ecx, dword [rsp + 0x50]
add ecx, 0x80
sar ecx, 8
mov eax, dword [rsp + 0x20]
add eax, ecx
add eax, dword [rsp + 0x60]
mov dword [rsp + 0x130], eax
cmp dword [rsp + 0x24], 0
jl 0x1800a7d95
mov dword [rsp + 0x1c8], 1
jmp 0x1800a7da0
mov dword [rsp + 0x1c8], 0
cmp dword [rsp + 0x60], 0
jle 0x1800a7db4
mov dword [rsp + 0x1cc], 1
jmp 0x1800a7dbf
mov dword [rsp + 0x1cc], 0
mov eax, dword [rsp + 0x1cc]
cmp dword [rsp + 0x1c8], eax
jne 0x1800a7df3
mov ecx, dword [rsp + 0x50]
mov eax, dword [rsp + 0x50]
add eax, 1
mov dword [rsp + 0x50], eax
cmp ecx, 0x100
jne 0x1800a7df1
mov eax, dword [rsp + 0x50]
sub eax, 1
mov dword [rsp + 0x50], eax
jmp 0x1800a7e11
mov ecx, dword [rsp + 0x50]
mov eax, dword [rsp + 0x50]
sub eax, 1
mov dword [rsp + 0x50], eax
test ecx, ecx
jne 0x1800a7e11
mov eax, dword [rsp + 0x50]
add eax, 1
mov dword [rsp + 0x50], eax
mov ecx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x130]
sub eax, ecx
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x30]
imul eax, eax, 3
add eax, dword [rsp + 0x20]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x48]
cmp dword [rsp + 0x20], eax
jge 0x1800a7e7e
mov eax, dword [rsp + 0x34]
neg eax
cmp dword [rsp + 0x20], eax
jge 0x1800a7e5a
mov dword [rsp + 0x70], 1
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x5c]
mov dword [rcx], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a7eee
mov eax, dword [rsp + 0x58]
cmp dword [rsp + 0x20], eax
jle 0x1800a7ebe
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0x20], eax
jle 0x1800a7e9a
mov dword [rsp + 0x70], 1
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x68]
mov dword [rcx], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a7eee
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x20]
shl eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a7d23
jmp 0x1800a8efd
mov rax, qword [rsp + 0x78]
movsx eax, word [rax + 8]
cmp eax, 3
jne 0x1800a8bc7
mov rax, qword [rsp + 0x78]
movsx eax, word [rax + 0xa]
test eax, eax
je 0x1800a8bc7
mov eax, dword [rsp + 0x38]
and eax, 1
test eax, eax
jne 0x1800a8bc7
mov eax, dword [rsp + 0x38]
and eax, 2
test eax, eax
je 0x1800a815f
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x3c], 0
jmp 0x1800a7f5e
mov eax, dword [rsp + 0x3c]
add eax, 1
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x220]
cmp dword [rsp + 0x3c], eax
jae 0x1800a815a
xor edx, edx
mov rcx, qword [rsp + 0x78]
call fcn.1800abae0
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0x80000000
jne 0x1800a7f8e
jmp 0x1800a815a
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x24]
add eax, ecx
mov dword [rsp + 0x24], eax
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x20]
add eax, ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x30]
imul eax, eax, 3
add eax, dword [rsp + 0x20]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x48]
cmp dword [rsp + 0x20], eax
jge 0x1800a7ffb
mov eax, dword [rsp + 0x34]
neg eax
cmp dword [rsp + 0x20], eax
jge 0x1800a7fd7
mov dword [rsp + 0x70], 1
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x5c]
mov dword [rcx], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a806b
mov eax, dword [rsp + 0x58]
cmp dword [rsp + 0x20], eax
jle 0x1800a803b
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0x20], eax
jle 0x1800a8017
mov dword [rsp + 0x70], 1
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x68]
mov dword [rcx], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a806b
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x20]
shl eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov edx, 1
mov rcx, qword [rsp + 0x78]
call fcn.1800abae0
mov edx, eax
mov eax, dword [rsp + 0x2c]
add eax, edx
mov dword [rsp + 0x2c], eax
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x28]
add eax, ecx
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x30]
imul eax, eax, 3
add eax, dword [rsp + 0x28]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x48]
cmp dword [rsp + 0x28], eax
jge 0x1800a80e5
mov eax, dword [rsp + 0x34]
neg eax
cmp dword [rsp + 0x28], eax
jge 0x1800a80c1
mov dword [rsp + 0x70], 1
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x5c]
mov dword [rcx], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a8155
mov eax, dword [rsp + 0x58]
cmp dword [rsp + 0x28], eax
jle 0x1800a8125
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0x28], eax
jle 0x1800a8101
mov dword [rsp + 0x70], 1
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x68]
mov dword [rcx], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a8155
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x28]
shl eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a7f53
jmp 0x1800a8bc2
mov eax, dword [rsp + 0x38]
and eax, 0x410
test eax, eax
je 0x1800a8835
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x3c], 0
jmp 0x1800a8195
mov eax, dword [rsp + 0x3c]
add eax, 1
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x220]
cmp dword [rsp + 0x3c], eax
jae 0x1800a8830
mov eax, dword [rsp + 0x38]
and eax, 0x400
test eax, eax
je 0x1800a81ee
lea r8, [rsp + 0x90]
xor edx, edx
mov rcx, qword [rsp + 0x78]
call fcn.1800ac1c0
mov dword [rsp + 0x13c], eax
lea r8, [rsp + 0x94]
mov edx, 1
mov rcx, qword [rsp + 0x78]
call fcn.1800ac1c0
mov dword [rsp + 0x140], eax
jmp 0x1800a8217
xor edx, edx
mov rcx, qword [rsp + 0x78]
call fcn.1800abae0
mov dword [rsp + 0x13c], eax
mov edx, 1
mov rcx, qword [rsp + 0x78]
call fcn.1800abae0
mov dword [rsp + 0x140], eax
cmp dword [rsp + 0x13c], 0x80000000
jne 0x1800a8229
jmp 0x1800a8830
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0xbc]
mov dword [rsp + 0x64], eax
mov rax, qword [rsp + 0x78]
add rax, 0x90c
mov qword [rsp + 0x40], rax
jmp 0x1800a8258
mov rax, qword [rsp + 0x40]
add rax, 0x60
mov qword [rsp + 0x40], rax
mov ecx, dword [rsp + 0x64]
mov eax, dword [rsp + 0x64]
sub eax, 1
mov dword [rsp + 0x64], eax
test ecx, ecx
je 0x1800a84d6
movsxd rcx, dword [rsp + 0x98]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + rcx*4 + 0x10]
mov dword [rsp + 0x150], eax
movsxd rcx, dword [rsp + 0x98]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + rcx*4 + 0x30]
mov dword [rsp + 0x14c], eax
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax]
mov eax, dword [rsp + 0x98]
add eax, ecx
and eax, 7
mov dword [rsp + 0x154], eax
mov edx, dword [rsp + 0x150]
and edx, 0xffff
mov rax, qword [rsp + 0x40]
imul edx, dword [rax + 8]
sar edx, 7
mov eax, dword [rsp + 0x150]
and eax, 0xffff0000
sar eax, 7
mov rcx, qword [rsp + 0x40]
imul eax, dword [rcx + 8]
lea eax, [rdx + rax + 1]
sar eax, 1
add eax, dword [rsp + 0x13c]
mov dword [rsp + 0x138], eax
cmp dword [rsp + 0x150], 0
je 0x1800a839f
cmp dword [rsp + 0x13c], 0
je 0x1800a839f
mov ecx, dword [rsp + 0x13c]
mov eax, dword [rsp + 0x150]
xor eax, ecx
test eax, eax
jl 0x1800a8366
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 8]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
cmp edx, 0x100
jne 0x1800a8364
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
jmp 0x1800a839f
mov rax, qword [rsp + 0x40]
mov edi, dword [rax + 8]
mov edx, dword [rsp + 0x80]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
cmp edi, edx
jne 0x1800a839f
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 8]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 8], ecx
mov eax, dword [rsp + 0x138]
mov dword [rsp + 0x13c], eax
movsxd rdx, dword [rsp + 0x154]
mov rcx, qword [rsp + 0x40]
mov eax, dword [rsp + 0x13c]
mov dword [rcx + rdx*4 + 0x10], eax
mov edx, dword [rsp + 0x14c]
and edx, 0xffff
mov rax, qword [rsp + 0x40]
imul edx, dword [rax + 0xc]
sar edx, 7
mov eax, dword [rsp + 0x14c]
and eax, 0xffff0000
sar eax, 7
mov rcx, qword [rsp + 0x40]
imul eax, dword [rcx + 0xc]
lea eax, [rdx + rax + 1]
sar eax, 1
add eax, dword [rsp + 0x140]
mov dword [rsp + 0x134], eax
cmp dword [rsp + 0x14c], 0
je 0x1800a84ab
cmp dword [rsp + 0x140], 0
je 0x1800a84ab
mov ecx, dword [rsp + 0x140]
mov eax, dword [rsp + 0x14c]
xor eax, ecx
test eax, eax
jl 0x1800a8472
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 0xc]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
cmp edx, 0x100
jne 0x1800a8470
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
jmp 0x1800a84ab
mov rax, qword [rsp + 0x40]
mov edi, dword [rax + 0xc]
mov edx, dword [rsp + 0x80]
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
sub ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
cmp edi, edx
jne 0x1800a84ab
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0xc]
add ecx, 1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xc], ecx
mov eax, dword [rsp + 0x134]
mov dword [rsp + 0x140], eax
movsxd rdx, dword [rsp + 0x154]
mov rcx, qword [rsp + 0x40]
mov eax, dword [rsp + 0x140]
mov dword [rcx + rdx*4 + 0x30], eax
jmp 0x1800a824a
mov eax, dword [rsp + 0x98]
add eax, 1
and eax, 7
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0x38]
and eax, 0x80
test eax, eax
je 0x1800a85a8
mov eax, dword [rsp + 0x38]
and eax, 0x100
test eax, eax
je 0x1800a857a
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x8e8]
mov ecx, dword [rsp + 0x90]
add ecx, eax
mov eax, dword [rsp + 0x13c]
add eax, ecx
mov dword [rsp + 0x13c], eax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x8ec]
mov ecx, dword [rsp + 0x94]
add ecx, eax
mov eax, dword [rsp + 0x140]
add eax, ecx
mov dword [rsp + 0x140], eax
mov ecx, dword [rsp + 0x90]
neg ecx
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x8e8], ecx
mov ecx, dword [rsp + 0x94]
neg ecx
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x8ec], ecx
jmp 0x1800a85a8
mov ecx, dword [rsp + 0x90]
mov eax, dword [rsp + 0x13c]
add eax, ecx
mov dword [rsp + 0x13c], eax
mov ecx, dword [rsp + 0x94]
mov eax, dword [rsp + 0x140]
add eax, ecx
mov dword [rsp + 0x140], eax
mov eax, dword [rsp + 0x38]
and eax, 0x4000
test eax, eax
je 0x1800a8611
mov eax, dword [rsp + 0x140]
shl eax, 1
mov ecx, dword [rsp + 0x13c]
and ecx, 1
or eax, ecx
mov dword [rsp + 0x144], eax
mov eax, dword [rsp + 0x13c]
mov dword [rsp + 0x148], eax
mov ecx, dword [rsp + 0x148]
mov eax, dword [rsp + 0x144]
sub eax, ecx
sar eax, 1
mov dword [rsp + 0x140], eax
mov ecx, dword [rsp + 0x148]
mov eax, dword [rsp + 0x144]
add eax, ecx
sar eax, 1
mov dword [rsp + 0x13c], eax
mov edx, dword [rsp + 0x30]
imul edx, edx, 9
mov eax, dword [rsp + 0x13c]
imul eax, eax, 3
mov ecx, dword [rsp + 0x140]
add ecx, edx
add eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x38]
and eax, 0x80
test eax, eax
je 0x1800a86a9
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x13c]
shl eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x140]
shl eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a882b
mov eax, dword [rsp + 0x48]
cmp dword [rsp + 0x13c], eax
jge 0x1800a86f1
mov eax, dword [rsp + 0x34]
neg eax
cmp dword [rsp + 0x13c], eax
jge 0x1800a86cd
mov dword [rsp + 0x70], 1
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x5c]
mov dword [rcx], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a876a
mov eax, dword [rsp + 0x58]
cmp dword [rsp + 0x13c], eax
jle 0x1800a8737
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0x13c], eax
jle 0x1800a8713
mov dword [rsp + 0x70], 1
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x68]
mov dword [rcx], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a876a
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x13c]
shl eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0x48]
cmp dword [rsp + 0x140], eax
jge 0x1800a87b2
mov eax, dword [rsp + 0x34]
neg eax
cmp dword [rsp + 0x140], eax
jge 0x1800a878e
mov dword [rsp + 0x70], 1
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x5c]
mov dword [rcx], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a882b
mov eax, dword [rsp + 0x58]
cmp dword [rsp + 0x140], eax
jle 0x1800a87f8
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0x140], eax
jle 0x1800a87d4
mov dword [rsp + 0x70], 1
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x68]
mov dword [rcx], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a882b
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x140]
shl eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a818a
jmp 0x1800a8bc2
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x3c], 0
jmp 0x1800a885a
mov eax, dword [rsp + 0x3c]
add eax, 1
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x220]
cmp dword [rsp + 0x3c], eax
jae 0x1800a8bc2
xor edx, edx
mov rcx, qword [rsp + 0x78]
call fcn.1800abae0
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0x80000000
jne 0x1800a888a
jmp 0x1800a8bc2
mov ecx, dword [rsp + 0x24]
imul ecx, dword [rsp + 0x50]
add ecx, 0x80
sar ecx, 8
mov eax, dword [rsp + 0x20]
add eax, ecx
add eax, dword [rsp + 0x60]
mov dword [rsp + 0x158], eax
cmp dword [rsp + 0x24], 0
jl 0x1800a88c1
mov dword [rsp + 0x1d0], 1
jmp 0x1800a88cc
mov dword [rsp + 0x1d0], 0
cmp dword [rsp + 0x60], 0
jle 0x1800a88e0
mov dword [rsp + 0x1d4], 1
jmp 0x1800a88eb
mov dword [rsp + 0x1d4], 0
mov eax, dword [rsp + 0x1d4]
cmp dword [rsp + 0x1d0], eax
jne 0x1800a891f
mov ecx, dword [rsp + 0x50]
mov eax, dword [rsp + 0x50]
add eax, 1
mov dword [rsp + 0x50], eax
cmp ecx, 0x100
jne 0x1800a891d
mov eax, dword [rsp + 0x50]
sub eax, 1
mov dword [rsp + 0x50], eax
jmp 0x1800a893d
mov ecx, dword [rsp + 0x50]
mov eax, dword [rsp + 0x50]
sub eax, 1
mov dword [rsp + 0x50], eax
test ecx, ecx
jne 0x1800a893d
mov eax, dword [rsp + 0x50]
add eax, 1
mov dword [rsp + 0x50], eax
mov ecx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x158]
sub eax, ecx
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x158]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x30]
imul eax, eax, 3
add eax, dword [rsp + 0x20]
mov dword [rsp + 0x30], eax
mov edx, 1
mov rcx, qword [rsp + 0x78]
call fcn.1800abae0
mov dword [rsp + 0x60], eax
mov ecx, dword [rsp + 0x2c]
imul ecx, dword [rsp + 0x54]
add ecx, 0x80
sar ecx, 8
mov eax, dword [rsp + 0x28]
add eax, ecx
add eax, dword [rsp + 0x60]
mov dword [rsp + 0x158], eax
cmp dword [rsp + 0x2c], 0
jl 0x1800a89b2
mov dword [rsp + 0x1d8], 1
jmp 0x1800a89bd
mov dword [rsp + 0x1d8], 0
cmp dword [rsp + 0x60], 0
jle 0x1800a89d1
mov dword [rsp + 0x1dc], 1
jmp 0x1800a89dc
mov dword [rsp + 0x1dc], 0
mov eax, dword [rsp + 0x1dc]
cmp dword [rsp + 0x1d8], eax
jne 0x1800a8a10
mov ecx, dword [rsp + 0x54]
mov eax, dword [rsp + 0x54]
add eax, 1
mov dword [rsp + 0x54], eax
cmp ecx, 0x100
jne 0x1800a8a0e
mov eax, dword [rsp + 0x54]
sub eax, 1
mov dword [rsp + 0x54], eax
jmp 0x1800a8a2e
mov ecx, dword [rsp + 0x54]
mov eax, dword [rsp + 0x54]
sub eax, 1
mov dword [rsp + 0x54], eax
test ecx, ecx
jne 0x1800a8a2e
mov eax, dword [rsp + 0x54]
add eax, 1
mov dword [rsp + 0x54], eax
mov ecx, dword [rsp + 0x28]
mov eax, dword [rsp + 0x158]
sub eax, ecx
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x158]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x30]
imul eax, eax, 3
add eax, dword [rsp + 0x28]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x48]
cmp dword [rsp + 0x20], eax
jge 0x1800a8a9b
mov eax, dword [rsp + 0x34]
neg eax
cmp dword [rsp + 0x20], eax
jge 0x1800a8a77
mov dword [rsp + 0x70], 1
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x5c]
mov dword [rcx], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a8b0b
mov eax, dword [rsp + 0x58]
cmp dword [rsp + 0x20], eax
jle 0x1800a8adb
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0x20], eax
jle 0x1800a8ab7
mov dword [rsp + 0x70], 1
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x68]
mov dword [rcx], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a8b0b
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x20]
shl eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0x48]
cmp dword [rsp + 0x28], eax
jge 0x1800a8b4d
mov eax, dword [rsp + 0x34]
neg eax
cmp dword [rsp + 0x28], eax
jge 0x1800a8b29
mov dword [rsp + 0x70], 1
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x5c]
mov dword [rcx], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a8bbd
mov eax, dword [rsp + 0x58]
cmp dword [rsp + 0x28], eax
jle 0x1800a8b8d
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0x28], eax
jle 0x1800a8b69
mov dword [rsp + 0x70], 1
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x68]
mov dword [rcx], eax
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a8bbd
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x28]
shl eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a884f
jmp 0x1800a8efd
mov rax, qword [rsp + 0x78]
movsx eax, word [rax + 8]
cmp eax, 2
jne 0x1800a8cec
mov eax, dword [rsp + 0x38]
and eax, 1
test eax, eax
je 0x1800a8cec
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x3c], 0
jmp 0x1800a8c0d
mov eax, dword [rsp + 0x3c]
add eax, 1
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x220]
cmp dword [rsp + 0x3c], eax
jae 0x1800a8ce7
xor edx, edx
mov rcx, qword [rsp + 0x78]
call fcn.1800ab470
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0x80000000
jne 0x1800a8c3d
jmp 0x1800a8ce7
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x24]
add eax, ecx
mov dword [rsp + 0x24], eax
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x20]
add eax, ecx
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x78]
movsx eax, word [rax + 0xa]
test eax, eax
je 0x1800a8cb2
mov eax, dword [rsp + 0x48]
cmp dword [rsp + 0x20], eax
jge 0x1800a8c8e
mov eax, dword [rsp + 0x34]
neg eax
cmp dword [rsp + 0x20], eax
jge 0x1800a8c84
mov dword [rsp + 0x70], 1
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x20], eax
jmp 0x1800a8cb2
mov eax, dword [rsp + 0x58]
cmp dword [rsp + 0x20], eax
jle 0x1800a8cb2
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0x20], eax
jle 0x1800a8caa
mov dword [rsp + 0x70], 1
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x20]
shl eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a8c02
jmp 0x1800a8efd
mov rax, qword [rsp + 0x78]
movsx eax, word [rax + 8]
cmp eax, 3
jge 0x1800a8ef5
mov eax, dword [rsp + 0x38]
and eax, 1
test eax, eax
jne 0x1800a8ef5
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x3c], 0
jmp 0x1800a8d32
mov eax, dword [rsp + 0x3c]
add eax, 1
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x220]
cmp dword [rsp + 0x3c], eax
jae 0x1800a8ef3
xor edx, edx
mov rcx, qword [rsp + 0x78]
call fcn.1800ab470
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0x80000000
jne 0x1800a8d62
jmp 0x1800a8ef3
mov edx, 1
mov rcx, qword [rsp + 0x78]
call fcn.1800ab470
mov dword [rsp + 0x160], eax
mov ecx, dword [rsp + 0x160]
and ecx, 1
mov eax, dword [rsp + 0x60]
shl eax, 1
or eax, ecx
mov dword [rsp + 0x15c], eax
mov eax, dword [rsp + 0x160]
mov ecx, dword [rsp + 0x15c]
add ecx, eax
sar ecx, 1
mov eax, dword [rsp + 0x24]
add eax, ecx
mov dword [rsp + 0x24], eax
mov ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x20]
add eax, ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x160]
mov ecx, dword [rsp + 0x15c]
sub ecx, eax
sar ecx, 1
mov eax, dword [rsp + 0x2c]
add eax, ecx
mov dword [rsp + 0x2c], eax
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x28]
add eax, ecx
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x78]
movsx eax, word [rax + 0xa]
test eax, eax
je 0x1800a8e8e
mov eax, dword [rsp + 0x48]
cmp dword [rsp + 0x20], eax
jge 0x1800a8e1e
mov eax, dword [rsp + 0x34]
neg eax
cmp dword [rsp + 0x20], eax
jge 0x1800a8e14
mov dword [rsp + 0x70], 1
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x20], eax
jmp 0x1800a8e42
mov eax, dword [rsp + 0x58]
cmp dword [rsp + 0x20], eax
jle 0x1800a8e42
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0x20], eax
jle 0x1800a8e3a
mov dword [rsp + 0x70], 1
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x48]
cmp dword [rsp + 0x28], eax
jge 0x1800a8e6a
mov eax, dword [rsp + 0x34]
neg eax
cmp dword [rsp + 0x28], eax
jge 0x1800a8e60
mov dword [rsp + 0x70], 1
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x28], eax
jmp 0x1800a8e8e
mov eax, dword [rsp + 0x58]
cmp dword [rsp + 0x28], eax
jle 0x1800a8e8e
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0x28], eax
jle 0x1800a8e86
mov dword [rsp + 0x70], 1
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x20]
shl eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0x9c]
movzx ecx, al
mov eax, dword [rsp + 0x28]
shl eax, cl
mov ecx, eax
mov rax, qword [rsp + 0x88]
mov dword [rax], ecx
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
jmp 0x1800a8d27
jmp 0x1800a8efd
mov dword [rsp + 0x3c], 0
mov rax, qword [rsp + 0x78]
movsx eax, word [rax + 0xa]
test eax, eax
je 0x1800a8f1b
mov eax, dword [rsp + 0x38]
and eax, 0x80
test eax, eax
je 0x1800a8fc9
mov eax, dword [rsp + 0x38]
and eax, 1
test eax, eax
je 0x1800a8f33
mov dword [rsp + 0x1e0], 1
jmp 0x1800a8f3e
mov dword [rsp + 0x1e0], 2
mov eax, dword [rsp + 0x220]
imul eax, dword [rsp + 0x1e0]
mov ecx, eax
mov rax, qword [rsp + 0x218]
lea rax, [rax + rcx*4]
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x88], rax
jmp 0x1800a8f89
mov rax, qword [rsp + 0x88]
add rax, 0xc
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x168]
cmp qword [rsp + 0x88], rax
jae 0x1800a8fc9
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x34]
cmp dword [rcx], eax
jg 0x1800a8fbd
mov ecx, dword [rsp + 0x34]
neg ecx
mov rax, qword [rsp + 0x88]
cmp dword [rax], ecx
jge 0x1800a8fc7
mov dword [rsp + 0x70], 1
jmp 0x1800a8fc9
jmp 0x1800a8f75
cmp dword [rsp + 0x70], 0
je 0x1800a9016
mov eax, dword [rsp + 0x38]
and eax, 1
test eax, eax
je 0x1800a8fe8
mov dword [rsp + 0x1e4], 1
jmp 0x1800a8ff3
mov dword [rsp + 0x1e4], 2
mov ecx, dword [rsp + 0x220]
shl rcx, 2
movsxd rax, dword [rsp + 0x1e4]
imul rcx, rax
mov rdi, qword [rsp + 0x218]
xor eax, eax
rep stosb byte [rdi], al
cmp dword [rsp + 0x3c], 0
je 0x1800a935d
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0xb8]
add ecx, dword [rsp + 0x3c]
mov rax, qword [rsp + 0x78]
mov dword [rax + 0xb8], ecx
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x210]
mov eax, dword [rax + 0xb8]
cmp dword [rcx + 0xb8], eax
jne 0x1800a935d
mov rax, qword [rsp + 0x78]
movsx eax, word [rax + 8]
cmp eax, 3
jne 0x1800a90c5
mov rax, qword [rsp + 0x210]
cmp dword [rax + 0xc4], 0
je 0x1800a908a
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x1e8], eax
jmp 0x1800a9099
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x14]
mov dword [rsp + 0x1e8], eax
mov eax, dword [rsp + 0x1e8]
cmp dword [rsp + 0x30], eax
je 0x1800a90c5
mov rax, qword [rsp + 0x210]
mov ecx, dword [rax + 0xbc]
add ecx, 1
mov rax, qword [rsp + 0x210]
mov dword [rax + 0xbc], ecx
mov rax, qword [rsp + 0x210]
mov eax, dword [rax + 0xc8]
and eax, 4
test eax, eax
je 0x1800a935d
mov ecx, 0x400
call fcn.1800776f4
mov qword [rsp + 0x178], rax
mov rcx, qword [rsp + 0x78]
add rcx, 0x28
call fcn.1800a9580
test eax, eax
je 0x1800a91a8
mov rcx, qword [rsp + 0x78]
add rcx, 0x28
call fcn.1800a9580
mov edx, eax
mov rax, qword [rsp + 0x210]
mov eax, dword [rax + 0x70]
add eax, edx
mov edx, eax
mov rcx, qword [rsp + 0x210]
mov rcx, qword [rcx + 0x68]
call fcn.1800788f4
mov rdx, rax
mov rax, qword [rsp + 0x210]
mov qword [rax + 0x68], rdx
mov rcx, qword [rsp + 0x78]
add rcx, 0x28
call fcn.1800a9580
mov ebx, eax
mov rcx, qword [rsp + 0x78]
add rcx, 0x28
call fcn.1800a95d0
mov rsi, rax
mov rax, qword [rsp + 0x210]
mov edi, dword [rax + 0x70]
mov rax, qword [rsp + 0x210]
add rdi, qword [rax + 0x68]
mov rcx, rbx
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x78]
add rcx, 0x28
call fcn.1800a9580
mov ecx, eax
mov rax, qword [rsp + 0x210]
add ecx, dword [rax + 0x70]
mov rax, qword [rsp + 0x210]
mov dword [rax + 0x70], ecx
xor eax, eax
cmp eax, 1
je 0x1800a9272
mov rax, qword [rsp + 0x210]
mov rax, qword [rax + 0x90]
mov r8d, 8
mov rdx, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x210]
mov rcx, qword [rcx + 0x98]
call qword [rax]
mov dword [rsp + 0x170], eax
cmp dword [rsp + 0x170], 0
jne 0x1800a91f4
jmp 0x1800a9272
mov rax, qword [rsp + 0x210]
mov eax, dword [rax + 0x70]
add eax, dword [rsp + 0x170]
mov edx, eax
mov rcx, qword [rsp + 0x210]
mov rcx, qword [rcx + 0x68]
call fcn.1800788f4
mov rdx, rax
mov rax, qword [rsp + 0x210]
mov qword [rax + 0x68], rdx
mov ecx, dword [rsp + 0x170]
mov rax, qword [rsp + 0x210]
mov edi, dword [rax + 0x70]
mov rax, qword [rsp + 0x210]
add rdi, qword [rax + 0x68]
mov rsi, qword [rsp + 0x178]
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x210]
mov ecx, dword [rax + 0x70]
add ecx, dword [rsp + 0x170]
mov rax, qword [rsp + 0x210]
mov dword [rax + 0x70], ecx
jmp 0x1800a91a8
mov rcx, qword [rsp + 0x178]
call fcn.1800777ac
mov rdx, qword [rsp + 0x210]
cmp dword [rdx + 0x70], 0x10
jbe 0x1800a935d
mov dword [rsp + 0x180], 0
jmp 0x1800a92af
mov eax, dword [rsp + 0x180]
add eax, 1
mov dword [rsp + 0x180], eax
cmp dword [rsp + 0x180], 0x10
jge 0x1800a92da
movsxd rcx, dword [rsp + 0x180]
mov rax, qword [rsp + 0x210]
mov rax, qword [rax + 0x68]
movzx eax, byte [rax + rcx]
cmp eax, 0xff
jne 0x1800a92da
jmp 0x1800a929e
cmp dword [rsp + 0x180], 0x10
jne 0x1800a932d
mov rax, qword [rsp + 0x210]
mov eax, dword [rax + 0x70]
sub eax, 0x10
mov ecx, eax
mov rsi, qword [rsp + 0x210]
mov rsi, qword [rsi + 0x68]
add rsi, 0x10
mov rdi, qword [rsp + 0x210]
mov rdi, qword [rdi + 0x68]
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x210]
mov ecx, dword [rax + 0x70]
sub ecx, 0x10
mov rax, qword [rsp + 0x210]
mov dword [rax + 0x70], ecx
jmp 0x1800a935d
mov rcx, qword [rsp + 0x210]
mov rcx, qword [rcx + 0x68]
call fcn.1800777ac
mov rdx, qword [rsp + 0x210]
mov qword [rdx + 0x68], 0
mov rax, qword [rsp + 0x210]
mov dword [rax + 0x70], 0
mov rdi, qword [rsp + 0x78]
lea rsi, [rsp + 0x20]
add rdi, 0x8f4
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x50]
mov qword [rdx + 0x904], rax
mov rcx, qword [rsp + 0x78]
mov eax, dword [rsp + 0x30]
mov dword [rcx + 0x8f0], eax
mov rcx, qword [rsp + 0x78]
mov eax, dword [rsp + 0x98]
mov dword [rcx + 0x8e4], eax
mov eax, dword [rsp + 0x3c]
add rsp, 0x1f0
pop rdi
pop rsi
pop rbx
ret