Function at 0x18003a9a0
Capabilities:
Hash data using fnv
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0xa48
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x70]
and eax, 0x80000
test eax, eax
je 0x18003aa1a
mov dword [rsp + 0x3c0], 1
jmp 0x18003aa25
mov dword [rsp + 0x3c0], 0
mov eax, dword [rsp + 0x3c0]
mov dword [rsp + 0x94], eax
cmp dword [rsp + 0x94], 0
jne 0x18003aa5e
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x70]
and eax, 0x20000
test eax, eax
jne 0x18003aa5e
mov dword [rsp + 0x3fc], 0
jmp 0x18003aa69
mov dword [rsp + 0x3fc], 1
mov eax, dword [rsp + 0x3fc]
mov dword [rsp + 0x154], eax
mov dword [rsp + 0x130], 0
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x68]
mov dword [rsp + 0x8b8], eax
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x60]
mov dword [rsp + 0x7a8], eax
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x68]
inc eax
mov rcx, qword [rsp + 0xa60]
mov dword [rcx + 0x68], eax
mov eax, dword [rsp + 0x7a8]
cmp dword [rsp + 0x8b8], eax
jb 0x18003aad8
mov eax, 0xffffffd1
jmp 0x180046360
mov eax, dword [rsp + 0xaa0]
mov dword [rsp + 0x8c4], eax
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x64]
mov dword [rsp + 0x8c0], eax
mov eax, dword [rsp + 0xaa0]
inc eax
mov dword [rsp + 0xaa0], eax
mov eax, dword [rsp + 0x8c0]
cmp dword [rsp + 0x8c4], eax
jbe 0x18003ab22
mov eax, 0xffffffcb
jmp 0x180046360
mov eax, dword [rsp + 0xa88]
and eax, 0xfffffffe
mov dword [rsp + 0xa88], eax
mov eax, dword [rsp + 0xa98]
sub eax, 2
mov dword [rsp + 0xa98], eax
mov eax, dword [rsp + 0xa98]
cdq
mov ecx, 6
idiv ecx
mov eax, edx
mov ecx, dword [rsp + 0xa98]
sub ecx, eax
mov eax, ecx
cdq
mov ecx, 6
idiv ecx
mov dword [rsp + 0xa98], eax
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0x40]
add rax, 0x340
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x9a8], rax
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0x40]
add rax, 0x100
mov qword [rsp + 0x220], rax
mov dword [rsp + 0xb4], 0xffffffff
mov rax, qword [rsp + 0xa90]
add rax, 8
mov qword [rsp + 0x1e8], rax
movsxd rax, dword [rsp + 0xa98]
imul rax, rax, 0xc
mov rcx, qword [rsp + 0x1e8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x488], rax
mov rax, qword [rsp + 0x488]
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x54], 0
mov rax, qword [rsp + 0xa68]
movzx eax, byte [rax]
cmp eax, 0x80
je 0x18003ac35
mov rax, qword [rsp + 0xa68]
movzx eax, byte [rax]
cmp eax, 0x81
jne 0x18003b038
mov qword [rsp + 0x480], 0
mov rax, qword [rsp + 0xa68]
mov qword [rsp + 0xb8], rax
mov eax, 1
imul rax, rax, 4
mov rcx, qword [rsp + 0xb8]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 5
mov rdx, qword [rsp + 0xb8]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov eax, eax
mov qword [rsp + 0x980], rax
mov rax, qword [rsp + 0x480]
cmp qword [rsp + 0x980], rax
jbe 0x18003acac
mov rax, qword [rsp + 0x980]
mov qword [rsp + 0x480], rax
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0xb8]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0xb8]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov eax, eax
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb8]
movzx eax, byte [rax]
cmp eax, 0x78
je 0x18003ac51
cmp dword [rsp + 0x94], 0
je 0x18003adb7
mov qword [rsp + 0x218], 0
jmp 0x18003ad36
mov rax, qword [rsp + 0x218]
inc rax
mov qword [rsp + 0x218], rax
mov rax, qword [rsp + 0x480]
cmp qword [rsp + 0x218], rax
jae 0x18003adb2
mov rax, qword [rsp + 0x100]
cmp qword [rsp + 0xa70], rax
ja 0x18003ad5c
jmp 0x18003adb2
mov rax, qword [rsp + 0xa70]
dec rax
mov qword [rsp + 0xa70], rax
mov rax, qword [rsp + 0x100]
cmp qword [rsp + 0xa70], rax
jbe 0x18003adad
mov rax, qword [rsp + 0xa70]
movzx eax, byte [rax]
and eax, 0xc0
cmp eax, 0x80
jne 0x18003adad
mov rax, qword [rsp + 0xa70]
dec rax
mov qword [rsp + 0xa70], rax
jmp 0x18003ad6f
jmp 0x18003ad23
jmp 0x18003ae37
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xa70]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x988], rax
mov rax, qword [rsp + 0x480]
cmp qword [rsp + 0x988], rax
jae 0x18003adf9
mov rax, qword [rsp + 0x988]
mov qword [rsp + 0x990], rax
jmp 0x18003ae09
mov rax, qword [rsp + 0x480]
mov qword [rsp + 0x990], rax
mov rax, qword [rsp + 0x990]
mov qword [rsp + 0x218], rax
mov rax, qword [rsp + 0x218]
mov rcx, qword [rsp + 0xa70]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0xa70], rax
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0x30]
cmp qword [rsp + 0xa70], rax
jae 0x18003ae61
mov rax, qword [rsp + 0xa60]
mov rcx, qword [rsp + 0xa70]
mov qword [rax + 0x30], rcx
mov rax, qword [rsp + 0xa68]
mov qword [rsp + 0xb8], rax
mov eax, 1
imul rax, rax, 3
mov rcx, qword [rsp + 0xb8]
movzx eax, byte [rcx + rax]
cmp eax, 0x7d
jne 0x18003ae98
mov dword [rsp + 0x400], 3
jmp 0x18003aea3
mov dword [rsp + 0x400], 0
mov eax, dword [rsp + 0x400]
mov dword [rsp + 0x404], eax
cmp dword [rsp + 0x404], 0
jne 0x18003aec9
mov qword [rsp + 0x998], 0
jmp 0x18003af02
mov eax, 1
imul rax, rax, 4
mov rcx, qword [rsp + 0xb8]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 5
mov rdx, qword [rsp + 0xb8]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov eax, eax
mov qword [rsp + 0x998], rax
mov rax, qword [rsp + 0x998]
mov qword [rsp + 0x9a0], rax
mov rax, qword [rsp + 0x218]
cmp qword [rsp + 0x9a0], rax
ja 0x18003afd8
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0xb8]
sub rcx, rax
mov rax, rcx
mov ecx, dword [rsp + 0x404]
lea rax, [rax + rcx + 3]
mov dword [rsp + 0x8d0], eax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x8cc], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x8c8], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x8c8]
cmp dword [rsp + 0x8cc], eax
jge 0x18003afce
mov eax, dword [rsp + 0x8d0]
neg eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x9a0]
mov rcx, qword [rsp + 0x218]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18003afd8
mov eax, 0xffffffd5
jmp 0x180046360
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0xb8]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0xb8]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov eax, eax
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb8]
movzx eax, byte [rax]
cmp eax, 0x78
je 0x18003ae71
jmp 0x18003b26d
mov rax, qword [rsp + 0xa68]
mov qword [rsp + 0xb8], rax
cmp dword [rsp + 0xaa0], 1
jne 0x18003b115
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 0x40
test eax, eax
je 0x18003b115
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0xb8]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0xb8]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov eax, eax
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb8]
movzx eax, byte [rax]
cmp eax, 0x78
je 0x18003b06c
mov eax, 4
imul rax, rax, 1
mov rcx, qword [rsp + 0xa90]
mov eax, dword [rcx + rax]
mov dword [rsp + 0x54], eax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0xa90]
cmp dword [rcx + rax], 0
jne 0x18003b110
movsxd rax, dword [rsp + 0x54]
imul rax, rax, 0xc
mov rdi, qword [rsp + 0x488]
mov rsi, qword [rsp + 0x1e8]
mov rcx, rax
rep movsb byte [rdi], byte [rsi]
jmp 0x18003b26d
mov rax, qword [rsp + 0xa68]
movzx eax, byte [rax]
cmp eax, 0x88
je 0x18003b16a
mov rax, qword [rsp + 0xa68]
movzx eax, byte [rax]
cmp eax, 0x8d
je 0x18003b16a
mov rax, qword [rsp + 0xa68]
movzx eax, byte [rax]
cmp eax, 0x89
je 0x18003b16a
mov rax, qword [rsp + 0xa68]
movzx eax, byte [rax]
cmp eax, 0x8e
je 0x18003b16a
mov dword [rsp + 0x408], 0
jmp 0x18003b175
mov dword [rsp + 0x408], 2
mov eax, dword [rsp + 0x408]
add eax, 3
mov dword [rsp + 0x40c], eax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x8d8], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x8d4], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x8d4]
cmp dword [rsp + 0x8d8], eax
jge 0x18003b1fd
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0xb8]
sub rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0x40c]
add rax, rcx
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18003b207
mov eax, 0xffffffd5
jmp 0x180046360
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0xb8]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0xb8]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov eax, eax
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xb8], rax
mov dword [rsp + 0x40c], 3
mov rax, qword [rsp + 0xb8]
movzx eax, byte [rax]
cmp eax, 0x78
je 0x18003b186
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0xa90]
mov dword [rcx + rax], 0
mov rax, qword [rsp + 0xa70]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x214], 0
mov dword [rsp + 0xac], 0
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0xd0], eax
mov dword [rsp + 0x130], 0
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0x38]
cmp qword [rsp + 0x88], rax
jbe 0x18003b2ee
mov rax, qword [rsp + 0xa60]
mov rcx, qword [rsp + 0x88]
mov qword [rax + 0x38], rcx
mov rax, qword [rsp + 0x1e8]
mov qword [rsp + 0x9c8], rax
mov rax, qword [rsp + 0x488]
mov qword [rsp + 0x1e8], rax
mov rax, qword [rsp + 0x9c8]
mov qword [rsp + 0x488], rax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x54], 0
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0xa90]
mov eax, dword [rcx + rax]
xor eax, 1
mov ecx, 4
imul rcx, rcx, 0
mov rdx, qword [rsp + 0xa90]
mov dword [rdx + rcx], eax
mov eax, 4
imul rax, rax, 1
mov rcx, qword [rsp + 0xa90]
mov edx, dword [rsp + 0x50]
mov dword [rcx + rax], edx
movsxd rax, dword [rsp + 0x50]
imul rax, rax, 0xc
mov rcx, qword [rsp + 0x1e8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x488]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x138]
cmp qword [rsp + 0x88], rax
jae 0x18003b649
mov dword [rsp + 0x7c], 1
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x94], 0
je 0x18003b647
cmp dword [rsp + 0x68], 0xc0
jb 0x18003b647
mov eax, dword [rsp + 0x68]
and eax, 0x20
test eax, eax
jne 0x18003b425
mov eax, dword [rsp + 0x68]
and eax, 0x1f
shl eax, 6
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x88]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
or eax, ecx
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x7c]
inc eax
mov dword [rsp + 0x7c], eax
jmp 0x18003b647
mov eax, dword [rsp + 0x68]
and eax, 0x10
test eax, eax
jne 0x18003b485
mov eax, dword [rsp + 0x68]
and eax, 0xf
shl eax, 0xc
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x88]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x88]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
or eax, ecx
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x7c]
add eax, 2
mov dword [rsp + 0x7c], eax
jmp 0x18003b647
mov eax, dword [rsp + 0x68]
and eax, 8
test eax, eax
jne 0x18003b502
mov eax, dword [rsp + 0x68]
and eax, 7
shl eax, 0x12
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x88]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x88]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov ecx, 1
imul rcx, rcx, 3
mov rdx, qword [rsp + 0x88]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
or eax, ecx
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x7c]
add eax, 3
mov dword [rsp + 0x7c], eax
jmp 0x18003b647
mov eax, dword [rsp + 0x68]
and eax, 4
test eax, eax
jne 0x18003b5a0
mov eax, dword [rsp + 0x68]
and eax, 3
shl eax, 0x18
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x88]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x88]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov ecx, 1
imul rcx, rcx, 3
mov rdx, qword [rsp + 0x88]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov ecx, 1
imul rcx, rcx, 4
mov rdx, qword [rsp + 0x88]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
or eax, ecx
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x7c]
add eax, 4
mov dword [rsp + 0x7c], eax
jmp 0x18003b647
mov eax, dword [rsp + 0x68]
and eax, 1
shl eax, 0x1e
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x88]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x88]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov ecx, 1
imul rcx, rcx, 3
mov rdx, qword [rsp + 0x88]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov ecx, 1
imul rcx, rcx, 4
mov rdx, qword [rsp + 0x88]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov ecx, 1
imul rcx, rcx, 5
mov rdx, qword [rsp + 0x88]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
or eax, ecx
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x7c]
add eax, 5
mov dword [rsp + 0x7c], eax
jmp 0x18003b659
mov dword [rsp + 0x7c], 0
mov dword [rsp + 0x68], 0xffffffff
mov dword [rsp + 0x110], 0
jmp 0x18003b676
mov eax, dword [rsp + 0x110]
inc eax
mov dword [rsp + 0x110], eax
mov eax, dword [rsp + 0x50]
cmp dword [rsp + 0x110], eax
jge 0x180046240
movsxd rax, dword [rsp + 0x110]
imul rax, rax, 0xc
mov rcx, qword [rsp + 0x1e8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xe8], rax
mov dword [rsp + 0xf0], 0
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax]
mov dword [rsp + 0x74], eax
cmp dword [rsp + 0x74], 0
jge 0x18003b793
mov rax, qword [rsp + 0xe8]
cmp dword [rax + 8], 0
jle 0x18003b77b
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x8e0], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x8dc], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x8dc]
cmp dword [rsp + 0x8e0], eax
jge 0x18003b755
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0xe8]
mov ecx, dword [rcx + 4]
mov dword [rax + 4], ecx
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 8]
dec eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18003b75f
mov eax, 0xffffffd5
jmp 0x180046360
cmp dword [rsp + 0xd0], 0
je 0x18003b774
mov dword [rsp + 0x130], 1
jmp 0x18003b666
mov eax, dword [rsp + 0x74]
neg eax
mov dword [rsp + 0x74], eax
mov rax, qword [rsp + 0xe8]
mov ecx, dword [rsp + 0x74]
mov dword [rax], ecx
mov dword [rsp + 0x170], 0
jmp 0x18003b7b0
mov eax, dword [rsp + 0x170]
inc eax
mov dword [rsp + 0x170], eax
mov eax, dword [rsp + 0x110]
cmp dword [rsp + 0x170], eax
jge 0x18003b809
movsxd rax, dword [rsp + 0x170]
imul rax, rax, 0xc
mov rcx, qword [rsp + 0x1e8]
mov edx, dword [rsp + 0x74]
cmp dword [rcx + rax], edx
jne 0x18003b807
movsxd rax, dword [rsp + 0x170]
imul rax, rax, 0xc
mov rcx, qword [rsp + 0x1e8]
mov rdx, qword [rsp + 0xe8]
mov edx, dword [rdx + 4]
cmp dword [rcx + rax + 4], edx
jne 0x18003b807
jmp 0x180046236
jmp 0x18003b7a0
movsxd rax, dword [rsp + 0x74]
mov rcx, qword [rsp + 0x140]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax]
mov dword [rsp + 0x78], eax
cmp dword [rsp + 0x7c], 0
jne 0x18003b858
mov eax, dword [rsp + 0x78]
lea rcx, [0x1800c8510]
movzx eax, byte [rcx + rax]
test eax, eax
je 0x18003b858
mov dword [rsp + 0xd0], 1
mov eax, dword [rsp + 0x78]
lea rcx, [0x1800c85c0]
movzx eax, byte [rcx + rax]
test eax, eax
jle 0x18003bd3b
mov dword [rsp + 0x98], 1
cmp dword [rsp + 0x94], 0
je 0x18003bc7c
mov eax, dword [rsp + 0x78]
lea rcx, [0x1800c85c0]
movzx eax, byte [rcx + rax]
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x6c], eax
cmp dword [rsp + 0x6c], 0xc0
jb 0x18003bc7a
mov eax, dword [rsp + 0x6c]
and eax, 0x20
test eax, eax
jne 0x18003b912
mov eax, dword [rsp + 0x6c]
and eax, 0x1f
shl eax, 6
mov ecx, dword [rsp + 0x78]
lea rdx, [0x1800c85c0]
movzx ecx, byte [rdx + rcx]
mov rdx, qword [rsp + 0x80]
add rdx, rcx
mov rcx, rdx
mov edx, 1
imul rdx, rdx, 1
movzx ecx, byte [rcx + rdx]
and ecx, 0x3f
or eax, ecx
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x98]
inc eax
mov dword [rsp + 0x98], eax
jmp 0x18003bc7a
mov eax, dword [rsp + 0x6c]
and eax, 0x10
test eax, eax
jne 0x18003b9a6
mov eax, dword [rsp + 0x6c]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [rsp + 0x78]
lea rdx, [0x1800c85c0]
movzx ecx, byte [rdx + rcx]
mov rdx, qword [rsp + 0x80]
add rdx, rcx
mov rcx, rdx
mov edx, 1
imul rdx, rdx, 1
movzx ecx, byte [rcx + rdx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov ecx, dword [rsp + 0x78]
lea rdx, [0x1800c85c0]
movzx ecx, byte [rdx + rcx]
mov rdx, qword [rsp + 0x80]
add rdx, rcx
mov rcx, rdx
mov edx, 1
imul rdx, rdx, 2
movzx ecx, byte [rcx + rdx]
and ecx, 0x3f
or eax, ecx
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x98]
add eax, 2
mov dword [rsp + 0x98], eax
jmp 0x18003bc7a
mov eax, dword [rsp + 0x6c]
and eax, 8
test eax, eax
jne 0x18003ba6c
mov eax, dword [rsp + 0x6c]
and eax, 7
shl eax, 0x12
mov ecx, dword [rsp + 0x78]
lea rdx, [0x1800c85c0]
movzx ecx, byte [rdx + rcx]
mov rdx, qword [rsp + 0x80]
add rdx, rcx
mov rcx, rdx
mov edx, 1
imul rdx, rdx, 1
movzx ecx, byte [rcx + rdx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov ecx, dword [rsp + 0x78]
lea rdx, [0x1800c85c0]
movzx ecx, byte [rdx + rcx]
mov rdx, qword [rsp + 0x80]
add rdx, rcx
mov rcx, rdx
mov edx, 1
imul rdx, rdx, 2
movzx ecx, byte [rcx + rdx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov ecx, dword [rsp + 0x78]
lea rdx, [0x1800c85c0]
movzx ecx, byte [rdx + rcx]
mov rdx, qword [rsp + 0x80]
add rdx, rcx
mov rcx, rdx
mov edx, 1
imul rdx, rdx, 3
movzx ecx, byte [rcx + rdx]
and ecx, 0x3f
or eax, ecx
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x98]
add eax, 3
mov dword [rsp + 0x98], eax
jmp 0x18003bc7a
mov eax, dword [rsp + 0x6c]
and eax, 4
test eax, eax
jne 0x18003bb64
mov eax, dword [rsp + 0x6c]
and eax, 3
shl eax, 0x18
mov ecx, dword [rsp + 0x78]
lea rdx, [0x1800c85c0]
movzx ecx, byte [rdx + rcx]
mov rdx, qword [rsp + 0x80]
add rdx, rcx
mov rcx, rdx
mov edx, 1
imul rdx, rdx, 1
movzx ecx, byte [rcx + rdx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov ecx, dword [rsp + 0x78]
lea rdx, [0x1800c85c0]
movzx ecx, byte [rdx + rcx]
mov rdx, qword [rsp + 0x80]
add rdx, rcx
mov rcx, rdx
mov edx, 1
imul rdx, rdx, 2
movzx ecx, byte [rcx + rdx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov ecx, dword [rsp + 0x78]
lea rdx, [0x1800c85c0]
movzx ecx, byte [rdx + rcx]
mov rdx, qword [rsp + 0x80]
add rdx, rcx
mov rcx, rdx
mov edx, 1
imul rdx, rdx, 3
movzx ecx, byte [rcx + rdx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov ecx, dword [rsp + 0x78]
lea rdx, [0x1800c85c0]
movzx ecx, byte [rdx + rcx]
mov rdx, qword [rsp + 0x80]
add rdx, rcx
mov rcx, rdx
mov edx, 1
imul rdx, rdx, 4
movzx ecx, byte [rcx + rdx]
and ecx, 0x3f
or eax, ecx
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x98]
add eax, 4
mov dword [rsp + 0x98], eax
jmp 0x18003bc7a
mov eax, dword [rsp + 0x6c]
and eax, 1
shl eax, 0x1e
mov ecx, dword [rsp + 0x78]
lea rdx, [0x1800c85c0]
movzx ecx, byte [rdx + rcx]
mov rdx, qword [rsp + 0x80]
add rdx, rcx
mov rcx, rdx
mov edx, 1
imul rdx, rdx, 1
movzx ecx, byte [rcx + rdx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov ecx, dword [rsp + 0x78]
lea rdx, [0x1800c85c0]
movzx ecx, byte [rdx + rcx]
mov rdx, qword [rsp + 0x80]
add rdx, rcx
mov rcx, rdx
mov edx, 1
imul rdx, rdx, 2
movzx ecx, byte [rcx + rdx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov ecx, dword [rsp + 0x78]
lea rdx, [0x1800c85c0]
movzx ecx, byte [rdx + rcx]
mov rdx, qword [rsp + 0x80]
add rdx, rcx
mov rcx, rdx
mov edx, 1
imul rdx, rdx, 3
movzx ecx, byte [rcx + rdx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov ecx, dword [rsp + 0x78]
lea rdx, [0x1800c85c0]
movzx ecx, byte [rdx + rcx]
mov rdx, qword [rsp + 0x80]
add rdx, rcx
mov rcx, rdx
mov edx, 1
imul rdx, rdx, 4
movzx ecx, byte [rcx + rdx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov ecx, dword [rsp + 0x78]
lea rdx, [0x1800c85c0]
movzx ecx, byte [rdx + rcx]
mov rdx, qword [rsp + 0x80]
add rdx, rcx
mov rcx, rdx
mov edx, 1
imul rdx, rdx, 5
movzx ecx, byte [rcx + rdx]
and ecx, 0x3f
or eax, ecx
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x98]
add eax, 5
mov dword [rsp + 0x98], eax
jmp 0x18003bc9b
mov eax, dword [rsp + 0x78]
lea rcx, [0x1800c85c0]
movzx eax, byte [rcx + rax]
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x6c], eax
cmp dword [rsp + 0x78], 0x55
jb case.default.0x18003bce4
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x1a8], eax
mov eax, dword [rsp + 0x1a8]
sub eax, 0xe
mov dword [rsp + 0x1a8], eax
cmp dword [rsp + 0x1a8], 8
ja case.default.0x18003bce4
mov eax, dword [rsp + 0x1a8]
lea rcx, [0x180000000]
mov eax, dword [rcx + rax*4 + 0x4636c]
add rax, rcx
jmp rax
mov eax, 0xffffffd6
jmp 0x180046360
mov eax, dword [rsp + 0x78]
add eax, 0x12c
mov dword [rsp + 0x78], eax
jmp case.default.0x18003bce4
mov eax, dword [rsp + 0x78]
add eax, 0x154
mov dword [rsp + 0x78], eax
jmp case.default.0x18003bce4
mov eax, dword [rsp + 0x78]
add eax, 0x140
mov dword [rsp + 0x78], eax
jmp case.default.0x18003bce4
mov eax, dword [rsp + 0x78]
add eax, 0x168
mov dword [rsp + 0x78], eax
jmp case.default.0x18003bce4
mov eax, dword [rsp + 0x78]
add eax, 0x17c
mov dword [rsp + 0x78], eax
jmp 0x18003bd4e
mov dword [rsp + 0x98], 0
mov dword [rsp + 0x6c], 0xffffffff
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x1ac], eax
mov eax, dword [rsp + 0x1ac]
dec eax
mov dword [rsp + 0x1ac], eax
cmp dword [rsp + 0x1ac], 0x1dc
ja case.0x18003bd9a.194
mov eax, dword [rsp + 0x1ac]
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x46698]
mov eax, dword [rcx + rax*4 + 0x46390]
add rax, rcx
jmp rax
xor eax, eax
jmp 0x180046360
mov rax, qword [rsp + 0xb8]
cmp qword [rsp + 0x80], rax
je 0x18003bec7
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x8e8], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x8e4], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x8e4]
cmp dword [rsp + 0x8e8], eax
jge 0x18003be16
mov eax, dword [rsp + 0x74]
add eax, 3
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18003be20
mov eax, 0xffffffd5
jmp 0x180046360
cmp dword [rsp + 0x78], 0x79
je 0x18003bec2
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x8f0], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x8ec], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x8ec]
cmp dword [rsp + 0x8f0], eax
jge 0x18003beb8
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov ecx, dword [rsp + 0x74]
sub ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18003bec2
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x18003c080
mov rax, qword [rsp + 0xa70]
cmp qword [rsp + 0x88], rax
ja 0x18003bf29
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 4
test eax, eax
jne 0x18003c080
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 8
test eax, eax
je 0x18003bf29
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0x48]
mov rcx, qword [rsp + 0x100]
add rcx, rax
mov rax, rcx
cmp qword [rsp + 0xa70], rax
jbe 0x18003c080
cmp dword [rsp + 0xb4], 0
jge 0x18003bf65
cmp dword [rsp + 0xa88], 2
jb 0x18003bf4a
mov dword [rsp + 0x410], 1
jmp 0x18003bf55
mov dword [rsp + 0x410], 0
mov eax, dword [rsp + 0x410]
mov dword [rsp + 0xb4], eax
jmp 0x18003bf9c
cmp dword [rsp + 0xb4], 0
jle 0x18003bf9c
mov eax, dword [rsp + 0xb4]
inc eax
mov dword [rsp + 0xb4], eax
mov eax, dword [rsp + 0xb4]
shl eax, 1
cmp eax, dword [rsp + 0xa88]
jle 0x18003bf9c
mov dword [rsp + 0xb4], 0
cmp dword [rsp + 0xb4], 0
jne 0x18003bfb6
mov eax, dword [rsp + 0xa88]
mov dword [rsp + 0x414], eax
jmp 0x18003bfc6
mov eax, dword [rsp + 0xb4]
shl eax, 1
mov dword [rsp + 0x414], eax
mov eax, dword [rsp + 0x414]
sub eax, 2
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x70], 0
jle 0x18003c000
movsxd rax, dword [rsp + 0x70]
shl rax, 3
mov rcx, qword [rsp + 0xa80]
add rcx, 0x10
mov r8, rax
mov rdx, qword [rsp + 0xa80]
call fcn.1800048f0
cmp dword [rsp + 0xa88], 2
jb 0x18003c060
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xa70]
sub rcx, rax
mov rax, rcx
mov ecx, 8
imul rcx, rcx, 0
mov rdx, qword [rsp + 0xa80]
mov qword [rdx + rcx], rax
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
mov ecx, 8
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xa80]
mov qword [rdx + rcx], rax
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 0x80
test eax, eax
je 0x18003c080
mov eax, dword [rsp + 0xb4]
jmp 0x180046360
jmp 0x180046236
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov eax, eax
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax]
cmp eax, 0x78
je case.0x18003bd9a.102
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x8f8], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x8f4], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x8f4]
cmp dword [rsp + 0x8f8], eax
jge 0x18003c148
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18003c152
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x900], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x8fc], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x8fc]
cmp dword [rsp + 0x900], eax
jge 0x18003c1c7
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
add rax, 3
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18003c1d1
mov eax, 0xffffffd5
jmp 0x180046360
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov eax, eax
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax]
cmp eax, 0x78
je case.0x18003bd9a.112
jmp 0x180046236
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x908], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x904], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x904]
cmp dword [rsp + 0x908], eax
jge 0x18003c2a1
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
add rax, 5
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18003c2ab
mov eax, 0xffffffd5
jmp 0x180046360
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov eax, eax
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax]
cmp eax, 0x78
jne 0x18003c3cc
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x910], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x90c], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x90c]
cmp dword [rsp + 0x910], eax
jge 0x18003c376
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
add rax, 3
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18003c380
mov eax, 0xffffffd5
jmp 0x180046360
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov eax, eax
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
jmp 0x18003c2f2
jmp 0x180046236
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x918], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x914], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x914]
cmp dword [rsp + 0x918], eax
jge 0x18003c42d
mov eax, dword [rsp + 0x74]
inc eax
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18003c437
mov eax, 0xffffffd5
jmp 0x180046360
mov eax, 1
imul rax, rax, 2
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 3
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
or eax, ecx
inc eax
mov eax, eax
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax]
cmp eax, 0x78
jne 0x18003c4d9
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov eax, eax
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
jmp 0x18003c480
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x920], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x91c], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x91c]
cmp dword [rsp + 0x920], eax
jge 0x18003c549
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
add rax, 3
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18003c553
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov eax, 1
imul rax, rax, 2
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 3
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
or eax, ecx
inc eax
mov eax, eax
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax]
cmp eax, 0x78
jne 0x18003c5fa
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov eax, eax
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
jmp 0x18003c5a1
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x928], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x924], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x924]
cmp dword [rsp + 0x928], eax
jge 0x18003c66a
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
add rax, 3
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18003c674
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov rax, qword [rsp + 0x100]
cmp qword [rsp + 0x88], rax
jne 0x18003c703
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 1
test eax, eax
jne 0x18003c703
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x930], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x92c], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x92c]
cmp dword [rsp + 0x930], eax
jge 0x18003c6f9
mov eax, dword [rsp + 0x74]
inc eax
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18003c703
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov rax, qword [rsp + 0x100]
cmp qword [rsp + 0x88], rax
jne 0x18003c730
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 1
test eax, eax
je 0x18003c8c5
mov rax, qword [rsp + 0x138]
cmp qword [rsp + 0x88], rax
jne 0x18003c75a
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x70]
and eax, 0x200000
test eax, eax
je 0x18003c92b
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x74], 0
je 0x18003c7ef
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0x20]
cmp qword [rsp + 0x88], rax
jbe 0x18003c7d1
mov rax, qword [rsp + 0xa60]
add rax, 0x78
mov ecx, dword [rsp + 0x94]
mov dword [rsp + 0x20], ecx
mov r9, rax
mov rax, qword [rsp + 0xa60]
mov r8, qword [rax + 0x20]
mov rax, qword [rsp + 0xa60]
mov edx, dword [rax + 0x74]
mov rcx, qword [rsp + 0x88]
call fcn.1800b1e00
test eax, eax
je 0x18003c7d1
mov dword [rsp + 0x418], 1
jmp 0x18003c7dc
mov dword [rsp + 0x418], 0
mov eax, dword [rsp + 0x418]
mov dword [rsp + 0x420], eax
jmp 0x18003c8bb
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x78]
mov rcx, qword [rsp + 0xa60]
add rax, qword [rcx + 0x20]
cmp qword [rsp + 0x88], rax
jb 0x18003c8a2
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x78]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
movzx eax, byte [rax]
mov ecx, 1
imul rcx, rcx, 0
mov rdx, qword [rsp + 0xa60]
movzx ecx, byte [rdx + rcx + 0x80]
cmp eax, ecx
jne 0x18003c8a2
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x78], 1
je 0x18003c895
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x78]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
movzx eax, byte [rax + 1]
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xa60]
movzx ecx, byte [rdx + rcx + 0x80]
cmp eax, ecx
jne 0x18003c8a2
mov dword [rsp + 0x41c], 1
jmp 0x18003c8ad
mov dword [rsp + 0x41c], 0
mov eax, dword [rsp + 0x41c]
mov dword [rsp + 0x420], eax
cmp dword [rsp + 0x420], 0
je 0x18003c92b
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x938], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x934], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x934]
cmp dword [rsp + 0x938], eax
jge 0x18003c921
mov eax, dword [rsp + 0x74]
inc eax
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18003c92b
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov rax, qword [rsp + 0x138]
cmp qword [rsp + 0x88], rax
jb 0x18003c9ca
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 0x20
test eax, eax
je 0x18003c964
mov eax, 0xfffffffe
jmp 0x180046360
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x940], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x93c], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x93c]
cmp dword [rsp + 0x940], eax
jge 0x18003c9c0
mov eax, dword [rsp + 0x74]
inc eax
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18003c9ca
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov rax, qword [rsp + 0x100]
cmp qword [rsp + 0x88], rax
jne 0x18003ca47
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x948], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x944], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x944]
cmp dword [rsp + 0x948], eax
jge 0x18003ca3d
mov eax, dword [rsp + 0x74]
inc eax
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18003ca47
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov rax, qword [rsp + 0xa78]
mov rcx, qword [rsp + 0x100]
add rcx, rax
mov rax, rcx
cmp qword [rsp + 0x88], rax
jne 0x18003cad2
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x950], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x94c], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x94c]
cmp dword [rsp + 0x950], eax
jge 0x18003cac8
mov eax, dword [rsp + 0x74]
inc eax
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18003cad2
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
cmp dword [rsp + 0x7c], 0
jle 0x18003cd18
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x74], 0
je 0x18003cb77
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0x28]
cmp qword [rsp + 0x88], rax
jae 0x18003cb59
mov rax, qword [rsp + 0xa60]
add rax, 0x78
mov ecx, dword [rsp + 0x94]
mov dword [rsp + 0x20], ecx
mov r9, rax
mov rax, qword [rsp + 0xa60]
mov r8, qword [rax + 0x28]
mov rax, qword [rsp + 0xa60]
mov edx, dword [rax + 0x74]
mov rcx, qword [rsp + 0x88]
call fcn.1800b2200
test eax, eax
je 0x18003cb59
mov dword [rsp + 0x424], 1
jmp 0x18003cb64
mov dword [rsp + 0x424], 0
mov eax, dword [rsp + 0x424]
mov dword [rsp + 0x42c], eax
jmp 0x18003cc23
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x78]
mov rcx, qword [rsp + 0xa60]
mov rcx, qword [rcx + 0x28]
sub rcx, rax
mov rax, rcx
cmp qword [rsp + 0x88], rax
ja 0x18003cc0a
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
mov ecx, 1
imul rcx, rcx, 0
mov rdx, qword [rsp + 0xa60]
movzx ecx, byte [rdx + rcx + 0x80]
cmp eax, ecx
jne 0x18003cc0a
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x78], 1
je 0x18003cbfd
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 1]
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xa60]
movzx ecx, byte [rdx + rcx + 0x80]
cmp eax, ecx
jne 0x18003cc0a
mov dword [rsp + 0x428], 1
jmp 0x18003cc15
mov dword [rsp + 0x428], 0
mov eax, dword [rsp + 0x428]
mov dword [rsp + 0x42c], eax
cmp dword [rsp + 0x42c], 0
jne 0x18003cd18
mov rax, qword [rsp + 0x88]
inc rax
mov rcx, qword [rsp + 0xa60]
cmp rax, qword [rcx + 0x28]
jb 0x18003ccb2
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 0x20
test eax, eax
je 0x18003ccb2
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x74], 0
jne 0x18003ccb2
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x78], 2
jne 0x18003ccb2
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0xa60]
movzx eax, byte [rcx + rax + 0x80]
cmp dword [rsp + 0x68], eax
jne 0x18003ccb2
mov dword [rsp + 0xac], 1
mov eax, dword [rsp + 0xac]
mov dword [rsp + 0xd0], eax
jmp 0x18003cd18
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x958], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x954], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x954]
cmp dword [rsp + 0x958], eax
jge 0x18003cd0e
mov eax, dword [rsp + 0x74]
inc eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18003cd18
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
cmp dword [rsp + 0x7c], 0
jle 0x18003cd8a
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x960], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x95c], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x95c]
cmp dword [rsp + 0x960], eax
jge 0x18003cd80
mov eax, dword [rsp + 0x74]
inc eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18003cd8a
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
cmp dword [rsp + 0x7c], 0
je 0x18003cf10
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x74], 0
je 0x18003ce2f
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0x28]
cmp qword [rsp + 0x88], rax
jae 0x18003ce11
mov rax, qword [rsp + 0xa60]
add rax, 0x78
mov ecx, dword [rsp + 0x94]
mov dword [rsp + 0x20], ecx
mov r9, rax
mov rax, qword [rsp + 0xa60]
mov r8, qword [rax + 0x28]
mov rax, qword [rsp + 0xa60]
mov edx, dword [rax + 0x74]
mov rcx, qword [rsp + 0x88]
call fcn.1800b2200
test eax, eax
je 0x18003ce11
mov dword [rsp + 0x430], 1
jmp 0x18003ce1c
mov dword [rsp + 0x430], 0
mov eax, dword [rsp + 0x430]
mov dword [rsp + 0x438], eax
jmp 0x18003cedb
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x78]
mov rcx, qword [rsp + 0xa60]
mov rcx, qword [rcx + 0x28]
sub rcx, rax
mov rax, rcx
cmp qword [rsp + 0x88], rax
ja 0x18003cec2
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
mov ecx, 1
imul rcx, rcx, 0
mov rdx, qword [rsp + 0xa60]
movzx ecx, byte [rdx + rcx + 0x80]
cmp eax, ecx
jne 0x18003cec2
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x78], 1
je 0x18003ceb5
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 1]
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xa60]
movzx ecx, byte [rdx + rcx + 0x80]
cmp eax, ecx
jne 0x18003cec2
mov dword [rsp + 0x434], 1
jmp 0x18003cecd
mov dword [rsp + 0x434], 0
mov eax, dword [rsp + 0x434]
mov dword [rsp + 0x438], eax
cmp dword [rsp + 0x438], 0
je 0x18003cf92
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x78]
mov rcx, qword [rsp + 0x138]
sub rcx, rax
mov rax, rcx
cmp qword [rsp + 0x88], rax
jne 0x18003cf92
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 0x20
test eax, eax
je 0x18003cf2c
mov eax, 0xfffffffe
jmp 0x180046360
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x968], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x964], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x964]
cmp dword [rsp + 0x968], eax
jge 0x18003cf88
mov eax, dword [rsp + 0x74]
inc eax
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18003cf92
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 2
test eax, eax
jne 0x18003d2fe
cmp dword [rsp + 0x7c], 0
jne 0x18003cfd6
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 0x20
test eax, eax
je 0x18003cfd6
mov dword [rsp + 0xd0], 1
jmp 0x18003d2fe
cmp dword [rsp + 0x7c], 0
je 0x18003d169
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x70]
and eax, 0x10
test eax, eax
jne 0x18003d1d4
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x74], 0
je 0x18003d08c
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0x28]
cmp qword [rsp + 0x88], rax
jae 0x18003d06e
mov rax, qword [rsp + 0xa60]
add rax, 0x78
mov ecx, dword [rsp + 0x94]
mov dword [rsp + 0x20], ecx
mov r9, rax
mov rax, qword [rsp + 0xa60]
mov r8, qword [rax + 0x28]
mov rax, qword [rsp + 0xa60]
mov edx, dword [rax + 0x74]
mov rcx, qword [rsp + 0x88]
call fcn.1800b2200
test eax, eax
je 0x18003d06e
mov dword [rsp + 0x440], 1
jmp 0x18003d079
mov dword [rsp + 0x440], 0
mov eax, dword [rsp + 0x440]
mov dword [rsp + 0x448], eax
jmp 0x18003d138
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x78]
mov rcx, qword [rsp + 0xa60]
mov rcx, qword [rcx + 0x28]
sub rcx, rax
mov rax, rcx
cmp qword [rsp + 0x88], rax
ja 0x18003d11f
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
mov ecx, 1
imul rcx, rcx, 0
mov rdx, qword [rsp + 0xa60]
movzx ecx, byte [rdx + rcx + 0x80]
cmp eax, ecx
jne 0x18003d11f
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x78], 1
je 0x18003d112
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 1]
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xa60]
movzx ecx, byte [rdx + rcx + 0x80]
cmp eax, ecx
jne 0x18003d11f
mov dword [rsp + 0x444], 1
jmp 0x18003d12a
mov dword [rsp + 0x444], 0
mov eax, dword [rsp + 0x444]
mov dword [rsp + 0x448], eax
cmp dword [rsp + 0x448], 0
je 0x18003d1d4
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x78]
mov rcx, qword [rsp + 0x138]
sub rcx, rax
mov rax, rcx
cmp qword [rsp + 0x88], rax
jne 0x18003d1d4
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x970], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x96c], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x96c]
cmp dword [rsp + 0x970], eax
jge 0x18003d1c5
mov eax, dword [rsp + 0x74]
inc eax
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18003d1cf
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x18003d2fe
mov rax, qword [rsp + 0x88]
inc rax
mov rcx, qword [rsp + 0xa60]
cmp rax, qword [rcx + 0x28]
jb 0x18003d2fe
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 0x30
test eax, eax
je 0x18003d2fe
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x74], 0
jne 0x18003d2fe
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x78], 2
jne 0x18003d2fe
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0xa60]
movzx eax, byte [rcx + rax + 0x80]
cmp dword [rsp + 0x68], eax
jne 0x18003d2fe
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 0x20
test eax, eax
je 0x18003d2e5
mov dword [rsp + 0x130], 1
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x500], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x974], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x974]
cmp dword [rsp + 0x500], eax
jge 0x18003d2d9
mov eax, dword [rsp + 0x74]
inc eax
neg eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
mov dword [rax + 8], 1
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18003d2e3
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x18003d2fe
mov dword [rsp + 0xac], 1
mov eax, dword [rsp + 0xac]
mov dword [rsp + 0xd0], eax
jmp 0x180046236
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 2
test eax, eax
jne 0x18003d648
cmp dword [rsp + 0x7c], 0
jne 0x18003d342
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 0x20
test eax, eax
je 0x18003d342
mov dword [rsp + 0xd0], 1
jmp 0x18003d643
cmp dword [rsp + 0x7c], 0
je 0x18003d4ae
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x70]
and eax, 0x10
test eax, eax
jne 0x18003d519
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x74], 0
je 0x18003d3f8
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0x28]
cmp qword [rsp + 0x88], rax
jae 0x18003d3da
mov rax, qword [rsp + 0xa60]
add rax, 0x78
mov ecx, dword [rsp + 0x94]
mov dword [rsp + 0x20], ecx
mov r9, rax
mov rax, qword [rsp + 0xa60]
mov r8, qword [rax + 0x28]
mov rax, qword [rsp + 0xa60]
mov edx, dword [rax + 0x74]
mov rcx, qword [rsp + 0x88]
call fcn.1800b2200
test eax, eax
je 0x18003d3da
mov dword [rsp + 0x44c], 1
jmp 0x18003d3e5
mov dword [rsp + 0x44c], 0
mov eax, dword [rsp + 0x44c]
mov dword [rsp + 0x454], eax
jmp 0x18003d4a4
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x78]
mov rcx, qword [rsp + 0xa60]
mov rcx, qword [rcx + 0x28]
sub rcx, rax
mov rax, rcx
cmp qword [rsp + 0x88], rax
ja 0x18003d48b
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
mov ecx, 1
imul rcx, rcx, 0
mov rdx, qword [rsp + 0xa60]
movzx ecx, byte [rdx + rcx + 0x80]
cmp eax, ecx
jne 0x18003d48b
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x78], 1
je 0x18003d47e
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 1]
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xa60]
movzx ecx, byte [rdx + rcx + 0x80]
cmp eax, ecx
jne 0x18003d48b
mov dword [rsp + 0x450], 1
jmp 0x18003d496
mov dword [rsp + 0x450], 0
mov eax, dword [rsp + 0x450]
mov dword [rsp + 0x454], eax
cmp dword [rsp + 0x454], 0
je 0x18003d519
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x508], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x504], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x504]
cmp dword [rsp + 0x508], eax
jge 0x18003d50a
mov eax, dword [rsp + 0x74]
inc eax
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18003d514
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x18003d643
mov rax, qword [rsp + 0x88]
inc rax
mov rcx, qword [rsp + 0xa60]
cmp rax, qword [rcx + 0x28]
jb 0x18003d643
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 0x30
test eax, eax
je 0x18003d643
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x74], 0
jne 0x18003d643
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x78], 2
jne 0x18003d643
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0xa60]
movzx eax, byte [rcx + rax + 0x80]
cmp dword [rsp + 0x68], eax
jne 0x18003d643
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 0x20
test eax, eax
je 0x18003d62a
mov dword [rsp + 0x130], 1
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x510], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x50c], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x50c]
cmp dword [rsp + 0x510], eax
jge 0x18003d61e
mov eax, dword [rsp + 0x74]
inc eax
neg eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
mov dword [rax + 8], 1
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18003d628
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x18003d643
mov dword [rsp + 0xac], 1
mov eax, dword [rsp + 0xac]
mov dword [rsp + 0xd0], eax
jmp 0x18003d7f9
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x74], 0
je 0x18003d6dd
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0x28]
cmp qword [rsp + 0x88], rax
jae 0x18003d6bf
mov rax, qword [rsp + 0xa60]
add rax, 0x78
mov ecx, dword [rsp + 0x94]
mov dword [rsp + 0x20], ecx
mov r9, rax
mov rax, qword [rsp + 0xa60]
mov r8, qword [rax + 0x28]
mov rax, qword [rsp + 0xa60]
mov edx, dword [rax + 0x74]
mov rcx, qword [rsp + 0x88]
call fcn.1800b2200
test eax, eax
je 0x18003d6bf
mov dword [rsp + 0x458], 1
jmp 0x18003d6ca
mov dword [rsp + 0x458], 0
mov eax, dword [rsp + 0x458]
mov dword [rsp + 0x460], eax
jmp 0x18003d789
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x78]
mov rcx, qword [rsp + 0xa60]
mov rcx, qword [rcx + 0x28]
sub rcx, rax
mov rax, rcx
cmp qword [rsp + 0x88], rax
ja 0x18003d770
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
mov ecx, 1
imul rcx, rcx, 0
mov rdx, qword [rsp + 0xa60]
movzx ecx, byte [rdx + rcx + 0x80]
cmp eax, ecx
jne 0x18003d770
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x78], 1
je 0x18003d763
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 1]
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xa60]
movzx ecx, byte [rdx + rcx + 0x80]
cmp eax, ecx
jne 0x18003d770
mov dword [rsp + 0x45c], 1
jmp 0x18003d77b
mov dword [rsp + 0x45c], 0
mov eax, dword [rsp + 0x45c]
mov dword [rsp + 0x460], eax
cmp dword [rsp + 0x460], 0
je 0x18003d7f9
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x518], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x514], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x514]
cmp dword [rsp + 0x518], eax
jge 0x18003d7ef
mov eax, dword [rsp + 0x74]
inc eax
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18003d7f9
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
cmp dword [rsp + 0x7c], 0
jle 0x18003d8b3
cmp dword [rsp + 0x68], 0x100
jae 0x18003d8b3
mov eax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x1a0]
movzx eax, byte [rcx + rax]
mov ecx, dword [rsp + 0x78]
lea rdx, [0x1800c7be8]
movzx ecx, byte [rdx + rcx]
and eax, ecx
mov ecx, dword [rsp + 0x78]
lea rdx, [0x1800c7d78]
movzx ecx, byte [rdx + rcx]
xor eax, ecx
test eax, eax
je 0x18003d8b3
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x520], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x51c], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x51c]
cmp dword [rsp + 0x520], eax
jge 0x18003d8a9
mov eax, dword [rsp + 0x74]
inc eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18003d8b3
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
cmp dword [rsp + 0x7c], 0
jle 0x18003d969
cmp dword [rsp + 0x68], 0x100
jae 0x18003d903
mov eax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x1a0]
movzx eax, byte [rcx + rax]
mov ecx, dword [rsp + 0x78]
lea rdx, [0x1800c7be8]
movzx ecx, byte [rdx + rcx]
and eax, ecx
mov ecx, dword [rsp + 0x78]
lea rdx, [0x1800c7d78]
movzx ecx, byte [rdx + rcx]
xor eax, ecx
test eax, eax
je 0x18003d969
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x528], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x524], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x524]
cmp dword [rsp + 0x528], eax
jge 0x18003d95f
mov eax, dword [rsp + 0x74]
inc eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18003d969
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov rax, qword [rsp + 0x100]
cmp qword [rsp + 0x88], rax
jbe 0x18003dd73
mov rax, qword [rsp + 0x88]
dec rax
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0x30]
cmp qword [rsp + 0xf8], rax
jae 0x18003d9c1
mov rax, qword [rsp + 0xa60]
mov rcx, qword [rsp + 0xf8]
mov qword [rax + 0x30], rcx
cmp dword [rsp + 0x94], 0
je 0x18003d9f7
mov rax, qword [rsp + 0xf8]
movzx eax, byte [rax]
and eax, 0xc0
cmp eax, 0x80
jne 0x18003d9f7
mov rax, qword [rsp + 0xf8]
dec rax
mov qword [rsp + 0xf8], rax
jmp 0x18003d9cb
mov rax, qword [rsp + 0xf8]
movzx eax, byte [rax]
mov dword [rsp + 0x6c], eax
cmp dword [rsp + 0x94], 0
je 0x18003dc50
cmp dword [rsp + 0x6c], 0xc0
jb 0x18003dc50
mov eax, dword [rsp + 0x6c]
and eax, 0x20
test eax, eax
jne 0x18003da5a
mov eax, dword [rsp + 0x6c]
and eax, 0x1f
shl eax, 6
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xf8]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
or eax, ecx
mov dword [rsp + 0x6c], eax
jmp 0x18003dc50
mov eax, dword [rsp + 0x6c]
and eax, 0x10
test eax, eax
jne 0x18003daaf
mov eax, dword [rsp + 0x6c]
and eax, 0xf
shl eax, 0xc
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xf8]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0xf8]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
or eax, ecx
mov dword [rsp + 0x6c], eax
jmp 0x18003dc50
mov eax, dword [rsp + 0x6c]
and eax, 8
test eax, eax
jne 0x18003db21
mov eax, dword [rsp + 0x6c]
and eax, 7
shl eax, 0x12
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xf8]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0xf8]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov ecx, 1
imul rcx, rcx, 3
mov rdx, qword [rsp + 0xf8]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
or eax, ecx
mov dword [rsp + 0x6c], eax
jmp 0x18003dc50
mov eax, dword [rsp + 0x6c]
and eax, 4
test eax, eax
jne 0x18003dbb4
mov eax, dword [rsp + 0x6c]
and eax, 3
shl eax, 0x18
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xf8]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0xf8]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov ecx, 1
imul rcx, rcx, 3
mov rdx, qword [rsp + 0xf8]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov ecx, 1
imul rcx, rcx, 4
mov rdx, qword [rsp + 0xf8]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
or eax, ecx
mov dword [rsp + 0x6c], eax
jmp 0x18003dc50
mov eax, dword [rsp + 0x6c]
and eax, 1
shl eax, 0x1e
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xf8]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0xf8]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
mov ecx, 1
imul rcx, rcx, 3
mov rdx, qword [rsp + 0xf8]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
mov ecx, 1
imul rcx, rcx, 4
mov rdx, qword [rsp + 0xf8]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
mov ecx, 1
imul rcx, rcx, 5
mov rdx, qword [rsp + 0xf8]
movzx ecx, byte [rdx + rcx]
and ecx, 0x3f
or eax, ecx
mov dword [rsp + 0x6c], eax
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x70]
and eax, 0x20000
test eax, eax
je 0x18003dd2a
cmp dword [rsp + 0x6c], 0x5f
jne 0x18003dc7f
mov dword [rsp + 0x1b4], 1
jmp 0x18003dd28
mov eax, dword [rsp + 0x6c]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
cdqe
lea rcx, [0x1800cb070]
movzx eax, word [rcx + rax*2]
imul eax, eax, 0x80
mov dword [rsp + 0x52c], eax
mov eax, dword [rsp + 0x6c]
cdq
and edx, 0x7f
add eax, edx
and eax, 0x7f
sub eax, edx
mov ecx, dword [rsp + 0x52c]
add ecx, eax
mov eax, ecx
cdqe
lea rcx, [0x1800d23f0]
movzx eax, word [rcx + rax*2]
imul rax, rax, 0xc
lea rcx, [0x1800cf470]
movzx eax, byte [rcx + rax + 1]
lea rcx, [0x1800ca210]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0x464], eax
cmp dword [rsp + 0x464], 1
je 0x18003dd0f
cmp dword [rsp + 0x464], 3
je 0x18003dd0f
mov dword [rsp + 0x468], 0
jmp 0x18003dd1a
mov dword [rsp + 0x468], 1
mov eax, dword [rsp + 0x468]
mov dword [rsp + 0x1b4], eax
jmp 0x18003dd71
cmp dword [rsp + 0x6c], 0x100
jae 0x18003dd58
mov eax, dword [rsp + 0x6c]
mov rcx, qword [rsp + 0x1a0]
movzx eax, byte [rcx + rax]
and eax, 0x10
test eax, eax
je 0x18003dd58
mov dword [rsp + 0x46c], 1
jmp 0x18003dd63
mov dword [rsp + 0x46c], 0
mov eax, dword [rsp + 0x46c]
mov dword [rsp + 0x1b4], eax
jmp 0x18003dd7e
mov dword [rsp + 0x1b4], 0
cmp dword [rsp + 0x7c], 0
jle 0x18003df35
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0x38]
cmp qword [rsp + 0x88], rax
jb 0x18003de12
mov rax, qword [rsp + 0x88]
inc rax
mov qword [rsp + 0x490], rax
cmp dword [rsp + 0x94], 0
je 0x18003ddfe
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0x28]
cmp qword [rsp + 0x490], rax
jae 0x18003ddfe
mov rax, qword [rsp + 0x490]
movzx eax, byte [rax]
and eax, 0xc0
cmp eax, 0x80
jne 0x18003ddfe
mov rax, qword [rsp + 0x490]
inc rax
mov qword [rsp + 0x490], rax
jmp 0x18003ddbc
mov rax, qword [rsp + 0xa60]
mov rcx, qword [rsp + 0x490]
mov qword [rax + 0x38], rcx
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x70]
and eax, 0x20000
test eax, eax
je 0x18003deec
cmp dword [rsp + 0x68], 0x5f
jne 0x18003de41
mov dword [rsp + 0x1b0], 1
jmp 0x18003deea
mov eax, dword [rsp + 0x68]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
cdqe
lea rcx, [0x1800cb070]
movzx eax, word [rcx + rax*2]
imul eax, eax, 0x80
mov dword [rsp + 0x530], eax
mov eax, dword [rsp + 0x68]
cdq
and edx, 0x7f
add eax, edx
and eax, 0x7f
sub eax, edx
mov ecx, dword [rsp + 0x530]
add ecx, eax
mov eax, ecx
cdqe
lea rcx, [0x1800d23f0]
movzx eax, word [rcx + rax*2]
imul rax, rax, 0xc
lea rcx, [0x1800cf470]
movzx eax, byte [rcx + rax + 1]
lea rcx, [0x1800ca210]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0x470], eax
cmp dword [rsp + 0x470], 1
je 0x18003ded1
cmp dword [rsp + 0x470], 3
je 0x18003ded1
mov dword [rsp + 0x474], 0
jmp 0x18003dedc
mov dword [rsp + 0x474], 1
mov eax, dword [rsp + 0x474]
mov dword [rsp + 0x1b0], eax
jmp 0x18003df33
cmp dword [rsp + 0x68], 0x100
jae 0x18003df1a
mov eax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x1a0]
movzx eax, byte [rcx + rax]
and eax, 0x10
test eax, eax
je 0x18003df1a
mov dword [rsp + 0x478], 1
jmp 0x18003df25
mov dword [rsp + 0x478], 0
mov eax, dword [rsp + 0x478]
mov dword [rsp + 0x1b0], eax
jmp 0x18003df40
mov dword [rsp + 0x1b0], 0
mov eax, dword [rsp + 0x1b0]
cmp dword [rsp + 0x1b4], eax
jne 0x18003df5d
mov dword [rsp + 0x264], 1
jmp 0x18003df68
mov dword [rsp + 0x264], 0
cmp dword [rsp + 0x78], 4
jne 0x18003df7c
mov dword [rsp + 0x260], 1
jmp 0x18003df87
mov dword [rsp + 0x260], 0
mov eax, dword [rsp + 0x260]
cmp dword [rsp + 0x264], eax
jne 0x18003dffd
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x538], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x534], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x534]
cmp dword [rsp + 0x538], eax
jge 0x18003dff3
mov eax, dword [rsp + 0x74]
inc eax
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18003dffd
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
cmp dword [rsp + 0x7c], 0
jle 0x18003e60c
mov eax, dword [rsp + 0x68]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
cdqe
lea rcx, [0x1800cb070]
movzx eax, word [rcx + rax*2]
imul eax, eax, 0x80
mov dword [rsp + 0x53c], eax
mov eax, dword [rsp + 0x68]
cdq
and edx, 0x7f
add eax, edx
and eax, 0x7f
sub eax, edx
mov ecx, dword [rsp + 0x53c]
add ecx, eax
mov eax, ecx
cdqe
lea rcx, [0x1800d23f0]
movzx eax, word [rcx + rax*2]
imul rax, rax, 0xc
lea rcx, [0x1800cf470]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x178], rax
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x268], eax
cmp dword [rsp + 0x268], 0xa
ja case.default.0x18003e0b7
movsxd rax, dword [rsp + 0x268]
lea rcx, [0x180000000]
mov eax, dword [rcx + rax*4 + 0x46878]
add rax, rcx
jmp rax
mov dword [rsp + 0xd4], 1
jmp 0x18003e576
mov rax, qword [rsp + 0x178]
movzx eax, byte [rax + 1]
cmp eax, 9
je 0x18003e109
mov rax, qword [rsp + 0x178]
movzx eax, byte [rax + 1]
cmp eax, 5
je 0x18003e109
mov rax, qword [rsp + 0x178]
movzx eax, byte [rax + 1]
cmp eax, 8
je 0x18003e109
mov dword [rsp + 0x26c], 0
jmp 0x18003e114
mov dword [rsp + 0x26c], 1
mov eax, dword [rsp + 0x26c]
mov dword [rsp + 0xd4], eax
jmp 0x18003e576
mov rax, qword [rsp + 0x178]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
mov edx, 1
imul rdx, rdx, 2
mov rdi, qword [rsp + 0x80]
movzx edx, byte [rdi + rdx]
cmp dword [rcx + rax*4], edx
jne 0x18003e161
mov dword [rsp + 0x270], 1
jmp 0x18003e16c
mov dword [rsp + 0x270], 0
mov eax, dword [rsp + 0x270]
mov dword [rsp + 0xd4], eax
jmp 0x18003e576
mov rax, qword [rsp + 0x178]
movzx eax, byte [rax + 1]
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
cmp eax, ecx
jne 0x18003e1b1
mov dword [rsp + 0x274], 1
jmp 0x18003e1bc
mov dword [rsp + 0x274], 0
mov eax, dword [rsp + 0x274]
mov dword [rsp + 0xd4], eax
jmp 0x18003e576
mov rax, qword [rsp + 0x178]
movzx eax, byte [rax]
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
cmp eax, ecx
jne 0x18003e200
mov dword [rsp + 0x278], 1
jmp 0x18003e20b
mov dword [rsp + 0x278], 0
mov eax, dword [rsp + 0x278]
mov dword [rsp + 0xd4], eax
jmp 0x18003e576
mov rax, qword [rsp + 0x178]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
cmp dword [rcx + rax*4], 1
je 0x18003e25d
mov rax, qword [rsp + 0x178]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
cmp dword [rcx + rax*4], 3
je 0x18003e25d
mov dword [rsp + 0x27c], 0
jmp 0x18003e268
mov dword [rsp + 0x27c], 1
mov eax, dword [rsp + 0x27c]
mov dword [rsp + 0xd4], eax
jmp 0x18003e576
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x9c], eax
cmp dword [rsp + 0x9c], 0x2000
ja 0x18003e345
cmp dword [rsp + 0x9c], 0x2000
je case.0x18003e39c.8193
cmp dword [rsp + 0x9c], 0x20
ja 0x18003e30b
cmp dword [rsp + 0x9c], 0x20
je case.0x18003e39c.8193
cmp dword [rsp + 0x9c], 9
je case.0x18003e39c.8193
cmp dword [rsp + 0x9c], 0xa
je case.0x18003e39c.8193
cmp dword [rsp + 0x9c], 0xb
je case.0x18003e39c.8193
cmp dword [rsp + 0x9c], 0xc
je case.0x18003e39c.8193
cmp dword [rsp + 0x9c], 0xd
je case.0x18003e39c.8193
jmp case.0x18003e39c.8207
cmp dword [rsp + 0x9c], 0x85
je case.0x18003e39c.8193
cmp dword [rsp + 0x9c], 0xa0
je case.0x18003e39c.8193
cmp dword [rsp + 0x9c], 0x1680
je case.0x18003e39c.8193
cmp dword [rsp + 0x9c], 0x180e
je case.0x18003e39c.8193
jmp case.0x18003e39c.8207
cmp dword [rsp + 0x9c], 0x3000
ja 0x18003e39e
cmp dword [rsp + 0x9c], 0x3000
je case.0x18003e39c.8193
mov eax, dword [rsp + 0x9c]
sub eax, 0x2001
mov dword [rsp + 0x9c], eax
cmp dword [rsp + 0x9c], 0x5e
ja case.0x18003e39c.8207
mov eax, dword [rsp + 0x9c]
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x468e0]
mov eax, dword [rcx + rax*4 + 0x468a4]
add rax, rcx
jmp rax
jmp case.0x18003e39c.8207
mov dword [rsp + 0xd4], 1
jmp 0x18003e3ec
mov rax, qword [rsp + 0x178]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
cmp dword [rcx + rax*4], 6
jne 0x18003e3d3
mov dword [rsp + 0x280], 1
jmp 0x18003e3de
mov dword [rsp + 0x280], 0
mov eax, dword [rsp + 0x280]
mov dword [rsp + 0xd4], eax
jmp 0x18003e576
mov rax, qword [rsp + 0x178]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
cmp dword [rcx + rax*4], 1
je 0x18003e437
mov rax, qword [rsp + 0x178]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
cmp dword [rcx + rax*4], 3
je 0x18003e437
cmp dword [rsp + 0x68], 0x5f
je 0x18003e437
mov dword [rsp + 0x284], 0
jmp 0x18003e442
mov dword [rsp + 0x284], 1
mov eax, dword [rsp + 0x284]
mov dword [rsp + 0xd4], eax
jmp 0x18003e576
mov eax, 1
imul rax, rax, 2
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
lea rcx, [0x1800d2230]
lea rax, [rcx + rax*4]
mov qword [rsp + 0x4b0], rax
mov rax, qword [rsp + 0x4b0]
mov eax, dword [rax]
cmp dword [rsp + 0x68], eax
jae 0x18003e49a
mov dword [rsp + 0xd4], 0
jmp 0x18003e4e9
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x544], eax
mov rax, qword [rsp + 0x4b0]
mov eax, dword [rax]
mov dword [rsp + 0x540], eax
mov rax, qword [rsp + 0x4b0]
add rax, 4
mov qword [rsp + 0x4b0], rax
mov eax, dword [rsp + 0x540]
cmp dword [rsp + 0x544], eax
jne 0x18003e4e7
mov dword [rsp + 0xd4], 1
jmp 0x18003e4e9
jmp 0x18003e47d
jmp 0x18003e576
cmp dword [rsp + 0x68], 0x24
je 0x18003e52e
cmp dword [rsp + 0x68], 0x40
je 0x18003e52e
cmp dword [rsp + 0x68], 0x60
je 0x18003e52e
cmp dword [rsp + 0x68], 0xa0
jb 0x18003e517
cmp dword [rsp + 0x68], 0xd7ff
jbe 0x18003e52e
cmp dword [rsp + 0x68], 0xe000
jae 0x18003e52e
mov dword [rsp + 0x288], 0
jmp 0x18003e539
mov dword [rsp + 0x288], 1
mov eax, dword [rsp + 0x288]
mov dword [rsp + 0xd4], eax
jmp 0x18003e576
cmp dword [rsp + 0x78], 0x10
je 0x18003e55d
mov dword [rsp + 0x28c], 1
jmp 0x18003e568
mov dword [rsp + 0x28c], 0
mov eax, dword [rsp + 0x28c]
mov dword [rsp + 0xd4], eax
cmp dword [rsp + 0x78], 0x10
jne 0x18003e58a
mov dword [rsp + 0x290], 1
jmp 0x18003e595
mov dword [rsp + 0x290], 0
mov eax, dword [rsp + 0x290]
cmp dword [rsp + 0xd4], eax
jne 0x18003e60c
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x54c], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x548], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x548]
cmp dword [rsp + 0x54c], eax
jge 0x18003e602
mov eax, dword [rsp + 0x74]
add eax, 3
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18003e60c
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 4]
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x70], 0
jle 0x18003e68e
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x554], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x550], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x550]
cmp dword [rsp + 0x554], eax
jge 0x18003e684
mov eax, dword [rsp + 0x74]
add eax, 2
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18003e68e
mov eax, 0xffffffd5
jmp 0x180046360
cmp dword [rsp + 0x7c], 0
jle 0x18003e981
cmp dword [rsp + 0x6c], 0xc
jne 0x18003e728
mov rax, qword [rsp + 0x88]
inc rax
mov rcx, qword [rsp + 0xa60]
cmp rax, qword [rcx + 0x28]
jb 0x18003e728
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 0x20
test eax, eax
je 0x18003e728
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x74], 0
jne 0x18003e728
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x78], 2
jne 0x18003e728
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0xa60]
movzx eax, byte [rcx + rax + 0x80]
cmp dword [rsp + 0x68], eax
jne 0x18003e728
mov dword [rsp + 0xac], 1
mov eax, dword [rsp + 0xac]
mov dword [rsp + 0xd0], eax
jmp 0x18003e981
cmp dword [rsp + 0x68], 0x100
jb 0x18003e74b
cmp dword [rsp + 0x6c], 7
je 0x18003e74b
cmp dword [rsp + 0x6c], 9
je 0x18003e74b
cmp dword [rsp + 0x6c], 0xb
jne 0x18003e8ed
cmp dword [rsp + 0x68], 0x100
jae 0x18003e981
cmp dword [rsp + 0x6c], 0xc
jne 0x18003e8b3
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x74], 0
je 0x18003e7f9
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0x28]
cmp qword [rsp + 0x88], rax
jae 0x18003e7db
mov rax, qword [rsp + 0xa60]
add rax, 0x78
mov ecx, dword [rsp + 0x94]
mov dword [rsp + 0x20], ecx
mov r9, rax
mov rax, qword [rsp + 0xa60]
mov r8, qword [rax + 0x28]
mov rax, qword [rsp + 0xa60]
mov edx, dword [rax + 0x74]
mov rcx, qword [rsp + 0x88]
call fcn.1800b2200
test eax, eax
je 0x18003e7db
mov dword [rsp + 0x294], 1
jmp 0x18003e7e6
mov dword [rsp + 0x294], 0
mov eax, dword [rsp + 0x294]
mov dword [rsp + 0x29c], eax
jmp 0x18003e8a5
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x78]
mov rcx, qword [rsp + 0xa60]
mov rcx, qword [rcx + 0x28]
sub rcx, rax
mov rax, rcx
cmp qword [rsp + 0x88], rax
ja 0x18003e88c
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
mov ecx, 1
imul rcx, rcx, 0
mov rdx, qword [rsp + 0xa60]
movzx ecx, byte [rdx + rcx + 0x80]
cmp eax, ecx
jne 0x18003e88c
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x78], 1
je 0x18003e87f
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 1]
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xa60]
movzx ecx, byte [rdx + rcx + 0x80]
cmp eax, ecx
jne 0x18003e88c
mov dword [rsp + 0x298], 1
jmp 0x18003e897
mov dword [rsp + 0x298], 0
mov eax, dword [rsp + 0x298]
mov dword [rsp + 0x29c], eax
cmp dword [rsp + 0x29c], 0
jne 0x18003e981
mov eax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x1a0]
movzx eax, byte [rcx + rax]
mov ecx, dword [rsp + 0x6c]
lea rdx, [0x1800c7be8]
movzx ecx, byte [rdx + rcx]
and eax, ecx
mov ecx, dword [rsp + 0x6c]
lea rdx, [0x1800c7d78]
movzx ecx, byte [rdx + rcx]
xor eax, ecx
test eax, eax
je 0x18003e981
cmp dword [rsp + 0x70], 0
jle 0x18003e913
cmp dword [rsp + 0x78], 0x5f
jne 0x18003e913
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x55c], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x558], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x558]
cmp dword [rsp + 0x55c], eax
jge 0x18003e977
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x70]
mov dword [rax + 4], ecx
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18003e981
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x564], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x560], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x560]
cmp dword [rsp + 0x564], eax
jge 0x18003e9e3
mov eax, dword [rsp + 0x74]
add eax, 2
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18003e9ed
mov eax, 0xffffffd5
jmp 0x180046360
cmp dword [rsp + 0x7c], 0
jle 0x18003ecd2
cmp dword [rsp + 0x6c], 0xc
jne 0x18003ea87
mov rax, qword [rsp + 0x88]
inc rax
mov rcx, qword [rsp + 0xa60]
cmp rax, qword [rcx + 0x28]
jb 0x18003ea87
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 0x20
test eax, eax
je 0x18003ea87
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x74], 0
jne 0x18003ea87
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x78], 2
jne 0x18003ea87
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0xa60]
movzx eax, byte [rcx + rax + 0x80]
cmp dword [rsp + 0x68], eax
jne 0x18003ea87
mov dword [rsp + 0xac], 1
mov eax, dword [rsp + 0xac]
mov dword [rsp + 0xd0], eax
jmp 0x18003ecd2
cmp dword [rsp + 0x68], 0x100
jb 0x18003eaaa
cmp dword [rsp + 0x6c], 7
je 0x18003eaaa
cmp dword [rsp + 0x6c], 9
je 0x18003eaaa
cmp dword [rsp + 0x6c], 0xb
jne 0x18003ec4c
cmp dword [rsp + 0x68], 0x100
jae 0x18003ecd2
cmp dword [rsp + 0x6c], 0xc
jne 0x18003ec12
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x74], 0
je 0x18003eb58
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0x28]
cmp qword [rsp + 0x88], rax
jae 0x18003eb3a
mov rax, qword [rsp + 0xa60]
add rax, 0x78
mov ecx, dword [rsp + 0x94]
mov dword [rsp + 0x20], ecx
mov r9, rax
mov rax, qword [rsp + 0xa60]
mov r8, qword [rax + 0x28]
mov rax, qword [rsp + 0xa60]
mov edx, dword [rax + 0x74]
mov rcx, qword [rsp + 0x88]
call fcn.1800b2200
test eax, eax
je 0x18003eb3a
mov dword [rsp + 0x2a0], 1
jmp 0x18003eb45
mov dword [rsp + 0x2a0], 0
mov eax, dword [rsp + 0x2a0]
mov dword [rsp + 0x2a8], eax
jmp 0x18003ec04
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x78]
mov rcx, qword [rsp + 0xa60]
mov rcx, qword [rcx + 0x28]
sub rcx, rax
mov rax, rcx
cmp qword [rsp + 0x88], rax
ja 0x18003ebeb
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
mov ecx, 1
imul rcx, rcx, 0
mov rdx, qword [rsp + 0xa60]
movzx ecx, byte [rdx + rcx + 0x80]
cmp eax, ecx
jne 0x18003ebeb
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x78], 1
je 0x18003ebde
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 1]
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xa60]
movzx ecx, byte [rdx + rcx + 0x80]
cmp eax, ecx
jne 0x18003ebeb
mov dword [rsp + 0x2a4], 1
jmp 0x18003ebf6
mov dword [rsp + 0x2a4], 0
mov eax, dword [rsp + 0x2a4]
mov dword [rsp + 0x2a8], eax
cmp dword [rsp + 0x2a8], 0
jne 0x18003ecd2
mov eax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x1a0]
movzx eax, byte [rcx + rax]
mov ecx, dword [rsp + 0x6c]
lea rdx, [0x1800c7be8]
movzx ecx, byte [rdx + rcx]
and eax, ecx
mov ecx, dword [rsp + 0x6c]
lea rdx, [0x1800c7d78]
movzx ecx, byte [rdx + rcx]
xor eax, ecx
test eax, eax
je 0x18003ecd2
cmp dword [rsp + 0x78], 0x60
jne 0x18003ec6b
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x56c], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x568], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x568]
cmp dword [rsp + 0x56c], eax
jge 0x18003ecc8
mov eax, dword [rsp + 0x74]
add eax, 2
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18003ecd2
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x574], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x570], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x570]
cmp dword [rsp + 0x574], eax
jge 0x18003ed34
mov eax, dword [rsp + 0x74]
add eax, 2
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18003ed3e
mov eax, 0xffffffd5
jmp 0x180046360
cmp dword [rsp + 0x7c], 0
jle 0x18003f020
cmp dword [rsp + 0x6c], 0xc
jne 0x18003edd8
mov rax, qword [rsp + 0x88]
inc rax
mov rcx, qword [rsp + 0xa60]
cmp rax, qword [rcx + 0x28]
jb 0x18003edd8
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 0x20
test eax, eax
je 0x18003edd8
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x74], 0
jne 0x18003edd8
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x78], 2
jne 0x18003edd8
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0xa60]
movzx eax, byte [rcx + rax + 0x80]
cmp dword [rsp + 0x68], eax
jne 0x18003edd8
mov dword [rsp + 0xac], 1
mov eax, dword [rsp + 0xac]
mov dword [rsp + 0xd0], eax
jmp 0x18003f020
cmp dword [rsp + 0x68], 0x100
jb 0x18003edfb
cmp dword [rsp + 0x6c], 7
je 0x18003edfb
cmp dword [rsp + 0x6c], 9
je 0x18003edfb
cmp dword [rsp + 0x6c], 0xb
jne 0x18003ef9d
cmp dword [rsp + 0x68], 0x100
jae 0x18003f020
cmp dword [rsp + 0x6c], 0xc
jne 0x18003ef63
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x74], 0
je 0x18003eea9
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0x28]
cmp qword [rsp + 0x88], rax
jae 0x18003ee8b
mov rax, qword [rsp + 0xa60]
add rax, 0x78
mov ecx, dword [rsp + 0x94]
mov dword [rsp + 0x20], ecx
mov r9, rax
mov rax, qword [rsp + 0xa60]
mov r8, qword [rax + 0x28]
mov rax, qword [rsp + 0xa60]
mov edx, dword [rax + 0x74]
mov rcx, qword [rsp + 0x88]
call fcn.1800b2200
test eax, eax
je 0x18003ee8b
mov dword [rsp + 0x2ac], 1
jmp 0x18003ee96
mov dword [rsp + 0x2ac], 0
mov eax, dword [rsp + 0x2ac]
mov dword [rsp + 0x2b4], eax
jmp 0x18003ef55
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x78]
mov rcx, qword [rsp + 0xa60]
mov rcx, qword [rcx + 0x28]
sub rcx, rax
mov rax, rcx
cmp qword [rsp + 0x88], rax
ja 0x18003ef3c
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
mov ecx, 1
imul rcx, rcx, 0
mov rdx, qword [rsp + 0xa60]
movzx ecx, byte [rdx + rcx + 0x80]
cmp eax, ecx
jne 0x18003ef3c
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x78], 1
je 0x18003ef2f
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 1]
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xa60]
movzx ecx, byte [rdx + rcx + 0x80]
cmp eax, ecx
jne 0x18003ef3c
mov dword [rsp + 0x2b0], 1
jmp 0x18003ef47
mov dword [rsp + 0x2b0], 0
mov eax, dword [rsp + 0x2b0]
mov dword [rsp + 0x2b4], eax
cmp dword [rsp + 0x2b4], 0
jne 0x18003f020
mov eax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x1a0]
movzx eax, byte [rcx + rax]
mov ecx, dword [rsp + 0x6c]
lea rdx, [0x1800c7be8]
movzx ecx, byte [rdx + rcx]
and eax, ecx
mov ecx, dword [rsp + 0x6c]
lea rdx, [0x1800c7d78]
movzx ecx, byte [rdx + rcx]
xor eax, ecx
test eax, eax
je 0x18003f020
cmp dword [rsp + 0x78], 0x5e
jne 0x18003efbc
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x57c], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x578], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x578]
cmp dword [rsp + 0x57c], eax
jge 0x18003f016
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18003f020
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 4]
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x7c], 0
jle 0x18003f39f
cmp dword [rsp + 0x6c], 0xc
jne 0x18003f0ce
mov rax, qword [rsp + 0x88]
inc rax
mov rcx, qword [rsp + 0xa60]
cmp rax, qword [rcx + 0x28]
jb 0x18003f0ce
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 0x20
test eax, eax
je 0x18003f0ce
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x74], 0
jne 0x18003f0ce
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x78], 2
jne 0x18003f0ce
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0xa60]
movzx eax, byte [rcx + rax + 0x80]
cmp dword [rsp + 0x68], eax
jne 0x18003f0ce
mov dword [rsp + 0xac], 1
mov eax, dword [rsp + 0xac]
mov dword [rsp + 0xd0], eax
jmp 0x18003f39f
cmp dword [rsp + 0x68], 0x100
jb 0x18003f0f1
cmp dword [rsp + 0x6c], 7
je 0x18003f0f1
cmp dword [rsp + 0x6c], 9
je 0x18003f0f1
cmp dword [rsp + 0x6c], 0xb
jne 0x18003f293
cmp dword [rsp + 0x68], 0x100
jae 0x18003f39f
cmp dword [rsp + 0x6c], 0xc
jne 0x18003f259
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x74], 0
je 0x18003f19f
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0x28]
cmp qword [rsp + 0x88], rax
jae 0x18003f181
mov rax, qword [rsp + 0xa60]
add rax, 0x78
mov ecx, dword [rsp + 0x94]
mov dword [rsp + 0x20], ecx
mov r9, rax
mov rax, qword [rsp + 0xa60]
mov r8, qword [rax + 0x28]
mov rax, qword [rsp + 0xa60]
mov edx, dword [rax + 0x74]
mov rcx, qword [rsp + 0x88]
call fcn.1800b2200
test eax, eax
je 0x18003f181
mov dword [rsp + 0x2b8], 1
jmp 0x18003f18c
mov dword [rsp + 0x2b8], 0
mov eax, dword [rsp + 0x2b8]
mov dword [rsp + 0x2c0], eax
jmp 0x18003f24b
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x78]
mov rcx, qword [rsp + 0xa60]
mov rcx, qword [rcx + 0x28]
sub rcx, rax
mov rax, rcx
cmp qword [rsp + 0x88], rax
ja 0x18003f232
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
mov ecx, 1
imul rcx, rcx, 0
mov rdx, qword [rsp + 0xa60]
movzx ecx, byte [rdx + rcx + 0x80]
cmp eax, ecx
jne 0x18003f232
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x78], 1
je 0x18003f225
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 1]
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xa60]
movzx ecx, byte [rdx + rcx + 0x80]
cmp eax, ecx
jne 0x18003f232
mov dword [rsp + 0x2bc], 1
jmp 0x18003f23d
mov dword [rsp + 0x2bc], 0
mov eax, dword [rsp + 0x2bc]
mov dword [rsp + 0x2c0], eax
cmp dword [rsp + 0x2c0], 0
jne 0x18003f39f
mov eax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x1a0]
movzx eax, byte [rcx + rax]
mov ecx, dword [rsp + 0x6c]
lea rdx, [0x1800c7be8]
movzx ecx, byte [rdx + rcx]
and eax, ecx
mov ecx, dword [rsp + 0x6c]
lea rdx, [0x1800c7d78]
movzx ecx, byte [rdx + rcx]
xor eax, ecx
test eax, eax
je 0x18003f39f
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
or eax, ecx
cmp dword [rsp + 0x70], eax
jl 0x18003f33b
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x584], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x580], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x580]
cmp dword [rsp + 0x584], eax
jge 0x18003f32f
mov eax, dword [rsp + 0x74]
add eax, 4
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18003f339
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x18003f39f
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x58c], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x588], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x588]
cmp dword [rsp + 0x58c], eax
jge 0x18003f395
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x70]
mov dword [rax + 4], ecx
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18003f39f
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x594], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x590], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x590]
cmp dword [rsp + 0x594], eax
jge 0x18003f401
mov eax, dword [rsp + 0x74]
add eax, 4
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18003f40b
mov eax, 0xffffffd5
jmp 0x180046360
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 4]
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x7c], 0
jle 0x18003f7a4
cmp dword [rsp + 0x6c], 0xc
jne 0x18003f4b4
mov rax, qword [rsp + 0x88]
inc rax
mov rcx, qword [rsp + 0xa60]
cmp rax, qword [rcx + 0x28]
jb 0x18003f4b4
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 0x20
test eax, eax
je 0x18003f4b4
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x74], 0
jne 0x18003f4b4
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x78], 2
jne 0x18003f4b4
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0xa60]
movzx eax, byte [rcx + rax + 0x80]
cmp dword [rsp + 0x68], eax
jne 0x18003f4b4
mov dword [rsp + 0xac], 1
mov eax, dword [rsp + 0xac]
mov dword [rsp + 0xd0], eax
jmp 0x18003f7a4
cmp dword [rsp + 0x68], 0x100
jb 0x18003f4d7
cmp dword [rsp + 0x6c], 7
je 0x18003f4d7
cmp dword [rsp + 0x6c], 9
je 0x18003f4d7
cmp dword [rsp + 0x6c], 0xb
jne 0x18003f679
cmp dword [rsp + 0x68], 0x100
jae 0x18003f7a4
cmp dword [rsp + 0x6c], 0xc
jne 0x18003f63f
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x74], 0
je 0x18003f585
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0x28]
cmp qword [rsp + 0x88], rax
jae 0x18003f567
mov rax, qword [rsp + 0xa60]
add rax, 0x78
mov ecx, dword [rsp + 0x94]
mov dword [rsp + 0x20], ecx
mov r9, rax
mov rax, qword [rsp + 0xa60]
mov r8, qword [rax + 0x28]
mov rax, qword [rsp + 0xa60]
mov edx, dword [rax + 0x74]
mov rcx, qword [rsp + 0x88]
call fcn.1800b2200
test eax, eax
je 0x18003f567
mov dword [rsp + 0x2c4], 1
jmp 0x18003f572
mov dword [rsp + 0x2c4], 0
mov eax, dword [rsp + 0x2c4]
mov dword [rsp + 0x2cc], eax
jmp 0x18003f631
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x78]
mov rcx, qword [rsp + 0xa60]
mov rcx, qword [rcx + 0x28]
sub rcx, rax
mov rax, rcx
cmp qword [rsp + 0x88], rax
ja 0x18003f618
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
mov ecx, 1
imul rcx, rcx, 0
mov rdx, qword [rsp + 0xa60]
movzx ecx, byte [rdx + rcx + 0x80]
cmp eax, ecx
jne 0x18003f618
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x78], 1
je 0x18003f60b
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 1]
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xa60]
movzx ecx, byte [rdx + rcx + 0x80]
cmp eax, ecx
jne 0x18003f618
mov dword [rsp + 0x2c8], 1
jmp 0x18003f623
mov dword [rsp + 0x2c8], 0
mov eax, dword [rsp + 0x2c8]
mov dword [rsp + 0x2cc], eax
cmp dword [rsp + 0x2cc], 0
jne 0x18003f7a4
mov eax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x1a0]
movzx eax, byte [rcx + rax]
mov ecx, dword [rsp + 0x6c]
lea rdx, [0x1800c7be8]
movzx ecx, byte [rdx + rcx]
and eax, ecx
mov ecx, dword [rsp + 0x6c]
lea rdx, [0x1800c7d78]
movzx ecx, byte [rdx + rcx]
xor eax, ecx
test eax, eax
je 0x18003f7a4
cmp dword [rsp + 0x78], 0x61
jne 0x18003f698
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
or eax, ecx
cmp dword [rsp + 0x70], eax
jl 0x18003f740
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x59c], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x598], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x598]
cmp dword [rsp + 0x59c], eax
jge 0x18003f734
mov eax, dword [rsp + 0x74]
add eax, 4
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18003f73e
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x18003f7a4
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x5a4], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x5a0], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x5a0]
cmp dword [rsp + 0x5a4], eax
jge 0x18003f79a
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x70]
mov dword [rax + 4], ecx
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18003f7a4
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 4]
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x70], 0
jle 0x18003f826
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x5ac], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x5a8], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x5a8]
cmp dword [rsp + 0x5ac], eax
jge 0x18003f81c
mov eax, dword [rsp + 0x74]
add eax, 4
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18003f826
mov eax, 0xffffffd5
jmp 0x180046360
cmp dword [rsp + 0x7c], 0
jle 0x18003fe64
mov eax, dword [rsp + 0x68]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
cdqe
lea rcx, [0x1800cb070]
movzx eax, word [rcx + rax*2]
imul eax, eax, 0x80
mov dword [rsp + 0x5b0], eax
mov eax, dword [rsp + 0x68]
cdq
and edx, 0x7f
add eax, edx
and eax, 0x7f
sub eax, edx
mov ecx, dword [rsp + 0x5b0]
add ecx, eax
mov eax, ecx
cdqe
lea rcx, [0x1800d23f0]
movzx eax, word [rcx + rax*2]
imul rax, rax, 0xc
lea rcx, [0x1800cf470]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x180], rax
mov eax, 1
imul rax, rax, 2
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x2d0], eax
cmp dword [rsp + 0x2d0], 0xa
ja case.default.0x18003f8db
movsxd rax, dword [rsp + 0x2d0]
lea rcx, [0x180000000]
mov eax, dword [rcx + rax*4 + 0x46940]
add rax, rcx
jmp rax
mov dword [rsp + 0xd8], 1
jmp 0x18003fd9a
mov rax, qword [rsp + 0x180]
movzx eax, byte [rax + 1]
cmp eax, 9
je 0x18003f92d
mov rax, qword [rsp + 0x180]
movzx eax, byte [rax + 1]
cmp eax, 5
je 0x18003f92d
mov rax, qword [rsp + 0x180]
movzx eax, byte [rax + 1]
cmp eax, 8
je 0x18003f92d
mov dword [rsp + 0x2d4], 0
jmp 0x18003f938
mov dword [rsp + 0x2d4], 1
mov eax, dword [rsp + 0x2d4]
mov dword [rsp + 0xd8], eax
jmp 0x18003fd9a
mov rax, qword [rsp + 0x180]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
mov edx, 1
imul rdx, rdx, 3
mov rdi, qword [rsp + 0x80]
movzx edx, byte [rdi + rdx]
cmp dword [rcx + rax*4], edx
jne 0x18003f985
mov dword [rsp + 0x2d8], 1
jmp 0x18003f990
mov dword [rsp + 0x2d8], 0
mov eax, dword [rsp + 0x2d8]
mov dword [rsp + 0xd8], eax
jmp 0x18003fd9a
mov rax, qword [rsp + 0x180]
movzx eax, byte [rax + 1]
mov ecx, 1
imul rcx, rcx, 3
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
cmp eax, ecx
jne 0x18003f9d5
mov dword [rsp + 0x2dc], 1
jmp 0x18003f9e0
mov dword [rsp + 0x2dc], 0
mov eax, dword [rsp + 0x2dc]
mov dword [rsp + 0xd8], eax
jmp 0x18003fd9a
mov rax, qword [rsp + 0x180]
movzx eax, byte [rax]
mov ecx, 1
imul rcx, rcx, 3
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
cmp eax, ecx
jne 0x18003fa24
mov dword [rsp + 0x2e0], 1
jmp 0x18003fa2f
mov dword [rsp + 0x2e0], 0
mov eax, dword [rsp + 0x2e0]
mov dword [rsp + 0xd8], eax
jmp 0x18003fd9a
mov rax, qword [rsp + 0x180]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
cmp dword [rcx + rax*4], 1
je 0x18003fa81
mov rax, qword [rsp + 0x180]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
cmp dword [rcx + rax*4], 3
je 0x18003fa81
mov dword [rsp + 0x2e4], 0
jmp 0x18003fa8c
mov dword [rsp + 0x2e4], 1
mov eax, dword [rsp + 0x2e4]
mov dword [rsp + 0xd8], eax
jmp 0x18003fd9a
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0xa0], eax
cmp dword [rsp + 0xa0], 0x2000
ja 0x18003fb69
cmp dword [rsp + 0xa0], 0x2000
je case.0x18003fbc0.8193
cmp dword [rsp + 0xa0], 0x20
ja 0x18003fb2f
cmp dword [rsp + 0xa0], 0x20
je case.0x18003fbc0.8193
cmp dword [rsp + 0xa0], 9
je case.0x18003fbc0.8193
cmp dword [rsp + 0xa0], 0xa
je case.0x18003fbc0.8193
cmp dword [rsp + 0xa0], 0xb
je case.0x18003fbc0.8193
cmp dword [rsp + 0xa0], 0xc
je case.0x18003fbc0.8193
cmp dword [rsp + 0xa0], 0xd
je case.0x18003fbc0.8193
jmp case.0x18003fbc0.8207
cmp dword [rsp + 0xa0], 0x85
je case.0x18003fbc0.8193
cmp dword [rsp + 0xa0], 0xa0
je case.0x18003fbc0.8193
cmp dword [rsp + 0xa0], 0x1680
je case.0x18003fbc0.8193
cmp dword [rsp + 0xa0], 0x180e
je case.0x18003fbc0.8193
jmp case.0x18003fbc0.8207
cmp dword [rsp + 0xa0], 0x3000
ja 0x18003fbc2
cmp dword [rsp + 0xa0], 0x3000
je case.0x18003fbc0.8193
mov eax, dword [rsp + 0xa0]
sub eax, 0x2001
mov dword [rsp + 0xa0], eax
cmp dword [rsp + 0xa0], 0x5e
ja case.0x18003fbc0.8207
mov eax, dword [rsp + 0xa0]
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x469a8]
mov eax, dword [rcx + rax*4 + 0x4696c]
add rax, rcx
jmp rax
jmp case.0x18003fbc0.8207
mov dword [rsp + 0xd8], 1
jmp 0x18003fc10
mov rax, qword [rsp + 0x180]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
cmp dword [rcx + rax*4], 6
jne 0x18003fbf7
mov dword [rsp + 0x2e8], 1
jmp 0x18003fc02
mov dword [rsp + 0x2e8], 0
mov eax, dword [rsp + 0x2e8]
mov dword [rsp + 0xd8], eax
jmp 0x18003fd9a
mov rax, qword [rsp + 0x180]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
cmp dword [rcx + rax*4], 1
je 0x18003fc5b
mov rax, qword [rsp + 0x180]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
cmp dword [rcx + rax*4], 3
je 0x18003fc5b
cmp dword [rsp + 0x68], 0x5f
je 0x18003fc5b
mov dword [rsp + 0x2ec], 0
jmp 0x18003fc66
mov dword [rsp + 0x2ec], 1
mov eax, dword [rsp + 0x2ec]
mov dword [rsp + 0xd8], eax
jmp 0x18003fd9a
mov eax, 1
imul rax, rax, 3
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
lea rcx, [0x1800d2230]
lea rax, [rcx + rax*4]
mov qword [rsp + 0x4b8], rax
mov rax, qword [rsp + 0x4b8]
mov eax, dword [rax]
cmp dword [rsp + 0x68], eax
jae 0x18003fcbe
mov dword [rsp + 0xd8], 0
jmp 0x18003fd0d
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x5b8], eax
mov rax, qword [rsp + 0x4b8]
mov eax, dword [rax]
mov dword [rsp + 0x5b4], eax
mov rax, qword [rsp + 0x4b8]
add rax, 4
mov qword [rsp + 0x4b8], rax
mov eax, dword [rsp + 0x5b4]
cmp dword [rsp + 0x5b8], eax
jne 0x18003fd0b
mov dword [rsp + 0xd8], 1
jmp 0x18003fd0d
jmp 0x18003fca1
jmp 0x18003fd9a
cmp dword [rsp + 0x68], 0x24
je 0x18003fd52
cmp dword [rsp + 0x68], 0x40
je 0x18003fd52
cmp dword [rsp + 0x68], 0x60
je 0x18003fd52
cmp dword [rsp + 0x68], 0xa0
jb 0x18003fd3b
cmp dword [rsp + 0x68], 0xd7ff
jbe 0x18003fd52
cmp dword [rsp + 0x68], 0xe000
jae 0x18003fd52
mov dword [rsp + 0x2f0], 0
jmp 0x18003fd5d
mov dword [rsp + 0x2f0], 1
mov eax, dword [rsp + 0x2f0]
mov dword [rsp + 0xd8], eax
jmp 0x18003fd9a
cmp dword [rsp + 0x78], 0x10
je 0x18003fd81
mov dword [rsp + 0x2f4], 1
jmp 0x18003fd8c
mov dword [rsp + 0x2f4], 0
mov eax, dword [rsp + 0x2f4]
mov dword [rsp + 0xd8], eax
cmp dword [rsp + 0x6c], 0x10
jne 0x18003fdae
mov dword [rsp + 0x2f8], 1
jmp 0x18003fdb9
mov dword [rsp + 0x2f8], 0
mov eax, dword [rsp + 0x2f8]
cmp dword [rsp + 0xd8], eax
jne 0x18003fe64
cmp dword [rsp + 0x70], 0
jle 0x18003fdf6
cmp dword [rsp + 0x78], 0x18b
jne 0x18003fdf6
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x5c0], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x5bc], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x5bc]
cmp dword [rsp + 0x5c0], eax
jge 0x18003fe5a
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x70]
mov dword [rax + 4], ecx
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18003fe64
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 4]
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x70], 0
jle 0x18003fee6
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x5c8], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x5c4], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x5c4]
cmp dword [rsp + 0x5c8], eax
jge 0x18003fedc
mov eax, dword [rsp + 0x74]
add eax, 2
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18003fee6
mov eax, 0xffffffd5
jmp 0x180046360
cmp dword [rsp + 0x7c], 0
jle 0x18003ffef
mov dword [rsp + 0x2fc], 0
cmp dword [rsp + 0x70], 0
jle 0x18003ff25
cmp dword [rsp + 0x78], 0x19f
jne 0x18003ff25
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
movsxd rax, dword [rsp + 0x7c]
mov rcx, qword [rsp + 0x88]
add rcx, rax
mov rax, rcx
lea rcx, [rsp + 0x2fc]
mov qword [rsp + 0x28], rcx
mov ecx, dword [rsp + 0x94]
mov dword [rsp + 0x20], ecx
mov r9, qword [rsp + 0x138]
mov rcx, qword [rsp + 0xa60]
mov r8, qword [rcx + 0x20]
mov rdx, rax
mov ecx, dword [rsp + 0x68]
call fcn.1800473f0
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x5d0], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x5cc], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x5cc]
cmp dword [rsp + 0x5d0], eax
jge 0x18003ffe5
mov eax, dword [rsp + 0x74]
neg eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x70]
mov dword [rax + 4], ecx
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x2fc]
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18003ffef
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 4]
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x70], 0
jle 0x180040071
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x5d8], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x5d4], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x5d4]
cmp dword [rsp + 0x5d8], eax
jge 0x180040067
mov eax, dword [rsp + 0x74]
add eax, 2
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x180040071
mov eax, 0xffffffd5
jmp 0x180046360
cmp dword [rsp + 0x7c], 0
jle 0x1800401ed
mov dword [rsp + 0x300], 0
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x114], eax
cmp dword [rsp + 0x114], 0xd
ja 0x1800400cd
cmp dword [rsp + 0x114], 0xd
je 0x180040114
cmp dword [rsp + 0x114], 0xa
je 0x180040145
cmp dword [rsp + 0x114], 0xb
je 0x1800400f9
cmp dword [rsp + 0x114], 0xc
je 0x1800400f9
jmp 0x1800401ed
cmp dword [rsp + 0x114], 0x85
je 0x1800400f9
cmp dword [rsp + 0x114], 0x2028
je 0x1800400f9
cmp dword [rsp + 0x114], 0x2029
je 0x1800400f9
jmp 0x1800401ed
mov rax, qword [rsp + 0xa60]
movzx eax, word [rax + 0x84]
cmp eax, 2
jne 0x180040112
jmp 0x1800401ed
jmp 0x180040145
mov rax, qword [rsp + 0x88]
inc rax
cmp rax, qword [rsp + 0x138]
jae 0x180040145
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 1]
cmp eax, 0xa
jne 0x180040145
mov dword [rsp + 0x300], 1
cmp dword [rsp + 0x70], 0
jle 0x18004016e
cmp dword [rsp + 0x78], 0x1b3
jne 0x18004016e
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x5e0], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x5dc], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x5dc]
cmp dword [rsp + 0x5e0], eax
jge 0x1800401e3
mov eax, dword [rsp + 0x74]
neg eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x70]
mov dword [rax + 4], ecx
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x300]
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x1800401ed
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 4]
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x70], 0
jle 0x18004026f
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x5e8], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x5e4], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x5e4]
cmp dword [rsp + 0x5e8], eax
jge 0x180040265
mov eax, dword [rsp + 0x74]
add eax, 2
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18004026f
mov eax, 0xffffffd5
jmp 0x180046360
cmp dword [rsp + 0x7c], 0
jle 0x1800403d2
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x118], eax
cmp dword [rsp + 0x118], 0xd
ja 0x1800402b9
cmp dword [rsp + 0x118], 0xd
je 0x1800402e2
cmp dword [rsp + 0x118], 0xa
je 0x1800402e2
cmp dword [rsp + 0x118], 0xb
je 0x1800402e2
cmp dword [rsp + 0x118], 0xc
je 0x1800402e2
jmp 0x1800402ef
cmp dword [rsp + 0x118], 0x85
je 0x1800402e2
cmp dword [rsp + 0x118], 0x2028
je 0x1800402e2
cmp dword [rsp + 0x118], 0x2029
je 0x1800402e2
jmp 0x1800402ef
mov dword [rsp + 0x308], 1
jmp 0x1800402fa
mov dword [rsp + 0x308], 0
cmp dword [rsp + 0x6c], 0x15
jne 0x18004030e
mov dword [rsp + 0x304], 1
jmp 0x180040319
mov dword [rsp + 0x304], 0
mov eax, dword [rsp + 0x304]
cmp dword [rsp + 0x308], eax
jne 0x1800403d2
cmp dword [rsp + 0x70], 0
jle 0x180040356
cmp dword [rsp + 0x78], 0x1db
jne 0x180040356
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x5f0], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x5ec], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x5ec]
cmp dword [rsp + 0x5f0], eax
jge 0x1800403c8
mov eax, dword [rsp + 0x74]
neg eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x70]
mov dword [rax + 4], ecx
mov rax, qword [rsp + 0x58]
mov dword [rax + 8], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x1800403d2
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 4]
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x70], 0
jle 0x180040454
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x5f8], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x5f4], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x5f4]
cmp dword [rsp + 0x5f8], eax
jge 0x18004044a
mov eax, dword [rsp + 0x74]
add eax, 2
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x180040454
mov eax, 0xffffffd5
jmp 0x180046360
cmp dword [rsp + 0x7c], 0
jle 0x180040618
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0xdc], eax
cmp dword [rsp + 0xdc], 0x2000
ja 0x1800404cd
cmp dword [rsp + 0xdc], 0x2000
je case.0x180040524.8193
cmp dword [rsp + 0xdc], 9
je case.0x180040524.8193
cmp dword [rsp + 0xdc], 0x20
je case.0x180040524.8193
cmp dword [rsp + 0xdc], 0xa0
je case.0x180040524.8193
cmp dword [rsp + 0xdc], 0x1680
je case.0x180040524.8193
cmp dword [rsp + 0xdc], 0x180e
je case.0x180040524.8193
jmp case.0x180040524.8205
cmp dword [rsp + 0xdc], 0x3000
ja 0x180040526
cmp dword [rsp + 0xdc], 0x3000
je case.0x180040524.8193
mov eax, dword [rsp + 0xdc]
sub eax, 0x2001
mov dword [rsp + 0xdc], eax
cmp dword [rsp + 0xdc], 0x5e
ja case.0x180040524.8205
mov eax, dword [rsp + 0xdc]
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x46a3c]
mov eax, dword [rcx + rax*4 + 0x46a08]
add rax, rcx
jmp rax
jmp case.0x180040524.8205
mov dword [rsp + 0x310], 1
jmp 0x180040540
mov dword [rsp + 0x310], 0
cmp dword [rsp + 0x6c], 0x13
jne 0x180040554
mov dword [rsp + 0x30c], 1
jmp 0x18004055f
mov dword [rsp + 0x30c], 0
mov eax, dword [rsp + 0x30c]
cmp dword [rsp + 0x310], eax
jne 0x180040618
cmp dword [rsp + 0x70], 0
jle 0x18004059c
cmp dword [rsp + 0x78], 0x1c7
jne 0x18004059c
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x600], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x5fc], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x5fc]
cmp dword [rsp + 0x600], eax
jge 0x18004060e
mov eax, dword [rsp + 0x74]
neg eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x70]
mov dword [rax + 4], ecx
mov rax, qword [rsp + 0x58]
mov dword [rax + 8], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180040618
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov dword [rsp + 0x70], 4
jmp 0x18004062f
mov dword [rsp + 0x70], 0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x608], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x604], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x604]
cmp dword [rsp + 0x608], eax
jge 0x18004068c
mov eax, dword [rsp + 0x74]
add eax, 4
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x180040696
mov eax, 0xffffffd5
jmp 0x180046360
cmp dword [rsp + 0x7c], 0
jle 0x180040cd5
mov eax, dword [rsp + 0x68]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
cdqe
lea rcx, [0x1800cb070]
movzx eax, word [rcx + rax*2]
imul eax, eax, 0x80
mov dword [rsp + 0x60c], eax
mov eax, dword [rsp + 0x68]
cdq
and edx, 0x7f
add eax, edx
and eax, 0x7f
sub eax, edx
mov ecx, dword [rsp + 0x60c]
add ecx, eax
mov eax, ecx
cdqe
lea rcx, [0x1800d23f0]
movzx eax, word [rcx + rax*2]
imul rax, rax, 0xc
lea rcx, [0x1800cf470]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x188], rax
mov eax, 1
imul rax, rax, 2
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x314], eax
cmp dword [rsp + 0x314], 0xa
ja case.default.0x18004074b
movsxd rax, dword [rsp + 0x314]
lea rcx, [0x180000000]
mov eax, dword [rcx + rax*4 + 0x46a9c]
add rax, rcx
jmp rax
mov dword [rsp + 0xe0], 1
jmp 0x180040c0a
mov rax, qword [rsp + 0x188]
movzx eax, byte [rax + 1]
cmp eax, 9
je 0x18004079d
mov rax, qword [rsp + 0x188]
movzx eax, byte [rax + 1]
cmp eax, 5
je 0x18004079d
mov rax, qword [rsp + 0x188]
movzx eax, byte [rax + 1]
cmp eax, 8
je 0x18004079d
mov dword [rsp + 0x318], 0
jmp 0x1800407a8
mov dword [rsp + 0x318], 1
mov eax, dword [rsp + 0x318]
mov dword [rsp + 0xe0], eax
jmp 0x180040c0a
mov rax, qword [rsp + 0x188]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
mov edx, 1
imul rdx, rdx, 3
mov rdi, qword [rsp + 0x80]
movzx edx, byte [rdi + rdx]
cmp dword [rcx + rax*4], edx
jne 0x1800407f5
mov dword [rsp + 0x31c], 1
jmp 0x180040800
mov dword [rsp + 0x31c], 0
mov eax, dword [rsp + 0x31c]
mov dword [rsp + 0xe0], eax
jmp 0x180040c0a
mov rax, qword [rsp + 0x188]
movzx eax, byte [rax + 1]
mov ecx, 1
imul rcx, rcx, 3
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
cmp eax, ecx
jne 0x180040845
mov dword [rsp + 0x320], 1
jmp 0x180040850
mov dword [rsp + 0x320], 0
mov eax, dword [rsp + 0x320]
mov dword [rsp + 0xe0], eax
jmp 0x180040c0a
mov rax, qword [rsp + 0x188]
movzx eax, byte [rax]
mov ecx, 1
imul rcx, rcx, 3
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
cmp eax, ecx
jne 0x180040894
mov dword [rsp + 0x324], 1
jmp 0x18004089f
mov dword [rsp + 0x324], 0
mov eax, dword [rsp + 0x324]
mov dword [rsp + 0xe0], eax
jmp 0x180040c0a
mov rax, qword [rsp + 0x188]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
cmp dword [rcx + rax*4], 1
je 0x1800408f1
mov rax, qword [rsp + 0x188]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
cmp dword [rcx + rax*4], 3
je 0x1800408f1
mov dword [rsp + 0x328], 0
jmp 0x1800408fc
mov dword [rsp + 0x328], 1
mov eax, dword [rsp + 0x328]
mov dword [rsp + 0xe0], eax
jmp 0x180040c0a
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0xa4], eax
cmp dword [rsp + 0xa4], 0x2000
ja 0x1800409d9
cmp dword [rsp + 0xa4], 0x2000
je case.0x180040a30.8193
cmp dword [rsp + 0xa4], 0x20
ja 0x18004099f
cmp dword [rsp + 0xa4], 0x20
je case.0x180040a30.8193
cmp dword [rsp + 0xa4], 9
je case.0x180040a30.8193
cmp dword [rsp + 0xa4], 0xa
je case.0x180040a30.8193
cmp dword [rsp + 0xa4], 0xb
je case.0x180040a30.8193
cmp dword [rsp + 0xa4], 0xc
je case.0x180040a30.8193
cmp dword [rsp + 0xa4], 0xd
je case.0x180040a30.8193
jmp case.0x180040a30.8207
cmp dword [rsp + 0xa4], 0x85
je case.0x180040a30.8193
cmp dword [rsp + 0xa4], 0xa0
je case.0x180040a30.8193
cmp dword [rsp + 0xa4], 0x1680
je case.0x180040a30.8193
cmp dword [rsp + 0xa4], 0x180e
je case.0x180040a30.8193
jmp case.0x180040a30.8207
cmp dword [rsp + 0xa4], 0x3000
ja 0x180040a32
cmp dword [rsp + 0xa4], 0x3000
je case.0x180040a30.8193
mov eax, dword [rsp + 0xa4]
sub eax, 0x2001
mov dword [rsp + 0xa4], eax
cmp dword [rsp + 0xa4], 0x5e
ja case.0x180040a30.8207
mov eax, dword [rsp + 0xa4]
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x46b04]
mov eax, dword [rcx + rax*4 + 0x46ac8]
add rax, rcx
jmp rax
jmp case.0x180040a30.8207
mov dword [rsp + 0xe0], 1
jmp 0x180040a80
mov rax, qword [rsp + 0x188]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
cmp dword [rcx + rax*4], 6
jne 0x180040a67
mov dword [rsp + 0x32c], 1
jmp 0x180040a72
mov dword [rsp + 0x32c], 0
mov eax, dword [rsp + 0x32c]
mov dword [rsp + 0xe0], eax
jmp 0x180040c0a
mov rax, qword [rsp + 0x188]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
cmp dword [rcx + rax*4], 1
je 0x180040acb
mov rax, qword [rsp + 0x188]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
cmp dword [rcx + rax*4], 3
je 0x180040acb
cmp dword [rsp + 0x68], 0x5f
je 0x180040acb
mov dword [rsp + 0x330], 0
jmp 0x180040ad6
mov dword [rsp + 0x330], 1
mov eax, dword [rsp + 0x330]
mov dword [rsp + 0xe0], eax
jmp 0x180040c0a
mov eax, 1
imul rax, rax, 3
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
lea rcx, [0x1800d2230]
lea rax, [rcx + rax*4]
mov qword [rsp + 0x4c0], rax
mov rax, qword [rsp + 0x4c0]
mov eax, dword [rax]
cmp dword [rsp + 0x68], eax
jae 0x180040b2e
mov dword [rsp + 0xe0], 0
jmp 0x180040b7d
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x614], eax
mov rax, qword [rsp + 0x4c0]
mov eax, dword [rax]
mov dword [rsp + 0x610], eax
mov rax, qword [rsp + 0x4c0]
add rax, 4
mov qword [rsp + 0x4c0], rax
mov eax, dword [rsp + 0x610]
cmp dword [rsp + 0x614], eax
jne 0x180040b7b
mov dword [rsp + 0xe0], 1
jmp 0x180040b7d
jmp 0x180040b11
jmp 0x180040c0a
cmp dword [rsp + 0x68], 0x24
je 0x180040bc2
cmp dword [rsp + 0x68], 0x40
je 0x180040bc2
cmp dword [rsp + 0x68], 0x60
je 0x180040bc2
cmp dword [rsp + 0x68], 0xa0
jb 0x180040bab
cmp dword [rsp + 0x68], 0xd7ff
jbe 0x180040bc2
cmp dword [rsp + 0x68], 0xe000
jae 0x180040bc2
mov dword [rsp + 0x334], 0
jmp 0x180040bcd
mov dword [rsp + 0x334], 1
mov eax, dword [rsp + 0x334]
mov dword [rsp + 0xe0], eax
jmp 0x180040c0a
cmp dword [rsp + 0x78], 0x10
je 0x180040bf1
mov dword [rsp + 0x338], 1
jmp 0x180040bfc
mov dword [rsp + 0x338], 0
mov eax, dword [rsp + 0x338]
mov dword [rsp + 0xe0], eax
cmp dword [rsp + 0x6c], 0x10
jne 0x180040c1e
mov dword [rsp + 0x33c], 1
jmp 0x180040c29
mov dword [rsp + 0x33c], 0
mov eax, dword [rsp + 0x33c]
cmp dword [rsp + 0xe0], eax
jne 0x180040cd5
cmp dword [rsp + 0x78], 0x18a
je 0x180040c51
cmp dword [rsp + 0x78], 0x18c
jne 0x180040c69
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x61c], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x618], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x618]
cmp dword [rsp + 0x61c], eax
jge 0x180040ccb
mov eax, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x74]
add ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180040cd5
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov dword [rsp + 0x70], 2
jmp 0x180040cec
mov dword [rsp + 0x70], 0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x624], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x620], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x620]
cmp dword [rsp + 0x624], eax
jge 0x180040d49
mov eax, dword [rsp + 0x74]
add eax, 2
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x180040d53
mov eax, 0xffffffd5
jmp 0x180046360
cmp dword [rsp + 0x7c], 0
jle 0x180040e5d
mov dword [rsp + 0x340], 0
cmp dword [rsp + 0x78], 0x19e
je 0x180040d7d
cmp dword [rsp + 0x78], 0x1a0
jne 0x180040d95
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
movsxd rax, dword [rsp + 0x7c]
mov rcx, qword [rsp + 0x88]
add rcx, rax
mov rax, rcx
lea rcx, [rsp + 0x340]
mov qword [rsp + 0x28], rcx
mov ecx, dword [rsp + 0x94]
mov dword [rsp + 0x20], ecx
mov r9, qword [rsp + 0x138]
mov rcx, qword [rsp + 0xa60]
mov r8, qword [rcx + 0x20]
mov rdx, rax
mov ecx, dword [rsp + 0x68]
call fcn.1800473f0
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x62c], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x628], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x628]
cmp dword [rsp + 0x62c], eax
jge 0x180040e53
mov eax, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x74]
add ecx, eax
mov eax, ecx
neg eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x340]
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180040e5d
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov dword [rsp + 0x70], 2
jmp 0x180040e74
mov dword [rsp + 0x70], 0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x634], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x630], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x630]
cmp dword [rsp + 0x634], eax
jge 0x180040ed1
mov eax, dword [rsp + 0x74]
add eax, 2
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x180040edb
mov eax, 0xffffffd5
jmp 0x180046360
cmp dword [rsp + 0x7c], 0
jle 0x180041058
mov dword [rsp + 0x344], 0
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x11c], eax
cmp dword [rsp + 0x11c], 0xd
ja 0x180040f37
cmp dword [rsp + 0x11c], 0xd
je 0x180040f7e
cmp dword [rsp + 0x11c], 0xa
je 0x180040faf
cmp dword [rsp + 0x11c], 0xb
je 0x180040f63
cmp dword [rsp + 0x11c], 0xc
je 0x180040f63
jmp 0x180041058
cmp dword [rsp + 0x11c], 0x85
je 0x180040f63
cmp dword [rsp + 0x11c], 0x2028
je 0x180040f63
cmp dword [rsp + 0x11c], 0x2029
je 0x180040f63
jmp 0x180041058
mov rax, qword [rsp + 0xa60]
movzx eax, word [rax + 0x84]
cmp eax, 2
jne 0x180040f7c
jmp 0x180041058
jmp 0x180040faf
mov rax, qword [rsp + 0x88]
inc rax
cmp rax, qword [rsp + 0x138]
jae 0x180040faf
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 1]
cmp eax, 0xa
jne 0x180040faf
mov dword [rsp + 0x344], 1
cmp dword [rsp + 0x78], 0x1b2
je 0x180040fc3
cmp dword [rsp + 0x78], 0x1b4
jne 0x180040fdb
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x63c], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x638], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x638]
cmp dword [rsp + 0x63c], eax
jge 0x18004104e
mov eax, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x74]
add ecx, eax
mov eax, ecx
neg eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x344]
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180041058
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov dword [rsp + 0x70], 2
jmp 0x18004106f
mov dword [rsp + 0x70], 0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x644], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x640], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x640]
cmp dword [rsp + 0x644], eax
jge 0x1800410cc
mov eax, dword [rsp + 0x74]
add eax, 2
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x1800410d6
mov eax, 0xffffffd5
jmp 0x180046360
cmp dword [rsp + 0x7c], 0
jle 0x18004123a
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x120], eax
cmp dword [rsp + 0x120], 0xd
ja 0x180041120
cmp dword [rsp + 0x120], 0xd
je 0x180041149
cmp dword [rsp + 0x120], 0xa
je 0x180041149
cmp dword [rsp + 0x120], 0xb
je 0x180041149
cmp dword [rsp + 0x120], 0xc
je 0x180041149
jmp 0x180041156
cmp dword [rsp + 0x120], 0x85
je 0x180041149
cmp dword [rsp + 0x120], 0x2028
je 0x180041149
cmp dword [rsp + 0x120], 0x2029
je 0x180041149
jmp 0x180041156
mov dword [rsp + 0x34c], 1
jmp 0x180041161
mov dword [rsp + 0x34c], 0
cmp dword [rsp + 0x6c], 0x15
jne 0x180041175
mov dword [rsp + 0x348], 1
jmp 0x180041180
mov dword [rsp + 0x348], 0
mov eax, dword [rsp + 0x348]
cmp dword [rsp + 0x34c], eax
jne 0x18004123a
cmp dword [rsp + 0x78], 0x1da
je 0x1800411a8
cmp dword [rsp + 0x78], 0x1dc
jne 0x1800411c0
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x64c], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x648], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x648]
cmp dword [rsp + 0x64c], eax
jge 0x180041230
mov eax, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x74]
add ecx, eax
mov eax, ecx
neg eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
mov dword [rax + 8], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18004123a
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov dword [rsp + 0x70], 2
jmp 0x180041251
mov dword [rsp + 0x70], 0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x654], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x650], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x650]
cmp dword [rsp + 0x654], eax
jge 0x1800412ae
mov eax, dword [rsp + 0x74]
add eax, 2
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x1800412b8
mov eax, 0xffffffd5
jmp 0x180046360
cmp dword [rsp + 0x7c], 0
jle 0x18004147d
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0xe4], eax
cmp dword [rsp + 0xe4], 0x2000
ja 0x180041331
cmp dword [rsp + 0xe4], 0x2000
je case.0x180041388.8193
cmp dword [rsp + 0xe4], 9
je case.0x180041388.8193
cmp dword [rsp + 0xe4], 0x20
je case.0x180041388.8193
cmp dword [rsp + 0xe4], 0xa0
je case.0x180041388.8193
cmp dword [rsp + 0xe4], 0x1680
je case.0x180041388.8193
cmp dword [rsp + 0xe4], 0x180e
je case.0x180041388.8193
jmp case.0x180041388.8205
cmp dword [rsp + 0xe4], 0x3000
ja 0x18004138a
cmp dword [rsp + 0xe4], 0x3000
je case.0x180041388.8193
mov eax, dword [rsp + 0xe4]
sub eax, 0x2001
mov dword [rsp + 0xe4], eax
cmp dword [rsp + 0xe4], 0x5e
ja case.0x180041388.8205
mov eax, dword [rsp + 0xe4]
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x46b98]
mov eax, dword [rcx + rax*4 + 0x46b64]
add rax, rcx
jmp rax
jmp case.0x180041388.8205
mov dword [rsp + 0x354], 1
jmp 0x1800413a4
mov dword [rsp + 0x354], 0
cmp dword [rsp + 0x6c], 0x13
jne 0x1800413b8
mov dword [rsp + 0x350], 1
jmp 0x1800413c3
mov dword [rsp + 0x350], 0
mov eax, dword [rsp + 0x350]
cmp dword [rsp + 0x354], eax
jne 0x18004147d
cmp dword [rsp + 0x78], 0x1c6
je 0x1800413eb
cmp dword [rsp + 0x78], 0x1c8
jne 0x180041403
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x65c], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x658], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x658]
cmp dword [rsp + 0x65c], eax
jge 0x180041473
mov eax, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x74]
add ecx, eax
mov eax, ecx
neg eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
mov dword [rax + 8], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18004147d
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
cmp dword [rsp + 0x78], 0x189
je 0x1800414f3
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x664], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x660], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x660]
cmp dword [rsp + 0x664], eax
jge 0x1800414e9
mov eax, dword [rsp + 0x74]
add eax, 6
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x1800414f3
mov eax, 0xffffffd5
jmp 0x180046360
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 4]
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x7c], 0
jle 0x180041bd7
mov eax, dword [rsp + 0x68]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
cdqe
lea rcx, [0x1800cb070]
movzx eax, word [rcx + rax*2]
imul eax, eax, 0x80
mov dword [rsp + 0x668], eax
mov eax, dword [rsp + 0x68]
cdq
and edx, 0x7f
add eax, edx
and eax, 0x7f
sub eax, edx
mov ecx, dword [rsp + 0x668]
add ecx, eax
mov eax, ecx
cdqe
lea rcx, [0x1800d23f0]
movzx eax, word [rcx + rax*2]
imul rax, rax, 0xc
lea rcx, [0x1800cf470]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x190], rax
mov eax, 1
imul rax, rax, 4
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x358], eax
cmp dword [rsp + 0x358], 0xa
ja case.default.0x1800415b7
movsxd rax, dword [rsp + 0x358]
lea rcx, [0x180000000]
mov eax, dword [rcx + rax*4 + 0x46bf8]
add rax, rcx
jmp rax
mov dword [rsp + 0xc0], 1
jmp 0x180041a76
mov rax, qword [rsp + 0x190]
movzx eax, byte [rax + 1]
cmp eax, 9
je 0x180041609
mov rax, qword [rsp + 0x190]
movzx eax, byte [rax + 1]
cmp eax, 5
je 0x180041609
mov rax, qword [rsp + 0x190]
movzx eax, byte [rax + 1]
cmp eax, 8
je 0x180041609
mov dword [rsp + 0x35c], 0
jmp 0x180041614
mov dword [rsp + 0x35c], 1
mov eax, dword [rsp + 0x35c]
mov dword [rsp + 0xc0], eax
jmp 0x180041a76
mov rax, qword [rsp + 0x190]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
mov edx, 1
imul rdx, rdx, 5
mov rdi, qword [rsp + 0x80]
movzx edx, byte [rdi + rdx]
cmp dword [rcx + rax*4], edx
jne 0x180041661
mov dword [rsp + 0x360], 1
jmp 0x18004166c
mov dword [rsp + 0x360], 0
mov eax, dword [rsp + 0x360]
mov dword [rsp + 0xc0], eax
jmp 0x180041a76
mov rax, qword [rsp + 0x190]
movzx eax, byte [rax + 1]
mov ecx, 1
imul rcx, rcx, 5
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
cmp eax, ecx
jne 0x1800416b1
mov dword [rsp + 0x364], 1
jmp 0x1800416bc
mov dword [rsp + 0x364], 0
mov eax, dword [rsp + 0x364]
mov dword [rsp + 0xc0], eax
jmp 0x180041a76
mov rax, qword [rsp + 0x190]
movzx eax, byte [rax]
mov ecx, 1
imul rcx, rcx, 5
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
cmp eax, ecx
jne 0x180041700
mov dword [rsp + 0x368], 1
jmp 0x18004170b
mov dword [rsp + 0x368], 0
mov eax, dword [rsp + 0x368]
mov dword [rsp + 0xc0], eax
jmp 0x180041a76
mov rax, qword [rsp + 0x190]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
cmp dword [rcx + rax*4], 1
je 0x18004175d
mov rax, qword [rsp + 0x190]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
cmp dword [rcx + rax*4], 3
je 0x18004175d
mov dword [rsp + 0x36c], 0
jmp 0x180041768
mov dword [rsp + 0x36c], 1
mov eax, dword [rsp + 0x36c]
mov dword [rsp + 0xc0], eax
jmp 0x180041a76
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0xa8], eax
cmp dword [rsp + 0xa8], 0x2000
ja 0x180041845
cmp dword [rsp + 0xa8], 0x2000
je case.0x18004189c.8193
cmp dword [rsp + 0xa8], 0x20
ja 0x18004180b
cmp dword [rsp + 0xa8], 0x20
je case.0x18004189c.8193
cmp dword [rsp + 0xa8], 9
je case.0x18004189c.8193
cmp dword [rsp + 0xa8], 0xa
je case.0x18004189c.8193
cmp dword [rsp + 0xa8], 0xb
je case.0x18004189c.8193
cmp dword [rsp + 0xa8], 0xc
je case.0x18004189c.8193
cmp dword [rsp + 0xa8], 0xd
je case.0x18004189c.8193
jmp case.0x18004189c.8207
cmp dword [rsp + 0xa8], 0x85
je case.0x18004189c.8193
cmp dword [rsp + 0xa8], 0xa0
je case.0x18004189c.8193
cmp dword [rsp + 0xa8], 0x1680
je case.0x18004189c.8193
cmp dword [rsp + 0xa8], 0x180e
je case.0x18004189c.8193
jmp case.0x18004189c.8207
cmp dword [rsp + 0xa8], 0x3000
ja 0x18004189e
cmp dword [rsp + 0xa8], 0x3000
je case.0x18004189c.8193
mov eax, dword [rsp + 0xa8]
sub eax, 0x2001
mov dword [rsp + 0xa8], eax
cmp dword [rsp + 0xa8], 0x5e
ja case.0x18004189c.8207
mov eax, dword [rsp + 0xa8]
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x46c60]
mov eax, dword [rcx + rax*4 + 0x46c24]
add rax, rcx
jmp rax
jmp case.0x18004189c.8207
mov dword [rsp + 0xc0], 1
jmp 0x1800418ec
mov rax, qword [rsp + 0x190]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
cmp dword [rcx + rax*4], 6
jne 0x1800418d3
mov dword [rsp + 0x370], 1
jmp 0x1800418de
mov dword [rsp + 0x370], 0
mov eax, dword [rsp + 0x370]
mov dword [rsp + 0xc0], eax
jmp 0x180041a76
mov rax, qword [rsp + 0x190]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
cmp dword [rcx + rax*4], 1
je 0x180041937
mov rax, qword [rsp + 0x190]
movzx eax, byte [rax + 1]
lea rcx, [0x1800ca210]
cmp dword [rcx + rax*4], 3
je 0x180041937
cmp dword [rsp + 0x68], 0x5f
je 0x180041937
mov dword [rsp + 0x374], 0
jmp 0x180041942
mov dword [rsp + 0x374], 1
mov eax, dword [rsp + 0x374]
mov dword [rsp + 0xc0], eax
jmp 0x180041a76
mov eax, 1
imul rax, rax, 5
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
lea rcx, [0x1800d2230]
lea rax, [rcx + rax*4]
mov qword [rsp + 0x4c8], rax
mov rax, qword [rsp + 0x4c8]
mov eax, dword [rax]
cmp dword [rsp + 0x68], eax
jae 0x18004199a
mov dword [rsp + 0xc0], 0
jmp 0x1800419e9
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x670], eax
mov rax, qword [rsp + 0x4c8]
mov eax, dword [rax]
mov dword [rsp + 0x66c], eax
mov rax, qword [rsp + 0x4c8]
add rax, 4
mov qword [rsp + 0x4c8], rax
mov eax, dword [rsp + 0x66c]
cmp dword [rsp + 0x670], eax
jne 0x1800419e7
mov dword [rsp + 0xc0], 1
jmp 0x1800419e9
jmp 0x18004197d
jmp 0x180041a76
cmp dword [rsp + 0x68], 0x24
je 0x180041a2e
cmp dword [rsp + 0x68], 0x40
je 0x180041a2e
cmp dword [rsp + 0x68], 0x60
je 0x180041a2e
cmp dword [rsp + 0x68], 0xa0
jb 0x180041a17
cmp dword [rsp + 0x68], 0xd7ff
jbe 0x180041a2e
cmp dword [rsp + 0x68], 0xe000
jae 0x180041a2e
mov dword [rsp + 0x378], 0
jmp 0x180041a39
mov dword [rsp + 0x378], 1
mov eax, dword [rsp + 0x378]
mov dword [rsp + 0xc0], eax
jmp 0x180041a76
cmp dword [rsp + 0x78], 0x10
je 0x180041a5d
mov dword [rsp + 0x37c], 1
jmp 0x180041a68
mov dword [rsp + 0x37c], 0
mov eax, dword [rsp + 0x37c]
mov dword [rsp + 0xc0], eax
cmp dword [rsp + 0x6c], 0x10
jne 0x180041a8a
mov dword [rsp + 0x380], 1
jmp 0x180041a95
mov dword [rsp + 0x380], 0
mov eax, dword [rsp + 0x380]
cmp dword [rsp + 0xc0], eax
jne 0x180041bd7
cmp dword [rsp + 0x78], 0x18d
jne 0x180041acb
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
or eax, ecx
cmp dword [rsp + 0x70], eax
jl 0x180041b73
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x678], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x674], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x674]
cmp dword [rsp + 0x678], eax
jge 0x180041b67
mov eax, dword [rsp + 0x74]
add eax, 6
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180041b71
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180041bd7
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x680], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x67c], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x67c]
cmp dword [rsp + 0x680], eax
jge 0x180041bcd
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x70]
mov dword [rax + 4], ecx
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180041bd7
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
cmp dword [rsp + 0x78], 0x19d
je 0x180041c4d
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x688], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x684], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x684]
cmp dword [rsp + 0x688], eax
jge 0x180041c43
mov eax, dword [rsp + 0x74]
add eax, 4
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x180041c4d
mov eax, 0xffffffd5
jmp 0x180046360
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 4]
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x7c], 0
jle 0x180041e44
mov dword [rsp + 0x1f0], 0
cmp dword [rsp + 0x78], 0x1a1
jne 0x180041c94
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
movsxd rax, dword [rsp + 0x7c]
mov rcx, qword [rsp + 0x88]
add rcx, rax
mov rax, rcx
lea rcx, [rsp + 0x1f0]
mov qword [rsp + 0x28], rcx
mov ecx, dword [rsp + 0x94]
mov dword [rsp + 0x20], ecx
mov r9, qword [rsp + 0x138]
mov rcx, qword [rsp + 0xa60]
mov r8, qword [rcx + 0x20]
mov rdx, rax
mov ecx, dword [rsp + 0x68]
call fcn.1800473f0
mov qword [rsp + 0x9d0], rax
mov rax, qword [rsp + 0x138]
cmp qword [rsp + 0x9d0], rax
jb 0x180041d16
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 0x20
test eax, eax
je 0x180041d16
mov dword [rsp + 0x130], 1
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
or eax, ecx
cmp dword [rsp + 0x70], eax
jl 0x180041dcf
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x690], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x68c], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x68c]
cmp dword [rsp + 0x690], eax
jge 0x180041dc3
mov eax, dword [rsp + 0x74]
add eax, 4
neg eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x1f0]
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180041dcd
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180041e44
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x698], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x694], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x694]
cmp dword [rsp + 0x698], eax
jge 0x180041e3a
mov eax, dword [rsp + 0x74]
neg eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x70]
mov dword [rax + 4], ecx
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x1f0]
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180041e44
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
cmp dword [rsp + 0x78], 0x1b1
je 0x180041eba
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x6a0], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x69c], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x69c]
cmp dword [rsp + 0x6a0], eax
jge 0x180041eb0
mov eax, dword [rsp + 0x74]
add eax, 4
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x180041eba
mov eax, 0xffffffd5
jmp 0x180046360
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 4]
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x7c], 0
jle 0x1800420ed
mov dword [rsp + 0x1f4], 0
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x124], eax
cmp dword [rsp + 0x124], 0xd
ja 0x180041f25
cmp dword [rsp + 0x124], 0xd
je 0x180041f6c
cmp dword [rsp + 0x124], 0xa
je 0x180041f9d
cmp dword [rsp + 0x124], 0xb
je 0x180041f51
cmp dword [rsp + 0x124], 0xc
je 0x180041f51
jmp 0x1800420ed
cmp dword [rsp + 0x124], 0x85
je 0x180041f51
cmp dword [rsp + 0x124], 0x2028
je 0x180041f51
cmp dword [rsp + 0x124], 0x2029
je 0x180041f51
jmp 0x1800420ed
mov rax, qword [rsp + 0xa60]
movzx eax, word [rax + 0x84]
cmp eax, 2
jne 0x180041f6a
jmp 0x1800420ed
jmp 0x180041f9d
mov rax, qword [rsp + 0x88]
inc rax
cmp rax, qword [rsp + 0x138]
jae 0x180041f9d
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 1]
cmp eax, 0xa
jne 0x180041f9d
mov dword [rsp + 0x1f4], 1
cmp dword [rsp + 0x78], 0x1b5
jne 0x180041fbf
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
or eax, ecx
cmp dword [rsp + 0x70], eax
jl 0x180042078
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x6a8], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x6a4], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x6a4]
cmp dword [rsp + 0x6a8], eax
jge 0x18004206c
mov eax, dword [rsp + 0x74]
add eax, 4
neg eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x1f4]
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180042076
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x1800420ed
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x6b0], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x6ac], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x6ac]
cmp dword [rsp + 0x6b0], eax
jge 0x1800420e3
mov eax, dword [rsp + 0x74]
neg eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x70]
mov dword [rax + 4], ecx
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x1f4]
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x1800420ed
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
cmp dword [rsp + 0x78], 0x1d9
je 0x180042163
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x6b8], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x6b4], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x6b4]
cmp dword [rsp + 0x6b8], eax
jge 0x180042159
mov eax, dword [rsp + 0x74]
add eax, 4
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x180042163
mov eax, 0xffffffd5
jmp 0x180046360
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 4]
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x7c], 0
jle 0x18004237a
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x128], eax
cmp dword [rsp + 0x128], 0xd
ja 0x1800421bc
cmp dword [rsp + 0x128], 0xd
je 0x1800421e5
cmp dword [rsp + 0x128], 0xa
je 0x1800421e5
cmp dword [rsp + 0x128], 0xb
je 0x1800421e5
cmp dword [rsp + 0x128], 0xc
je 0x1800421e5
jmp 0x1800421f2
cmp dword [rsp + 0x128], 0x85
je 0x1800421e5
cmp dword [rsp + 0x128], 0x2028
je 0x1800421e5
cmp dword [rsp + 0x128], 0x2029
je 0x1800421e5
jmp 0x1800421f2
mov dword [rsp + 0x388], 1
jmp 0x1800421fd
mov dword [rsp + 0x388], 0
cmp dword [rsp + 0x6c], 0x15
jne 0x180042211
mov dword [rsp + 0x384], 1
jmp 0x18004221c
mov dword [rsp + 0x384], 0
mov eax, dword [rsp + 0x384]
cmp dword [rsp + 0x388], eax
jne 0x18004237a
cmp dword [rsp + 0x78], 0x1dd
jne 0x180042252
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
or eax, ecx
cmp dword [rsp + 0x70], eax
jl 0x180042308
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x6c0], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x6bc], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x6bc]
cmp dword [rsp + 0x6c0], eax
jge 0x1800422fc
mov eax, dword [rsp + 0x74]
add eax, 4
neg eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
mov dword [rax + 8], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180042306
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x18004237a
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x6c8], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x6c4], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x6c4]
cmp dword [rsp + 0x6c8], eax
jge 0x180042370
mov eax, dword [rsp + 0x74]
neg eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x70]
mov dword [rax + 4], ecx
mov rax, qword [rsp + 0x58]
mov dword [rax + 8], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18004237a
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
cmp dword [rsp + 0x78], 0x1c5
je 0x1800423f0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x6d0], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x6cc], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x6cc]
cmp dword [rsp + 0x6d0], eax
jge 0x1800423e6
mov eax, dword [rsp + 0x74]
add eax, 4
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x1800423f0
mov eax, 0xffffffd5
jmp 0x180046360
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 4]
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x7c], 0
jle 0x180042668
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0xc4], eax
cmp dword [rsp + 0xc4], 0x2000
ja 0x180042478
cmp dword [rsp + 0xc4], 0x2000
je case.0x1800424cf.8193
cmp dword [rsp + 0xc4], 9
je case.0x1800424cf.8193
cmp dword [rsp + 0xc4], 0x20
je case.0x1800424cf.8193
cmp dword [rsp + 0xc4], 0xa0
je case.0x1800424cf.8193
cmp dword [rsp + 0xc4], 0x1680
je case.0x1800424cf.8193
cmp dword [rsp + 0xc4], 0x180e
je case.0x1800424cf.8193
jmp case.0x1800424cf.8205
cmp dword [rsp + 0xc4], 0x3000
ja 0x1800424d1
cmp dword [rsp + 0xc4], 0x3000
je case.0x1800424cf.8193
mov eax, dword [rsp + 0xc4]
sub eax, 0x2001
mov dword [rsp + 0xc4], eax
cmp dword [rsp + 0xc4], 0x5e
ja case.0x1800424cf.8205
mov eax, dword [rsp + 0xc4]
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x46cf4]
mov eax, dword [rcx + rax*4 + 0x46cc0]
add rax, rcx
jmp rax
jmp case.0x1800424cf.8205
mov dword [rsp + 0x390], 1
jmp 0x1800424eb
mov dword [rsp + 0x390], 0
cmp dword [rsp + 0x6c], 0x13
jne 0x1800424ff
mov dword [rsp + 0x38c], 1
jmp 0x18004250a
mov dword [rsp + 0x38c], 0
mov eax, dword [rsp + 0x38c]
cmp dword [rsp + 0x390], eax
jne 0x180042668
cmp dword [rsp + 0x78], 0x1c9
jne 0x180042540
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
or eax, ecx
cmp dword [rsp + 0x70], eax
jl 0x1800425f6
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x6d8], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x6d4], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x6d4]
cmp dword [rsp + 0x6d8], eax
jge 0x1800425ea
mov eax, dword [rsp + 0x74]
add eax, 4
neg eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
mov dword [rax + 8], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x1800425f4
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180042668
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x6e0], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x6dc], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x6dc]
cmp dword [rsp + 0x6e0], eax
jge 0x18004265e
mov eax, dword [rsp + 0x74]
neg eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x70]
mov dword [rax + 4], ecx
mov rax, qword [rsp + 0x58]
mov dword [rax + 8], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180042668
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
cmp dword [rsp + 0x7c], 0
jle 0x1800426ed
mov eax, dword [rsp + 0x6c]
cmp dword [rsp + 0x68], eax
jne 0x1800426ed
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x6e8], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x6e4], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x6e4]
cmp dword [rsp + 0x6e8], eax
jge 0x1800426e3
mov eax, dword [rsp + 0x74]
mov ecx, dword [rsp + 0x98]
lea eax, [rax + rcx + 1]
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x1800426ed
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
cmp dword [rsp + 0x7c], 0
jne 0x1800426fe
jmp 0x180046236
cmp dword [rsp + 0x154], 0
je 0x18004289a
mov eax, dword [rsp + 0x6c]
cmp dword [rsp + 0x68], eax
jne 0x18004278a
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x6f0], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x6ec], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x6ec]
cmp dword [rsp + 0x6f0], eax
jge 0x18004277b
mov eax, dword [rsp + 0x74]
mov ecx, dword [rsp + 0x98]
lea eax, [rax + rcx + 1]
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180042785
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180042895
cmp dword [rsp + 0x68], 0x80
jae 0x1800427ad
mov eax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x220]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x394], eax
jmp 0x180042819
mov eax, dword [rsp + 0x68]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
cdqe
lea rcx, [0x1800cb070]
movzx eax, word [rcx + rax*2]
imul eax, eax, 0x80
mov dword [rsp + 0x6f4], eax
mov eax, dword [rsp + 0x68]
cdq
and edx, 0x7f
add eax, edx
and eax, 0x7f
sub eax, edx
mov ecx, dword [rsp + 0x6f4]
add ecx, eax
mov eax, ecx
cdqe
lea rcx, [0x1800d23f0]
movzx eax, word [rcx + rax*2]
imul rax, rax, 0xc
lea rcx, [0x1800cf470]
mov eax, dword [rcx + rax + 4]
mov ecx, dword [rsp + 0x68]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x394], eax
mov eax, dword [rsp + 0x394]
cmp dword [rsp + 0x6c], eax
jne 0x180042895
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x6fc], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x6f8], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x6f8]
cmp dword [rsp + 0x6fc], eax
jge 0x18004288b
mov eax, dword [rsp + 0x74]
mov ecx, dword [rsp + 0x98]
lea eax, [rax + rcx + 1]
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180042895
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180042925
mov eax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x9a8]
movzx eax, byte [rcx + rax]
mov ecx, dword [rsp + 0x6c]
mov rdx, qword [rsp + 0x9a8]
movzx ecx, byte [rdx + rcx]
cmp eax, ecx
jne 0x180042925
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x704], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x700], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x700]
cmp dword [rsp + 0x704], eax
jge 0x18004291b
mov eax, dword [rsp + 0x74]
add eax, 2
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180042925
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
cmp dword [rsp + 0x7c], 0
jle 0x180042a39
mov dword [rsp + 0x398], 0
movsxd rax, dword [rsp + 0x7c]
mov rcx, qword [rsp + 0x88]
add rcx, rax
mov rax, rcx
lea rcx, [rsp + 0x398]
mov qword [rsp + 0x28], rcx
mov ecx, dword [rsp + 0x94]
mov dword [rsp + 0x20], ecx
mov r9, qword [rsp + 0x138]
mov rcx, qword [rsp + 0xa60]
mov r8, qword [rcx + 0x20]
mov rdx, rax
mov ecx, dword [rsp + 0x68]
call fcn.1800473f0
mov qword [rsp + 0x9d8], rax
mov rax, qword [rsp + 0x138]
cmp qword [rsp + 0x9d8], rax
jb 0x1800429c2
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 0x20
test eax, eax
je 0x1800429c2
mov dword [rsp + 0x130], 1
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x70c], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x708], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x708]
cmp dword [rsp + 0x70c], eax
jge 0x180042a2f
mov eax, dword [rsp + 0x74]
inc eax
neg eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x398]
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180042a39
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
cmp dword [rsp + 0x7c], 0
jle 0x180042ccd
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x12c], eax
cmp dword [rsp + 0x12c], 0xd
ja 0x180042a8f
cmp dword [rsp + 0x12c], 0xd
je 0x180042b3f
cmp dword [rsp + 0x12c], 0xa
je 0x180042ad4
cmp dword [rsp + 0x12c], 0xb
je 0x180042abb
cmp dword [rsp + 0x12c], 0xc
je 0x180042abb
jmp 0x180042ccd
cmp dword [rsp + 0x12c], 0x85
je 0x180042abb
cmp dword [rsp + 0x12c], 0x2028
je 0x180042abb
cmp dword [rsp + 0x12c], 0x2029
je 0x180042abb
jmp 0x180042ccd
mov rax, qword [rsp + 0xa60]
movzx eax, word [rax + 0x84]
cmp eax, 2
jne 0x180042ad4
jmp 0x180042ccd
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x714], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x710], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x710]
cmp dword [rsp + 0x714], eax
jge 0x180042b30
mov eax, dword [rsp + 0x74]
inc eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180042b3a
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180042ccd
mov rax, qword [rsp + 0x88]
inc rax
cmp rax, qword [rsp + 0x138]
jb 0x180042be0
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x71c], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x718], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x718]
cmp dword [rsp + 0x71c], eax
jge 0x180042bb4
mov eax, dword [rsp + 0x74]
inc eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180042bbe
mov eax, 0xffffffd5
jmp 0x180046360
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 0x20
test eax, eax
je 0x180042bdb
mov dword [rsp + 0x130], 1
jmp 0x180042ccd
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 1]
cmp eax, 0xa
jne 0x180042c67
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x724], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x720], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x720]
cmp dword [rsp + 0x724], eax
jge 0x180042c5b
mov eax, dword [rsp + 0x74]
inc eax
neg eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
mov dword [rax + 8], 1
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180042c65
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180042ccd
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x72c], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x728], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x728]
cmp dword [rsp + 0x72c], eax
jge 0x180042cc3
mov eax, dword [rsp + 0x74]
inc eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180042ccd
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
cmp dword [rsp + 0x7c], 0
jle 0x180042dad
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x108], eax
cmp dword [rsp + 0x108], 0xd
ja 0x180042d1c
cmp dword [rsp + 0x108], 0xd
je 0x180042d45
cmp dword [rsp + 0x108], 0xa
je 0x180042d45
cmp dword [rsp + 0x108], 0xb
je 0x180042d45
cmp dword [rsp + 0x108], 0xc
je 0x180042d45
jmp 0x180042d47
cmp dword [rsp + 0x108], 0x85
je 0x180042d45
cmp dword [rsp + 0x108], 0x2028
je 0x180042d45
cmp dword [rsp + 0x108], 0x2029
je 0x180042d45
jmp 0x180042d47
jmp 0x180042dad
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x734], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x730], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x730]
cmp dword [rsp + 0x734], eax
jge 0x180042da3
mov eax, dword [rsp + 0x74]
inc eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180042dad
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
cmp dword [rsp + 0x7c], 0
jle 0x180042e8e
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x10c], eax
cmp dword [rsp + 0x10c], 0xd
ja 0x180042dff
cmp dword [rsp + 0x10c], 0xd
je 0x180042e28
cmp dword [rsp + 0x10c], 0xa
je 0x180042e28
cmp dword [rsp + 0x10c], 0xb
je 0x180042e28
cmp dword [rsp + 0x10c], 0xc
je 0x180042e28
jmp 0x180042e8e
cmp dword [rsp + 0x10c], 0x85
je 0x180042e28
cmp dword [rsp + 0x10c], 0x2028
je 0x180042e28
cmp dword [rsp + 0x10c], 0x2029
je 0x180042e28
jmp 0x180042e8e
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x73c], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x738], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x738]
cmp dword [rsp + 0x73c], eax
jge 0x180042e84
mov eax, dword [rsp + 0x74]
inc eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180042e8e
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
cmp dword [rsp + 0x7c], 0
jle 0x180042fcf
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0xc8], eax
cmp dword [rsp + 0xc8], 0x2000
ja 0x180042f0c
cmp dword [rsp + 0xc8], 0x2000
je case.0x180042f63.8193
cmp dword [rsp + 0xc8], 9
je case.0x180042f63.8193
cmp dword [rsp + 0xc8], 0x20
je case.0x180042f63.8193
cmp dword [rsp + 0xc8], 0xa0
je case.0x180042f63.8193
cmp dword [rsp + 0xc8], 0x1680
je case.0x180042f63.8193
cmp dword [rsp + 0xc8], 0x180e
je case.0x180042f63.8193
jmp case.0x180042f63.8205
cmp dword [rsp + 0xc8], 0x3000
ja 0x180042f65
cmp dword [rsp + 0xc8], 0x3000
je case.0x180042f63.8193
mov eax, dword [rsp + 0xc8]
sub eax, 0x2001
mov dword [rsp + 0xc8], eax
cmp dword [rsp + 0xc8], 0x5e
ja case.0x180042f63.8205
mov eax, dword [rsp + 0xc8]
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x46d88]
mov eax, dword [rcx + rax*4 + 0x46d54]
add rax, rcx
jmp rax
jmp case.0x180042f63.8205
jmp 0x180042fcf
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x744], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x740], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x740]
cmp dword [rsp + 0x744], eax
jge 0x180042fc5
mov eax, dword [rsp + 0x74]
inc eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180042fcf
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
cmp dword [rsp + 0x7c], 0
jle case.0x1800430ab.8205
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0xcc], eax
cmp dword [rsp + 0xcc], 0x2000
ja 0x180043050
cmp dword [rsp + 0xcc], 0x2000
je case.0x1800430ab.8193
cmp dword [rsp + 0xcc], 9
je case.0x1800430ab.8193
cmp dword [rsp + 0xcc], 0x20
je case.0x1800430ab.8193
cmp dword [rsp + 0xcc], 0xa0
je case.0x1800430ab.8193
cmp dword [rsp + 0xcc], 0x1680
je case.0x1800430ab.8193
cmp dword [rsp + 0xcc], 0x180e
je case.0x1800430ab.8193
jmp case.0x1800430ab.8205
cmp dword [rsp + 0xcc], 0x3000
ja 0x1800430ad
cmp dword [rsp + 0xcc], 0x3000
je case.0x1800430ab.8193
mov eax, dword [rsp + 0xcc]
sub eax, 0x2001
mov dword [rsp + 0xcc], eax
cmp dword [rsp + 0xcc], 0x5e
ja case.0x1800430ab.8205
mov eax, dword [rsp + 0xcc]
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x46e1c]
mov eax, dword [rcx + rax*4 + 0x46de8]
add rax, rcx
jmp rax
jmp case.0x1800430ab.8205
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x74c], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x748], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x748]
cmp dword [rsp + 0x74c], eax
jge 0x18004310b
mov eax, dword [rsp + 0x74]
inc eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp case.0x1800430ab.8205
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
cmp dword [rsp + 0x7c], 0
jle 0x18004319a
mov eax, dword [rsp + 0x6c]
cmp dword [rsp + 0x68], eax
je 0x18004319a
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x754], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x750], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x750]
cmp dword [rsp + 0x754], eax
jge 0x180043190
mov eax, dword [rsp + 0x74]
mov ecx, dword [rsp + 0x98]
lea eax, [rax + rcx + 1]
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18004319a
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
cmp dword [rsp + 0x7c], 0
jle 0x1800432c9
cmp dword [rsp + 0x154], 0
je 0x18004322c
cmp dword [rsp + 0x6c], 0x80
jb 0x18004322c
mov eax, dword [rsp + 0x6c]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
cdqe
lea rcx, [0x1800cb070]
movzx eax, word [rcx + rax*2]
imul eax, eax, 0x80
mov dword [rsp + 0x758], eax
mov eax, dword [rsp + 0x6c]
cdq
and edx, 0x7f
add eax, edx
and eax, 0x7f
sub eax, edx
mov ecx, dword [rsp + 0x758]
add ecx, eax
mov eax, ecx
cdqe
lea rcx, [0x1800d23f0]
movzx eax, word [rcx + rax*2]
imul rax, rax, 0xc
lea rcx, [0x1800cf470]
mov eax, dword [rcx + rax + 4]
mov ecx, dword [rsp + 0x6c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x39c], eax
jmp 0x180043243
mov eax, dword [rsp + 0x6c]
mov rcx, qword [rsp + 0x220]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x39c], eax
mov eax, dword [rsp + 0x6c]
cmp dword [rsp + 0x68], eax
je 0x1800432c9
mov eax, dword [rsp + 0x39c]
cmp dword [rsp + 0x68], eax
je 0x1800432c9
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x760], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x75c], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x75c]
cmp dword [rsp + 0x760], eax
jge 0x1800432bf
mov eax, dword [rsp + 0x74]
mov ecx, dword [rsp + 0x98]
lea eax, [rax + rcx + 1]
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x1800432c9
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov dword [rsp + 0xf0], 1
mov eax, dword [rsp + 0x78]
sub eax, 0xd
mov dword [rsp + 0x78], eax
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 4]
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x70], 0
jle 0x180043369
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x768], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x764], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x764]
cmp dword [rsp + 0x768], eax
jge 0x18004335f
mov eax, dword [rsp + 0x74]
mov ecx, dword [rsp + 0x98]
lea eax, [rax + rcx + 1]
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x180043369
mov eax, 0xffffffd5
jmp 0x180046360
cmp dword [rsp + 0x7c], 0
jle 0x180043523
mov dword [rsp + 0x1f8], 0xffffffff
cmp dword [rsp + 0xf0], 0
je 0x180043426
cmp dword [rsp + 0x154], 0
je 0x18004340f
cmp dword [rsp + 0x6c], 0x80
jb 0x18004340f
mov eax, dword [rsp + 0x6c]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
cdqe
lea rcx, [0x1800cb070]
movzx eax, word [rcx + rax*2]
imul eax, eax, 0x80
mov dword [rsp + 0x76c], eax
mov eax, dword [rsp + 0x6c]
cdq
and edx, 0x7f
add eax, edx
and eax, 0x7f
sub eax, edx
mov ecx, dword [rsp + 0x76c]
add ecx, eax
mov eax, ecx
cdqe
lea rcx, [0x1800d23f0]
movzx eax, word [rcx + rax*2]
imul rax, rax, 0xc
lea rcx, [0x1800cf470]
mov eax, dword [rcx + rax + 4]
mov ecx, dword [rsp + 0x6c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1f8], eax
jmp 0x180043426
mov eax, dword [rsp + 0x6c]
mov rcx, qword [rsp + 0x220]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x1f8], eax
mov eax, dword [rsp + 0x6c]
cmp dword [rsp + 0x68], eax
je 0x18004344a
mov eax, dword [rsp + 0x1f8]
cmp dword [rsp + 0x68], eax
je 0x18004344a
mov dword [rsp + 0x3a4], 0
jmp 0x180043455
mov dword [rsp + 0x3a4], 1
cmp dword [rsp + 0x78], 0x3b
jae 0x180043469
mov dword [rsp + 0x3a0], 1
jmp 0x180043474
mov dword [rsp + 0x3a0], 0
mov eax, dword [rsp + 0x3a0]
cmp dword [rsp + 0x3a4], eax
jne 0x180043523
cmp dword [rsp + 0x70], 0
jle 0x1800434b5
cmp dword [rsp + 0x78], 0x2b
je 0x18004349d
cmp dword [rsp + 0x78], 0x45
jne 0x1800434b5
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x774], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x770], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x770]
cmp dword [rsp + 0x774], eax
jge 0x180043519
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x70]
mov dword [rax + 4], ecx
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180043523
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov dword [rsp + 0xf0], 1
mov eax, dword [rsp + 0x78]
sub eax, 0xd
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x77c], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x778], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x778]
cmp dword [rsp + 0x77c], eax
jge 0x1800435a3
mov eax, dword [rsp + 0x74]
mov ecx, dword [rsp + 0x98]
lea eax, [rax + rcx + 1]
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x1800435ad
mov eax, 0xffffffd5
jmp 0x180046360
cmp dword [rsp + 0x7c], 0
jle 0x180043761
mov dword [rsp + 0x1fc], 0xffffffff
cmp dword [rsp + 0xf0], 0
je 0x18004366a
cmp dword [rsp + 0x154], 0
je 0x180043653
cmp dword [rsp + 0x6c], 0x80
jb 0x180043653
mov eax, dword [rsp + 0x6c]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
cdqe
lea rcx, [0x1800cb070]
movzx eax, word [rcx + rax*2]
imul eax, eax, 0x80
mov dword [rsp + 0x780], eax
mov eax, dword [rsp + 0x6c]
cdq
and edx, 0x7f
add eax, edx
and eax, 0x7f
sub eax, edx
mov ecx, dword [rsp + 0x780]
add ecx, eax
mov eax, ecx
cdqe
lea rcx, [0x1800d23f0]
movzx eax, word [rcx + rax*2]
imul rax, rax, 0xc
lea rcx, [0x1800cf470]
mov eax, dword [rcx + rax + 4]
mov ecx, dword [rsp + 0x6c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x1fc], eax
jmp 0x18004366a
mov eax, dword [rsp + 0x6c]
mov rcx, qword [rsp + 0x220]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x1fc], eax
mov eax, dword [rsp + 0x6c]
cmp dword [rsp + 0x68], eax
je 0x18004368e
mov eax, dword [rsp + 0x1fc]
cmp dword [rsp + 0x68], eax
je 0x18004368e
mov dword [rsp + 0x3ac], 0
jmp 0x180043699
mov dword [rsp + 0x3ac], 1
cmp dword [rsp + 0x78], 0x3b
jae 0x1800436ad
mov dword [rsp + 0x3a8], 1
jmp 0x1800436b8
mov dword [rsp + 0x3a8], 0
mov eax, dword [rsp + 0x3a8]
cmp dword [rsp + 0x3ac], eax
jne 0x180043761
cmp dword [rsp + 0x78], 0x2c
je 0x1800436da
cmp dword [rsp + 0x78], 0x46
jne 0x1800436f2
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x788], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x784], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x784]
cmp dword [rsp + 0x788], eax
jge 0x180043757
mov eax, dword [rsp + 0x74]
mov ecx, dword [rsp + 0x98]
lea eax, [rax + rcx + 1]
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180043761
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov dword [rsp + 0xf0], 1
mov eax, dword [rsp + 0x78]
sub eax, 0xd
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x790], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x78c], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x78c]
cmp dword [rsp + 0x790], eax
jge 0x1800437e1
mov eax, dword [rsp + 0x74]
mov ecx, dword [rsp + 0x98]
lea eax, [rax + rcx + 1]
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x1800437eb
mov eax, 0xffffffd5
jmp 0x180046360
cmp dword [rsp + 0x7c], 0
jle 0x180043994
mov dword [rsp + 0x200], 0xffffffff
cmp dword [rsp + 0xf0], 0
je 0x1800438a8
cmp dword [rsp + 0x154], 0
je 0x180043891
cmp dword [rsp + 0x6c], 0x80
jb 0x180043891
mov eax, dword [rsp + 0x6c]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
cdqe
lea rcx, [0x1800cb070]
movzx eax, word [rcx + rax*2]
imul eax, eax, 0x80
mov dword [rsp + 0x794], eax
mov eax, dword [rsp + 0x6c]
cdq
and edx, 0x7f
add eax, edx
and eax, 0x7f
sub eax, edx
mov ecx, dword [rsp + 0x794]
add ecx, eax
mov eax, ecx
cdqe
lea rcx, [0x1800d23f0]
movzx eax, word [rcx + rax*2]
imul rax, rax, 0xc
lea rcx, [0x1800cf470]
mov eax, dword [rcx + rax + 4]
mov ecx, dword [rsp + 0x6c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x200], eax
jmp 0x1800438a8
mov eax, dword [rsp + 0x6c]
mov rcx, qword [rsp + 0x220]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x200], eax
mov eax, dword [rsp + 0x6c]
cmp dword [rsp + 0x68], eax
je 0x1800438cc
mov eax, dword [rsp + 0x200]
cmp dword [rsp + 0x68], eax
je 0x1800438cc
mov dword [rsp + 0x3b4], 0
jmp 0x1800438d7
mov dword [rsp + 0x3b4], 1
cmp dword [rsp + 0x78], 0x3b
jae 0x1800438eb
mov dword [rsp + 0x3b0], 1
jmp 0x1800438f6
mov dword [rsp + 0x3b0], 0
mov eax, dword [rsp + 0x3b0]
cmp dword [rsp + 0x3b4], eax
jne 0x180043994
cmp dword [rsp + 0x78], 0x2a
je 0x180043918
cmp dword [rsp + 0x78], 0x44
jne 0x180043930
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x79c], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x798], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x798]
cmp dword [rsp + 0x79c], eax
jge 0x18004398a
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180043994
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov dword [rsp + 0xf0], 1
mov eax, dword [rsp + 0x78]
sub eax, 0xd
mov dword [rsp + 0x78], eax
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 4]
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x7c], 0
jle 0x180043bf1
mov dword [rsp + 0x204], 0xffffffff
cmp dword [rsp + 0xf0], 0
je 0x180043a7b
cmp dword [rsp + 0x154], 0
je 0x180043a64
cmp dword [rsp + 0x6c], 0x80
jb 0x180043a64
mov eax, dword [rsp + 0x6c]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
cdqe
lea rcx, [0x1800cb070]
movzx eax, word [rcx + rax*2]
imul eax, eax, 0x80
mov dword [rsp + 0x7a0], eax
mov eax, dword [rsp + 0x6c]
cdq
and edx, 0x7f
add eax, edx
and eax, 0x7f
sub eax, edx
mov ecx, dword [rsp + 0x7a0]
add ecx, eax
mov eax, ecx
cdqe
lea rcx, [0x1800d23f0]
movzx eax, word [rcx + rax*2]
imul rax, rax, 0xc
lea rcx, [0x1800cf470]
mov eax, dword [rcx + rax + 4]
mov ecx, dword [rsp + 0x6c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x204], eax
jmp 0x180043a7b
mov eax, dword [rsp + 0x6c]
mov rcx, qword [rsp + 0x220]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x204], eax
mov eax, dword [rsp + 0x6c]
cmp dword [rsp + 0x68], eax
je 0x180043a9f
mov eax, dword [rsp + 0x204]
cmp dword [rsp + 0x68], eax
je 0x180043a9f
mov dword [rsp + 0x3bc], 0
jmp 0x180043aaa
mov dword [rsp + 0x3bc], 1
cmp dword [rsp + 0x78], 0x3b
jae 0x180043abe
mov dword [rsp + 0x3b8], 1
jmp 0x180043ac9
mov dword [rsp + 0x3b8], 0
mov eax, dword [rsp + 0x3b8]
cmp dword [rsp + 0x3bc], eax
jne 0x180043bf1
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
or eax, ecx
cmp dword [rsp + 0x70], eax
jl 0x180043b8d
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x8bc], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x7a4], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x7a4]
cmp dword [rsp + 0x8bc], eax
jge 0x180043b81
mov eax, dword [rsp + 0x74]
mov ecx, dword [rsp + 0x98]
lea eax, [rax + rcx + 3]
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180043b8b
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180043bf1
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x7b0], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x7ac], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x7ac]
cmp dword [rsp + 0x7b0], eax
jge 0x180043be7
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x70]
mov dword [rax + 4], ecx
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180043bf1
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov dword [rsp + 0xf0], 1
mov eax, dword [rsp + 0x78]
sub eax, 0xd
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x7b8], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x7b4], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x7b4]
cmp dword [rsp + 0x7b8], eax
jge 0x180043c71
mov eax, dword [rsp + 0x74]
mov ecx, dword [rsp + 0x98]
lea eax, [rax + rcx + 3]
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x180043c7b
mov eax, 0xffffffd5
jmp 0x180046360
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 4]
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x7c], 0
jle 0x180043ee3
mov dword [rsp + 0x208], 0xffffffff
cmp dword [rsp + 0xf0], 0
je 0x180043d47
cmp dword [rsp + 0x154], 0
je 0x180043d30
cmp dword [rsp + 0x6c], 0x80
jb 0x180043d30
mov eax, dword [rsp + 0x6c]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
cdqe
lea rcx, [0x1800cb070]
movzx eax, word [rcx + rax*2]
imul eax, eax, 0x80
mov dword [rsp + 0x7bc], eax
mov eax, dword [rsp + 0x6c]
cdq
and edx, 0x7f
add eax, edx
and eax, 0x7f
sub eax, edx
mov ecx, dword [rsp + 0x7bc]
add ecx, eax
mov eax, ecx
cdqe
lea rcx, [0x1800d23f0]
movzx eax, word [rcx + rax*2]
imul rax, rax, 0xc
lea rcx, [0x1800cf470]
mov eax, dword [rcx + rax + 4]
mov ecx, dword [rsp + 0x6c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x208], eax
jmp 0x180043d47
mov eax, dword [rsp + 0x6c]
mov rcx, qword [rsp + 0x220]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x208], eax
mov eax, dword [rsp + 0x6c]
cmp dword [rsp + 0x68], eax
je 0x180043d6b
mov eax, dword [rsp + 0x208]
cmp dword [rsp + 0x68], eax
je 0x180043d6b
mov dword [rsp + 0x3c4], 0
jmp 0x180043d76
mov dword [rsp + 0x3c4], 1
cmp dword [rsp + 0x78], 0x3b
jae 0x180043d8a
mov dword [rsp + 0x43c], 1
jmp 0x180043d95
mov dword [rsp + 0x43c], 0
mov eax, dword [rsp + 0x43c]
cmp dword [rsp + 0x3c4], eax
jne 0x180043ee3
cmp dword [rsp + 0x78], 0x2d
je 0x180043db7
cmp dword [rsp + 0x78], 0x47
jne 0x180043dcf
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
or eax, ecx
cmp dword [rsp + 0x70], eax
jl 0x180043e7f
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x7c4], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x7c0], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x7c0]
cmp dword [rsp + 0x7c4], eax
jge 0x180043e73
mov eax, dword [rsp + 0x74]
mov ecx, dword [rsp + 0x98]
lea eax, [rax + rcx + 3]
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180043e7d
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180043ee3
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x7cc], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x7c8], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x7c8]
cmp dword [rsp + 0x7cc], eax
jge 0x180043ed9
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x70]
mov dword [rax + 4], ecx
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180043ee3
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov dword [rsp + 0x15c], 0
cmp dword [rsp + 0x78], 0x70
je 0x180043fbe
mov rax, qword [rsp + 0x80]
add rax, 0x21
mov qword [rsp + 0x168], rax
cmp dword [rsp + 0x7c], 0
jle 0x180043fbc
cmp dword [rsp + 0x68], 0xff
jbe 0x180043f56
cmp dword [rsp + 0x78], 0x6f
jne 0x180043f3b
mov dword [rsp + 0x3c8], 1
jmp 0x180043f46
mov dword [rsp + 0x3c8], 0
mov eax, dword [rsp + 0x3c8]
mov dword [rsp + 0x3d0], eax
jmp 0x180043fae
xor edx, edx
mov eax, dword [rsp + 0x68]
mov ecx, 8
div ecx
mov eax, eax
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 1]
mov ecx, dword [rsp + 0x68]
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, edx
and eax, ecx
test eax, eax
je 0x180043f95
mov dword [rsp + 0x3cc], 1
jmp 0x180043fa0
mov dword [rsp + 0x3cc], 0
mov eax, dword [rsp + 0x3cc]
mov dword [rsp + 0x3d0], eax
mov eax, dword [rsp + 0x3d0]
mov dword [rsp + 0x15c], eax
jmp 0x180044033
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov eax, eax
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x168], rax
cmp dword [rsp + 0x7c], 0
jle 0x180044033
mov rax, qword [rsp + 0x80]
add rax, 3
mov r8d, dword [rsp + 0x94]
mov rdx, rax
mov ecx, dword [rsp + 0x68]
call fcn.1800bc510
mov dword [rsp + 0x15c], eax
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x168]
sub rcx, rax
mov rax, rcx
mov dword [rsp + 0x148], eax
mov rax, qword [rsp + 0x168]
movzx eax, byte [rax]
mov dword [rsp + 0x1b8], eax
mov eax, dword [rsp + 0x1b8]
sub eax, 0x62
mov dword [rsp + 0x1b8], eax
cmp dword [rsp + 0x1b8], 0xb
ja case.default.0x18004409a
movsxd rax, dword [rsp + 0x1b8]
lea rcx, [0x180000000]
mov eax, dword [rcx + rax*4 + 0x46e7c]
add rax, rcx
jmp rax
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x7d4], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x7d0], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x7d0]
cmp dword [rsp + 0x7d4], eax
jge 0x1800440fb
mov eax, dword [rsp + 0x148]
inc eax
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x180044105
mov eax, 0xffffffd5
jmp 0x180046360
cmp dword [rsp + 0x15c], 0
je 0x18004419f
mov rax, qword [rsp + 0x168]
movzx eax, byte [rax]
cmp eax, 0x6a
jne 0x18004413b
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x7dc], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x7d8], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x7d8]
cmp dword [rsp + 0x7dc], eax
jge 0x180044195
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18004419f
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180044693
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 4]
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x70], 0
jle 0x180044223
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x7e4], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x7e0], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x7e0]
cmp dword [rsp + 0x7e4], eax
jge 0x180044219
mov eax, dword [rsp + 0x148]
inc eax
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x180044223
mov eax, 0xffffffd5
jmp 0x180046360
cmp dword [rsp + 0x15c], 0
je 0x1800442ce
cmp dword [rsp + 0x70], 0
jle 0x180044260
mov rax, qword [rsp + 0x168]
movzx eax, byte [rax]
cmp eax, 0x6b
jne 0x180044260
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x7ec], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x7e8], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x7e8]
cmp dword [rsp + 0x7ec], eax
jge 0x1800442c4
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x70]
mov dword [rax + 4], ecx
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x1800442ce
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180044693
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x7f4], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x7f0], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x7f0]
cmp dword [rsp + 0x7f4], eax
jge 0x180044332
mov eax, dword [rsp + 0x148]
inc eax
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18004433c
mov eax, 0xffffffd5
jmp 0x180046360
cmp dword [rsp + 0x15c], 0
je 0x1800443db
mov rax, qword [rsp + 0x168]
movzx eax, byte [rax]
cmp eax, 0x6c
jne 0x180044372
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x7fc], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x7f8], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x7f8]
cmp dword [rsp + 0x7fc], eax
jge 0x1800443d1
mov eax, dword [rsp + 0x148]
inc eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x1800443db
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180044693
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 4]
mov dword [rsp + 0x70], eax
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x168]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x168]
movzx ecx, byte [rdx + rcx]
or eax, ecx
cmp dword [rsp + 0x70], eax
jl 0x18004448e
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x804], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x800], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x800]
cmp dword [rsp + 0x804], eax
jge 0x180044484
mov eax, dword [rsp + 0x148]
add eax, 5
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18004448e
mov eax, 0xffffffd5
jmp 0x180046360
cmp dword [rsp + 0x15c], 0
je 0x180044620
mov eax, 1
imul rax, rax, 3
mov rcx, qword [rsp + 0x168]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 4
mov rdx, qword [rsp + 0x168]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov dword [rsp + 0x3d4], eax
mov rax, qword [rsp + 0x168]
movzx eax, byte [rax]
cmp eax, 0x6d
jne 0x18004452f
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x168]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x168]
movzx ecx, byte [rdx + rcx]
or eax, ecx
cmp dword [rsp + 0x70], eax
jl 0x18004452f
mov eax, dword [rsp + 0x50]
dec eax
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x60]
sub rax, 0xc
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x3d4]
cmp dword [rsp + 0x70], eax
jl 0x1800445bc
cmp dword [rsp + 0x3d4], 0
je 0x1800445bc
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x80c], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x808], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x808]
cmp dword [rsp + 0x80c], eax
jge 0x1800445b0
mov eax, dword [rsp + 0x148]
add eax, 5
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x1800445ba
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180044620
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x814], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x810], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x810]
cmp dword [rsp + 0x814], eax
jge 0x180044616
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x70]
mov dword [rax + 4], ecx
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180044620
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180044693
cmp dword [rsp + 0x15c], 0
je 0x180044693
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x81c], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x818], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x818]
cmp dword [rsp + 0x81c], eax
jge 0x180044689
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x148]
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180044693
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov eax, dword [rsp + 0x214]
inc eax
mov dword [rsp + 0x214], eax
jmp 0x180046236
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov eax, eax
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x228], rax
mov rax, qword [rsp + 0xaa8]
mov qword [rsp + 0x1c0], rax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0xc]
cmp rax, 0x3ec
jae 0x18004475e
mov r8, qword [rsp + 0xa60]
mov edx, 4
lea rcx, [rsp + 0x1c0]
call fcn.180046ec0
mov dword [rsp + 0x14c], eax
cmp dword [rsp + 0x14c], 0
je 0x18004474e
mov eax, dword [rsp + 0x14c]
jmp 0x180046360
mov rax, qword [rsp + 0x1c0]
mov qword [rsp + 0xaa8], rax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 8]
mov rcx, qword [rsp + 0xaa8]
lea rax, [rcx + rax*4]
mov rcx, qword [rsp + 0x1c0]
mov ecx, dword [rcx + 0xc]
shl rcx, 2
sub rax, rcx
mov qword [rsp + 0x9b0], rax
mov rax, qword [rsp + 0x9b0]
add rax, 0x10
mov qword [rsp + 0x9e0], rax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0xc]
sub rax, 0x3ec
mov rcx, qword [rsp + 0x1c0]
mov dword [rcx + 0xc], eax
mov rax, qword [rsp + 0x228]
movzx eax, byte [rax]
cmp eax, 0x78
jne 0x180044818
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x228]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x228]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov eax, eax
mov rcx, qword [rsp + 0x228]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x228], rax
jmp 0x1800447bf
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0xaa8]
mov qword [rsp + 0x48], rcx
mov ecx, dword [rsp + 0xaa0]
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x38], 0x3e8
mov rcx, qword [rsp + 0x9e0]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], 2
mov rcx, qword [rsp + 0x9b0]
mov qword [rsp + 0x20], rcx
mov r9, rax
mov r8, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xa60]
call fcn.18003a9a0
mov dword [rsp + 0x14c], eax
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax + 0xc]
add rax, 0x3ec
mov rcx, qword [rsp + 0x1c0]
mov dword [rcx + 0xc], eax
cmp dword [rsp + 0x14c], 0
jge 0x1800448d3
cmp dword [rsp + 0x14c], 0xffffffff
je 0x1800448d3
mov eax, dword [rsp + 0x14c]
jmp 0x180046360
cmp dword [rsp + 0x14c], 0
jl 0x1800448ea
mov dword [rsp + 0x3dc], 1
jmp 0x1800448f5
mov dword [rsp + 0x3dc], 0
cmp dword [rsp + 0x78], 0x7e
je 0x180044913
cmp dword [rsp + 0x78], 0x80
je 0x180044913
mov dword [rsp + 0x3d8], 0
jmp 0x18004491e
mov dword [rsp + 0x3d8], 1
mov eax, dword [rsp + 0x3d8]
cmp dword [rsp + 0x3dc], eax
jne 0x1800449a2
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x824], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x820], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x820]
cmp dword [rsp + 0x824], eax
jge 0x180044998
mov rax, qword [rsp + 0x228]
add rax, 3
sub rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x1800449a2
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov dword [rsp + 0x20c], eax
mov eax, 1
imul rax, rax, 3
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
cmp eax, 0x76
je 0x180044a15
mov eax, 1
imul rax, rax, 3
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
cmp eax, 0x77
jne 0x180044aa7
lea rax, [rsp + 0x9e8]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], 3
mov rax, qword [rsp + 0xa60]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x88]
mov r8, qword [rsp + 0xa70]
mov rdx, qword [rsp + 0xa80]
mov rcx, qword [rsp + 0x80]
call fcn.180047040
mov dword [rsp + 0x158], eax
cmp dword [rsp + 0x158], 0
jge 0x180044a7a
mov eax, dword [rsp + 0x158]
jmp 0x180046360
cmp dword [rsp + 0x158], 0
jle 0x180044a89
jmp 0x180046236
mov rax, qword [rsp + 0x9e8]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov eax, 1
imul rax, rax, 3
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x90], al
movzx eax, byte [rsp + 0x90]
cmp eax, 0x90
je 0x180044af0
movzx eax, byte [rsp + 0x90]
cmp eax, 0x91
je 0x180044af0
movzx eax, byte [rsp + 0x90]
cmp eax, 0x93
jne 0x180044afa
mov eax, 0xffffffd8
jmp 0x180046360
movzx eax, byte [rsp + 0x90]
cmp eax, 0x94
je 0x180044b18
movzx eax, byte [rsp + 0x90]
cmp eax, 0xa2
jne 0x180044b8c
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x82c], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x828], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x828]
cmp dword [rsp + 0x82c], eax
jge 0x180044b7d
mov eax, dword [rsp + 0x74]
mov ecx, dword [rsp + 0x20c]
lea eax, [rax + rcx + 3]
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x180044b87
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x1800450db
movzx eax, byte [rsp + 0x90]
cmp eax, 0x95
jne 0x180044c07
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x834], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x830], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x830]
cmp dword [rsp + 0x834], eax
jge 0x180044bf8
mov eax, dword [rsp + 0x74]
add eax, 4
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x180044c02
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x1800450db
movzx eax, byte [rsp + 0x90]
cmp eax, 0x92
jne 0x180044d56
mov eax, 1
imul rax, rax, 4
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 5
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov dword [rsp + 0x838], eax
cmp dword [rsp + 0x838], 0xffff
je 0x180044c67
mov eax, 0xffffffd8
jmp 0x180046360
mov rax, qword [rsp + 0xa60]
cmp qword [rax + 0xa0], 0
je 0x180044ce2
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x840], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x83c], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x83c]
cmp dword [rsp + 0x840], eax
jge 0x180044cd6
mov eax, dword [rsp + 0x74]
add eax, 6
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x180044ce0
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180044d51
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x848], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x844], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x844]
cmp dword [rsp + 0x848], eax
jge 0x180044d47
mov eax, dword [rsp + 0x74]
mov ecx, dword [rsp + 0x20c]
lea eax, [rax + rcx + 3]
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x180044d51
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x1800450db
mov rax, qword [rsp + 0x80]
add rax, 3
mov qword [rsp + 0x4d0], rax
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x4d0]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x4d0]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov eax, eax
mov rcx, qword [rsp + 0x4d0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x230], rax
mov rax, qword [rsp + 0xaa8]
mov qword [rsp + 0x1c8], rax
mov rax, qword [rsp + 0x1c8]
mov eax, dword [rax + 0xc]
cmp rax, 0x3ec
jae 0x180044e1b
mov r8, qword [rsp + 0xa60]
mov edx, 4
lea rcx, [rsp + 0x1c8]
call fcn.180046ec0
mov dword [rsp + 0x150], eax
cmp dword [rsp + 0x150], 0
je 0x180044e0b
mov eax, dword [rsp + 0x150]
jmp 0x180046360
mov rax, qword [rsp + 0x1c8]
mov qword [rsp + 0xaa8], rax
mov rax, qword [rsp + 0x1c8]
mov eax, dword [rax + 8]
mov rcx, qword [rsp + 0xaa8]
lea rax, [rcx + rax*4]
mov rcx, qword [rsp + 0x1c8]
mov ecx, dword [rcx + 0xc]
shl rcx, 2
sub rax, rcx
mov qword [rsp + 0x9b8], rax
mov rax, qword [rsp + 0x9b8]
add rax, 0x10
mov qword [rsp + 0x9f0], rax
mov rax, qword [rsp + 0x1c8]
mov eax, dword [rax + 0xc]
sub rax, 0x3ec
mov rcx, qword [rsp + 0x1c8]
mov dword [rcx + 0xc], eax
mov rax, qword [rsp + 0x230]
movzx eax, byte [rax]
cmp eax, 0x78
jne 0x180044ed5
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x230]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x230]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov eax, eax
mov rcx, qword [rsp + 0x230]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x230], rax
jmp 0x180044e7c
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0xaa8]
mov qword [rsp + 0x48], rcx
mov ecx, dword [rsp + 0xaa0]
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x38], 0x3e8
mov rcx, qword [rsp + 0x9f0]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], 2
mov rcx, qword [rsp + 0x9b8]
mov qword [rsp + 0x20], rcx
mov r9, rax
mov r8, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x4d0]
mov rcx, qword [rsp + 0xa60]
call fcn.18003a9a0
mov dword [rsp + 0x150], eax
mov rax, qword [rsp + 0x1c8]
mov eax, dword [rax + 0xc]
add rax, 0x3ec
mov rcx, qword [rsp + 0x1c8]
mov dword [rcx + 0xc], eax
cmp dword [rsp + 0x150], 0
jge 0x180044f90
cmp dword [rsp + 0x150], 0xffffffff
je 0x180044f90
mov eax, dword [rsp + 0x150]
jmp 0x180046360
cmp dword [rsp + 0x150], 0
jl 0x180044fa7
mov dword [rsp + 0x3e4], 1
jmp 0x180044fb2
mov dword [rsp + 0x3e4], 0
movzx eax, byte [rsp + 0x90]
cmp eax, 0x7e
je 0x180044fdb
movzx eax, byte [rsp + 0x90]
cmp eax, 0x80
je 0x180044fdb
mov dword [rsp + 0x3e0], 0
jmp 0x180044fe6
mov dword [rsp + 0x3e0], 1
mov eax, dword [rsp + 0x3e0]
cmp dword [rsp + 0x3e4], eax
jne 0x18004506c
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x850], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x84c], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x84c]
cmp dword [rsp + 0x850], eax
jge 0x180045060
mov rax, qword [rsp + 0x230]
add rax, 3
sub rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18004506a
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x1800450db
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x858], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x854], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x854]
cmp dword [rsp + 0x858], eax
jge 0x1800450d1
mov eax, dword [rsp + 0x74]
mov ecx, dword [rsp + 0x20c]
lea eax, [rax + rcx + 3]
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x1800450db
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov rax, qword [rsp + 0xaa8]
mov qword [rsp + 0x1d0], rax
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x80]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov eax, eax
mov rcx, qword [rsp + 0x140]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x4d8], rax
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0x18]
cmp qword [rsp + 0x4d8], rax
jne 0x18004515a
mov dword [rsp + 0x3e8], 0
jmp 0x180045190
mov eax, 1
imul rax, rax, 3
mov rcx, qword [rsp + 0x4d8]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 4
mov rdx, qword [rsp + 0x4d8]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov dword [rsp + 0x3e8], eax
mov eax, dword [rsp + 0x3e8]
mov dword [rsp + 0x3ec], eax
mov rax, qword [rsp + 0x1d0]
mov eax, dword [rax + 0xc]
cmp rax, 0xbb8
jae 0x1800451f8
mov r8, qword [rsp + 0xa60]
mov edx, 0x7d0
lea rcx, [rsp + 0x1d0]
call fcn.180046ec0
mov dword [rsp + 0xb0], eax
cmp dword [rsp + 0xb0], 0
je 0x1800451e8
mov eax, dword [rsp + 0xb0]
jmp 0x180046360
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0xaa8], rax
mov rax, qword [rsp + 0x1d0]
mov eax, dword [rax + 8]
mov rcx, qword [rsp + 0xaa8]
lea rax, [rcx + rax*4]
mov rcx, qword [rsp + 0x1d0]
mov ecx, dword [rcx + 0xc]
shl rcx, 2
sub rax, rcx
mov qword [rsp + 0x238], rax
mov rax, qword [rsp + 0x238]
add rax, 0x1f40
mov qword [rsp + 0x9f8], rax
mov rax, qword [rsp + 0x1d0]
mov eax, dword [rax + 0xc]
sub rax, 0xbb8
mov rcx, qword [rsp + 0x1d0]
mov dword [rcx + 0xc], eax
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0xa0]
mov qword [rsp + 0x498], rax
jmp 0x180045287
mov rax, qword [rsp + 0x498]
mov rax, qword [rax]
mov qword [rsp + 0x498], rax
cmp qword [rsp + 0x498], 0
je 0x1800452c8
mov rax, qword [rsp + 0x498]
mov eax, dword [rax + 0x10]
cmp dword [rsp + 0x3ec], eax
jne 0x1800452c6
mov rax, qword [rsp + 0x498]
mov rax, qword [rax + 8]
cmp qword [rsp + 0x88], rax
jne 0x1800452c6
mov eax, 0xffffffcc
jmp 0x180046360
jmp 0x180045274
mov eax, dword [rsp + 0x3ec]
mov dword [rsp + 0xa38], eax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xa30], rax
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0xa0]
mov qword [rsp + 0xa28], rax
mov rax, qword [rsp + 0xa60]
lea rcx, [rsp + 0xa28]
mov qword [rax + 0xa0], rcx
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0xaa8]
mov qword [rsp + 0x48], rcx
mov ecx, dword [rsp + 0xaa0]
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x38], 0x3e8
mov rcx, qword [rsp + 0x9f8]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], 0x3e8
mov rcx, qword [rsp + 0x238]
mov qword [rsp + 0x20], rcx
mov r9, rax
mov r8, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x4d8]
mov rcx, qword [rsp + 0xa60]
call fcn.18003a9a0
mov dword [rsp + 0xb0], eax
mov rax, qword [rsp + 0x1d0]
mov eax, dword [rax + 0xc]
add rax, 0xbb8
mov rcx, qword [rsp + 0x1d0]
mov dword [rcx + 0xc], eax
mov rax, qword [rsp + 0xa60]
mov rcx, qword [rsp + 0xa28]
mov qword [rax + 0xa0], rcx
cmp dword [rsp + 0xb0], 0
jne 0x1800453da
mov eax, 0xffffffd9
jmp 0x180046360
cmp dword [rsp + 0xb0], 0
jle 0x18004560b
mov eax, dword [rsp + 0xb0]
lea eax, [rax + rax - 2]
mov dword [rsp + 0xb0], eax
jmp 0x18004540d
mov eax, dword [rsp + 0xb0]
sub eax, 2
mov dword [rsp + 0xb0], eax
cmp dword [rsp + 0xb0], 0
jl 0x180045609
mov eax, dword [rsp + 0xb0]
inc eax
cdqe
movsxd rcx, dword [rsp + 0xb0]
mov rdx, qword [rsp + 0x238]
mov rdi, qword [rsp + 0x238]
mov rcx, qword [rdi + rcx*8]
mov rax, qword [rdx + rax*8]
sub rax, rcx
mov qword [rsp + 0x4e8], rax
cmp dword [rsp + 0x94], 0
je 0x180045514
movsxd rax, dword [rsp + 0xb0]
mov rcx, qword [rsp + 0x238]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rsp + 0x100]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x4e0], rax
mov eax, dword [rsp + 0xb0]
inc eax
cdqe
mov rcx, qword [rsp + 0x238]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rsp + 0x100]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xa00], rax
mov rax, qword [rsp + 0xa00]
cmp qword [rsp + 0x4e0], rax
jae 0x180045514
mov rax, qword [rsp + 0x4e0]
movzx eax, byte [rax]
and eax, 0xc0
mov dword [rsp + 0x85c], eax
mov rax, qword [rsp + 0x4e0]
inc rax
mov qword [rsp + 0x4e0], rax
cmp dword [rsp + 0x85c], 0x80
jne 0x180045512
mov rax, qword [rsp + 0x4e8]
dec rax
mov qword [rsp + 0x4e8], rax
jmp 0x1800454b6
cmp qword [rsp + 0x4e8], 0
jbe 0x18004559d
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x864], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x860], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x860]
cmp dword [rsp + 0x864], eax
jge 0x180045591
mov eax, dword [rsp + 0x74]
add eax, 3
neg eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x4e8]
dec rax
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18004559b
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180045604
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x86c], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x868], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x868]
cmp dword [rsp + 0x86c], eax
jge 0x1800455fa
mov eax, dword [rsp + 0x74]
add eax, 3
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x180045604
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x1800453fc
jmp 0x180045621
cmp dword [rsp + 0xb0], 0xffffffff
je 0x180045621
mov eax, dword [rsp + 0xb0]
jmp 0x180046360
jmp 0x180046236
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x4a0], rax
mov rax, qword [rsp + 0xaa8]
mov qword [rsp + 0x1d8], rax
mov rax, qword [rsp + 0x1d8]
mov eax, dword [rax + 0xc]
cmp rax, 0x3ec
jae 0x1800456a0
mov r8, qword [rsp + 0xa60]
mov edx, 4
lea rcx, [rsp + 0x1d8]
call fcn.180046ec0
mov dword [rsp + 0x160], eax
cmp dword [rsp + 0x160], 0
je 0x180045690
mov eax, dword [rsp + 0x160]
jmp 0x180046360
mov rax, qword [rsp + 0x1d8]
mov qword [rsp + 0xaa8], rax
mov rax, qword [rsp + 0x1d8]
mov eax, dword [rax + 8]
mov rcx, qword [rsp + 0xaa8]
lea rax, [rcx + rax*4]
mov rcx, qword [rsp + 0x1d8]
mov ecx, dword [rcx + 0xc]
shl rcx, 2
sub rax, rcx
mov qword [rsp + 0x4f0], rax
mov rax, qword [rsp + 0x4f0]
add rax, 0x10
mov qword [rsp + 0xa08], rax
mov rax, qword [rsp + 0x1d8]
mov eax, dword [rax + 0xc]
sub rax, 0x3ec
mov rcx, qword [rsp + 0x1d8]
mov dword [rcx + 0xc], eax
cmp dword [rsp + 0x78], 0x98
jne 0x18004573a
mov dword [rsp + 0x3f0], 1
mov rax, qword [rsp + 0x80]
inc rax
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax]
mov dword [rsp + 0x78], eax
jmp 0x180045745
mov dword [rsp + 0x3f0], 0
mov qword [rsp + 0x978], 0
jmp 0x180045766
mov rax, qword [rsp + 0x978]
inc rax
mov qword [rsp + 0x978], rax
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0xaa8]
mov qword [rsp + 0x48], rcx
mov ecx, dword [rsp + 0xaa0]
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x38], 0x3e8
mov rcx, qword [rsp + 0xa08]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], 2
mov rcx, qword [rsp + 0x4f0]
mov qword [rsp + 0x20], rcx
mov r9, rax
mov r8, qword [rsp + 0x4a0]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xa60]
call fcn.18003a9a0
mov dword [rsp + 0x160], eax
cmp dword [rsp + 0x160], 0
jge 0x180045807
cmp dword [rsp + 0x160], 0xffffffff
je 0x180045805
mov eax, dword [rsp + 0x160]
jmp 0x180046360
jmp 0x18004586c
mov eax, 8
imul rax, rax, 1
mov ecx, 8
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x4f0]
mov rdi, qword [rsp + 0x4f0]
mov rcx, qword [rdi + rcx]
mov rax, qword [rdx + rax]
sub rax, rcx
mov qword [rsp + 0x248], rax
cmp qword [rsp + 0x248], 0
jne 0x180045849
jmp 0x18004586c
mov rax, qword [rsp + 0x248]
mov rcx, qword [rsp + 0x4a0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x4a0], rax
jmp 0x180045753
mov rax, qword [rsp + 0x1d8]
mov eax, dword [rax + 0xc]
add rax, 0x3ec
mov rcx, qword [rsp + 0x1d8]
mov dword [rcx + 0xc], eax
cmp qword [rsp + 0x978], 0
ja 0x1800458a1
cmp dword [rsp + 0x3f0], 0
je 0x180045aed
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x240], rax
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x240]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x240]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov eax, eax
mov rcx, qword [rsp + 0x240]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x240], rax
mov rax, qword [rsp + 0x240]
movzx eax, byte [rax]
cmp eax, 0x78
je 0x1800458b1
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x240]
sub rcx, rax
mov rax, rcx
add rax, 3
mov dword [rsp + 0x3f4], eax
mov eax, dword [rsp + 0x110]
inc eax
cmp eax, dword [rsp + 0x50]
jl 0x1800459cb
cmp dword [rsp + 0x54], 0
jne 0x1800459cb
mov rax, qword [rsp + 0x4a0]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x7c], 0
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x874], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x870], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x870]
cmp dword [rsp + 0x874], eax
jge 0x1800459bc
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x3f4]
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x1800459c6
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180045aed
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x4a8], rax
mov rax, qword [rsp + 0x4a0]
mov qword [rsp + 0x9c0], rax
mov rax, qword [rsp + 0x4a8]
mov rcx, qword [rsp + 0x9c0]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x248], rax
cmp dword [rsp + 0x94], 0
je 0x180045a71
mov rax, qword [rsp + 0x9c0]
cmp qword [rsp + 0x4a8], rax
jae 0x180045a71
mov rax, qword [rsp + 0x4a8]
movzx eax, byte [rax]
and eax, 0xc0
mov dword [rsp + 0x878], eax
mov rax, qword [rsp + 0x4a8]
inc rax
mov qword [rsp + 0x4a8], rax
cmp dword [rsp + 0x878], 0x80
jne 0x180045a6f
mov rax, qword [rsp + 0x248]
dec rax
mov qword [rsp + 0x248], rax
jmp 0x180045a13
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x880], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x87c], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x87c]
cmp dword [rsp + 0x880], eax
jge 0x180045ae3
mov eax, dword [rsp + 0x3f4]
neg eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x248]
dec rax
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180045aed
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov rax, qword [rsp + 0xaa8]
mov qword [rsp + 0x1e0], rax
mov rax, qword [rsp + 0x1e0]
mov eax, dword [rax + 0xc]
cmp rax, 0x3ec
jae 0x180045b5c
mov r8, qword [rsp + 0xa60]
mov edx, 4
lea rcx, [rsp + 0x1e0]
call fcn.180046ec0
mov dword [rsp + 0x164], eax
cmp dword [rsp + 0x164], 0
je 0x180045b4c
mov eax, dword [rsp + 0x164]
jmp 0x180046360
mov rax, qword [rsp + 0x1e0]
mov qword [rsp + 0xaa8], rax
mov rax, qword [rsp + 0x1e0]
mov eax, dword [rax + 8]
mov rcx, qword [rsp + 0xaa8]
lea rax, [rcx + rax*4]
mov rcx, qword [rsp + 0x1e0]
mov ecx, dword [rcx + 0xc]
shl rcx, 2
sub rax, rcx
mov qword [rsp + 0x250], rax
mov rax, qword [rsp + 0x250]
add rax, 0x10
mov qword [rsp + 0xa10], rax
mov rax, qword [rsp + 0x1e0]
mov eax, dword [rax + 0xc]
sub rax, 0x3ec
mov rcx, qword [rsp + 0x1e0]
mov dword [rcx + 0xc], eax
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0xaa8]
mov qword [rsp + 0x48], rcx
mov ecx, dword [rsp + 0xaa0]
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x38], 0x3e8
mov rcx, qword [rsp + 0xa10]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], 2
mov rcx, qword [rsp + 0x250]
mov qword [rsp + 0x20], rcx
mov r9, rax
mov r8, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xa60]
call fcn.18003a9a0
mov dword [rsp + 0x164], eax
mov rax, qword [rsp + 0x1e0]
mov eax, dword [rax + 0xc]
add rax, 0x3ec
mov rcx, qword [rsp + 0x1e0]
mov dword [rcx + 0xc], eax
cmp dword [rsp + 0x164], 0
jl 0x180046131
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x198], rax
mov eax, 8
imul rax, rax, 1
mov ecx, 8
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x250]
mov rdi, qword [rsp + 0x250]
mov rcx, qword [rdi + rcx]
mov rax, qword [rdx + rax]
sub rax, rcx
mov qword [rsp + 0x258], rax
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x198]
movzx eax, byte [rcx + rax]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x198]
movzx ecx, byte [rdx + rcx]
or eax, ecx
mov eax, eax
mov rcx, qword [rsp + 0x198]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x198], rax
mov rax, qword [rsp + 0x198]
movzx eax, byte [rax]
cmp eax, 0x78
je 0x180045cab
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x198]
sub rcx, rax
mov rax, rcx
add rax, 3
mov dword [rsp + 0x210], eax
mov rax, qword [rsp + 0x198]
movzx eax, byte [rax]
cmp eax, 0x7a
je 0x180045d50
mov rax, qword [rsp + 0x198]
movzx eax, byte [rax]
cmp eax, 0x7b
je 0x180045d50
mov dword [rsp + 0x3f8], 0xffffffff
jmp 0x180045da1
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x198]
sub rcx, rax
mov rax, rcx
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x198]
movzx ecx, byte [rdx + rcx]
shl ecx, 8
mov edx, 1
imul rdx, rdx, 2
mov rdi, qword [rsp + 0x198]
movzx edx, byte [rdi + rdx]
or ecx, edx
mov ecx, ecx
sub rax, rcx
mov dword [rsp + 0x3f8], eax
mov eax, dword [rsp + 0x3f8]
mov dword [rsp + 0x1bc], eax
cmp qword [rsp + 0x258], 0
jne 0x180045e26
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x888], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x884], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x884]
cmp dword [rsp + 0x888], eax
jge 0x180045e17
mov rax, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x210]
mov dword [rax], ecx
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x180045e21
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x18004612f
mov eax, dword [rsp + 0x110]
inc eax
cmp eax, dword [rsp + 0x50]
jl 0x180045f6b
cmp dword [rsp + 0x54], 0
jne 0x180045f6b
mov rax, qword [rsp + 0x258]
mov rcx, qword [rsp + 0x88]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x7c], 0
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x890], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x88c], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x88c]
cmp dword [rsp + 0x890], eax
jge 0x180045ec7
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x210]
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x180045ed1
mov eax, 0xffffffd5
jmp 0x180046360
cmp dword [rsp + 0x1bc], 0
jl 0x180045f66
mov rax, qword [rsp + 0x1e8]
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x110], 0xffffffff
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x898], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x894], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x894]
cmp dword [rsp + 0x898], eax
jge 0x180045f5c
mov rax, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x1bc]
mov dword [rax], ecx
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x180045f66
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x18004612f
cmp dword [rsp + 0x94], 0
je 0x18004602d
mov eax, 8
imul rax, rax, 0
mov rcx, qword [rsp + 0x250]
mov rax, qword [rcx + rax]
mov rcx, qword [rsp + 0x100]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x4f8], rax
mov eax, 8
imul rax, rax, 1
mov rcx, qword [rsp + 0x250]
mov rax, qword [rcx + rax]
mov rcx, qword [rsp + 0x100]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xa18], rax
mov rax, qword [rsp + 0xa18]
cmp qword [rsp + 0x4f8], rax
jae 0x18004602d
mov rax, qword [rsp + 0x4f8]
movzx eax, byte [rax]
and eax, 0xc0
mov dword [rsp + 0x89c], eax
mov rax, qword [rsp + 0x4f8]
inc rax
mov qword [rsp + 0x4f8], rax
cmp dword [rsp + 0x89c], 0x80
jne 0x18004602b
mov rax, qword [rsp + 0x258]
dec rax
mov qword [rsp + 0x258], rax
jmp 0x180045fcf
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x8a4], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x8a0], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x8a0]
cmp dword [rsp + 0x8a4], eax
jge 0x18004609f
mov eax, dword [rsp + 0x210]
neg eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x258]
dec rax
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x1800460a9
mov eax, 0xffffffd5
jmp 0x180046360
cmp dword [rsp + 0x1bc], 0
jl 0x18004612f
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x8ac], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x8a8], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x8a8]
cmp dword [rsp + 0x8ac], eax
jge 0x180046125
mov eax, dword [rsp + 0x1bc]
neg eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x258]
dec rax
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x58]
add rax, 0xc
mov qword [rsp + 0x58], rax
jmp 0x18004612f
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046147
cmp dword [rsp + 0x164], 0xffffffff
je 0x180046147
mov eax, dword [rsp + 0x164]
jmp 0x180046360
jmp 0x180046236
lea rax, [rsp + 0xa20]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], 0
mov rax, qword [rsp + 0xa60]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x88]
mov r8, qword [rsp + 0xa70]
mov rdx, qword [rsp + 0xa80]
mov rcx, qword [rsp + 0x80]
call fcn.180047040
mov dword [rsp + 0x158], eax
cmp dword [rsp + 0x158], 0
jge 0x1800461b1
mov eax, dword [rsp + 0x158]
jmp 0x180046360
cmp dword [rsp + 0x158], 0
jne 0x18004622a
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x8b4], eax
mov eax, dword [rsp + 0xa98]
mov dword [rsp + 0x8b0], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x8b0]
cmp dword [rsp + 0x8b4], eax
jge 0x180046220
mov eax, dword [rsp + 0xa20]
mov ecx, dword [rsp + 0x74]
add ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x60]
add rax, 0xc
mov qword [rsp + 0x60], rax
jmp 0x18004622a
mov eax, 0xffffffd5
jmp 0x180046360
jmp 0x180046236
mov eax, 0xffffffd6
jmp 0x180046360
jmp 0x18003b666
cmp dword [rsp + 0x54], 0
jg 0x1800462f1
cmp dword [rsp + 0xd0], 0
je 0x1800462ef
mov eax, 4
imul rax, rax, 1
mov rcx, qword [rsp + 0xa90]
mov eax, dword [rcx + rax]
cmp dword [rsp + 0x214], eax
je 0x1800462ef
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 0x20
test eax, eax
jne 0x1800462a4
mov rax, qword [rsp + 0xa60]
mov eax, dword [rax + 0x6c]
and eax, 0x10
test eax, eax
je 0x1800462ef
cmp dword [rsp + 0xb4], 0
jge 0x1800462ef
cmp dword [rsp + 0xac], 0
jne 0x1800462e4
mov rax, qword [rsp + 0x138]
cmp qword [rsp + 0x88], rax
jb 0x1800462ef
mov rax, qword [rsp + 0xa60]
mov rax, qword [rax + 0x30]
cmp qword [rsp + 0x88], rax
ja 0x1800462e4
mov rax, qword [rsp + 0xa60]
cmp dword [rax + 0x7c], 0
je 0x1800462ef
mov dword [rsp + 0xb4], 0xfffffffe
jmp 0x180046311
movsxd rax, dword [rsp + 0x7c]
mov rcx, qword [rsp + 0x88]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
jmp 0x18003b295
cmp dword [rsp + 0xb4], 0
jl 0x180046359
mov rax, qword [rsp + 0xa60]
mov rcx, qword [rsp + 0xa60]
mov ecx, dword [rcx + 0x70]
mov eax, dword [rax + 0x6c]
or eax, ecx
and eax, 0x20000000
test eax, eax
je 0x180046359
mov rax, qword [rsp + 0x138]
cmp qword [rsp + 0x88], rax
jae 0x180046359
mov dword [rsp + 0xb4], 0xffffffff
mov eax, dword [rsp + 0xb4]
add rsp, 0xa48
pop rdi
pop rsi
ret