Function at 0x18003a190
Capabilities:
Reference sql statements

Disassembly:
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0xce8
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax + 0x88]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x48], 0
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
mov byte [rsp + 0x79], 0
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x64]
mov byte [rsp + 0x78], al
mov dword [rsp + 0xa4], 0
mov qword [rsp + 0x58], 0
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax + 0x68]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], 0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x60], 0
mov dword [rsp + 0xa0], 0
mov rax, qword [rsp + 0xd00]
cmp dword [rax + 0xd0], 0
je 0x18003a267
mov rcx, qword [rsp + 0xd00]
call fcn.18002cd80
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x200], 0
je 0x18003a2b9
mov rax, qword [rsp + 0xd00]
mov eax, dword [rax + 0xe4]
mov dword [rsp + 0xa8], eax
xor edx, edx
mov eax, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0x40]
div dword [rcx + 0x210]
mov eax, edx
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx + 0x210]
sub ecx, eax
mov eax, ecx
mov eax, eax
mov qword [rsp + 0x68], rax
jmp 0x18003a2c2
mov qword [rsp + 0x68], 0xffffffffffffffff
mov rax, qword [rsp + 0xd00]
cmp dword [rax + 0x34], 7
jne 0x18003a2d5
jmp 0x180045bdc
mov rax, qword [rsp + 0xd00]
mov dword [rax + 0x34], 0
mov rax, qword [rsp + 0xd00]
mov qword [rax + 0x48], 0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x288], 0
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x188]
test eax, eax
je 0x18003a317
jmp 0x180045c07
mov rax, qword [rsp + 0xd00]
movsxd rax, dword [rax + 0x30]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
jmp 0x18003a353
mov rax, qword [rsp + 0x88]
add rax, 0x18
mov qword [rsp + 0x88], rax
xor eax, eax
cmp eax, 1
je 0x1800459a4
mov rax, qword [rsp + 0x58]
inc rax
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
mov dword [rsp + 0xb90], eax
cmp dword [rsp + 0xb90], 0xb5
ja case.0x18003a3a7.88
movsxd rax, dword [rsp + 0xb90]
lea rcx, [0x180000000]
mov eax, dword [rcx + rax*4 + 0x45c20]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 8]
dec eax
cdqe
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x188]
test eax, eax
je 0x18003a3e6
jmp 0x180045c07
mov rax, qword [rsp + 0x68]
cmp qword [rsp + 0x58], rax
jb 0x18003a44f
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x200], 0
je 0x18003a44f
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x210]
mov rcx, qword [rsp + 0x68]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x208]
mov rax, qword [rsp + 0x40]
call qword [rax + 0x200]
test eax, eax
je 0x18003a44d
mov qword [rsp + 0x68], 0xffffffffffffffff
mov dword [rsp + 0x48], 9
jmp 0x1800459a4
jmp 0x18003a3e6
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov word [rax + 0x14], 4
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, 0x18
idiv rcx
cdqe
mov rcx, qword [rsp + 0x98]
mov qword [rcx], rax
jmp case.0x18003a3a7.8
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 4
test eax, eax
je 0x18003a522
mov rax, qword [rsp + 0x88]
mov rax, qword [rsp + 0x98]
mov rax, qword [rax]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
jmp 0x18003a52a
mov rax, qword [rsp + 0x88]
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0xc]
dec eax
cdqe
mov rcx, qword [rsp + 0x60]
mov qword [rcx], rax
mov rax, qword [rsp + 0x60]
mov word [rax + 0x14], 4
mov rax, qword [rsp + 0x88]
cmp dword [rax + 8], 0
jne 0x18003a587
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 8]
dec eax
cdqe
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov rax, qword [rax]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 8]
dec eax
cdqe
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x98]
mov word [rax + 0x14], 0
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov word [rax + 0x14], 4
mov rax, qword [rsp + 0x98]
mov eax, dword [rax]
mov dword [rsp + 0xb8], eax
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, 0x18
idiv rcx
cdqe
mov rcx, qword [rsp + 0x98]
mov qword [rcx], rax
movsxd rax, dword [rsp + 0xb8]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 1
test eax, eax
jne case.0x18003a3a7.69
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0xd00]
cmp qword [rax + 0x108], 0
je 0x18003a837
mov rax, qword [rsp + 0x88]
cmp dword [rax + 4], 0
jne 0x18003a837
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax + 0x108]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xd00]
mov rcx, qword [rsp + 0xc0]
mov rcx, qword [rcx + 8]
mov qword [rax + 0x108], rcx
mov rax, qword [rsp + 0xd00]
mov eax, dword [rax + 0x118]
dec eax
mov rcx, qword [rsp + 0xd00]
mov dword [rcx + 0x118], eax
mov rax, qword [rsp + 0xd00]
mov rdx, qword [rax + 0x38]
mov rcx, qword [rsp + 0x40]
call fcn.18002fc40
mov rcx, qword [rsp + 0xc0]
call fcn.18002eb20
mov dword [rsp + 0xc8], eax
mov rax, qword [rsp + 0x88]
cmp dword [rax + 8], 4
jne 0x18003a7e5
movsxd rax, dword [rsp + 0xc8]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x88]
mov eax, dword [rcx + rax + 8]
dec eax
mov dword [rsp + 0xc8], eax
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax + 0x88]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax + 0x68]
mov qword [rsp + 0x90], rax
movsxd rax, dword [rsp + 0xc8]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0xd00]
mov rcx, qword [rsp + 0x88]
mov ecx, dword [rcx + 4]
mov dword [rax + 0x34], ecx
mov rax, qword [rsp + 0xd00]
mov rcx, qword [rsp + 0x88]
movzx ecx, byte [rcx + 8]
mov byte [rax + 0xc4], cl
mov rax, qword [rsp + 0xd00]
cmp dword [rax + 0x34], 0
je 0x18003a98d
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
test eax, eax
je 0x18003a904
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
dec eax
cdqe
lea rcx, [0x180128048]
mov r8, qword [rcx + rax*8]
lea rdx, str._s_constraint_failed
mov rcx, qword [rsp + 0xd00]
call fcn.18002f9e0
mov rax, qword [rsp + 0x88]
cmp qword [rax + 0x10], 0
je 0x18003a902
mov rax, qword [rsp + 0x88]
mov r9, qword [rax + 0x10]
mov rax, qword [rsp + 0xd00]
mov r8, qword [rax + 0xa8]
lea rdx, str._z:__s
mov rcx, qword [rsp + 0x40]
call fcn.18002f4f0
mov rcx, qword [rsp + 0xd00]
mov qword [rcx + 0xa8], rax
jmp 0x18003a924
mov rax, qword [rsp + 0x88]
mov r8, qword [rax + 0x10]
lea rdx, [0x18014e418]
mov rcx, qword [rsp + 0xd00]
call fcn.18002f9e0
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, 0x18
idiv rcx
mov dword [rsp + 0xc8], eax
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax + 0xa8]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0xd00]
mov r9, qword [rax + 0xf8]
mov r8d, dword [rsp + 0xc8]
lea rdx, str.abort_at__d_in___s_:__s
mov rax, qword [rsp + 0x88]
mov ecx, dword [rax + 4]
call fcn.18000d080
mov rcx, qword [rsp + 0xd00]
call fcn.18002c790
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 5
jne 0x18003a9b6
mov rax, qword [rsp + 0xd00]
mov dword [rax + 0x34], 5
jmp 0x18003a9e7
mov rax, qword [rsp + 0xd00]
cmp dword [rax + 0x34], 0
je 0x18003a9d1
mov dword [rsp + 0xb94], 1
jmp 0x18003a9dc
mov dword [rsp + 0xb94], 0x65
mov eax, dword [rsp + 0xb94]
mov dword [rsp + 0x48], eax
jmp 0x180045b0e
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd00]
call fcn.180055560
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x60]
mov qword [rcx], rax
jmp case.0x18003a3a7.88
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd00]
call fcn.180055560
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
mov rcx, qword [rsp + 0x60]
mov rax, qword [rax]
mov qword [rcx], rax
jmp case.0x18003a3a7.88
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd00]
call fcn.180055560
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov word [rax + 0x14], 8
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
mov rcx, qword [rsp + 0x60]
movlpd xmm0, qword [rax]
movsd qword [rcx], xmm0
jmp case.0x18003a3a7.88
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd00]
call fcn.180055560
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax + 0x10]
call fcn.18000db50
mov rcx, qword [rsp + 0x88]
mov dword [rcx + 4], eax
movzx eax, byte [rsp + 0x78]
cmp eax, 1
je 0x18003abad
mov qword [rsp + 0x20], 0
mov r9b, 1
mov r8, 0xffffffffffffffff
mov rax, qword [rsp + 0x88]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0x60]
call fcn.18002b360
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18003ab15
jmp 0x180045bbb
movzx eax, byte [rsp + 0x78]
mov edx, eax
mov rcx, qword [rsp + 0x60]
call fcn.180030330
test eax, eax
je 0x18003ab2f
jmp 0x180045bdc
mov rax, qword [rsp + 0x60]
mov dword [rax + 0x20], 0
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x14]
or eax, 0x2000
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x88]
movsx eax, byte [rax + 1]
cmp eax, 0xfffffffa
jne 0x18003ab79
mov rax, qword [rsp + 0x88]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0x40]
call fcn.18000bb30
mov rax, qword [rsp + 0x88]
mov byte [rax + 1], 0xfa
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx + 8]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x60]
mov ecx, dword [rcx + 0x10]
mov dword [rax + 4], ecx
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx + 0x88]
cmp dword [rax + 4], ecx
jle 0x18003abca
jmp 0x180045bbb
mov rax, qword [rsp + 0x88]
mov byte [rax], 0x49
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd00]
call fcn.180055560
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov word [rax + 0x14], 0x2202
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x88]
mov rcx, qword [rcx + 0x10]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x88]
mov ecx, dword [rcx + 4]
mov dword [rax + 0x10], ecx
mov rax, qword [rsp + 0x60]
movzx ecx, byte [rsp + 0x78]
mov byte [rax + 0x16], cl
mov rax, qword [rsp + 0x88]
cmp dword [rax + 0xc], 0
jle 0x18003ac81
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
mov rcx, qword [rsp + 0x50]
cmp qword [rcx], rax
jne 0x18003ac81
mov rax, qword [rsp + 0x60]
mov word [rax + 0x14], 0x2210
jmp case.0x18003a3a7.88
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd00]
call fcn.180055560
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x88]
mov ecx, dword [rcx + 8]
mov eax, dword [rax + 0xc]
sub eax, ecx
mov dword [rsp + 0xcc], eax
mov rax, qword [rsp + 0x88]
cmp dword [rax + 4], 0
je 0x18003acda
mov dword [rsp + 0xb98], 0x101
jmp 0x18003ace5
mov dword [rsp + 0xb98], 1
movzx eax, word [rsp + 0xb98]
mov word [rsp + 0xd0], ax
mov rax, qword [rsp + 0x60]
movzx ecx, word [rsp + 0xd0]
mov word [rax + 0x14], cx
mov rax, qword [rsp + 0x60]
mov dword [rax + 0x10], 0
cmp dword [rsp + 0xcc], 0
jle 0x18003ad63
mov rax, qword [rsp + 0x60]
add rax, 0x38
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x60]
call fcn.18002b0d0
mov rax, qword [rsp + 0x60]
movzx ecx, word [rsp + 0xd0]
mov word [rax + 0x14], cx
mov rax, qword [rsp + 0x60]
mov dword [rax + 0x10], 0
mov eax, dword [rsp + 0xcc]
dec eax
mov dword [rsp + 0xcc], eax
jmp 0x18003ad12
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x14]
and eax, 0xffffffc0
or eax, 1
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x14], ax
jmp case.0x18003a3a7.88
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd00]
call fcn.180055560
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x88]
cmp qword [rax + 0x10], 0
jne 0x18003adfb
mov rax, qword [rsp + 0x88]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x60]
call fcn.180032810
mov rcx, qword [rsp + 0x60]
call fcn.18002bbf0
test eax, eax
je 0x18003adf9
jmp 0x180045bdc
jmp 0x18003ae2c
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, rax
mov rax, qword [rsp + 0x88]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0x60]
call fcn.18002b360
mov rax, qword [rsp + 0x60]
movzx ecx, byte [rsp + 0x78]
mov byte [rax + 0x16], cl
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 4]
dec eax
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0xd00]
add rax, qword [rcx + 0x80]
mov qword [rsp + 0xd8], rax
mov rcx, qword [rsp + 0xd8]
call fcn.180031e20
test eax, eax
je 0x18003ae7e
jmp 0x180045bbb
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x14]
and eax, 0x9000
test eax, eax
je 0x18003aebd
mov rcx, qword [rsp + 0x60]
call fcn.18002b0d0
mov r8d, 0x18
mov rdx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x60]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x14]
and eax, 0xffffafff
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x14]
or eax, 0x2040
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x14], ax
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0xe0], eax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 4]
mov dword [rsp + 0xe8], eax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 8]
mov dword [rsp + 0xe4], eax
movsxd rax, dword [rsp + 0xe8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
movsxd rax, dword [rsp + 0xe4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x60]
call fcn.1800546d0
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x14]
and eax, 0x4000
test eax, eax
je 0x18003afb6
mov rcx, qword [rsp + 0x60]
call fcn.18002baa0
test eax, eax
je 0x18003afb6
jmp 0x180045bdc
mov rax, qword [rsp + 0x98]
add rax, 0x38
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x60]
add rax, 0x38
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0xe0]
dec eax
mov dword [rsp + 0xe0], eax
cmp dword [rsp + 0xe0], 0
jne 0x18003af7f
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0xec], eax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
xor eax, eax
cmp eax, 1
je 0x18003b11a
mov r8d, 0x4000
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x60]
call fcn.180036fb0
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x14]
and eax, 0x4000
test eax, eax
je 0x18003b09a
mov rcx, qword [rsp + 0x60]
call fcn.18002baa0
test eax, eax
je 0x18003b09a
jmp 0x180045bdc
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x14]
and eax, 0x800
test eax, eax
je 0x18003b0d6
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
and eax, 2
test eax, eax
je 0x18003b0d6
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x14]
and eax, 0xfffff7ff
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x14], ax
mov eax, dword [rsp + 0xec]
mov ecx, dword [rsp + 0xec]
dec ecx
mov dword [rsp + 0xec], ecx
test eax, eax
jne 0x18003b0f3
jmp 0x18003b11a
mov rax, qword [rsp + 0x60]
add rax, 0x38
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x98]
add rax, 0x38
mov qword [rsp + 0x98], rax
jmp 0x18003b052
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov r8d, 0x4000
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x60]
call fcn.180036fb0
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x98]
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x60]
call fcn.1800320b0
jmp case.0x18003a3a7.88
xor edx, edx
mov rcx, qword [rsp + 0xd00]
call fcn.18002f930
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18003b207
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0xd00]
mov eax, dword [rax + 0x2c]
add eax, 2
or eax, 1
mov rcx, qword [rsp + 0xd00]
mov dword [rcx + 0x2c], eax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0xd00]
mov qword [rcx + 0xa0], rax
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x67]
test eax, eax
je 0x18003b267
jmp 0x180045bdc
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x6e]
and eax, 4
test eax, eax
je 0x18003b29e
xor r9d, r9d
mov r8, qword [rsp + 0xd00]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax + 0x100]
mov ecx, 4
mov rax, qword [rsp + 0x40]
call qword [rax + 0xf8]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, 0x18
idiv rcx
inc eax
mov rcx, qword [rsp + 0xd00]
mov dword [rcx + 0x30], eax
mov dword [rsp + 0x48], 0x64
jmp 0x180045b0e
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
mov word [rsp + 0xf0], ax
movzx eax, word [rsp + 0xf0]
mov rcx, qword [rsp + 0x70]
movzx ecx, word [rcx + 0x14]
or eax, ecx
and eax, 1
test eax, eax
je 0x18003b381
mov rcx, qword [rsp + 0x60]
call fcn.18002b0d0
jmp case.0x18003a3a7.88
movzx eax, word [rsp + 0xf0]
and eax, 0x12
test eax, eax
jne 0x18003b3c7
xor r8d, r8d
movzx edx, byte [rsp + 0x78]
mov rcx, qword [rsp + 0x98]
call fcn.180030ec0
test eax, eax
je 0x18003b3ae
jmp 0x180045bdc
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 0xfffffffd
mov word [rsp + 0xf0], ax
jmp 0x18003b405
movzx eax, word [rsp + 0xf0]
and eax, 0x400
test eax, eax
je 0x18003b405
mov rcx, qword [rsp + 0x98]
call fcn.18002bbf0
test eax, eax
je 0x18003b3ee
jmp 0x180045bdc
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 0xfffffffd
mov word [rsp + 0xf0], ax
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 0x14]
mov word [rsp + 0x100], ax
movzx eax, word [rsp + 0x100]
and eax, 0x12
test eax, eax
jne 0x18003b456
xor r8d, r8d
movzx edx, byte [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
call fcn.180030ec0
test eax, eax
je 0x18003b440
jmp 0x180045bdc
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 0x14]
and eax, 0xfffffffd
mov word [rsp + 0x100], ax
jmp 0x18003b48e
movzx eax, word [rsp + 0x100]
and eax, 0x400
test eax, eax
je 0x18003b48e
mov rcx, qword [rsp + 0x70]
call fcn.18002bbf0
test eax, eax
je 0x18003b47a
jmp 0x180045bdc
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 0x14]
and eax, 0xfffffffd
mov word [rsp + 0x100], ax
mov rax, qword [rsp + 0x98]
mov eax, dword [rax + 0x10]
mov rcx, qword [rsp + 0x70]
add eax, dword [rcx + 0x10]
cdqe
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0x40]
movsxd rax, dword [rax + 0x88]
cmp qword [rsp + 0xf8], rax
jle 0x18003b4c6
jmp 0x180045bbb
mov rax, qword [rsp + 0x70]
cmp qword [rsp + 0x60], rax
jne 0x18003b4df
mov dword [rsp + 0xb9c], 1
jmp 0x18003b4ea
mov dword [rsp + 0xb9c], 0
mov eax, dword [rsp + 0xf8]
add eax, 2
mov r8d, dword [rsp + 0xb9c]
mov edx, eax
mov rcx, qword [rsp + 0x60]
call fcn.18002b830
test eax, eax
je 0x18003b511
jmp 0x180045bdc
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x14]
and eax, 0xfffff240
or eax, 2
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x70]
cmp qword [rsp + 0x60], rax
je 0x18003b56b
mov rax, qword [rsp + 0x70]
movsxd rax, dword [rax + 0x10]
mov r8, rax
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax + 8]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 8]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x70]
movzx ecx, word [rsp + 0x100]
mov word [rax + 0x14], cx
mov rax, qword [rsp + 0x98]
movsxd rax, dword [rax + 0x10]
mov rcx, qword [rsp + 0x70]
movsxd rcx, dword [rcx + 0x10]
mov rdx, qword [rsp + 0x60]
add rcx, qword [rdx + 8]
mov r8, rax
mov rax, qword [rsp + 0x98]
mov rdx, qword [rax + 8]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x98]
movzx ecx, word [rsp + 0xf0]
mov word [rax + 0x14], cx
movzx eax, byte [rsp + 0x78]
cmp eax, 1
jle 0x18003b5cf
mov rax, qword [rsp + 0xf8]
and rax, 0xfffffffffffffffe
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 8]
mov rcx, qword [rsp + 0xf8]
mov byte [rax + rcx], 0
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 8]
mov rcx, qword [rsp + 0xf8]
mov byte [rcx + rax + 1], 0
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x14]
or eax, 0x200
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x60]
mov ecx, dword [rsp + 0xf8]
mov dword [rax + 0x10], ecx
mov rax, qword [rsp + 0x60]
movzx ecx, byte [rsp + 0x78]
mov byte [rax + 0x16], cl
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
mov word [rsp + 0x124], ax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 0x14]
mov word [rsp + 0x120], ax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
movzx eax, word [rsp + 0x124]
movzx ecx, word [rsp + 0x120]
and eax, ecx
and eax, 4
test eax, eax
je 0x18003b86d
mov rax, qword [rsp + 0x98]
mov rax, qword [rax]
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x88]
mov al, byte [rax]
mov byte [rsp + 0xba0], al
cmp byte [rsp + 0xba0], 0x6a
je 0x18003b741
cmp byte [rsp + 0xba0], 0x6b
je 0x18003b764
cmp byte [rsp + 0xba0], 0x6c
je 0x18003b787
cmp byte [rsp + 0xba0], 0x6d
je 0x18003b7aa
jmp 0x18003b7fa
mov rdx, qword [rsp + 0x108]
lea rcx, [rsp + 0x118]
call fcn.1800460e0
test eax, eax
je 0x18003b75f
jmp 0x18003b8d5
jmp 0x18003b83e
mov rdx, qword [rsp + 0x108]
lea rcx, [rsp + 0x118]
call fcn.180046180
test eax, eax
je 0x18003b782
jmp 0x18003b8d5
jmp 0x18003b83e
mov rdx, qword [rsp + 0x108]
lea rcx, [rsp + 0x118]
call fcn.1800461f0
test eax, eax
je 0x18003b7a5
jmp 0x18003b8d5
jmp 0x18003b83e
cmp qword [rsp + 0x108], 0
jne 0x18003b7ba
jmp 0x18003ba86
cmp qword [rsp + 0x108], 0xffffffffffffffff
jne 0x18003b7de
movabs rax, 0x8000000000000000
cmp qword [rsp + 0x118], rax
jne 0x18003b7de
jmp 0x18003b8d5
mov rax, qword [rsp + 0x118]
cqo
idiv qword [rsp + 0x108]
mov qword [rsp + 0x118], rax
jmp 0x18003b83e
cmp qword [rsp + 0x108], 0
jne 0x18003b80a
jmp 0x18003ba86
cmp qword [rsp + 0x108], 0xffffffffffffffff
jne 0x18003b821
mov qword [rsp + 0x108], 1
mov rax, qword [rsp + 0x118]
cqo
idiv qword [rsp + 0x108]
mov rax, rdx
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x118]
mov qword [rax], rcx
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x14]
and eax, 0xfffff240
or eax, 4
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x14], ax
jmp 0x18003ba81
movzx eax, word [rsp + 0x124]
movzx ecx, word [rsp + 0x120]
or eax, ecx
and eax, 1
test eax, eax
je 0x18003b890
jmp 0x18003ba86
mov rcx, qword [rsp + 0x98]
call fcn.1800553f0
mov word [rsp + 0x124], ax
mov rcx, qword [rsp + 0x70]
call fcn.1800553f0
mov word [rsp + 0x120], ax
movzx eax, word [rsp + 0x124]
movzx ecx, word [rsp + 0x120]
and eax, ecx
and eax, 4
test eax, eax
je 0x18003b8d5
jmp 0x18003b6e0
mov rcx, qword [rsp + 0x98]
call fcn.1800311d0
movsd qword [rsp + 0x110], xmm0
mov rcx, qword [rsp + 0x70]
call fcn.1800311d0
movsd qword [rsp + 0x128], xmm0
mov rax, qword [rsp + 0x88]
mov al, byte [rax]
mov byte [rsp + 0xba4], al
cmp byte [rsp + 0xba4], 0x6a
je 0x18003b93c
cmp byte [rsp + 0xba4], 0x6b
je 0x18003b95c
cmp byte [rsp + 0xba4], 0x6c
je 0x18003b97c
cmp byte [rsp + 0xba4], 0x6d
je 0x18003b99c
jmp 0x18003b9d3
movlpd xmm0, qword [rsp + 0x128]
addsd xmm0, qword [rsp + 0x110]
movsd qword [rsp + 0x128], xmm0
jmp 0x18003ba41
movlpd xmm0, qword [rsp + 0x128]
subsd xmm0, qword [rsp + 0x110]
movsd qword [rsp + 0x128], xmm0
jmp 0x18003ba41
movlpd xmm0, qword [rsp + 0x128]
mulsd xmm0, qword [rsp + 0x110]
movsd qword [rsp + 0x128], xmm0
jmp 0x18003ba41
movlpd xmm0, qword [rsp + 0x110]
ucomisd xmm0, qword [0x18012efb0]
jp 0x18003b9b6
jne 0x18003b9b6
jmp 0x18003ba86
movlpd xmm0, qword [rsp + 0x128]
divsd xmm0, qword [rsp + 0x110]
movsd qword [rsp + 0x128], xmm0
jmp 0x18003ba41
mov rcx, qword [rsp + 0x98]
call fcn.1800312b0
mov qword [rsp + 0x108], rax
mov rcx, qword [rsp + 0x70]
call fcn.1800312b0
mov qword [rsp + 0x118], rax
cmp qword [rsp + 0x108], 0
jne 0x18003ba07
jmp 0x18003ba86
cmp qword [rsp + 0x108], 0xffffffffffffffff
jne 0x18003ba1e
mov qword [rsp + 0x108], 1
mov rax, qword [rsp + 0x118]
cqo
idiv qword [rsp + 0x108]
mov rax, rdx
cvtsi2sd xmm0, rax
movsd qword [rsp + 0x128], xmm0
movlpd xmm0, qword [rsp + 0x128]
call fcn.18000ea60
test eax, eax
je 0x18003ba55
jmp 0x18003ba86
mov rax, qword [rsp + 0x60]
movlpd xmm0, qword [rsp + 0x128]
movsd qword [rax], xmm0
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x14]
and eax, 0xfffff240
or eax, 8
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x14], ax
jmp case.0x18003a3a7.88
mov rcx, qword [rsp + 0x60]
call fcn.18002b0d0
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
cmp dword [rax + 4], 0
je 0x18003bacb
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
xor edx, edx
mov rcx, rax
call fcn.1800320b0
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
mov rcx, qword [rsp + 0x70]
movzx ecx, word [rcx + 0x14]
or eax, ecx
and eax, 1
test eax, eax
je 0x18003bb69
mov rcx, qword [rsp + 0x60]
call fcn.18002b0d0
jmp case.0x18003a3a7.88
mov rcx, qword [rsp + 0x70]
call fcn.1800312b0
mov qword [rsp + 0x130], rax
mov rcx, qword [rsp + 0x98]
call fcn.1800312b0
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
mov byte [rsp + 0x148], al
movzx eax, byte [rsp + 0x148]
cmp eax, 0x66
jne 0x18003bbd2
mov rax, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x130]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x130], rax
jmp 0x18003bd8c
movzx eax, byte [rsp + 0x148]
cmp eax, 0x67
jne 0x18003bc02
mov rax, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x130]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x130], rax
jmp 0x18003bd8c
cmp qword [rsp + 0x138], 0
je 0x18003bd8c
cmp qword [rsp + 0x138], 0
jge 0x18003bc70
movzx eax, byte [rsp + 0x148]
mov ecx, 0xd1
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x148], al
cmp qword [rsp + 0x138], 0xffffffffffffffc0
jle 0x18003bc54
mov rax, qword [rsp + 0x138]
neg rax
mov qword [rsp + 0xba8], rax
jmp 0x18003bc60
mov qword [rsp + 0xba8], 0x40
mov rax, qword [rsp + 0xba8]
mov qword [rsp + 0x138], rax
cmp qword [rsp + 0x138], 0x40
jl 0x18003bcc0
cmp qword [rsp + 0x130], 0
jge 0x18003bca0
movzx eax, byte [rsp + 0x148]
cmp eax, 0x68
je 0x18003bca0
mov dword [rsp + 0xbb0], 0xffffffff
jmp 0x18003bcab
mov dword [rsp + 0xbb0], 0
movsxd rax, dword [rsp + 0xbb0]
mov qword [rsp + 0x130], rax
jmp 0x18003bd8c
mov r8d, 8
lea rdx, [rsp + 0x130]
lea rcx, [rsp + 0x140]
call sub.msvcrt.dll_memcpy
movzx eax, byte [rsp + 0x148]
cmp eax, 0x68
jne 0x18003bd08
mov rax, qword [rsp + 0x138]
movzx ecx, al
mov rax, qword [rsp + 0x140]
shl rax, cl
mov qword [rsp + 0x140], rax
jmp 0x18003bd71
mov rax, qword [rsp + 0x138]
movzx ecx, al
mov rax, qword [rsp + 0x140]
shr rax, cl
mov qword [rsp + 0x140], rax
cmp qword [rsp + 0x130], 0
jge 0x18003bd71
mov eax, 0x40
sub rax, qword [rsp + 0x138]
mov rcx, 0xffffffffffffffff
mov qword [rsp + 0xbb8], rcx
movzx ecx, al
mov rax, qword [rsp + 0xbb8]
shl rax, cl
mov rcx, qword [rsp + 0x140]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x140], rax
mov r8d, 8
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0x130]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x130]
mov qword [rax], rcx
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x14]
and eax, 0xfffff240
or eax, 4
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x14], ax
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
call fcn.1800541f0
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0x98]
add rax, qword [rcx]
mov rcx, qword [rsp + 0x98]
mov qword [rcx], rax
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 4
test eax, eax
jne 0x18003be98
movzx r8d, byte [rsp + 0x78]
mov dl, 0x43
mov rcx, qword [rsp + 0x98]
call fcn.1800552e0
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 4
test eax, eax
jne 0x18003be98
mov rax, qword [rsp + 0x88]
cmp dword [rax + 8], 0
jne 0x18003be93
mov dword [rsp + 0x48], 0x14
jmp 0x1800459a4
jmp 0x18003a587
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 0xfffff240
or eax, 4
mov rcx, qword [rsp + 0x98]
mov word [rcx + 0x14], ax
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 0x24
test eax, eax
je 0x18003bf03
mov rcx, qword [rsp + 0x98]
call fcn.180054240
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 0x400
test eax, eax
je 0x18003bf59
mov rcx, qword [rsp + 0x98]
call fcn.18002bbf0
mov dword [rsp + 0xbc0], eax
jmp 0x18003bf64
mov dword [rsp + 0xbc0], 0
mov eax, dword [rsp + 0xbc0]
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18003bf7b
jmp 0x1800459a4
movzx r8d, byte [rsp + 0x78]
mov rax, qword [rsp + 0x88]
movzx edx, byte [rax + 8]
mov rcx, qword [rsp + 0x98]
call fcn.180054290
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18003bfaa
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
mov word [rsp + 0x154], ax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
mov word [rsp + 0x158], ax
movzx eax, word [rsp + 0x154]
movzx ecx, word [rsp + 0x158]
and eax, ecx
and eax, 4
test eax, eax
je 0x18003c0eb
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x98]
mov rcx, qword [rcx]
cmp qword [rax], rcx
jle 0x18003c07b
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
mov rcx, qword [0x18014b408]
movzx eax, byte [rcx + rax]
test eax, eax
je 0x18003c06e
jmp 0x18003a587
mov dword [rsp + 0xa4], 1
jmp 0x18003c0e6
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x98]
mov rcx, qword [rcx]
cmp qword [rax], rcx
jge 0x18003c0bc
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
mov rcx, qword [0x18014b3f8]
movzx eax, byte [rcx + rax]
test eax, eax
je 0x18003c0af
jmp 0x18003a587
mov dword [rsp + 0xa4], 0xffffffff
jmp 0x18003c0e6
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
mov rcx, qword [0x18014b400]
movzx eax, byte [rcx + rax]
test eax, eax
je 0x18003c0db
jmp 0x18003a587
mov dword [rsp + 0xa4], 0
jmp case.0x18003a3a7.88
movzx eax, word [rsp + 0x154]
movzx ecx, word [rsp + 0x158]
or eax, ecx
and eax, 1
test eax, eax
je 0x18003c1b8
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
and eax, 0x80
test eax, eax
je 0x18003c18b
movzx eax, word [rsp + 0x154]
movzx ecx, word [rsp + 0x158]
and eax, ecx
and eax, 1
test eax, eax
je 0x18003c154
movzx eax, word [rsp + 0x158]
and eax, 0x100
test eax, eax
jne 0x18003c154
mov dword [rsp + 0x150], 0
jmp 0x18003c189
movzx eax, word [rsp + 0x158]
and eax, 1
test eax, eax
je 0x18003c170
mov dword [rsp + 0xbc4], 0xffffffff
jmp 0x18003c17b
mov dword [rsp + 0xbc4], 1
mov eax, dword [rsp + 0xbc4]
mov dword [rsp + 0x150], eax
jmp 0x18003c1b3
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
and eax, 0x10
test eax, eax
je 0x18003c1a3
jmp 0x18003a587
mov dword [rsp + 0xa4], 1
jmp case.0x18003a3a7.88
jmp 0x18003c36c
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
and eax, 0x47
mov byte [rsp + 0x149], al
movsx eax, byte [rsp + 0x149]
cmp eax, 0x43
jl 0x18003c245
movzx eax, word [rsp + 0x154]
movzx ecx, word [rsp + 0x158]
or eax, ecx
and eax, 2
test eax, eax
je 0x18003c240
movzx eax, word [rsp + 0x154]
and eax, 0x2e
cmp eax, 2
jne 0x18003c224
xor edx, edx
mov rcx, qword [rsp + 0x98]
call fcn.180039ec0
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
mov word [rsp + 0x158], ax
movzx eax, word [rsp + 0x158]
and eax, 0x2e
cmp eax, 2
jne 0x18003c240
xor edx, edx
mov rcx, qword [rsp + 0x50]
call fcn.180039ec0
jmp 0x18003c347
movsx eax, byte [rsp + 0x149]
cmp eax, 0x42
jne 0x18003c347
movzx eax, word [rsp + 0x154]
movzx ecx, word [rsp + 0x158]
or eax, ecx
and eax, 2
test eax, eax
je 0x18003c347
movzx eax, word [rsp + 0x154]
and eax, 2
test eax, eax
jne 0x18003c2f1
movzx eax, word [rsp + 0x154]
and eax, 0x2c
test eax, eax
je 0x18003c2f1
mov r8b, 1
movzx edx, byte [rsp + 0x78]
mov rcx, qword [rsp + 0x98]
call fcn.180030ec0
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 0xfffff240
movzx ecx, word [rsp + 0x154]
and ecx, 0xdbf
or eax, ecx
mov word [rsp + 0x154], ax
mov rax, qword [rsp + 0x50]
cmp qword [rsp + 0x98], rax
jne 0x18003c2f1
movzx eax, word [rsp + 0x154]
or eax, 2
mov word [rsp + 0x158], ax
movzx eax, word [rsp + 0x158]
and eax, 2
test eax, eax
jne 0x18003c347
movzx eax, word [rsp + 0x158]
and eax, 0x2c
test eax, eax
je 0x18003c347
mov r8b, 1
movzx edx, byte [rsp + 0x78]
mov rcx, qword [rsp + 0x50]
call fcn.180030ec0
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 0xfffff240
movzx ecx, word [rsp + 0x158]
and ecx, 0xdbf
or eax, ecx
mov word [rsp + 0x158], ax
mov rax, qword [rsp + 0x88]
mov r8, qword [rax + 0x10]
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x50]
call fcn.180054950
mov dword [rsp + 0x150], eax
cmp dword [rsp + 0x150], 0
jge 0x18003c395
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
mov rcx, qword [0x18014b3f8]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x14c], eax
jmp 0x18003c3db
cmp dword [rsp + 0x150], 0
jne 0x18003c3be
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
mov rcx, qword [0x18014b400]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x14c], eax
jmp 0x18003c3db
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
mov rcx, qword [0x18014b408]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x14c], eax
mov eax, dword [rsp + 0x150]
mov dword [rsp + 0xa4], eax
mov rax, qword [rsp + 0x50]
movzx ecx, word [rsp + 0x158]
mov word [rax + 0x14], cx
mov rax, qword [rsp + 0x98]
movzx ecx, word [rsp + 0x154]
mov word [rax + 0x14], cx
cmp dword [rsp + 0x14c], 0
je 0x18003c41d
jmp 0x18003a587
jmp case.0x18003a3a7.88
cmp dword [rsp + 0xa4], 0
jne 0x18003c431
jmp 0x18003a587
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
and eax, 1
test eax, eax
jne 0x18003c45c
mov qword [rsp + 0x178], 0
jmp 0x18003c474
mov rax, qword [rsp + 0x88]
mov rax, qword [rax - 8]
add rax, 4
mov qword [rsp + 0x178], rax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x164], eax
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x188], rax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 4]
mov dword [rsp + 0x180], eax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 8]
mov dword [rsp + 0x174], eax
mov dword [rsp + 0x160], 0
jmp 0x18003c4db
mov eax, dword [rsp + 0x160]
inc eax
mov dword [rsp + 0x160], eax
mov eax, dword [rsp + 0x164]
cmp dword [rsp + 0x160], eax
jge 0x18003c68a
cmp qword [rsp + 0x178], 0
je 0x18003c516
movsxd rax, dword [rsp + 0x160]
mov rcx, qword [rsp + 0x178]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0xbc8], eax
jmp 0x18003c524
mov eax, dword [rsp + 0x160]
mov dword [rsp + 0xbc8], eax
mov eax, dword [rsp + 0xbc8]
mov dword [rsp + 0x170], eax
movsxd rax, dword [rsp + 0x160]
mov rcx, qword [rsp + 0x188]
mov rax, qword [rcx + rax*8 + 0x20]
mov qword [rsp + 0x168], rax
movsxd rax, dword [rsp + 0x160]
mov rcx, qword [rsp + 0x188]
mov rcx, qword [rcx + 0x18]
movzx eax, byte [rcx + rax]
and eax, 1
mov dword [rsp + 0x15c], eax
mov eax, dword [rsp + 0x170]
mov ecx, dword [rsp + 0x174]
add ecx, eax
mov eax, ecx
mov eax, eax
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov ecx, dword [rsp + 0x170]
mov edx, dword [rsp + 0x180]
add edx, ecx
mov ecx, edx
mov ecx, ecx
imul rcx, rcx, 0x38
mov rdx, qword [rsp + 0x90]
add rdx, rcx
mov rcx, rdx
mov r8, qword [rsp + 0x168]
mov rdx, rax
call fcn.180054950
mov dword [rsp + 0xa4], eax
cmp dword [rsp + 0xa4], 0
je 0x18003c685
movsxd rax, dword [rsp + 0x160]
mov rcx, qword [rsp + 0x188]
mov rcx, qword [rcx + 0x18]
movzx eax, byte [rcx + rax]
and eax, 2
test eax, eax
je 0x18003c669
mov eax, dword [rsp + 0x170]
mov ecx, dword [rsp + 0x180]
add ecx, eax
mov eax, ecx
mov eax, eax
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
movzx eax, word [rcx + rax + 0x14]
and eax, 1
test eax, eax
jne 0x18003c659
mov eax, dword [rsp + 0x170]
mov ecx, dword [rsp + 0x174]
add ecx, eax
mov eax, ecx
mov eax, eax
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
movzx eax, word [rcx + rax + 0x14]
and eax, 1
test eax, eax
je 0x18003c669
mov eax, dword [rsp + 0xa4]
neg eax
mov dword [rsp + 0xa4], eax
cmp dword [rsp + 0x15c], 0
je 0x18003c683
mov eax, dword [rsp + 0xa4]
neg eax
mov dword [rsp + 0xa4], eax
jmp 0x18003c68a
jmp 0x18003c4cb
jmp case.0x18003a3a7.88
cmp dword [rsp + 0xa4], 0
jge 0x18003c6c4
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 4]
dec eax
cdqe
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
jmp 0x18003c722
cmp dword [rsp + 0xa4], 0
jne 0x18003c6f9
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 8]
dec eax
cdqe
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
jmp 0x18003c722
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0xc]
dec eax
cdqe
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov edx, 2
mov rcx, rax
call fcn.180054160
mov dword [rsp + 0x190], eax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov edx, 2
mov rcx, rax
call fcn.180054160
mov dword [rsp + 0x194], eax
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
cmp eax, 0x2c
jne 0x18003c7c2
mov eax, dword [rsp + 0x190]
imul eax, eax, 3
add eax, dword [rsp + 0x194]
cdqe
lea rcx, [0x180128068]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x190], eax
jmp 0x18003c7e7
mov eax, dword [rsp + 0x190]
imul eax, eax, 3
add eax, dword [rsp + 0x194]
cdqe
lea rcx, [0x180128078]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x190], eax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
cmp dword [rsp + 0x190], 2
jne 0x18003c830
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x14]
and eax, 0xfffff240
or eax, 1
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x14], ax
jmp 0x18003c85a
movsxd rax, dword [rsp + 0x190]
mov rcx, qword [rsp + 0x60]
mov qword [rcx], rax
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x14]
and eax, 0xfffff240
or eax, 4
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x14], ax
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x88]
mov edx, dword [rcx + 0xc]
mov rcx, rax
call fcn.180054160
mov rcx, qword [rsp + 0x88]
xor eax, dword [rcx + 0x10]
cdqe
mov rcx, qword [rsp + 0x88]
movsxd rcx, dword [rcx + 8]
imul rcx, rcx, 0x38
mov rdx, qword [rsp + 0x90]
add rdx, rcx
mov rcx, rdx
mov rdx, rax
call fcn.1800320b0
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 1
test eax, eax
jne 0x18003c966
xor edx, edx
mov rcx, qword [rsp + 0x98]
call fcn.180054160
test eax, eax
jne 0x18003c944
mov dword [rsp + 0xbcc], 1
jmp 0x18003c94f
mov dword [rsp + 0xbcc], 0
movsxd rax, dword [rsp + 0xbcc]
mov rdx, rax
mov rcx, qword [rsp + 0x60]
call fcn.1800320b0
jmp 0x18003c970
mov rcx, qword [rsp + 0x60]
call fcn.18002b0d0
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x60]
call fcn.18002b0d0
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 1
test eax, eax
jne 0x18003c9fe
mov rax, qword [rsp + 0x60]
mov word [rax + 0x14], 4
mov rcx, qword [rsp + 0x98]
call fcn.1800312b0
not rax
mov rcx, qword [rsp + 0x60]
mov qword [rcx], rax
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0xd00]
cmp qword [rax + 0x108], 0
je 0x18003cb3d
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax + 0x88]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, 0x18
idiv rcx
mov dword [rsp + 0x198], eax
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax + 0x108]
mov qword [rsp + 0xbd0], rax
xor edx, edx
mov eax, dword [rsp + 0x198]
mov ecx, 8
div ecx
mov eax, eax
mov rcx, qword [rsp + 0xbd0]
mov rcx, qword [rcx + 0x28]
movzx eax, byte [rcx + rax]
mov ecx, dword [rsp + 0x198]
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, edx
and eax, ecx
test eax, eax
je 0x18003ca9e
jmp 0x18003a587
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax + 0x108]
mov qword [rsp + 0xbd8], rax
xor edx, edx
mov eax, dword [rsp + 0x198]
mov ecx, 8
div ecx
mov eax, eax
mov rcx, qword [rsp + 0xbd8]
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0xbe0], rcx
mov edx, dword [rsp + 0x198]
and edx, 7
mov r8d, 1
movzx ecx, dl
mov edx, r8d
shl edx, cl
mov ecx, edx
mov rdx, qword [rsp + 0xbe0]
movzx eax, byte [rdx + rax]
or eax, ecx
mov dword [rsp + 0xbe8], eax
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x108]
xor edx, edx
mov eax, dword [rsp + 0x198]
mov r8d, 8
div r8d
mov eax, eax
mov rcx, qword [rcx + 0x28]
mov edx, dword [rsp + 0xbe8]
mov byte [rax + rcx], dl
jmp 0x18003cb61
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax + 0x88]
mov rcx, qword [rsp + 0x88]
mov ecx, dword [rcx + 4]
cmp dword [rax + 4], ecx
jne 0x18003cb61
jmp 0x18003a587
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax + 0x88]
mov rcx, qword [rsp + 0x88]
mov eax, dword [rax + 4]
mov dword [rcx + 4], eax
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x88]
mov edx, dword [rcx + 0xc]
mov rcx, rax
call fcn.180054160
mov dword [rsp + 0x19c], eax
cmp dword [rsp + 0x19c], 0
je 0x18003cbca
jmp 0x18003a587
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
cmp dword [rax + 0xc], 0
jne 0x18003cbea
mov dword [rsp + 0xbec], 1
jmp 0x18003cbf5
mov dword [rsp + 0xbec], 0
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov edx, dword [rsp + 0xbec]
mov rcx, rax
call fcn.180054160
test eax, eax
jne 0x18003cc33
mov dword [rsp + 0xbf0], 1
jmp 0x18003cc3e
mov dword [rsp + 0xbf0], 0
mov eax, dword [rsp + 0xbf0]
mov dword [rsp + 0x1a0], eax
cmp dword [rsp + 0x1a0], 0
je 0x18003cc5b
jmp 0x18003a587
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 1
test eax, eax
je 0x18003cc9e
jmp 0x18003a587
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
cmp dword [rax + 4], 0
jl 0x18003cd8c
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x1a8], rax
mov rax, qword [rsp + 0x1a8]
movzx eax, word [rax + 0x4a]
mov rcx, qword [rsp + 0x88]
cmp dword [rcx + 0xc], eax
jge 0x18003cd5d
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
mov rcx, qword [rsp + 0x1a8]
mov eax, dword [rcx + rax*4 + 0x78]
mov dword [rsp + 0x1a4], eax
cmp dword [rsp + 0x1a4], 0xc
jb 0x18003cd41
mov eax, dword [rsp + 0x1a4]
and eax, 1
test eax, eax
je 0x18003cd35
mov word [rsp + 0x1b0], 4
jmp 0x18003cd3f
mov word [rsp + 0x1b0], 8
jmp 0x18003cd5b
mov eax, dword [rsp + 0x1a4]
lea rcx, [0x180128088]
movzx eax, byte [rcx + rax]
mov word [rsp + 0x1b0], ax
jmp 0x18003cd8a
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0x10]
dec eax
mov ecx, 1
mov dword [rsp + 0xbf4], ecx
movzx ecx, al
mov eax, dword [rsp + 0xbf4]
shl eax, cl
mov word [rsp + 0x1b0], ax
jmp 0x18003cdd4
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.180031b10
dec eax
mov ecx, 1
mov dword [rsp + 0xbf8], ecx
movzx ecx, al
mov eax, dword [rsp + 0xbf8]
shl eax, cl
mov word [rsp + 0x1b0], ax
movzx eax, word [rsp + 0x1b0]
mov rcx, qword [rsp + 0x88]
movzx ecx, word [rcx + 2]
and eax, ecx
test eax, eax
je 0x18003cdf3
jmp 0x18003a587
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
movzx eax, word [rcx + rax + 0x14]
and eax, 1
test eax, eax
jne 0x18003ce40
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
movzx eax, word [rcx + rax + 0x14]
and eax, 1
test eax, eax
je 0x18003ce68
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.18002b0d0
jmp 0x18003ce90
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
xor edx, edx
mov rcx, rax
call fcn.1800320b0
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 1
test eax, eax
jne 0x18003ced3
jmp 0x18003a587
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x1b8], rax
cmp qword [rsp + 0x1b8], 0
je 0x18003cf42
mov rax, qword [rsp + 0x1b8]
movzx eax, byte [rax + 2]
test eax, eax
je 0x18003cf42
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.18002b0d0
jmp 0x18003a587
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x1f8], rax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 8]
mov dword [rsp + 0x1e0], eax
mov rax, qword [rsp + 0x1f8]
mov rax, qword [rax + 0x58]
mov qword [rsp + 0x1e8], rax
mov rax, qword [rsp + 0x1f8]
mov rcx, qword [rsp + 0xd00]
mov ecx, dword [rcx + 0x2c]
cmp dword [rax + 0x20], ecx
je 0x18003d2a9
mov rax, qword [rsp + 0x1f8]
movzx eax, byte [rax + 2]
test eax, eax
je 0x18003d088
mov rax, qword [rsp + 0x1f8]
movzx eax, byte [rax]
cmp eax, 3
jne 0x18003d04b
mov rax, qword [rsp + 0x1f8]
cmp dword [rax + 0x24], 0
jle 0x18003d04b
mov rax, qword [rsp + 0x1f8]
movsxd rax, dword [rax + 0x24]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1d0], rax
mov rax, qword [rsp + 0x1f8]
mov rcx, qword [rsp + 0x1d0]
mov ecx, dword [rcx + 0x10]
mov dword [rax + 0x6c], ecx
mov rax, qword [rsp + 0x1f8]
mov rcx, qword [rsp + 0x1f8]
mov ecx, dword [rcx + 0x6c]
mov dword [rax + 0x68], ecx
mov rax, qword [rsp + 0x1f8]
mov rcx, qword [rsp + 0x1d0]
mov rcx, qword [rcx + 8]
mov qword [rax + 0x60], rcx
jmp 0x18003d083
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1c0], rax
mov rcx, qword [rsp + 0x1c0]
call fcn.18002b0d0
jmp 0x18003d9e2
jmp 0x18003d1a5
mov rax, qword [rsp + 0x1f8]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x258], rax
mov rax, qword [rsp + 0x1f8]
movzx eax, byte [rax + 3]
test eax, eax
je 0x18003d132
mov rax, qword [rsp + 0x1f8]
cmp qword [rax + 0x10], 0
je 0x18003d113
mov eax, dword [rsp + 0x1e0]
inc eax
mov eax, eax
mov rcx, qword [rsp + 0x1f8]
mov rcx, qword [rcx + 0x10]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0x260], eax
cmp dword [rsp + 0x260], 0
jbe 0x18003d113
mov rax, qword [rsp + 0x1f8]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x1f8], rax
mov eax, dword [rsp + 0x260]
dec eax
mov dword [rsp + 0x1e0], eax
jmp 0x18003cf7d
mov rcx, qword [rsp + 0x1f8]
call fcn.1800547a0
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18003d130
jmp 0x1800459a4
jmp 0x18003d165
mov rcx, qword [rsp + 0x258]
call fcn.1800470c0
test eax, eax
je 0x18003d165
mov rcx, qword [rsp + 0x1f8]
call fcn.180054810
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18003d160
jmp 0x1800459a4
jmp 0x18003cf7d
mov rcx, qword [rsp + 0x258]
call fcn.180028e20
mov rcx, qword [rsp + 0x1f8]
mov dword [rcx + 0x68], eax
mov rax, qword [rsp + 0x1f8]
add rax, 0x6c
mov rdx, rax
mov rcx, qword [rsp + 0x258]
call fcn.180035b80
mov rcx, qword [rsp + 0x1f8]
mov qword [rcx + 0x60], rax
mov rax, qword [rsp + 0x1f8]
mov rcx, qword [rsp + 0xd00]
mov ecx, dword [rcx + 0x2c]
mov dword [rax + 0x20], ecx
mov rax, qword [rsp + 0x1f8]
mov rax, qword [rax + 0x60]
movzx eax, byte [rax]
mov rcx, qword [rsp + 0x1e8]
mov dword [rcx], eax
mov rax, qword [rsp + 0x1e8]
cmp dword [rax], 0x80
jae 0x18003d1f5
mov rax, qword [rsp + 0x1f8]
mov dword [rax + 0x40], 1
jmp 0x18003d21c
mov rdx, qword [rsp + 0x1e8]
mov rax, qword [rsp + 0x1f8]
mov rcx, qword [rax + 0x60]
call fcn.180034080
movzx eax, al
mov rcx, qword [rsp + 0x1f8]
mov dword [rcx + 0x40], eax
mov rax, qword [rsp + 0x1f8]
mov word [rax + 0x4a], 0
mov rax, qword [rsp + 0x1f8]
mov rcx, qword [rsp + 0x1e8]
mov ecx, dword [rcx]
cmp dword [rax + 0x6c], ecx
jae 0x18003d28e
mov rax, qword [rsp + 0x1f8]
mov qword [rax + 0x60], 0
mov rax, qword [rsp + 0x1f8]
mov dword [rax + 0x6c], 0
mov rax, qword [rsp + 0x1e8]
cmp dword [rax], 0x18003
ja 0x18003d287
mov rax, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1f8]
mov ecx, dword [rcx + 0x68]
cmp dword [rax], ecx
jbe 0x18003d28c
jmp 0x18003d9e7
jmp 0x18003d2a7
mov rax, qword [rsp + 0x1f8]
mov rax, qword [rax + 0x60]
mov qword [rsp + 0x240], rax
jmp 0x18003d391
jmp 0x18003d2e0
mov rax, qword [rsp + 0x1f8]
mov rcx, qword [rax + 0x30]
call fcn.1800470c0
test eax, eax
je 0x18003d2e0
mov rcx, qword [rsp + 0x1f8]
call fcn.180054810
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18003d2db
jmp 0x1800459a4
jmp 0x18003cf7d
mov rax, qword [rsp + 0x1f8]
movzx eax, word [rax + 0x4a]
cmp eax, dword [rsp + 0x1e0]
ja 0x18003d6b6
mov rax, qword [rsp + 0x1f8]
mov rcx, qword [rsp + 0x1e8]
mov ecx, dword [rcx]
cmp dword [rax + 0x40], ecx
jae 0x18003d62a
mov rax, qword [rsp + 0x1f8]
cmp qword [rax + 0x60], 0
jne 0x18003d37d
mov r8d, 0x38
xor edx, edx
lea rcx, [rsp + 0x200]
call sub.msvcrt.dll_memset
lea r8, [rsp + 0x200]
mov rax, qword [rsp + 0x1e8]
mov edx, dword [rax]
mov rax, qword [rsp + 0x1f8]
mov rcx, qword [rax + 0x30]
call fcn.180035af0
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18003d36b
jmp 0x1800459a4
mov rax, qword [rsp + 0x208]
mov qword [rsp + 0x240], rax
jmp 0x18003d391
mov rax, qword [rsp + 0x1f8]
mov rax, qword [rax + 0x60]
mov qword [rsp + 0x240], rax
mov rax, qword [rsp + 0x1f8]
movzx eax, word [rax + 0x4a]
mov dword [rsp + 0x1c8], eax
movsxd rax, dword [rsp + 0x1c8]
mov rcx, qword [rsp + 0x1e8]
mov eax, dword [rcx + rax*4]
mov qword [rsp + 0x250], rax
mov rax, qword [rsp + 0x1f8]
mov eax, dword [rax + 0x40]
mov rcx, qword [rsp + 0x240]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x238], rax
mov rax, qword [rsp + 0x1e8]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x240]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1d8], rax
mov rax, qword [rsp + 0x238]
movzx eax, byte [rax]
mov dword [rsp + 0x248], eax
movsxd rax, dword [rsp + 0x1c8]
mov rcx, qword [rsp + 0x1f8]
mov edx, dword [rsp + 0x248]
mov dword [rcx + rax*4 + 0x78], edx
cmp dword [rsp + 0x248], 0x80
jae 0x18003d475
mov rax, qword [rsp + 0x238]
inc rax
mov qword [rsp + 0x238], rax
movzx ecx, byte [rsp + 0x248]
call fcn.180054930
movzx eax, al
mov rcx, qword [rsp + 0x250]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x250], rax
jmp 0x18003d4e2
lea rdx, [rsp + 0x248]
mov rcx, qword [rsp + 0x238]
call fcn.180034080
movzx eax, al
mov rcx, qword [rsp + 0x238]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x238], rax
movsxd rax, dword [rsp + 0x1c8]
mov rcx, qword [rsp + 0x1f8]
mov edx, dword [rsp + 0x248]
mov dword [rcx + rax*4 + 0x78], edx
mov ecx, dword [rsp + 0x248]
call fcn.1800363c0
mov eax, eax
mov rcx, qword [rsp + 0x250]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x250], rax
mov eax, dword [rsp + 0x1c8]
inc eax
mov dword [rsp + 0x1c8], eax
movsxd rax, dword [rsp + 0x1c8]
mov ecx, 0xffffffff
mov rdx, qword [rsp + 0x250]
and rdx, rcx
mov rcx, rdx
mov rdx, qword [rsp + 0x1e8]
mov dword [rdx + rax*4], ecx
mov eax, dword [rsp + 0x1e0]
cmp dword [rsp + 0x1c8], eax
ja 0x18003d53e
mov rax, qword [rsp + 0x1d8]
cmp qword [rsp + 0x238], rax
jb 0x18003d400
mov rax, qword [rsp + 0x1d8]
cmp qword [rsp + 0x238], rax
jb 0x18003d577
mov rax, qword [rsp + 0x1d8]
cmp qword [rsp + 0x238], rax
ja 0x18003d58c
mov rax, qword [rsp + 0x1f8]
mov eax, dword [rax + 0x68]
cmp qword [rsp + 0x250], rax
jne 0x18003d58c
mov rax, qword [rsp + 0x1f8]
mov eax, dword [rax + 0x68]
cmp qword [rsp + 0x250], rax
jbe 0x18003d5d7
mov rax, qword [rsp + 0x1e8]
cmp dword [rax], 0
jne 0x18003d5b6
mov dword [rsp + 0x1c8], 0
mov rax, qword [rsp + 0x1d8]
mov qword [rsp + 0x238], rax
jmp 0x18003d5d7
mov rax, qword [rsp + 0x1f8]
cmp qword [rax + 0x60], 0
jne 0x18003d5d2
lea rcx, [rsp + 0x200]
call fcn.18002bcb0
jmp 0x18003d9e7
mov rax, qword [rsp + 0x1f8]
movzx ecx, word [rsp + 0x1c8]
mov word [rax + 0x4a], cx
mov rax, qword [rsp + 0x240]
mov rcx, qword [rsp + 0x238]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x1f8]
mov dword [rcx + 0x40], eax
mov rax, qword [rsp + 0x1f8]
cmp qword [rax + 0x60], 0
jne 0x18003d628
lea rcx, [rsp + 0x200]
call fcn.18002bcb0
jmp 0x18003d635
mov dword [rsp + 0x248], 0
mov rax, qword [rsp + 0x1f8]
movzx eax, word [rax + 0x4a]
cmp eax, dword [rsp + 0x1e0]
ja 0x18003d6b4
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1c0], rax
mov rax, qword [rsp + 0x88]
movsx eax, byte [rax + 1]
cmp eax, 0xfffffff6
jne 0x18003d6a2
mov r8d, 0x2000
mov rax, qword [rsp + 0x88]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0x1c0]
call fcn.180036fb0
jmp 0x18003d6af
mov rcx, qword [rsp + 0x1c0]
call fcn.18002b0d0
jmp 0x18003d9e2
jmp 0x18003d6d0
mov eax, dword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x1f8]
mov eax, dword [rcx + rax*4 + 0x78]
mov dword [rsp + 0x248], eax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1c0], rax
mov rax, qword [rsp + 0x1c0]
movzx eax, word [rax + 0x14]
and eax, 0x9000
test eax, eax
je 0x18003d718
mov rcx, qword [rsp + 0x1c0]
call fcn.18002b0d0
mov eax, dword [rsp + 0x1e0]
inc eax
mov eax, eax
mov rcx, qword [rsp + 0x1f8]
mov rdx, qword [rsp + 0x1e8]
mov eax, dword [rdx + rax*4]
cmp dword [rcx + 0x6c], eax
jb 0x18003d8c8
mov eax, dword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x1e8]
mov eax, dword [rcx + rax*4]
mov rcx, qword [rsp + 0x1f8]
add rax, qword [rcx + 0x60]
mov qword [rsp + 0x240], rax
cmp dword [rsp + 0x248], 0xc
jae 0x18003d790
mov r8, qword [rsp + 0x1c0]
mov edx, dword [rsp + 0x248]
mov rcx, qword [rsp + 0x240]
call fcn.180035d70
jmp 0x18003d8c3
mov eax, dword [rsp + 0x248]
sub eax, 0xc
xor edx, edx
mov ecx, 2
div ecx
mov dword [rsp + 0x1f0], eax
mov rax, qword [rsp + 0x1c0]
mov ecx, dword [rsp + 0x1f0]
mov dword [rax + 0x10], ecx
mov rax, qword [rsp + 0x1c0]
movzx ecx, byte [rsp + 0x78]
mov byte [rax + 0x16], cl
mov eax, dword [rsp + 0x1f0]
add eax, 2
mov rcx, qword [rsp + 0x1c0]
cmp dword [rcx + 0x20], eax
jge 0x18003d831
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x88]
cmp dword [rsp + 0x1f0], eax
jle 0x18003d7fc
jmp 0x180045bbb
mov rax, qword [rsp + 0x1c0]
mov word [rax + 0x14], 1
mov eax, dword [rsp + 0x1f0]
add eax, 2
xor r8d, r8d
mov edx, eax
mov rcx, qword [rsp + 0x1c0]
call fcn.18002b830
test eax, eax
je 0x18003d82f
jmp 0x180045bdc
jmp 0x18003d849
mov rax, qword [rsp + 0x1c0]
mov rcx, qword [rsp + 0x1c0]
mov rcx, qword [rcx + 0x28]
mov qword [rax + 8], rcx
movsxd rax, dword [rsp + 0x1f0]
mov r8, rax
mov rdx, qword [rsp + 0x240]
mov rax, qword [rsp + 0x1c0]
mov rcx, qword [rax + 8]
call sub.msvcrt.dll_memcpy
movsxd rax, dword [rsp + 0x1f0]
mov rcx, qword [rsp + 0x1c0]
mov rcx, qword [rcx + 8]
mov byte [rax + rcx], 0
mov eax, dword [rsp + 0x1f0]
inc eax
cdqe
mov rcx, qword [rsp + 0x1c0]
mov rcx, qword [rcx + 8]
mov byte [rax + rcx], 0
mov eax, dword [rsp + 0x248]
and eax, 1
mov eax, eax
lea rcx, [0x180128094]
mov rdx, qword [rsp + 0x1c0]
movzx eax, word [rcx + rax*2]
mov word [rdx + 0x14], ax
jmp 0x18003d9e2
mov rax, qword [rsp + 0x1c0]
movzx ecx, byte [rsp + 0x78]
mov byte [rax + 0x16], cl
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
and eax, 0xc0
mov byte [rsp + 0x264], al
movzx eax, byte [rsp + 0x264]
test eax, eax
je 0x18003d932
movzx eax, byte [rsp + 0x264]
cmp eax, 0x80
je 0x18003d942
cmp dword [rsp + 0x248], 0xc
jb 0x18003d932
mov eax, dword [rsp + 0x248]
and eax, 1
test eax, eax
je 0x18003d942
movzx eax, byte [rsp + 0x264]
cmp eax, 0xc0
je 0x18003d942
mov ecx, dword [rsp + 0x248]
call fcn.1800363c0
test eax, eax
jne 0x18003d962
mov r8, qword [rsp + 0x1c0]
mov edx, dword [rsp + 0x248]
lea rcx, [0x180127130]
call fcn.180035d70
jmp 0x18003d9e2
mov eax, dword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x1e8]
mov eax, dword [rcx + rax*4]
mov rcx, qword [rsp + 0x1c0]
mov qword [rsp + 0x30], rcx
mov ecx, dword [rsp + 0xa0]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsp + 0xd00]
mov ecx, dword [rcx + 0x2c]
mov dword [rsp + 0x20], ecx
mov r9, rax
mov r8d, dword [rsp + 0x248]
mov edx, dword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x1f8]
call fcn.180055710
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18003d9e2
cmp dword [rsp + 0x48], 7
jne 0x18003d9d1
jmp 0x180045bdc
cmp dword [rsp + 0x48], 0x12
jne 0x18003d9dd
jmp 0x180045bbb
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0xc], 0
jle 0x18003da25
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0xc]
dec eax
cdqe
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
jmp case.0x18003a3a7.88
mov ecx, 0x1740d
call fcn.1800e86f0
mov dword [rsp + 0x48], eax
jmp 0x1800459a4
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x270], rax
mov rax, qword [rsp + 0x270]
mov rax, qword [rax + 8]
mov qword [rsp + 0x278], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov dword [rsp + 0x268], 0
jmp 0x18003daa3
mov eax, dword [rsp + 0x268]
inc eax
mov dword [rsp + 0x268], eax
mov rax, qword [rsp + 0x270]
movsx eax, word [rax + 0x36]
cmp dword [rsp + 0x268], eax
jge 0x18003dd1b
movsxd rax, dword [rsp + 0x268]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x278]
movzx eax, word [rcx + rax + 0x12]
and eax, 0x60
test eax, eax
je 0x18003db25
movsxd rax, dword [rsp + 0x268]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x278]
movzx eax, word [rcx + rax + 0x12]
and eax, 0x20
test eax, eax
je 0x18003dafe
jmp 0x18003da93
mov rax, qword [rsp + 0x88]
cmp dword [rax + 0xc], 0
je 0x18003db25
mov rax, qword [rsp + 0x98]
add rax, 0x38
mov qword [rsp + 0x98], rax
jmp 0x18003da93
movsxd rax, dword [rsp + 0x268]
imul rax, rax, 0x18
movzx r8d, byte [rsp + 0x78]
mov rcx, qword [rsp + 0x278]
movzx edx, byte [rcx + rax + 0xc]
mov rcx, qword [rsp + 0x98]
call fcn.1800552e0
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 1
test eax, eax
jne 0x18003dd02
movsxd rax, dword [rsp + 0x268]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x278]
mov eax, dword [rcx + rax + 8]
shr eax, 4
and eax, 0xf
mov dword [rsp + 0xbfc], eax
cmp dword [rsp + 0xbfc], 2
je 0x18003dbc8
cmp dword [rsp + 0xbfc], 2
jbe 0x18003dd02
cmp dword [rsp + 0xbfc], 4
jbe 0x18003dbe5
cmp dword [rsp + 0xbfc], 5
je 0x18003dc1f
cmp dword [rsp + 0xbfc], 6
je 0x18003dc02
jmp 0x18003dd02
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 0x10
test eax, eax
jne 0x18003dbe0
jmp 0x18003dd20
jmp 0x18003dd02
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 4
test eax, eax
jne 0x18003dbfd
jmp 0x18003dd20
jmp 0x18003dd02
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 2
test eax, eax
jne 0x18003dc1a
jmp 0x18003dd20
jmp 0x18003dd02
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 4
test eax, eax
je 0x18003dced
mov rax, qword [rsp + 0x98]
movabs rcx, 0x7fffffffffff
cmp qword [rax], rcx
jg 0x18003dc9c
mov rax, qword [rsp + 0x98]
movabs rcx, 0xffff800000000000
cmp qword [rax], rcx
jl 0x18003dc9c
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
or eax, 0x20
mov rcx, qword [rsp + 0x98]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 0xfffffffb
mov rcx, qword [rsp + 0x98]
mov word [rcx + 0x14], ax
jmp 0x18003dceb
mov rax, qword [rsp + 0x98]
cvtsi2sd xmm0, qword [rax]
mov rax, qword [rsp + 0x98]
movsd qword [rax], xmm0
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
or eax, 8
mov rcx, qword [rsp + 0x98]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 0xfffffffb
mov rcx, qword [rsp + 0x98]
mov word [rcx + 0x14], ax
jmp 0x18003dd02
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 0x28
test eax, eax
jne 0x18003dd02
jmp 0x18003dd20
mov rax, qword [rsp + 0x98]
add rax, 0x38
mov qword [rsp + 0x98], rax
jmp 0x18003da93
jmp case.0x18003a3a7.88
movsxd rax, dword [rsp + 0x268]
imul rax, rax, 0x18
mov qword [rsp + 0xc00], rax
movsxd rcx, dword [rsp + 0x268]
imul rcx, rcx, 0x18
mov rdx, qword [rsp + 0x278]
mov ecx, dword [rdx + rcx + 8]
shr ecx, 4
and ecx, 0xf
dec ecx
mov ecx, ecx
mov qword [rsp + 0xc08], rcx
lea rdx, [0x18014b5f8]
mov qword [rsp + 0xc10], rdx
mov rcx, qword [rsp + 0x98]
call fcn.180055bb0
mov rcx, qword [rsp + 0x278]
mov rdx, qword [rsp + 0xc00]
mov rcx, qword [rcx + rdx]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x270]
mov rcx, qword [rcx]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0xc10]
mov rdx, qword [rsp + 0xc08]
mov r9, qword [rcx + rdx*8]
mov r8, rax
lea rdx, str.cannot_store__s_value_in__s_column__s._s
mov rcx, qword [rsp + 0xd00]
call fcn.18002f9e0
mov dword [rsp + 0x48], 0xc13
jmp 0x1800459a4
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x280], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
xor eax, eax
cmp eax, 1
je 0x18003df5b
movzx r8d, byte [rsp + 0x78]
mov rax, qword [rsp + 0x280]
movzx edx, byte [rax]
mov rcx, qword [rsp + 0x98]
call fcn.1800552e0
mov rax, qword [rsp + 0x280]
movsx eax, byte [rax]
cmp eax, 0x45
jne 0x18003df1e
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 4
test eax, eax
je 0x18003df1e
mov rax, qword [rsp + 0x98]
movabs rcx, 0x7fffffffffff
cmp qword [rax], rcx
jg 0x18003decf
mov rax, qword [rsp + 0x98]
movabs rcx, 0xffff800000000000
cmp qword [rax], rcx
jl 0x18003decf
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
or eax, 0x20
mov rcx, qword [rsp + 0x98]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 0xfffffffb
mov rcx, qword [rsp + 0x98]
mov word [rcx + 0x14], ax
jmp 0x18003df1e
mov rax, qword [rsp + 0x98]
cvtsi2sd xmm0, qword [rax]
mov rax, qword [rsp + 0x98]
movsd qword [rax], xmm0
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
or eax, 8
mov rcx, qword [rsp + 0x98]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 0xfffffff9
mov rcx, qword [rsp + 0x98]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x280]
inc rax
mov qword [rsp + 0x280], rax
mov rax, qword [rsp + 0x280]
movsx eax, byte [rax]
test eax, eax
jne 0x18003df42
jmp 0x18003df5b
mov rax, qword [rsp + 0x98]
add rax, 0x38
mov qword [rsp + 0x98], rax
jmp 0x18003de15
jmp case.0x18003a3a7.88
mov qword [rsp + 0x2a0], 0
mov dword [rsp + 0x29c], 0
mov qword [rsp + 0x290], 0
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 4]
mov dword [rsp + 0x2e8], eax
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x2a8], rax
movsxd rax, dword [rsp + 0x2e8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x2c8], rax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 8]
mov dword [rsp + 0x2e8], eax
mov eax, dword [rsp + 0x2e8]
dec eax
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x2c8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x2d8], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x2a8], 0
je 0x18003e0f5
mov rax, qword [rsp + 0x2c8]
mov qword [rsp + 0x2b0], rax
movzx r8d, byte [rsp + 0x78]
mov rax, qword [rsp + 0x2a8]
movzx edx, byte [rax]
mov rcx, qword [rsp + 0x2b0]
call fcn.1800552e0
mov rax, qword [rsp + 0x2a8]
movsx eax, byte [rax]
cmp eax, 0x45
jne 0x18003e0bb
mov rax, qword [rsp + 0x2b0]
movzx eax, word [rax + 0x14]
and eax, 4
test eax, eax
je 0x18003e0bb
mov rax, qword [rsp + 0x2b0]
movzx eax, word [rax + 0x14]
or eax, 0x20
mov rcx, qword [rsp + 0x2b0]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x2b0]
movzx eax, word [rax + 0x14]
and eax, 0xfffffffb
mov rcx, qword [rsp + 0x2b0]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x2a8]
inc rax
mov qword [rsp + 0x2a8], rax
mov rax, qword [rsp + 0x2b0]
add rax, 0x38
mov qword [rsp + 0x2b0], rax
mov rax, qword [rsp + 0x2a8]
movsx eax, byte [rax]
test eax, eax
jne 0x18003e044
mov rax, qword [rsp + 0x2d8]
mov qword [rsp + 0x2b0], rax
mov rax, qword [rsp + 0x2b0]
movzx eax, word [rax + 0x14]
and eax, 1
test eax, eax
je 0x18003e162
mov rax, qword [rsp + 0x2b0]
movzx eax, word [rax + 0x14]
and eax, 0x400
test eax, eax
je 0x18003e13e
mov rax, qword [rsp + 0x2b0]
mov dword [rax + 0x24], 0xa
jmp 0x18003e14d
mov rax, qword [rsp + 0x2b0]
mov dword [rax + 0x24], 0
mov eax, dword [rsp + 0x29c]
inc eax
mov dword [rsp + 0x29c], eax
jmp 0x18003e539
mov rax, qword [rsp + 0x2b0]
movzx eax, word [rax + 0x14]
and eax, 0x24
test eax, eax
je 0x18003e3b8
mov rax, qword [rsp + 0x2b0]
mov rax, qword [rax]
mov qword [rsp + 0x2f0], rax
cmp qword [rsp + 0x2f0], 0
jge 0x18003e1ac
mov rax, qword [rsp + 0x2f0]
not rax
mov qword [rsp + 0x2f8], rax
jmp 0x18003e1bc
mov rax, qword [rsp + 0x2f0]
mov qword [rsp + 0x2f8], rax
mov eax, dword [rsp + 0x29c]
inc eax
mov dword [rsp + 0x29c], eax
cmp qword [rsp + 0x2f8], 0x7f
ja 0x18003e23f
mov rax, qword [rsp + 0x2f0]
and rax, 1
cmp rax, qword [rsp + 0x2f0]
jne 0x18003e218
mov rax, qword [rsp + 0xd00]
movzx eax, byte [rax + 0xc5]
cmp eax, 4
jl 0x18003e218
mov eax, dword [rsp + 0x2f8]
add eax, 8
mov rcx, qword [rsp + 0x2b0]
mov dword [rcx + 0x24], eax
jmp 0x18003e23a
mov rax, qword [rsp + 0x2a0]
inc rax
mov qword [rsp + 0x2a0], rax
mov rax, qword [rsp + 0x2b0]
mov dword [rax + 0x24], 1
jmp 0x18003e3b3
cmp qword [rsp + 0x2f8], 0x7fff
ja 0x18003e275
mov rax, qword [rsp + 0x2a0]
add rax, 2
mov qword [rsp + 0x2a0], rax
mov rax, qword [rsp + 0x2b0]
mov dword [rax + 0x24], 2
jmp 0x18003e3b3
cmp qword [rsp + 0x2f8], 0x7fffff
ja 0x18003e2ab
mov rax, qword [rsp + 0x2a0]
add rax, 3
mov qword [rsp + 0x2a0], rax
mov rax, qword [rsp + 0x2b0]
mov dword [rax + 0x24], 3
jmp 0x18003e3b3
cmp qword [rsp + 0x2f8], 0x7fffffff
ja 0x18003e2e1
mov rax, qword [rsp + 0x2a0]
add rax, 4
mov qword [rsp + 0x2a0], rax
mov rax, qword [rsp + 0x2b0]
mov dword [rax + 0x24], 4
jmp 0x18003e3b3
movabs rax, 0x7fffffffffff
cmp qword [rsp + 0x2f8], rax
ja 0x18003e31d
mov rax, qword [rsp + 0x2a0]
add rax, 6
mov qword [rsp + 0x2a0], rax
mov rax, qword [rsp + 0x2b0]
mov dword [rax + 0x24], 5
jmp 0x18003e3b3
mov rax, qword [rsp + 0x2a0]
add rax, 8
mov qword [rsp + 0x2a0], rax
mov rax, qword [rsp + 0x2b0]
movzx eax, word [rax + 0x14]
and eax, 0x20
test eax, eax
je 0x18003e3a4
mov rax, qword [rsp + 0x2b0]
cvtsi2sd xmm0, qword [rax]
mov rax, qword [rsp + 0x2b0]
movsd qword [rax], xmm0
mov rax, qword [rsp + 0x2b0]
movzx eax, word [rax + 0x14]
and eax, 0xffffffdf
mov rcx, qword [rsp + 0x2b0]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x2b0]
movzx eax, word [rax + 0x14]
or eax, 8
mov rcx, qword [rsp + 0x2b0]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x2b0]
mov dword [rax + 0x24], 7
jmp 0x18003e3b3
mov rax, qword [rsp + 0x2b0]
mov dword [rax + 0x24], 6
jmp 0x18003e539
mov rax, qword [rsp + 0x2b0]
movzx eax, word [rax + 0x14]
and eax, 8
test eax, eax
je 0x18003e403
mov eax, dword [rsp + 0x29c]
inc eax
mov dword [rsp + 0x29c], eax
mov rax, qword [rsp + 0x2a0]
add rax, 8
mov qword [rsp + 0x2a0], rax
mov rax, qword [rsp + 0x2b0]
mov dword [rax + 0x24], 7
jmp 0x18003e539
mov rax, qword [rsp + 0x2b0]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x2b8], eax
mov rax, qword [rsp + 0x2b0]
movzx eax, word [rax + 0x14]
and eax, 2
test eax, eax
je 0x18003e435
mov dword [rsp + 0xc18], 1
jmp 0x18003e440
mov dword [rsp + 0xc18], 0
mov eax, dword [rsp + 0xc18]
mov ecx, dword [rsp + 0x2b8]
lea eax, [rax + rcx*2 + 0xc]
mov dword [rsp + 0x288], eax
mov rax, qword [rsp + 0x2b0]
movzx eax, word [rax + 0x14]
and eax, 0x400
test eax, eax
je 0x18003e4e9
mov rax, qword [rsp + 0x2b0]
mov eax, dword [rax]
mov ecx, dword [rsp + 0x288]
lea eax, [rcx + rax*2]
mov dword [rsp + 0x288], eax
cmp qword [rsp + 0x2a0], 0
je 0x18003e4c8
mov rcx, qword [rsp + 0x2b0]
call fcn.18002bbf0
test eax, eax
je 0x18003e4aa
jmp 0x180045bdc
mov rax, qword [rsp + 0x2b0]
mov eax, dword [rax]
mov ecx, dword [rsp + 0x2b8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x2b8], eax
jmp 0x18003e4e9
mov rax, qword [rsp + 0x2b0]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x290]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x290], rax
mov eax, dword [rsp + 0x2b8]
mov rcx, qword [rsp + 0x2a0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x2a0], rax
mov eax, dword [rsp + 0x288]
mov rcx, rax
call fcn.180036d40
mov ecx, dword [rsp + 0x29c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x29c], eax
mov rax, qword [rsp + 0x2b0]
mov ecx, dword [rsp + 0x288]
mov dword [rax + 0x24], ecx
mov rax, qword [rsp + 0x2c8]
cmp qword [rsp + 0x2b0], rax
jne 0x18003e54d
jmp 0x18003e56c
mov rax, qword [rsp + 0x2b0]
sub rax, 0x38
mov qword [rsp + 0x2b0], rax
xor eax, eax
cmp eax, 1
jne 0x18003e105
cmp dword [rsp + 0x29c], 0x7e
jg 0x18003e588
mov eax, dword [rsp + 0x29c]
inc eax
mov dword [rsp + 0x29c], eax
jmp 0x18003e5e1
movsxd rax, dword [rsp + 0x29c]
mov rcx, rax
call fcn.180036d40
mov dword [rsp + 0x298], eax
mov eax, dword [rsp + 0x298]
mov ecx, dword [rsp + 0x29c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x29c], eax
movsxd rax, dword [rsp + 0x29c]
mov rcx, rax
call fcn.180036d40
cmp dword [rsp + 0x298], eax
jge 0x18003e5e1
mov eax, dword [rsp + 0x29c]
inc eax
mov dword [rsp + 0x29c], eax
movsxd rax, dword [rsp + 0x29c]
add rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x2c0], rax
mov rax, qword [rsp + 0x290]
mov rcx, qword [rsp + 0x2c0]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x60]
movsxd rcx, dword [rcx + 0x20]
cmp rax, rcx
jg 0x18003e631
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx + 0x28]
mov qword [rax + 8], rcx
jmp 0x18003e677
mov rax, qword [rsp + 0x290]
mov rcx, qword [rsp + 0x2c0]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x40]
movsxd rcx, dword [rcx + 0x88]
cmp rax, rcx
jle 0x18003e65d
jmp 0x180045bbb
mov edx, dword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x60]
call fcn.18002b7c0
test eax, eax
je 0x18003e677
jmp 0x180045bdc
mov rax, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x2c0]
mov dword [rax + 0x10], ecx
mov rax, qword [rsp + 0x60]
mov word [rax + 0x14], 0x10
cmp qword [rsp + 0x290], 0
je 0x18003e6c1
mov rax, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x290]
mov dword [rax], ecx
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x14]
or eax, 0x400
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 8]
mov qword [rsp + 0x2d0], rax
movsxd rax, dword [rsp + 0x29c]
mov rcx, qword [rsp + 0x2d0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x2e0], rax
cmp dword [rsp + 0x29c], 0x80
jge 0x18003e724
mov rax, qword [rsp + 0x2d0]
movzx ecx, byte [rsp + 0x29c]
mov byte [rax], cl
mov rax, qword [rsp + 0x2d0]
inc rax
mov qword [rsp + 0x2d0], rax
jmp 0x18003e754
movsxd rax, dword [rsp + 0x29c]
mov rdx, rax
mov rcx, qword [rsp + 0x2d0]
call fcn.180045f00
cdqe
mov rcx, qword [rsp + 0x2d0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x2d0], rax
mov rax, qword [rsp + 0x2c8]
mov qword [rsp + 0x2b0], rax
xor eax, eax
cmp eax, 1
je 0x18003e9f1
mov rax, qword [rsp + 0x2b0]
mov eax, dword [rax + 0x24]
mov dword [rsp + 0x288], eax
cmp dword [rsp + 0x288], 7
ja 0x18003e8a0
mov rax, qword [rsp + 0x2d0]
movzx ecx, byte [rsp + 0x288]
mov byte [rax], cl
mov rax, qword [rsp + 0x2d0]
inc rax
mov qword [rsp + 0x2d0], rax
cmp dword [rsp + 0x288], 0
jne 0x18003e7c3
jmp 0x18003e89b
cmp dword [rsp + 0x288], 7
jne 0x18003e7ea
mov r8d, 8
mov rdx, qword [rsp + 0x2b0]
lea rcx, [rsp + 0x300]
call sub.msvcrt.dll_memcpy
jmp 0x18003e7fd
mov rax, qword [rsp + 0x2b0]
mov rax, qword [rax]
mov qword [rsp + 0x300], rax
mov eax, dword [rsp + 0x288]
lea rcx, [0x180127e50]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x308], eax
mov eax, dword [rsp + 0x308]
mov dword [rsp + 0x2b8], eax
xor eax, eax
cmp eax, 1
je 0x18003e87e
mov eax, dword [rsp + 0x308]
dec eax
mov dword [rsp + 0x308], eax
mov eax, dword [rsp + 0x308]
mov rcx, qword [rsp + 0x300]
and rcx, 0xff
mov rdx, qword [rsp + 0x2e0]
mov byte [rdx + rax], cl
cmp dword [rsp + 0x308], 0
jne 0x18003e868
jmp 0x18003e87e
mov rax, qword [rsp + 0x300]
shr rax, 8
mov qword [rsp + 0x300], rax
jmp 0x18003e824
mov eax, dword [rsp + 0x2b8]
mov rcx, qword [rsp + 0x2e0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x2e0], rax
jmp 0x18003e9c4
cmp dword [rsp + 0x288], 0x80
jae 0x18003e93d
mov rax, qword [rsp + 0x2d0]
movzx ecx, byte [rsp + 0x288]
mov byte [rax], cl
mov rax, qword [rsp + 0x2d0]
inc rax
mov qword [rsp + 0x2d0], rax
cmp dword [rsp + 0x288], 0xe
jb 0x18003e938
mov rax, qword [rsp + 0x2b0]
cmp dword [rax + 0x10], 0
jle 0x18003e938
mov rax, qword [rsp + 0x2b0]
movsxd rax, dword [rax + 0x10]
mov r8, rax
mov rax, qword [rsp + 0x2b0]
mov rdx, qword [rax + 8]
mov rcx, qword [rsp + 0x2e0]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x2b0]
movsxd rax, dword [rax + 0x10]
mov rcx, qword [rsp + 0x2e0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x2e0], rax
jmp 0x18003e9c4
mov eax, dword [rsp + 0x288]
mov rdx, rax
mov rcx, qword [rsp + 0x2d0]
call fcn.180045f00
cdqe
mov rcx, qword [rsp + 0x2d0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x2d0], rax
mov rax, qword [rsp + 0x2b0]
cmp dword [rax + 0x10], 0
je 0x18003e9c4
mov rax, qword [rsp + 0x2b0]
movsxd rax, dword [rax + 0x10]
mov r8, rax
mov rax, qword [rsp + 0x2b0]
mov rdx, qword [rax + 8]
mov rcx, qword [rsp + 0x2e0]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x2b0]
movsxd rax, dword [rax + 0x10]
mov rcx, qword [rsp + 0x2e0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x2e0], rax
mov rax, qword [rsp + 0x2d8]
cmp qword [rsp + 0x2b0], rax
jne 0x18003e9d8
jmp 0x18003e9f1
mov rax, qword [rsp + 0x2b0]
add rax, 0x38
mov qword [rsp + 0x2b0], rax
jmp 0x18003e764
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x318], rax
mov rax, qword [rsp + 0x88]
cmp dword [rax + 0xc], 0
je 0x18003ea43
mov rcx, qword [rsp + 0x318]
call fcn.180049380
mov qword [rsp + 0x310], rax
jmp 0x18003ea79
mov qword [rsp + 0x310], 0
lea r8, [rsp + 0x310]
mov rdx, qword [rsp + 0x318]
mov rcx, qword [rsp + 0x40]
call fcn.180052260
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18003ea79
jmp 0x1800459a4
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd00]
call fcn.180055560
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x310]
mov qword [rax], rcx
jmp 0x18003a3d2
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 4]
mov dword [rsp + 0x334], eax
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x320], rax
cmp dword [rsp + 0x334], 0
jne 0x18003ec5b
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0xe0], 0
jle 0x18003eb0b
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, qword [rsp + 0xd00]
call fcn.18002f9e0
mov dword [rsp + 0x48], 5
jmp 0x18003ec56
mov rcx, qword [rsp + 0x320]
call fcn.18000db50
mov dword [rsp + 0x350], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2e4]
mov rcx, qword [rsp + 0x40]
add eax, dword [rcx + 0x2e0]
mov r8d, eax
xor edx, edx
mov rcx, qword [rsp + 0x40]
call fcn.18007e930
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18003eb54
jmp 0x1800459a4
movsxd rax, dword [rsp + 0x350]
add rax, 0x21
mov rdx, rax
mov rcx, qword [rsp + 0x40]
call fcn.18000beb0
mov qword [rsp + 0x348], rax
cmp qword [rsp + 0x348], 0
je 0x18003ec56
mov rax, qword [rsp + 0x348]
add rax, 0x20
mov rcx, qword [rsp + 0x348]
mov qword [rcx], rax
mov eax, dword [rsp + 0x350]
inc eax
cdqe
mov r8, rax
mov rdx, qword [rsp + 0x320]
mov rax, qword [rsp + 0x348]
mov rcx, qword [rax]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x65]
test eax, eax
je 0x18003ebe2
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x65], 0
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x6d], 1
jmp 0x18003ebfa
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2e0]
inc eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x2e0], eax
mov rax, qword [rsp + 0x348]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x2d0]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x348]
mov qword [rax + 0x2d0], rcx
mov rax, qword [rsp + 0x348]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x2e8]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0x348]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x2f0]
mov qword [rax + 0x10], rcx
jmp 0x18003f12e
mov dword [rsp + 0x338], 0
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x2d0]
mov qword [rsp + 0x340], rax
jmp 0x18003ec90
mov rax, qword [rsp + 0x340]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x340], rax
cmp qword [rsp + 0x340], 0
je 0x18003ecc9
mov rdx, qword [rsp + 0x320]
mov rax, qword [rsp + 0x340]
mov rcx, qword [rax]
call fcn.18000de20
test eax, eax
je 0x18003ecc9
mov eax, dword [rsp + 0x338]
inc eax
mov dword [rsp + 0x338], eax
jmp 0x18003ec7c
cmp qword [rsp + 0x340], 0
jne 0x18003ecfd
mov r8, qword [rsp + 0x320]
lea rdx, str.no_such_savepoint:__s
mov rcx, qword [rsp + 0xd00]
call fcn.18002f9e0
mov dword [rsp + 0x48], 1
jmp 0x18003f12e
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0xe0], 0
jle 0x18003ed36
cmp dword [rsp + 0x334], 1
jne 0x18003ed36
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, qword [rsp + 0xd00]
call fcn.18002f9e0
mov dword [rsp + 0x48], 5
jmp 0x18003f12e
mov rax, qword [rsp + 0x340]
cmp qword [rax + 0x18], 0
jne 0x18003ed5f
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x6d]
test eax, eax
je 0x18003ed5f
mov dword [rsp + 0xc1c], 1
jmp 0x18003ed6a
mov dword [rsp + 0xc1c], 0
mov eax, dword [rsp + 0xc1c]
mov dword [rsp + 0x354], eax
cmp dword [rsp + 0x354], 0
je 0x18003ee50
cmp dword [rsp + 0x334], 1
jne 0x18003ee50
mov edx, 1
mov rcx, qword [rsp + 0xd00]
call fcn.18002f930
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18003edb6
jmp 0x180045b0e
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x65], 1
mov rcx, qword [rsp + 0xd00]
call fcn.18002c790
cmp eax, 5
jne 0x18003ee21
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, 0x18
idiv rcx
mov rcx, qword [rsp + 0xd00]
mov dword [rcx + 0x30], eax
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x65], 0
mov dword [rsp + 0x48], 5
mov rax, qword [rsp + 0xd00]
mov ecx, dword [rsp + 0x48]
mov dword [rax + 0x34], ecx
jmp 0x180045b0e
mov rax, qword [rsp + 0xd00]
mov eax, dword [rax + 0x34]
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18003ee42
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x65], 0
jmp 0x18003ee4b
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x6d], 0
jmp 0x18003efef
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x338]
mov eax, dword [rax + 0x2e0]
sub eax, ecx
dec eax
mov dword [rsp + 0x338], eax
cmp dword [rsp + 0x334], 2
jne 0x18003ef43
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2c]
and eax, 1
test eax, eax
je 0x18003ee97
mov dword [rsp + 0xc20], 1
jmp 0x18003eea2
mov dword [rsp + 0xc20], 0
mov eax, dword [rsp + 0xc20]
mov dword [rsp + 0x358], eax
mov dword [rsp + 0x330], 0
jmp 0x18003eecd
mov eax, dword [rsp + 0x330]
inc eax
mov dword [rsp + 0x330], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x28]
cmp dword [rsp + 0x330], eax
jge 0x18003ef41
cmp dword [rsp + 0x358], 0
jne 0x18003eef5
mov dword [rsp + 0xc24], 1
jmp 0x18003ef00
mov dword [rsp + 0xc24], 0
movsxd rax, dword [rsp + 0x330]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov r8d, dword [rsp + 0xc24]
mov edx, 0x204
mov rcx, qword [rcx + rax + 8]
call fcn.18002ada0
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18003ef3c
jmp 0x1800459a4
jmp 0x18003eebd
jmp 0x18003ef4e
mov dword [rsp + 0x358], 0
mov dword [rsp + 0x330], 0
jmp 0x18003ef6b
mov eax, dword [rsp + 0x330]
inc eax
mov dword [rsp + 0x330], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x28]
cmp dword [rsp + 0x330], eax
jge 0x18003efbc
movsxd rax, dword [rsp + 0x330]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov r8d, dword [rsp + 0x338]
mov edx, dword [rsp + 0x334]
mov rcx, qword [rcx + rax + 8]
call fcn.18002f840
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18003efba
jmp 0x1800459a4
jmp 0x18003ef5b
cmp dword [rsp + 0x358], 0
je 0x18003efef
xor edx, edx
mov rcx, qword [rsp + 0x40]
call fcn.180054f90
mov rcx, qword [rsp + 0x40]
call fcn.18006aee0
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2c]
or eax, 1
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x2c], eax
cmp dword [rsp + 0x48], 0
je 0x18003effb
jmp 0x1800459a4
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x340]
cmp qword [rax + 0x2d0], rcx
je 0x18003f069
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x2d0]
mov qword [rsp + 0x328], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x328]
mov rcx, qword [rcx + 0x18]
mov qword [rax + 0x2d0], rcx
mov rdx, qword [rsp + 0x328]
mov rcx, qword [rsp + 0x40]
call fcn.18000bb30
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2e0]
dec eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x2e0], eax
jmp 0x18003effb
cmp dword [rsp + 0x334], 1
jne 0x18003f0c1
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x340]
mov rcx, qword [rcx + 0x18]
mov qword [rax + 0x2d0], rcx
mov rdx, qword [rsp + 0x340]
mov rcx, qword [rsp + 0x40]
call fcn.18000bb30
cmp dword [rsp + 0x354], 0
jne 0x18003f0bf
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2e0]
dec eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x2e0], eax
jmp 0x18003f0f1
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x340]
mov rcx, qword [rcx + 8]
mov qword [rax + 0x2e8], rcx
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x340]
mov rcx, qword [rcx + 0x10]
mov qword [rax + 0x2f0], rcx
cmp dword [rsp + 0x354], 0
je 0x18003f105
cmp dword [rsp + 0x334], 2
jne 0x18003f12e
mov r8d, dword [rsp + 0x338]
mov edx, dword [rsp + 0x334]
mov rcx, qword [rsp + 0x40]
call fcn.18007e930
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18003f12e
jmp 0x1800459a4
cmp dword [rsp + 0x48], 0
je 0x18003f13a
jmp 0x1800459a4
mov rax, qword [rsp + 0xd00]
movzx eax, byte [rax + 0xc7]
cmp eax, 3
jne 0x18003f15b
mov dword [rsp + 0x48], 0x65
jmp 0x180045b0e
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 4]
mov dword [rsp + 0x360], eax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 8]
mov dword [rsp + 0x35c], eax
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x65]
cmp dword [rsp + 0x360], eax
je 0x18003f2cb
cmp dword [rsp + 0x35c], 0
je 0x18003f1be
mov edx, 0x204
mov rcx, qword [rsp + 0x40]
call fcn.1800e4e50
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x65], 1
jmp 0x18003f22d
cmp dword [rsp + 0x360], 0
je 0x18003f1f9
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0xe0], 0
jle 0x18003f1f9
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, qword [rsp + 0xd00]
call fcn.18002f9e0
mov dword [rsp + 0x48], 5
jmp 0x1800459a4
mov edx, 1
mov rcx, qword [rsp + 0xd00]
call fcn.18002f930
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18003f21d
jmp 0x180045b0e
mov rax, qword [rsp + 0x40]
movzx ecx, byte [rsp + 0x360]
mov byte [rax + 0x65], cl
mov rcx, qword [rsp + 0xd00]
call fcn.18002c790
cmp eax, 5
jne 0x18003f29a
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, 0x18
idiv rcx
mov rcx, qword [rsp + 0xd00]
mov dword [rcx + 0x30], eax
mov eax, 1
sub eax, dword [rsp + 0x360]
mov rcx, qword [rsp + 0x40]
mov byte [rcx + 0x65], al
mov dword [rsp + 0x48], 5
mov rax, qword [rsp + 0xd00]
mov ecx, dword [rsp + 0x48]
mov dword [rax + 0x34], ecx
jmp 0x180045b0e
mov rcx, qword [rsp + 0x40]
call fcn.1800e44a0
mov rax, qword [rsp + 0xd00]
cmp dword [rax + 0x34], 0
jne 0x18003f2bc
mov dword [rsp + 0x48], 0x65
jmp 0x18003f2c4
mov dword [rsp + 0x48], 1
jmp 0x180045b0e
cmp dword [rsp + 0x360], 0
jne 0x18003f2e6
lea rax, str.cannot_start_a_transaction_within_a_transaction
mov qword [rsp + 0xc28], rax
jmp 0x18003f320
cmp dword [rsp + 0x35c], 0
je 0x18003f301
lea rax, str.cannot_rollback___no_transaction_is_active
mov qword [rsp + 0xc30], rax
jmp 0x18003f310
lea rax, str.cannot_commit___no_transaction_is_active
mov qword [rsp + 0xc30], rax
mov rax, qword [rsp + 0xc30]
mov qword [rsp + 0xc28], rax
mov rdx, qword [rsp + 0xc28]
mov rcx, qword [rsp + 0xd00]
call fcn.18002f9e0
mov dword [rsp + 0x48], 1
jmp 0x1800459a4
mov dword [rsp + 0x370], 0
mov rax, qword [rsp + 0x88]
cmp dword [rax + 8], 0
je 0x18003f3a1
mov rax, qword [rsp + 0x40]
movabs rcx, 0x200100000
mov rax, qword [rax + 0x30]
and rax, rcx
test rax, rax
je 0x18003f3a1
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x30]
and rax, 0x100000
test rax, rax
je 0x18003f394
mov dword [rsp + 0x48], 8
jmp 0x18003f39c
mov dword [rsp + 0x48], 0xb
jmp 0x1800459a4
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
add rax, qword [rcx + 0x20]
mov qword [rsp + 0x378], rax
mov rax, qword [rsp + 0x378]
mov rax, qword [rax + 8]
mov qword [rsp + 0x368], rax
cmp qword [rsp + 0x368], 0
je 0x18003f569
lea r8, [rsp + 0x370]
mov rax, qword [rsp + 0x88]
mov edx, dword [rax + 8]
mov rcx, qword [rsp + 0x368]
call fcn.180020fd0
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18003f462
mov eax, dword [rsp + 0x48]
and eax, 0xff
cmp eax, 5
jne 0x18003f45d
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, 0x18
idiv rcx
mov rcx, qword [rsp + 0xd00]
mov dword [rcx + 0x30], eax
mov rax, qword [rsp + 0xd00]
mov ecx, dword [rsp + 0x48]
mov dword [rax + 0x34], ecx
jmp 0x180045b0e
jmp 0x1800459a4
mov rax, qword [rsp + 0xd00]
mov eax, dword [rax + 0xc8]
shr eax, 5
and eax, 1
test eax, eax
je 0x18003f569
mov rax, qword [rsp + 0x88]
cmp dword [rax + 8], 0
je 0x18003f569
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x65]
test eax, eax
je 0x18003f4af
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0xdc], 1
jle 0x18003f569
mov rax, qword [rsp + 0xd00]
cmp dword [rax + 0x40], 0
jne 0x18003f4f6
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2e4]
inc eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x2e4], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2e0]
mov rcx, qword [rsp + 0x40]
add eax, dword [rcx + 0x2e4]
mov rcx, qword [rsp + 0xd00]
mov dword [rcx + 0x40], eax
mov rax, qword [rsp + 0xd00]
mov eax, dword [rax + 0x40]
dec eax
mov r8d, eax
xor edx, edx
mov rcx, qword [rsp + 0x40]
call fcn.18007e930
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
jne 0x18003f539
mov rax, qword [rsp + 0xd00]
mov edx, dword [rax + 0x40]
mov rcx, qword [rsp + 0x368]
call fcn.180048de0
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0xd00]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x2e8]
mov qword [rax + 0x58], rcx
mov rax, qword [rsp + 0xd00]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x2f0]
mov qword [rax + 0x60], rcx
cmp dword [rsp + 0x48], 0
jne 0x18003f67c
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
test eax, eax
je 0x18003f67c
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0xc]
cmp dword [rsp + 0x370], eax
jne 0x18003f5bc
mov rax, qword [rsp + 0x378]
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0x88]
mov ecx, dword [rcx + 0x10]
cmp dword [rax + 4], ecx
je 0x18003f67c
mov rax, qword [rsp + 0xd00]
mov rdx, qword [rax + 0xa8]
mov rcx, qword [rsp + 0x40]
call fcn.18000bb30
lea rdx, [0x18014e5b8]
mov rcx, qword [rsp + 0x40]
call fcn.180032b20
mov rcx, qword [rsp + 0xd00]
mov qword [rcx + 0xa8], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax + 0x18]
mov ecx, dword [rsp + 0x370]
cmp dword [rax], ecx
je 0x18003f633
mov rax, qword [rsp + 0x88]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.18006ade0
mov rax, qword [rsp + 0xd00]
mov eax, dword [rax + 0xc8]
and eax, 0xfffffffc
or eax, 1
mov rcx, qword [rsp + 0xd00]
mov dword [rcx + 0xc8], eax
mov dword [rsp + 0x48], 0x11
mov rax, qword [rsp + 0xd00]
mov eax, dword [rax + 0xc8]
and eax, 0xffffffef
mov rcx, qword [rsp + 0xd00]
mov dword [rcx + 0xc8], eax
cmp dword [rsp + 0x48], 0
je 0x18003f688
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 4]
mov dword [rsp + 0x388], eax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x384], eax
movsxd rax, dword [rsp + 0x388]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
lea r8, [rsp + 0x380]
mov edx, dword [rsp + 0x384]
mov rcx, qword [rcx + rax + 8]
call fcn.1800521b0
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd00]
call fcn.180055560
mov qword [rsp + 0x60], rax
movsxd rax, dword [rsp + 0x380]
mov rcx, qword [rsp + 0x60]
mov qword [rcx], rax
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
add rax, qword [rcx + 0x20]
mov qword [rsp + 0x390], rax
mov rax, qword [rsp + 0x88]
mov r8d, dword [rax + 0xc]
mov rax, qword [rsp + 0x88]
mov edx, dword [rax + 8]
mov rax, qword [rsp + 0x390]
mov rcx, qword [rax + 8]
call fcn.18002a290
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x88]
cmp dword [rax + 8], 1
jne 0x18003f7bc
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
mov rcx, qword [rsp + 0x88]
mov ecx, dword [rcx + 0xc]
sub ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x390]
mov rcx, qword [rcx + 0x18]
mov dword [rcx], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2c]
or eax, 1
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x2c], eax
mov rax, qword [rsp + 0x88]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.180070c40
jmp 0x18003f7e5
mov rax, qword [rsp + 0x88]
cmp dword [rax + 8], 2
jne 0x18003f7e5
mov rax, qword [rsp + 0x390]
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0x88]
movzx ecx, byte [rcx + 0xc]
mov byte [rax + 0x70], cl
mov rax, qword [rsp + 0x88]
cmp dword [rax + 4], 1
jne 0x18003f81e
xor edx, edx
mov rcx, qword [rsp + 0x40]
call fcn.180054f90
mov rax, qword [rsp + 0xd00]
mov eax, dword [rax + 0xc8]
and eax, 0xfffffffc
mov rcx, qword [rsp + 0xd00]
mov dword [rcx + 0xc8], eax
cmp dword [rsp + 0x48], 0
je 0x18003f82a
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x3a8], rax
cmp qword [rsp + 0x3a8], 0
je case.0x18003a3a7.111
mov rax, qword [rsp + 0x3a8]
mov rcx, qword [rsp + 0x88]
mov ecx, dword [rcx + 8]
cmp dword [rax + 0x44], ecx
jne case.0x18003a3a7.111
mov rax, qword [rsp + 0x3a8]
mov rcx, qword [rax + 0x30]
call fcn.18002aea0
jmp 0x18003fb46
mov rax, qword [rsp + 0xd00]
mov eax, dword [rax + 0xc8]
and eax, 3
cmp eax, 1
jne 0x18003f8af
mov dword [rsp + 0x48], 0x204
jmp 0x1800459a4
mov dword [rsp + 0x3cc], 0
mov qword [rsp + 0x3b0], 0
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 8]
mov dword [rsp + 0x3a0], eax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x3c8], eax
movsxd rax, dword [rsp + 0x3c8]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
add rax, qword [rcx + 0x20]
mov qword [rsp + 0x3c0], rax
mov rax, qword [rsp + 0x3c0]
mov rax, qword [rax + 8]
mov qword [rsp + 0x398], rax
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
cmp eax, 0x71
jne 0x18003f987
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
and eax, 8
or eax, 4
mov dword [rsp + 0x3b8], eax
mov rax, qword [rsp + 0x3c0]
mov rax, qword [rax + 0x18]
movzx eax, byte [rax + 0x70]
mov rcx, qword [rsp + 0xd00]
movzx ecx, byte [rcx + 0xc5]
cmp eax, ecx
jge 0x18003f985
mov rax, qword [rsp + 0x3c0]
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0xd00]
movzx eax, byte [rax + 0x70]
mov byte [rcx + 0xc5], al
jmp 0x18003f992
mov dword [rsp + 0x3b8], 0
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
and eax, 0x10
test eax, eax
je 0x18003f9db
mov eax, dword [rsp + 0x3a0]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
call fcn.1800541f0
mov rax, qword [rsp + 0x70]
mov eax, dword [rax]
mov dword [rsp + 0x3a0], eax
mov rax, qword [rsp + 0x88]
movsx eax, byte [rax + 1]
cmp eax, 0xfffffff8
jne 0x18003fa15
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x3b0], rax
mov rax, qword [rsp + 0x3b0]
movzx eax, word [rax + 8]
mov dword [rsp + 0x3cc], eax
jmp 0x18003fa38
mov rax, qword [rsp + 0x88]
movsx eax, byte [rax + 1]
cmp eax, 0xfffffffd
jne 0x18003fa38
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x3cc], eax
xor r9d, r9d
mov r8d, dword [rsp + 0x3cc]
mov rax, qword [rsp + 0x88]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
call fcn.180055080
mov qword [rsp + 0x3a8], rax
cmp qword [rsp + 0x3a8], 0
jne 0x18003fa73
jmp 0x180045bdc
mov rax, qword [rsp + 0x3a8]
movzx ecx, byte [rsp + 0x3c8]
mov byte [rax + 1], cl
mov rax, qword [rsp + 0x3a8]
mov byte [rax + 2], 1
mov rax, qword [rsp + 0x3a8]
mov eax, dword [rax + 8]
or eax, 4
mov rcx, qword [rsp + 0x3a8]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x3a8]
mov ecx, dword [rsp + 0x3a0]
mov dword [rax + 0x44], ecx
mov rax, qword [rsp + 0x3a8]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x3b0]
mov r8d, dword [rsp + 0x3b8]
mov edx, dword [rsp + 0x3a0]
mov rcx, qword [rsp + 0x398]
call fcn.180048e40
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x3a8]
mov rcx, qword [rsp + 0x3b0]
mov qword [rax + 0x38], rcx
mov rax, qword [rsp + 0x88]
movsx eax, byte [rax + 1]
cmp eax, 0xfffffff8
je 0x18003fb28
mov dword [rsp + 0xc38], 1
jmp 0x18003fb33
mov dword [rsp + 0xc38], 0
mov rax, qword [rsp + 0x3a8]
movzx ecx, byte [rsp + 0xc38]
mov byte [rax + 4], cl
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
and eax, 3
mov edx, eax
mov rax, qword [rsp + 0x3a8]
mov rcx, qword [rax + 0x30]
call fcn.180047110
cmp dword [rsp + 0x48], 0
je 0x18003fb74
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x3d8], rax
mov rax, qword [rsp + 0x3d8]
movsx eax, word [rax + 0x48]
xor r9d, r9d
mov r8d, eax
mov rax, qword [rsp + 0x88]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
call fcn.180055080
mov qword [rsp + 0x3d0], rax
cmp qword [rsp + 0x3d0], 0
jne 0x18003fbdf
jmp 0x180045bdc
mov rax, qword [rsp + 0x3d0]
mov byte [rax + 2], 1
mov rax, qword [rsp + 0x3d0]
mov eax, dword [rax + 8]
or eax, 1
mov rcx, qword [rsp + 0x3d0]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x3d0]
mov rcx, qword [rsp + 0x3d8]
mov rcx, qword [rcx + 0x38]
mov qword [rax + 0x38], rcx
mov rax, qword [rsp + 0x3d0]
mov rcx, qword [rsp + 0x3d8]
movzx ecx, byte [rcx + 4]
mov byte [rax + 4], cl
mov rax, qword [rsp + 0x3d0]
mov rcx, qword [rsp + 0x3d8]
mov ecx, dword [rcx + 0x44]
mov dword [rax + 0x44], ecx
mov rax, qword [rsp + 0x3d8]
mov eax, dword [rax + 8]
shr eax, 2
and eax, 1
and eax, 1
shl eax, 2
mov rcx, qword [rsp + 0x3d0]
mov ecx, dword [rcx + 8]
and ecx, 0xfffffffb
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x3d0]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x3d0]
mov rcx, qword [rsp + 0x3d8]
mov rcx, qword [rcx + 0x10]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x3d0]
mov eax, dword [rax + 8]
or eax, 8
mov rcx, qword [rsp + 0x3d0]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x3d8]
mov eax, dword [rax + 8]
or eax, 8
mov rcx, qword [rsp + 0x3d8]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x3d0]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x3d0]
mov r9, qword [rax + 0x38]
mov r8d, 4
mov rax, qword [rsp + 0x3d0]
mov edx, dword [rax + 0x44]
mov rax, qword [rsp + 0x3d0]
mov rcx, qword [rax + 0x10]
call fcn.180048e40
mov dword [rsp + 0x48], eax
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
cmp dword [rax + 0xc], 0
jle 0x18003fd61
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
mov dword [rcx + rax + 0x10], 0
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
lea rdx, [0x180157b8e]
mov qword [rcx + rax + 8], rdx
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x3e0], rax
cmp qword [rsp + 0x3e0], 0
je 0x18003fe05
mov rax, qword [rsp + 0x3e0]
mov eax, dword [rax + 8]
shr eax, 3
and eax, 1
test eax, eax
jne 0x18003fe05
mov rax, qword [rsp + 0x3e0]
movsx eax, word [rax + 0x48]
mov rcx, qword [rsp + 0x88]
cmp dword [rcx + 8], eax
jg 0x18003fe05
mov rax, qword [rsp + 0x3e0]
mov qword [rax + 0x18], 0
mov rax, qword [rsp + 0x3e0]
mov dword [rax + 0x20], 0
xor r8d, r8d
mov rax, qword [rsp + 0x3e0]
mov edx, dword [rax + 0x44]
mov rax, qword [rsp + 0x3e0]
mov rcx, qword [rax + 0x10]
call fcn.180051b60
mov dword [rsp + 0x48], eax
jmp 0x18004004f
xor r9d, r9d
mov rax, qword [rsp + 0x88]
mov r8d, dword [rax + 8]
mov rax, qword [rsp + 0x88]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
call fcn.180055080
mov qword [rsp + 0x3e0], rax
cmp qword [rsp + 0x3e0], 0
jne 0x18003fe44
jmp 0x180045bdc
mov rax, qword [rsp + 0x3e0]
mov eax, dword [rax + 8]
or eax, 1
mov rcx, qword [rsp + 0x3e0]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
or eax, 5
mov rcx, qword [rsp + 0x3e0]
add rcx, 0x10
mov edx, dword [0x180128098]
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], eax
mov r9, rcx
mov r8, qword [rsp + 0x40]
xor edx, edx
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax]
call fcn.180047130
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
jne 0x18004004f
xor r8d, r8d
mov edx, 1
mov rax, qword [rsp + 0x3e0]
mov rcx, qword [rax + 0x10]
call fcn.180020fd0
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
jne 0x18003ffe4
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x3e8], rax
mov rax, qword [rsp + 0x3e0]
mov rcx, qword [rsp + 0x3e8]
mov qword [rax + 0x38], rcx
cmp qword [rsp + 0x3e8], 0
je 0x18003ff95
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
or eax, 2
mov rcx, qword [rsp + 0x3e0]
add rcx, 0x44
mov r8d, eax
mov rdx, rcx
mov rax, qword [rsp + 0x3e0]
mov rcx, qword [rax + 0x10]
call fcn.1800517c0
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
jne 0x18003ff87
mov rax, qword [rsp + 0x3e0]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x3e8]
mov r8d, 4
mov rax, qword [rsp + 0x3e0]
mov edx, dword [rax + 0x44]
mov rax, qword [rsp + 0x3e0]
mov rcx, qword [rax + 0x10]
call fcn.180048e40
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x3e0]
mov byte [rax + 4], 0
jmp 0x18003ffe4
mov rax, qword [rsp + 0x3e0]
mov dword [rax + 0x44], 1
mov rax, qword [rsp + 0x3e0]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 4
mov edx, 1
mov rax, qword [rsp + 0x3e0]
mov rcx, qword [rax + 0x10]
call fcn.180048e40
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x3e0]
mov byte [rax + 4], 1
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
cmp eax, 8
je 0x180040002
mov dword [rsp + 0xc3c], 1
jmp 0x18004000d
mov dword [rsp + 0xc3c], 0
mov eax, dword [rsp + 0xc3c]
and eax, 1
shl eax, 2
mov rcx, qword [rsp + 0x3e0]
mov ecx, dword [rcx + 8]
and ecx, 0xfffffffb
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x3e0]
mov dword [rcx + 8], eax
cmp dword [rsp + 0x48], 0
je 0x18004004f
mov rax, qword [rsp + 0x3e0]
mov rcx, qword [rax + 0x10]
call fcn.18002d330
cmp dword [rsp + 0x48], 0
je 0x18004005b
jmp 0x1800459a4
mov rax, qword [rsp + 0x3e0]
mov byte [rax + 2], 1
jmp case.0x18003a3a7.88
mov r9b, 1
mov rax, qword [rsp + 0x88]
mov r8d, dword [rax + 8]
mov rax, qword [rsp + 0x88]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
call fcn.180055080
mov qword [rsp + 0x3f0], rax
cmp qword [rsp + 0x3f0], 0
jne 0x1800400ab
jmp 0x180045bdc
mov rax, qword [rsp + 0x3f0]
mov rcx, qword [rsp + 0x88]
mov rcx, qword [rcx + 0x10]
mov qword [rax + 0x38], rcx
mov r8, qword [rsp + 0x3f0]
mov rax, qword [rsp + 0x88]
mov edx, dword [rax + 0xc]
mov rcx, qword [rsp + 0x40]
call fcn.180057f60
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x1800400f0
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x3f8], rax
mov rax, qword [rsp + 0x3f8]
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0x3f8]
mov rcx, qword [rcx + 0x18]
inc rcx
mov rdx, qword [rsp + 0x3f8]
mov qword [rdx + 0x18], rcx
test rax, rax
jne 0x18004014a
jmp 0x18003a587
jmp case.0x18003a3a7.88
mov r9b, 3
mov rax, qword [rsp + 0x88]
mov r8d, dword [rax + 0xc]
mov rax, qword [rsp + 0x88]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
call fcn.180055080
mov qword [rsp + 0x400], rax
cmp qword [rsp + 0x400], 0
jne 0x18004018e
jmp 0x180045bdc
mov rax, qword [rsp + 0x400]
mov byte [rax + 2], 1
mov rax, qword [rsp + 0x400]
mov rcx, qword [rsp + 0x88]
mov ecx, dword [rcx + 8]
mov dword [rax + 0x24], ecx
mov rax, qword [rsp + 0x400]
mov byte [rax + 4], 1
call fcn.180047100
mov rcx, qword [rsp + 0x400]
mov qword [rcx + 0x30], rax
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rdx, qword [rcx + rax*8]
mov rcx, qword [rsp + 0xd00]
call fcn.180054770
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov qword [rcx + rax*8], 0
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x418], rax
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
mov dword [rsp + 0x450], eax
mov dword [rsp + 0x420], 0
mov rax, qword [rsp + 0x418]
mov byte [rax + 2], 0
mov rax, qword [rsp + 0x418]
mov byte [rax + 3], 0
mov rax, qword [rsp + 0x418]
mov dword [rax + 0x20], 0
mov rax, qword [rsp + 0x418]
movzx eax, byte [rax + 4]
test eax, eax
je 0x18004044d
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
mov word [rsp + 0x458], ax
movzx eax, word [rsp + 0x458]
and eax, 0x2e
cmp eax, 2
jne 0x1800402ec
xor edx, edx
mov rcx, qword [rsp + 0x50]
call fcn.180039ec0
mov rcx, qword [rsp + 0x50]
call fcn.1800312b0
mov qword [rsp + 0x410], rax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
mov word [rsp + 0x45c], ax
mov rax, qword [rsp + 0x50]
movzx ecx, word [rsp + 0x458]
mov word [rax + 0x14], cx
movzx eax, word [rsp + 0x45c]
and eax, 0x24
test eax, eax
jne 0x180040400
movzx eax, word [rsp + 0x45c]
and eax, 8
test eax, eax
jne 0x180040390
movzx eax, word [rsp + 0x45c]
and eax, 1
test eax, eax
jne 0x18004035b
cmp dword [rsp + 0x450], 0x17
jl 0x180040362
jmp 0x18003a587
lea rdx, [rsp + 0x408]
mov rax, qword [rsp + 0x418]
mov rcx, qword [rax + 0x30]
call fcn.1800491d0
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18004038b
jmp 0x1800459a4
jmp 0x180040660
mov rax, qword [rsp + 0x50]
movlpd xmm1, qword [rax]
mov rcx, qword [rsp + 0x410]
call fcn.1800370e0
mov dword [rsp + 0x460], eax
cmp dword [rsp + 0x460], 0
jle 0x1800403d7
mov eax, dword [rsp + 0x450]
and eax, 1
test eax, eax
jne 0x1800403d5
mov eax, dword [rsp + 0x450]
dec eax
mov dword [rsp + 0x450], eax
jmp 0x180040400
cmp dword [rsp + 0x460], 0
jge 0x180040400
mov eax, dword [rsp + 0x450]
and eax, 1
cmp eax, 1
jne 0x180040400
mov eax, dword [rsp + 0x450]
inc eax
mov dword [rsp + 0x450], eax
lea r9, [rsp + 0x408]
xor r8d, r8d
mov rdx, qword [rsp + 0x410]
mov rax, qword [rsp + 0x418]
mov rcx, qword [rax + 0x30]
call fcn.180034db0
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x410]
mov qword [rax + 0x50], rcx
cmp dword [rsp + 0x48], 0
je 0x180040448
jmp 0x1800459a4
jmp 0x18004055a
mov edx, 2
mov rax, qword [rsp + 0x418]
mov rcx, qword [rax + 0x30]
call fcn.1800540a0
test eax, eax
je 0x180040472
mov dword [rsp + 0x420], 1
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x454], eax
mov rax, qword [rsp + 0x418]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x428], rax
movzx eax, word [rsp + 0x454]
mov word [rsp + 0x444], ax
mov eax, dword [rsp + 0x450]
sub eax, 0x15
and eax, 1
test eax, eax
je 0x1800404c6
mov dword [rsp + 0xc40], 0xffffffff
jmp 0x1800404d1
mov dword [rsp + 0xc40], 1
movzx eax, byte [rsp + 0xc40]
mov byte [rsp + 0x446], al
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x430], rax
mov byte [rsp + 0x44a], 0
lea r8, [rsp + 0x408]
lea rdx, [rsp + 0x428]
mov rax, qword [rsp + 0x418]
mov rcx, qword [rax + 0x30]
call fcn.1800351d0
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18004053f
jmp 0x1800459a4
cmp dword [rsp + 0x420], 0
je 0x18004055a
movzx eax, byte [rsp + 0x44a]
test eax, eax
jne 0x18004055a
jmp 0x180040660
cmp dword [rsp + 0x450], 0x17
jl 0x1800405de
cmp dword [rsp + 0x408], 0
jl 0x180040582
cmp dword [rsp + 0x408], 0
jne 0x1800405ce
cmp dword [rsp + 0x450], 0x18
jne 0x1800405ce
mov dword [rsp + 0x408], 0
xor edx, edx
mov rax, qword [rsp + 0x418]
mov rcx, qword [rax + 0x30]
call fcn.180034840
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x1800405cc
cmp dword [rsp + 0x48], 0x65
jne 0x1800405c7
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x408], 1
jmp 0x1800405cc
jmp 0x1800459a4
jmp 0x1800405d9
mov dword [rsp + 0x408], 0
jmp 0x180040660
cmp dword [rsp + 0x408], 0
jg 0x1800405fc
cmp dword [rsp + 0x408], 0
jne 0x180040648
cmp dword [rsp + 0x450], 0x15
jne 0x180040648
mov dword [rsp + 0x408], 0
xor edx, edx
mov rax, qword [rsp + 0x418]
mov rcx, qword [rax + 0x30]
call fcn.180049430
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x180040646
cmp dword [rsp + 0x48], 0x65
jne 0x180040641
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x408], 1
jmp 0x180040646
jmp 0x1800459a4
jmp 0x180040660
mov rax, qword [rsp + 0x418]
mov rcx, qword [rax + 0x30]
call fcn.180034800
mov dword [rsp + 0x408], eax
cmp dword [rsp + 0x408], 0
je 0x180040671
jmp 0x18003a587
cmp dword [rsp + 0x420], 0
je 0x18004068f
mov rax, qword [rsp + 0x88]
add rax, 0x18
mov qword [rsp + 0x88], rax
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0x1c]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x470], rax
mov rax, qword [rsp + 0x470]
mov rcx, qword [rax + 0x30]
call fcn.180049150
test eax, eax
jne 0x1800406d2
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 4]
mov dword [rsp + 0x468], eax
mov rax, qword [rsp + 0x470]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x478], rax
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 0x28]
mov word [rsp + 0x494], ax
mov byte [rsp + 0x496], 0
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0x24]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x480], rax
mov dword [rsp + 0x464], 0
xor eax, eax
cmp eax, 1
je 0x18004082f
lea r9, [rsp + 0x464]
lea r8, [rsp + 0x478]
mov rdx, qword [rsp + 0x470]
mov rcx, qword [rsp + 0x40]
call fcn.180054ea0
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x180040782
jmp 0x1800459a4
cmp dword [rsp + 0x464], 0
jle 0x1800407b5
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
test eax, eax
jne 0x1800407b5
mov rax, qword [rsp + 0x88]
add rax, 0x18
mov qword [rsp + 0x88], rax
jmp 0x18003a587
cmp dword [rsp + 0x464], 0
jl 0x1800407c6
jmp 0x18003a587
cmp dword [rsp + 0x468], 0
jg 0x1800407d2
jmp 0x18004082f
mov eax, dword [rsp + 0x468]
dec eax
mov dword [rsp + 0x468], eax
mov rax, qword [rsp + 0x470]
mov dword [rax + 0x20], 0
xor edx, edx
mov rax, qword [rsp + 0x470]
mov rcx, qword [rax + 0x30]
call fcn.180034840
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18004082a
cmp dword [rsp + 0x48], 0x65
jne 0x180040825
mov dword [rsp + 0x48], 0
jmp 0x18004079c
jmp 0x1800459a4
jmp 0x180040745
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x4a0], rax
mov rax, qword [rsp + 0x4a0]
movzx eax, word [rax + 0xc]
mov rcx, qword [rsp + 0x88]
cmp eax, dword [rcx + 8]
jge 0x18004088b
mov rax, qword [rsp + 0x4a0]
mov rcx, qword [rsp + 0x88]
movzx ecx, word [rcx + 8]
mov word [rax + 0xc], cx
jmp 0x1800408bc
mov rax, qword [rsp + 0x4a0]
movzx eax, word [rax + 0xc]
mov rcx, qword [rsp + 0x88]
cmp eax, dword [rcx + 0xc]
jle 0x1800408bc
mov rax, qword [rsp + 0x4a0]
mov rcx, qword [rsp + 0x88]
movzx ecx, word [rcx + 0xc]
mov word [rax + 0xc], cx
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x4a8], rax
cmp qword [rsp + 0x4a8], 0
je 0x180040900
mov rax, qword [rsp + 0x4a8]
movzx eax, byte [rax + 2]
test eax, eax
je 0x180040905
jmp case.0x18003a3a7.8
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x4b0], rax
mov rax, qword [rsp + 0x4b0]
movzx eax, word [rax + 0xc]
mov rcx, qword [rsp + 0x88]
cmp eax, dword [rcx + 0x10]
jl case.0x18003a3a7.26
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x4c0], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x4e0], rax
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 0x10]
mov word [rsp + 0x4f4], ax
movzx eax, word [rsp + 0x4f4]
test eax, eax
jle 0x180040a03
mov rax, qword [rsp + 0x4c0]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x4d8], rax
mov byte [rsp + 0x4f6], 0
mov rax, qword [rsp + 0x4c0]
add rax, 0x24
mov r8, rax
lea rdx, [rsp + 0x4d8]
mov rax, qword [rsp + 0x4c0]
mov rcx, qword [rax + 0x30]
call fcn.1800351d0
mov dword [rsp + 0x48], eax
jmp 0x180040af3
mov rax, qword [rsp + 0x4e0]
movzx eax, word [rax + 0x14]
and eax, 0x400
test eax, eax
je 0x180040a2e
mov rcx, qword [rsp + 0x4e0]
call fcn.18002bbf0
mov dword [rsp + 0xc44], eax
jmp 0x180040a39
mov dword [rsp + 0xc44], 0
mov eax, dword [rsp + 0xc44]
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x180040a50
jmp 0x180045bdc
mov rax, qword [rsp + 0x4c0]
mov rcx, qword [rax + 0x38]
call fcn.180036140
mov qword [rsp + 0x4d0], rax
cmp qword [rsp + 0x4d0], 0
jne 0x180040a79
jmp 0x180045bdc
mov r9, qword [rsp + 0x4d0]
mov rax, qword [rsp + 0x4e0]
mov r8, qword [rax + 8]
mov rax, qword [rsp + 0x4e0]
mov edx, dword [rax + 0x10]
mov rax, qword [rsp + 0x4c0]
mov rcx, qword [rax + 0x38]
call fcn.1800361d0
mov rax, qword [rsp + 0x4d0]
mov byte [rax + 0x1e], 0
mov rax, qword [rsp + 0x4c0]
add rax, 0x24
mov r8, rax
mov rdx, qword [rsp + 0x4d0]
mov rax, qword [rsp + 0x4c0]
mov rcx, qword [rax + 0x30]
call fcn.1800351d0
mov dword [rsp + 0x48], eax
mov rdx, qword [rsp + 0x4d0]
mov rcx, qword [rsp + 0x40]
call fcn.18000bb60
cmp dword [rsp + 0x48], 0
je 0x180040aff
jmp 0x1800459a4
mov rax, qword [rsp + 0x4c0]
cmp dword [rax + 0x24], 0
jne 0x180040b1a
mov dword [rsp + 0xc48], 1
jmp 0x180040b25
mov dword [rsp + 0xc48], 0
mov eax, dword [rsp + 0xc48]
mov dword [rsp + 0x4b8], eax
mov eax, 1
sub eax, dword [rsp + 0x4b8]
mov rcx, qword [rsp + 0x4c0]
mov byte [rcx + 2], al
mov rax, qword [rsp + 0x4c0]
mov byte [rax + 3], 0
mov rax, qword [rsp + 0x4c0]
mov dword [rax + 0x20], 0
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
cmp eax, 0x1d
jne 0x180040b89
cmp dword [rsp + 0x4b8], 0
je 0x180040b84
jmp 0x18003a587
jmp 0x180040c25
cmp dword [rsp + 0x4b8], 0
jne 0x180040b98
jmp 0x18003a587
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
cmp eax, 0x1b
jne 0x180040bfd
mov dword [rsp + 0x4c8], 0
jmp 0x180040bc5
mov eax, dword [rsp + 0x4c8]
inc eax
mov dword [rsp + 0x4c8], eax
movzx eax, word [rsp + 0x4f4]
cmp dword [rsp + 0x4c8], eax
jge 0x180040bfd
movsxd rax, dword [rsp + 0x4c8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x4e0]
movzx eax, word [rcx + rax + 0x14]
and eax, 1
test eax, eax
je 0x180040bfb
jmp 0x18003a587
jmp 0x180040bb5
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
cmp eax, 0x1a
jne 0x180040c25
mov rax, qword [rsp + 0x4c0]
mov rcx, qword [rsp + 0x88]
movzx ecx, word [rcx + 0x10]
mov word [rax + 0xc], cx
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 0x14]
and eax, 0x24
test eax, eax
jne case.0x18003a3a7.30
lea rax, [rsp + 0xb58]
mov rdi, rax
mov rsi, qword [rsp + 0x50]
mov ecx, 0x38
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x520]
lea rcx, [rsp + 0xb58]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x38
rep movsb byte [rdi], byte [rsi]
movzx r8d, byte [rsp + 0x78]
mov dl, 0x43
lea rcx, [rsp + 0x520]
call fcn.1800552e0
movzx eax, word [rsp + 0x534]
and eax, 4
test eax, eax
jne 0x180040cba
jmp 0x18003a587
mov rax, qword [rsp + 0x520]
mov qword [rsp + 0x508], rax
jmp 0x180040cff
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov qword [rsp + 0x508], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x510], rax
mov rax, qword [rsp + 0x510]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x518], rax
mov dword [rsp + 0x500], 0
lea r9, [rsp + 0x500]
xor r8d, r8d
mov rdx, qword [rsp + 0x508]
mov rcx, qword [rsp + 0x518]
call fcn.180034db0
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x510]
mov rcx, qword [rsp + 0x508]
mov qword [rax + 0x50], rcx
mov rax, qword [rsp + 0x510]
mov byte [rax + 2], 0
mov rax, qword [rsp + 0x510]
mov dword [rax + 0x20], 0
mov rax, qword [rsp + 0x510]
mov byte [rax + 3], 0
mov rax, qword [rsp + 0x510]
mov ecx, dword [rsp + 0x500]
mov dword [rax + 0x24], ecx
cmp dword [rsp + 0x500], 0
je 0x180040de0
mov rax, qword [rsp + 0x88]
cmp dword [rax + 8], 0
jne 0x180040ddb
mov ecx, 0x17cd1
call fcn.1800e86f0
mov dword [rsp + 0x48], eax
jmp 0x180040de0
jmp 0x18003a587
cmp dword [rsp + 0x48], 0
je 0x180040dec
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd00]
call fcn.180055560
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rsp + 0x60]
mov rax, qword [rax + 0x18]
mov qword [rcx], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x18]
inc rax
mov rcx, qword [rsp + 0x88]
movsxd rcx, dword [rcx + 4]
mov rdx, qword [rsp + 0xd00]
mov rdx, qword [rdx + 0x78]
mov rcx, qword [rdx + rcx*8]
mov qword [rcx + 0x18], rax
jmp case.0x18003a3a7.88
mov qword [rsp + 0x570], 0
mov dword [rsp + 0x568], 0
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd00]
call fcn.180055560
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x580], rax
mov rax, qword [rsp + 0x580]
mov eax, dword [rax + 8]
shr eax, 1
and eax, 1
test eax, eax
jne 0x180040f84
lea rdx, [rsp + 0x568]
mov rax, qword [rsp + 0x580]
mov rcx, qword [rax + 0x30]
call fcn.1800491d0
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x180040f11
jmp 0x1800459a4
cmp dword [rsp + 0x568], 0
je 0x180040f29
mov qword [rsp + 0x570], 1
jmp 0x180040f84
mov rax, qword [rsp + 0x580]
mov rcx, qword [rax + 0x30]
call fcn.180028d10
mov qword [rsp + 0x570], rax
movabs rax, 0x7fffffffffffffff
cmp qword [rsp + 0x570], rax
jl 0x180040f71
mov rax, qword [rsp + 0x580]
mov eax, dword [rax + 8]
or eax, 2
mov rcx, qword [rsp + 0x580]
mov dword [rcx + 8], eax
jmp 0x180040f84
mov rax, qword [rsp + 0x570]
inc rax
mov qword [rsp + 0x570], rax
mov rax, qword [rsp + 0x88]
cmp dword [rax + 0xc], 0
je 0x1800410b8
mov rax, qword [rsp + 0xd00]
cmp qword [rax + 0x108], 0
je 0x18004100c
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax + 0x108]
mov qword [rsp + 0x558], rax
jmp 0x180040fd5
mov rax, qword [rsp + 0x558]
mov rax, qword [rax + 8]
mov qword [rsp + 0x558], rax
mov rax, qword [rsp + 0x558]
cmp qword [rax + 8], 0
je 0x180040fe6
jmp 0x180040fc1
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x558]
add rax, qword [rcx + 0x18]
mov qword [rsp + 0x560], rax
jmp 0x180041032
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x560], rax
mov rcx, qword [rsp + 0x560]
call fcn.1800541f0
mov rax, qword [rsp + 0x560]
movabs rcx, 0x7fffffffffffffff
cmp qword [rax], rcx
je 0x18004106a
mov rax, qword [rsp + 0x580]
mov eax, dword [rax + 8]
shr eax, 1
and eax, 1
test eax, eax
je 0x180041077
mov dword [rsp + 0x48], 0xd
jmp 0x1800459a4
mov rax, qword [rsp + 0x560]
mov rax, qword [rax]
inc rax
cmp qword [rsp + 0x570], rax
jge 0x1800410a5
mov rax, qword [rsp + 0x560]
mov rax, qword [rax]
inc rax
mov qword [rsp + 0x570], rax
mov rax, qword [rsp + 0x560]
mov rcx, qword [rsp + 0x570]
mov qword [rax], rcx
mov rax, qword [rsp + 0x580]
mov eax, dword [rax + 8]
shr eax, 1
and eax, 1
test eax, eax
je 0x18004119a
mov dword [rsp + 0x578], 0
lea rdx, [rsp + 0x570]
mov ecx, 8
call fcn.18000d1d0
movabs rax, 0x3fffffffffffffff
mov rcx, qword [rsp + 0x570]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x570], rax
mov rax, qword [rsp + 0x570]
inc rax
mov qword [rsp + 0x570], rax
lea r9, [rsp + 0x568]
xor r8d, r8d
mov rdx, qword [rsp + 0x570]
mov rax, qword [rsp + 0x580]
mov rcx, qword [rax + 0x30]
call fcn.180034db0
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
jne 0x180041177
cmp dword [rsp + 0x568], 0
jne 0x180041177
mov eax, dword [rsp + 0x578]
inc eax
mov dword [rsp + 0x578], eax
cmp dword [rsp + 0x578], 0x64
jl 0x1800410db
cmp dword [rsp + 0x48], 0
je 0x180041183
jmp 0x1800459a4
cmp dword [rsp + 0x568], 0
jne 0x18004119a
mov dword [rsp + 0x48], 0xd
jmp 0x1800459a4
mov rax, qword [rsp + 0x580]
mov byte [rax + 3], 0
mov rax, qword [rsp + 0x580]
mov dword [rax + 0x20], 0
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x570]
mov qword [rax], rcx
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x588], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x5d0], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x5e0], rax
mov rax, qword [rsp + 0x5e0]
mov rax, qword [rax]
mov qword [rsp + 0x598], rax
mov rax, qword [rsp + 0x88]
movsx eax, byte [rax + 1]
cmp eax, 0xfffffffb
jne 0x1800412a9
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x130], 0
je 0x1800412a9
mov rax, qword [rsp + 0x5d0]
movsx rax, byte [rax + 1]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rax + rcx]
mov qword [rsp + 0x5c0], rax
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x5c8], rax
jmp 0x1800412c1
mov qword [rsp + 0x5c8], 0
mov qword [rsp + 0x5c0], 0
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
and eax, 1
test eax, eax
je 0x180041313
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax + 0x38]
inc rax
mov rcx, qword [rsp + 0xd00]
mov qword [rcx + 0x38], rax
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
and eax, 0x20
test eax, eax
je 0x180041313
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x598]
mov qword [rax + 0x38], rcx
mov rax, qword [rsp + 0x588]
mov rax, qword [rax + 8]
mov qword [rsp + 0x5a0], rax
mov rax, qword [rsp + 0x588]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x5b4], eax
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
and eax, 0x10
test eax, eax
je 0x180041360
mov rax, qword [rsp + 0x5d0]
mov eax, dword [rax + 0x24]
mov dword [rsp + 0xc4c], eax
jmp 0x18004136b
mov dword [rsp + 0xc4c], 0
mov eax, dword [rsp + 0xc4c]
mov dword [rsp + 0x5d8], eax
mov rax, qword [rsp + 0x588]
movzx eax, word [rax + 0x14]
and eax, 0x400
test eax, eax
je 0x1800413a1
mov rax, qword [rsp + 0x588]
mov eax, dword [rax]
mov dword [rsp + 0x5b8], eax
jmp 0x1800413ac
mov dword [rsp + 0x5b8], 0
mov qword [rsp + 0x590], 0
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
and eax, 0x8a
mov r9d, dword [rsp + 0x5d8]
mov r8d, eax
lea rdx, [rsp + 0x590]
mov rax, qword [rsp + 0x5d0]
mov rcx, qword [rax + 0x30]
call fcn.1800496a0
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x5d0]
mov byte [rax + 3], 0
mov rax, qword [rsp + 0x5d0]
mov dword [rax + 0x20], 0
mov eax, dword [rsp + 0xa0]
inc eax
mov dword [rsp + 0xa0], eax
cmp dword [rsp + 0x48], 0
je 0x180041428
jmp 0x1800459a4
cmp qword [rsp + 0x5c8], 0
je 0x18004149c
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
and eax, 4
test eax, eax
je 0x180041453
mov dword [rsp + 0xc50], 0x17
jmp 0x18004145e
mov dword [rsp + 0xc50], 0x12
mov rax, qword [rsp + 0x598]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x5c8]
mov r9, qword [rax]
mov r8, qword [rsp + 0x5c0]
mov edx, dword [rsp + 0xc50]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x128]
mov rax, qword [rsp + 0x40]
call qword [rax + 0x130]
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x5e8], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x5f8], rax
mov rax, qword [rsp + 0x88]
cmp dword [rax + 0xc], 0
je 0x18004151d
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
mov rax, qword [rcx + rax]
mov qword [rsp + 0xc58], rax
jmp 0x180041529
mov qword [rsp + 0xc58], 0
mov rax, qword [rsp + 0xc58]
mov qword [rsp + 0x5f0], rax
mov r8, qword [rsp + 0x5f0]
mov rax, qword [rsp + 0x5f8]
mov rdx, qword [rax + 0x30]
mov rax, qword [rsp + 0x5e8]
mov rcx, qword [rax + 0x30]
call fcn.1800509e0
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18004156e
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 8]
mov dword [rsp + 0x618], eax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x610], rax
mov rax, qword [rsp + 0x88]
movsx eax, byte [rax + 1]
cmp eax, 0xfffffffb
jne 0x180041649
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x130], 0
je 0x180041649
mov rax, qword [rsp + 0x610]
movsx rax, byte [rax + 1]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rax + rcx]
mov qword [rsp + 0x600], rax
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x608], rax
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
and eax, 2
test eax, eax
je 0x180041647
mov rax, qword [rsp + 0x610]
movzx eax, byte [rax + 4]
test eax, eax
je 0x180041647
mov rax, qword [rsp + 0x610]
mov rcx, qword [rax + 0x30]
call fcn.180028d10
mov rcx, qword [rsp + 0x610]
mov qword [rcx + 0x50], rax
jmp 0x180041661
mov qword [rsp + 0x600], 0
mov qword [rsp + 0x608], 0
mov rax, qword [rsp + 0x88]
movzx edx, byte [rax + 2]
mov rax, qword [rsp + 0x610]
mov rcx, qword [rax + 0x30]
call fcn.180051020
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x610]
mov dword [rax + 0x20], 0
mov eax, dword [rsp + 0xa0]
inc eax
mov dword [rsp + 0xa0], eax
mov rax, qword [rsp + 0x610]
mov dword [rax + 0x24], 0
cmp dword [rsp + 0x48], 0
je 0x1800416bc
jmp 0x1800459a4
mov eax, dword [rsp + 0x618]
and eax, 1
test eax, eax
je 0x180041757
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax + 0x38]
inc rax
mov rcx, qword [rsp + 0xd00]
mov qword [rcx + 0x38], rax
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x130], 0
je 0x180041757
cmp qword [rsp + 0x608], 0
je 0x180041757
mov rax, qword [rsp + 0x608]
mov eax, dword [rax + 0x30]
and eax, 0x80
test eax, eax
jne 0x180041757
mov rax, qword [rsp + 0x610]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x608]
mov r9, qword [rax]
mov r8, qword [rsp + 0x600]
mov edx, 9
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x128]
mov rax, qword [rsp + 0x40]
call qword [rax + 0x130]
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0xd00]
mov rdx, qword [rax + 0x38]
mov rcx, qword [rsp + 0x40]
call fcn.18002fc40
mov rax, qword [rsp + 0xd00]
mov qword [rax + 0x38], 0
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x620], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x628], eax
mov dword [rsp + 0x61c], 0
lea r9, [rsp + 0x61c]
mov r8d, dword [rsp + 0x628]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x620]
call fcn.18005c400
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18004181d
jmp 0x1800459a4
cmp dword [rsp + 0x61c], 0
je 0x18004182c
jmp 0x18003a587
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x630], rax
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x630]
call fcn.18005c2a0
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18004189a
jmp 0x1800459a4
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov dword [rax + 0x20], 0
jmp case.0x18003a3a7.88
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd00]
call fcn.180055560
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x640], rax
mov rax, qword [rsp + 0x640]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x648], rax
mov rcx, qword [rsp + 0x648]
call fcn.180028e20
mov dword [rsp + 0x638], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x88]
cmp dword [rsp + 0x638], eax
jbe 0x180041941
jmp 0x180045bbb
mov r8, qword [rsp + 0x60]
mov edx, dword [rsp + 0x638]
mov rcx, qword [rsp + 0x648]
call fcn.180035af0
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18004196a
jmp 0x1800459a4
mov rax, qword [rsp + 0x88]
cmp dword [rax + 0xc], 0
jne 0x18004199d
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x14]
and eax, 0x4000
test eax, eax
je 0x18004199d
mov rcx, qword [rsp + 0x60]
call fcn.18002baa0
test eax, eax
je 0x18004199d
jmp 0x180045bdc
jmp case.0x18003a3a7.88
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd00]
call fcn.180055560
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x668], rax
mov rax, qword [rsp + 0x668]
movzx eax, byte [rax + 2]
test eax, eax
je 0x180041a05
mov rax, qword [rsp + 0x60]
mov word [rax + 0x14], 1
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x668]
movzx eax, byte [rax + 3]
test eax, eax
je 0x180041a2e
mov rax, qword [rsp + 0x668]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x650], rax
jmp 0x180041b04
mov rax, qword [rsp + 0x668]
movzx eax, byte [rax]
cmp eax, 2
jne 0x180041aae
mov rax, qword [rsp + 0x668]
mov rax, qword [rax + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0x660], rax
mov rax, qword [rsp + 0x660]
mov rax, qword [rax]
mov qword [rsp + 0x658], rax
lea rdx, [rsp + 0x650]
mov rax, qword [rsp + 0x668]
mov rcx, qword [rax + 0x30]
mov rax, qword [rsp + 0x658]
call qword [rax + 0x60]
mov dword [rsp + 0x48], eax
mov rdx, qword [rsp + 0x660]
mov rcx, qword [rsp + 0xd00]
call fcn.180054ff0
cmp dword [rsp + 0x48], 0
je 0x180041aac
jmp 0x1800459a4
jmp 0x180041b04
mov rcx, qword [rsp + 0x668]
call fcn.1800548f0
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x180041acb
jmp 0x1800459a4
mov rax, qword [rsp + 0x668]
movzx eax, byte [rax + 2]
test eax, eax
je 0x180041aeb
mov rax, qword [rsp + 0x60]
mov word [rax + 0x14], 1
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x668]
mov rcx, qword [rax + 0x30]
call fcn.180028d10
mov qword [rsp + 0x650], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x650]
mov qword [rax], rcx
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x670], rax
cmp qword [rsp + 0x670], 0
jne 0x180041bc6
mov r9b, 3
mov r8d, 1
mov rax, qword [rsp + 0x88]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
call fcn.180055080
mov qword [rsp + 0x670], rax
cmp qword [rsp + 0x670], 0
jne 0x180041b81
jmp 0x180045bdc
mov rax, qword [rsp + 0x670]
mov dword [rax + 0x24], 0
mov rax, qword [rsp + 0x670]
mov byte [rax + 4], 1
mov rax, qword [rsp + 0x670]
mov eax, dword [rax + 8]
or eax, 8
mov rcx, qword [rsp + 0x670]
mov dword [rcx + 8], eax
call fcn.180047100
mov rcx, qword [rsp + 0x670]
mov qword [rcx + 0x30], rax
mov rax, qword [rsp + 0x670]
mov byte [rax + 2], 1
mov rax, qword [rsp + 0x670]
mov dword [rax + 0x20], 0
mov rax, qword [rsp + 0x670]
movzx eax, byte [rax]
test eax, eax
jne 0x180041c01
mov rax, qword [rsp + 0x670]
mov rcx, qword [rax + 0x30]
call fcn.18002aea0
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x680], rax
mov rax, qword [rsp + 0x680]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x688], rax
mov dword [rsp + 0x678], 0
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
cmp eax, 0x89
jne 0x180041c80
mov rax, qword [rsp + 0x680]
mov dword [rax + 0x24], 0xffffffff
mov rcx, qword [rsp + 0x688]
call fcn.180049150
test eax, eax
je 0x180041c80
jmp case.0x18003a3a7.88
lea rdx, [rsp + 0x678]
mov rcx, qword [rsp + 0x688]
call fcn.1800491d0
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x680]
movzx ecx, byte [rsp + 0x678]
mov byte [rax + 2], cl
mov rax, qword [rsp + 0x680]
mov byte [rax + 3], 0
mov rax, qword [rsp + 0x680]
mov dword [rax + 0x20], 0
cmp dword [rsp + 0x48], 0
je 0x180041cd3
jmp 0x1800459a4
mov rax, qword [rsp + 0x88]
cmp dword [rax + 8], 0
jle 0x180041cf0
cmp dword [rsp + 0x678], 0
je 0x180041cf0
jmp 0x18003a587
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x698], rax
mov rax, qword [rsp + 0x698]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x6a8], rax
lea rdx, [rsp + 0x690]
mov rcx, qword [rsp + 0x6a8]
call fcn.1800341c0
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x180041d52
jmp 0x1800459a4
cmp dword [rsp + 0x690], 0
jne 0x180041da2
mov rcx, qword [rsp + 0x6a8]
call fcn.180049380
mov qword [rsp + 0x6a0], rax
cmp qword [rsp + 0x6a0], 0
jl 0x180041da2
mov rcx, qword [rsp + 0x6a0]
call fcn.180046320
cwde
mov rcx, qword [rsp + 0x88]
cmp eax, dword [rcx + 0xc]
jge 0x180041da2
mov dword [rsp + 0x690], 1
cmp dword [rsp + 0x690], 0
je 0x180041db1
jmp 0x18003a587
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0xd00]
mov eax, dword [rax + 0xdc]
inc eax
mov rcx, qword [rsp + 0xd00]
mov dword [rcx + 0xdc], eax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x6b8], rax
mov dword [rsp + 0x6b0], 1
mov rax, qword [rsp + 0x6b8]
movzx eax, byte [rax]
cmp eax, 1
jne 0x180041e2e
lea rdx, [rsp + 0x6b0]
mov rcx, qword [rsp + 0x6b8]
call fcn.18005a150
mov dword [rsp + 0x48], eax
jmp 0x180041e76
mov rax, qword [rsp + 0x6b8]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x6c0], rax
lea rdx, [rsp + 0x6b0]
mov rcx, qword [rsp + 0x6c0]
call fcn.1800341c0
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x6b8]
mov byte [rax + 3], 0
mov rax, qword [rsp + 0x6b8]
mov dword [rax + 0x20], 0
cmp dword [rsp + 0x48], 0
je 0x180041e82
jmp 0x1800459a4
mov rax, qword [rsp + 0x6b8]
movzx ecx, byte [rsp + 0x6b0]
mov byte [rax + 2], cl
mov rax, qword [rsp + 0x88]
cmp dword [rax + 8], 0
jle 0x180041eb2
cmp dword [rsp + 0x6b0], 0
je 0x180041eb2
jmp 0x18003a587
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x6c8], rax
mov rdx, qword [rsp + 0x6c8]
mov rcx, qword [rsp + 0x40]
call fcn.18005c180
mov dword [rsp + 0x48], eax
jmp 0x180041f80
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x6c8], rax
mov rax, qword [rsp + 0x88]
mov edx, dword [rax + 0xc]
mov rax, qword [rsp + 0x6c8]
mov rcx, qword [rax + 0x30]
call fcn.180049430
mov dword [rsp + 0x48], eax
jmp 0x180041f80
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x6c8], rax
mov rax, qword [rsp + 0x88]
mov edx, dword [rax + 0xc]
mov rax, qword [rsp + 0x6c8]
mov rcx, qword [rax + 0x30]
call fcn.180034840
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x6c8]
mov dword [rax + 0x20], 0
cmp dword [rsp + 0x48], 0
jne 0x180041fdf
mov rax, qword [rsp + 0x6c8]
mov byte [rax + 2], 0
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
mov rcx, qword [rsp + 0xd00]
mov eax, dword [rcx + rax*4 + 0xd4]
inc eax
mov rcx, qword [rsp + 0x88]
movzx ecx, word [rcx + 2]
mov rdx, qword [rsp + 0xd00]
mov dword [rdx + rcx*4 + 0xd4], eax
jmp case.0x18003a3a7.8
cmp dword [rsp + 0x48], 0x65
je 0x180041feb
jmp 0x1800459a4
mov dword [rsp + 0x48], 0
mov rax, qword [rsp + 0x6c8]
mov byte [rax + 2], 1
jmp 0x18003a3d2
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x700], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
and eax, 1
test eax, eax
je 0x180042079
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax + 0x38]
inc rax
mov rcx, qword [rsp + 0xd00]
mov qword [rcx + 0x38], rax
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 0x14]
and eax, 0x400
test eax, eax
je 0x18004209e
mov rcx, qword [rsp + 0x70]
call fcn.18002bbf0
mov dword [rsp + 0xc60], eax
jmp 0x1800420a9
mov dword [rsp + 0xc60], 0
mov eax, dword [rsp + 0xc60]
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x1800420c0
jmp 0x1800459a4
mov rax, qword [rsp + 0x70]
movsxd rax, dword [rax + 0x10]
mov qword [rsp + 0x6d8], rax
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 8]
mov qword [rsp + 0x6d0], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x6e8], rax
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 0x10]
mov word [rsp + 0x6f0], ax
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
and eax, 0x10
test eax, eax
je 0x180042143
mov rax, qword [rsp + 0x700]
mov eax, dword [rax + 0x24]
mov dword [rsp + 0xc64], eax
jmp 0x18004214e
mov dword [rsp + 0xc64], 0
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
and eax, 0x8a
mov r9d, dword [rsp + 0xc64]
mov r8d, eax
lea rdx, [rsp + 0x6d0]
mov rax, qword [rsp + 0x700]
mov rcx, qword [rax + 0x30]
call fcn.1800496a0
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x700]
mov dword [rax + 0x20], 0
cmp dword [rsp + 0x48], 0
je 0x1800421a2
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x708], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 0x14]
and eax, 0x400
test eax, eax
je 0x180042213
mov rcx, qword [rsp + 0x70]
call fcn.18002bbf0
mov dword [rsp + 0xc68], eax
jmp 0x18004221e
mov dword [rsp + 0xc68], 0
mov eax, dword [rsp + 0xc68]
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x180042235
jmp 0x1800459a4
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x708]
call fcn.180058900
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x180042257
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x718], rax
mov rax, qword [rsp + 0x718]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x748], rax
mov rax, qword [rsp + 0x718]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x720], rax
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 0xc]
mov word [rsp + 0x73c], ax
mov byte [rsp + 0x73e], 0
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x728], rax
lea r8, [rsp + 0x710]
lea rdx, [rsp + 0x720]
mov rcx, qword [rsp + 0x748]
call fcn.1800351d0
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x180042317
jmp 0x1800459a4
cmp dword [rsp + 0x710], 0
jne 0x180042342
mov dl, 4
mov rcx, qword [rsp + 0x748]
call fcn.180051020
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x180042340
jmp 0x1800459a4
jmp 0x18004237f
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
test eax, eax
je 0x18004237f
mov rcx, qword [rsp + 0x40]
call fcn.18006b450
test eax, eax
jne 0x18004237f
lea r8, str.index_corruption
mov edx, 0x18106
mov ecx, 0x30b
call fcn.1800e86a0
mov dword [rsp + 0x48], eax
jmp 0x1800459a4
mov rax, qword [rsp + 0x718]
mov dword [rax + 0x20], 0
mov rax, qword [rsp + 0x718]
mov dword [rax + 0x24], 0
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x760], rax
mov rcx, qword [rsp + 0x760]
call fcn.1800548f0
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x1800423e3
jmp 0x1800459a4
mov rax, qword [rsp + 0x760]
movzx eax, byte [rax + 2]
test eax, eax
jne 0x180042500
mov qword [rsp + 0x750], 0
lea r8, [rsp + 0x750]
mov rax, qword [rsp + 0x760]
mov rdx, qword [rax + 0x30]
mov rcx, qword [rsp + 0x40]
call fcn.180054d00
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x180042431
jmp 0x1800459a4
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
cmp eax, 0x8d
jne 0x1800424d4
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x758], rax
mov rax, qword [rsp + 0x758]
mov byte [rax + 2], 0
mov rax, qword [rsp + 0x758]
mov rcx, qword [rsp + 0x750]
mov qword [rax + 0x50], rcx
mov rax, qword [rsp + 0x758]
mov byte [rax + 3], 1
mov rax, qword [rsp + 0x758]
mov dword [rax + 0x20], 0
mov rax, qword [rsp + 0x758]
mov rcx, qword [rsp + 0x88]
mov rcx, qword [rcx + 0x10]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x758]
mov rcx, qword [rsp + 0x760]
mov qword [rax + 0x28], rcx
jmp 0x1800424fe
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd00]
call fcn.180055560
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x750]
mov qword [rax], rcx
jmp 0x180042526
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.18002b0d0
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x768], rax
mov rax, qword [rsp + 0x768]
movzx eax, byte [rax + 3]
test eax, eax
je 0x18004257c
mov rcx, qword [rsp + 0x768]
call fcn.1800547a0
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18004257c
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x778], rax
mov rax, qword [rsp + 0x778]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x780], rax
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 0x10]
mov word [rsp + 0x79c], ax
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
cmp eax, 0x2a
jge 0x1800425e7
mov byte [rsp + 0x79e], 0xff
jmp 0x1800425ef
mov byte [rsp + 0x79e], 0
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x788], rax
mov qword [rsp + 0x7b0], 0
mov rax, qword [rsp + 0x778]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x7a8], rax
mov rcx, qword [rsp + 0x7a8]
call fcn.180028e20
mov eax, eax
mov qword [rsp + 0x7b0], rax
cmp qword [rsp + 0x7b0], 0
jle 0x180042665
cmp qword [rsp + 0x7b0], 0x7fffffff
jle 0x180042678
mov ecx, 0x181d3
call fcn.1800e86f0
mov dword [rsp + 0x48], eax
jmp 0x1800459a4
xor r8d, r8d
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x7b8]
call fcn.180036f70
lea r8, [rsp + 0x7b8]
mov edx, dword [rsp + 0x7b0]
mov rcx, qword [rsp + 0x7a8]
call fcn.180035af0
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x1800426b9
jmp 0x1800459a4
xor r9d, r9d
lea r8, [rsp + 0x780]
mov rdx, qword [rsp + 0x7c0]
mov ecx, dword [rsp + 0x7c8]
call fcn.180036440
mov dword [rsp + 0x770], eax
lea rcx, [rsp + 0x7b8]
call fcn.180036f40
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
and eax, 1
test eax, eax
jne 0x180042710
mov eax, dword [rsp + 0x770]
neg eax
mov dword [rsp + 0x770], eax
jmp 0x180042720
mov eax, dword [rsp + 0x770]
inc eax
mov dword [rsp + 0x770], eax
cmp dword [rsp + 0x770], 0
jle 0x18004272f
jmp 0x18003a587
jmp case.0x18003a3a7.88
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd00]
call fcn.180055560
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov word [rax + 0x14], 1
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0xe8]
inc eax
mov rcx, qword [rsp + 0x40]
cmp dword [rcx + 0xdc], eax
jle 0x180042794
mov dword [rsp + 0x48], 6
mov rax, qword [rsp + 0xd00]
mov byte [rax + 0xc4], 2
jmp 0x1800459a4
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x7f4], eax
mov dword [rsp + 0x7f0], 0
movsxd rax, dword [rsp + 0x7f4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
lea r8, [rsp + 0x7f0]
mov rdx, qword [rsp + 0x88]
mov edx, dword [rdx + 4]
mov rcx, qword [rcx + rax + 8]
call fcn.180051f00
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x60]
mov word [rax + 0x14], 4
movsxd rax, dword [rsp + 0x7f0]
mov rcx, qword [rsp + 0x60]
mov qword [rcx], rax
cmp dword [rsp + 0x48], 0
je 0x18004280e
jmp 0x1800459a4
cmp dword [rsp + 0x7f0], 0
je 0x18004284a
mov rax, qword [rsp + 0x88]
mov r9d, dword [rax + 4]
mov r8d, dword [rsp + 0x7f0]
mov edx, dword [rsp + 0x7f4]
mov rcx, qword [rsp + 0x40]
call fcn.18006bb90
mov eax, dword [rsp + 0x7f4]
inc eax
mov byte [rsp + 0x79], al
jmp case.0x18003a3a7.88
mov qword [rsp + 0x7f8], 0
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
lea r8, [rsp + 0x7f8]
mov rdx, qword [rsp + 0x88]
mov edx, dword [rdx + 4]
mov rcx, qword [rcx + rax + 8]
call fcn.180051b60
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x88]
cmp dword [rax + 0xc], 0
je 0x180042911
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax + 0x38]
add rax, qword [rsp + 0x7f8]
mov rcx, qword [rsp + 0xd00]
mov qword [rcx + 0x38], rax
mov rax, qword [rsp + 0x88]
cmp dword [rax + 0xc], 0
jle 0x180042911
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
mov rax, qword [rcx + rax]
add rax, qword [rsp + 0x7f8]
mov rcx, qword [rsp + 0x88]
movsxd rcx, dword [rcx + 0xc]
imul rcx, rcx, 0x38
mov rdx, qword [rsp + 0x90]
mov qword [rdx + rcx], rax
cmp dword [rsp + 0x48], 0
je 0x18004291d
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x800], rax
mov rax, qword [rsp + 0x800]
movzx eax, byte [rax]
cmp eax, 1
jne 0x18004296e
mov rax, qword [rsp + 0x800]
mov rdx, qword [rax + 0x30]
mov rcx, qword [rsp + 0x40]
call fcn.180058300
jmp 0x18004298f
mov rax, qword [rsp + 0x800]
mov rcx, qword [rax + 0x30]
call fcn.180051ed0
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18004298f
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd00]
call fcn.180055560
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x808], 0
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
add rax, qword [rcx + 0x20]
mov qword [rsp + 0x810], rax
mov rax, qword [rsp + 0x88]
mov r8d, dword [rax + 0xc]
lea rdx, [rsp + 0x808]
mov rax, qword [rsp + 0x810]
mov rcx, qword [rax + 8]
call fcn.1800517c0
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x180042a0f
jmp 0x1800459a4
mov eax, dword [rsp + 0x808]
mov rcx, qword [rsp + 0x60]
mov qword [rcx], rax
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x70]
inc al
mov rcx, qword [rsp + 0x40]
mov byte [rcx + 0x70], al
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rax, qword [rsp + 0x88]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0x40]
call fcn.180070f00
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x70]
dec al
mov rcx, qword [rsp + 0x40]
mov byte [rcx + 0x70], al
cmp dword [rsp + 0x48], 0
je 0x180042a7e
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 4]
mov dword [rsp + 0x850], eax
mov rax, qword [rsp + 0x88]
cmp qword [rax + 0x10], 0
jne 0x180042b47
movsxd rax, dword [rsp + 0x850]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rcx, qword [rcx + rax + 0x18]
call fcn.18006c610
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2c]
and eax, 0xffffffef
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x2c], eax
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
mov rcx, qword [rsp + 0xd00]
add rcx, 0xa8
mov r9d, eax
mov r8, rcx
mov edx, dword [rsp + 0x850]
mov rcx, qword [rsp + 0x40]
call fcn.1800730c0
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2c]
or eax, 1
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x2c], eax
mov rax, qword [rsp + 0xd00]
mov eax, dword [rax + 0xc8]
and eax, 0xfffffffc
mov rcx, qword [rsp + 0xd00]
mov dword [rcx + 0xc8], eax
jmp 0x180042cba
lea rax, [0x18014e5f0]
mov qword [rsp + 0x848], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x818], rax
mov eax, dword [rsp + 0x850]
mov dword [rsp + 0x828], eax
mov rax, qword [rsp + 0xd00]
add rax, 0xa8
mov qword [rsp + 0x820], rax
mov dword [rsp + 0x830], 0
movsxd rax, dword [rsp + 0x850]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rcx, qword [rcx + rax + 8]
call fcn.18001f970
mov dword [rsp + 0x838], eax
movsxd rax, dword [rsp + 0x850]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rdx, qword [rsp + 0x88]
mov rdx, qword [rdx + 0x10]
mov qword [rsp + 0x20], rdx
mov r9, qword [rsp + 0x848]
mov r8, qword [rcx + rax]
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov rcx, qword [rsp + 0x40]
call fcn.18002f4f0
mov qword [rsp + 0x840], rax
cmp qword [rsp + 0x840], 0
jne 0x180042c1b
mov dword [rsp + 0x48], 7
jmp 0x180042cba
mov rax, qword [rsp + 0x40]
mov byte [rax + 0xc5], 1
mov dword [rsp + 0x82c], 0
mov dword [rsp + 0x834], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x818]
lea r8, [fcn.180072a00]
mov rdx, qword [rsp + 0x840]
mov rcx, qword [rsp + 0x40]
call fcn.180070f00
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
jne 0x180042c7d
mov eax, dword [rsp + 0x82c]
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
jne 0x180042c9c
cmp dword [rsp + 0x834], 0
jne 0x180042c9c
mov ecx, 0x182cf
call fcn.1800e86f0
mov dword [rsp + 0x48], eax
mov rdx, qword [rsp + 0x840]
mov rcx, qword [rsp + 0x40]
call fcn.18000bb60
mov rax, qword [rsp + 0x40]
mov byte [rax + 0xc5], 0
cmp dword [rsp + 0x48], 0
je 0x180042cdc
mov rcx, qword [rsp + 0x40]
call fcn.18006aee0
cmp dword [rsp + 0x48], 7
jne 0x180042cd7
jmp 0x180045bdc
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.180068490
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x180042d06
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
mov r8, qword [rax + 0x10]
mov rax, qword [rsp + 0x88]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.18006b320
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
mov r8, qword [rax + 0x10]
mov rax, qword [rsp + 0x88]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.18006a5b0
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
mov r8, qword [rax + 0x10]
mov rax, qword [rsp + 0x88]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.18007baa0
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 8]
mov dword [rsp + 0x868], eax
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x858], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x860], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x860]
mov eax, dword [rax]
inc eax
mov rcx, qword [rsp + 0x858]
add rcx, 4
mov rdx, qword [rsp + 0x88]
movzx edx, word [rdx + 2]
imul rdx, rdx, 0x20
mov rdi, qword [rsp + 0x40]
mov rdi, qword [rdi + 0x20]
lea rsi, [rsp + 0x870]
mov qword [rsp + 0x30], rsi
lea rsi, [rsp + 0x854]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x868]
mov r8, rcx
mov rdx, qword [rdi + rdx + 8]
mov rcx, qword [rsp + 0x40]
call fcn.180052450
mov dword [rsp + 0x48], eax
mov rcx, qword [rsp + 0x98]
call fcn.18002b0d0
cmp dword [rsp + 0x854], 0
jne 0x180042e75
jmp 0x180042ee2
cmp dword [rsp + 0x48], 0
je 0x180042e90
mov rcx, qword [rsp + 0x870]
call fcn.180009120
jmp 0x1800459a4
mov eax, dword [rsp + 0x854]
dec eax
cdqe
mov rcx, qword [rsp + 0x860]
mov rcx, qword [rcx]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x860]
mov qword [rcx], rax
lea rax, [fcn.180009120]
mov qword [rsp + 0x20], rax
mov r9b, 1
mov r8, 0xffffffffffffffff
mov rdx, qword [rsp + 0x870]
mov rcx, qword [rsp + 0x98]
call fcn.18002b360
movzx eax, byte [rsp + 0x78]
mov edx, eax
mov rcx, qword [rsp + 0x98]
call fcn.180030330
jmp 0x18003a3d2
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 0x10
test eax, eax
jne 0x180042f6d
mov rcx, qword [rsp + 0x98]
call fcn.180054540
test eax, eax
je 0x180042f6d
jmp 0x180045bdc
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax]
mov rax, qword [rsp + 0x98]
mov rcx, qword [rax + 8]
call fcn.1800463e0
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 0x10
test eax, eax
je 0x180042fe1
lea rdx, [rsp + 0x878]
mov rax, qword [rsp + 0x98]
mov rcx, qword [rax + 8]
call fcn.180046560
test eax, eax
jne 0x180042ff5
mov rcx, qword [rsp + 0x98]
call fcn.18002b0d0
jmp case.0x18003a3a7.8
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov rdx, qword [rsp + 0x878]
mov rcx, rax
call fcn.1800320b0
jmp 0x18003a3d2
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x884], eax
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 0x10
test eax, eax
jne 0x1800430ac
mov rcx, qword [rsp + 0x98]
call fcn.180054540
test eax, eax
je 0x1800430ac
jmp 0x180045bdc
cmp dword [rsp + 0x884], 0
je 0x1800430ec
mov rax, qword [rsp + 0x50]
mov r8, qword [rax]
mov edx, dword [rsp + 0x884]
mov rax, qword [rsp + 0x98]
mov rcx, qword [rax + 8]
call fcn.180046930
mov dword [rsp + 0x880], eax
cmp dword [rsp + 0x880], 0
je 0x1800430ec
jmp 0x18003a587
cmp dword [rsp + 0x884], 0
jl 0x18004310f
mov rax, qword [rsp + 0x50]
mov rdx, qword [rax]
mov rax, qword [rsp + 0x98]
mov rcx, qword [rax + 8]
call fcn.1800463e0
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x8a8], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x8c0], rax
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
test eax, eax
je 0x1800431d2
mov rax, qword [rsp + 0x8a8]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x8b8], rax
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax + 0x108]
mov qword [rsp + 0x888], rax
jmp 0x18004319f
mov rax, qword [rsp + 0x888]
mov rax, qword [rax + 8]
mov qword [rsp + 0x888], rax
cmp qword [rsp + 0x888], 0
je 0x1800431c2
mov rax, qword [rsp + 0x888]
mov rcx, qword [rsp + 0x8b8]
cmp qword [rax + 0x30], rcx
je 0x1800431c2
jmp 0x18004318b
cmp qword [rsp + 0x888], 0
je 0x1800431d2
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0xd00]
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx + 0xb0]
cmp dword [rax + 0x118], ecx
jl 0x18004320e
mov dword [rsp + 0x48], 1
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, qword [rsp + 0xd00]
call fcn.18002f9e0
jmp 0x1800459a4
mov rax, qword [rsp + 0x8c0]
movzx eax, word [rax + 0x14]
and eax, 0x10
test eax, eax
jne 0x1800434c8
mov rax, qword [rsp + 0x8a8]
mov eax, dword [rax + 0xc]
mov rcx, qword [rsp + 0x8a8]
add eax, dword [rcx + 0x10]
mov dword [rsp + 0x8b0], eax
mov rax, qword [rsp + 0x8a8]
cmp dword [rax + 0x10], 0
jne 0x180043260
mov eax, dword [rsp + 0x8b0]
inc eax
mov dword [rsp + 0x8b0], eax
movsxd rax, dword [rsp + 0x8b0]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x8a8]
movsxd rcx, dword [rcx + 0x10]
lea rax, [rax + rcx*8 + 0x70]
mov qword [rsp + 0xc70], rax
mov rcx, qword [rsp + 0x8a8]
mov ecx, dword [rcx + 8]
add ecx, 7
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
cdqe
mov rcx, qword [rsp + 0xc70]
add rcx, rax
mov rax, rcx
mov dword [rsp + 0x8a0], eax
movsxd rax, dword [rsp + 0x8a0]
mov rdx, rax
mov rcx, qword [rsp + 0x40]
call fcn.18002b2c0
mov qword [rsp + 0x888], rax
cmp qword [rsp + 0x888], 0
jne 0x1800432e2
jmp 0x180045bdc
mov rcx, qword [rsp + 0x8c0]
call fcn.18002bcb0
mov rax, qword [rsp + 0x8c0]
mov word [rax + 0x14], 0x1010
mov rax, qword [rsp + 0x8c0]
mov rcx, qword [rsp + 0x888]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0x8c0]
mov ecx, dword [rsp + 0x8a0]
mov dword [rax + 0x10], ecx
mov rax, qword [rsp + 0x8c0]
lea rcx, [0x180054720]
mov qword [rax + 0x30], rcx
mov rax, qword [rsp + 0x888]
mov rcx, qword [rsp + 0xd00]
mov qword [rax], rcx
mov rax, qword [rsp + 0x888]
mov ecx, dword [rsp + 0x8b0]
mov dword [rax + 0x58], ecx
mov rax, qword [rsp + 0x888]
mov rcx, qword [rsp + 0x8a8]
mov ecx, dword [rcx + 0x10]
mov dword [rax + 0x5c], ecx
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, 0x18
idiv rcx
mov rcx, qword [rsp + 0x888]
mov dword [rcx + 0x4c], eax
mov rax, qword [rsp + 0x888]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x68]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0x888]
mov rcx, qword [rsp + 0xd00]
mov ecx, dword [rcx + 0x24]
mov dword [rax + 0x54], ecx
mov rax, qword [rsp + 0x888]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov qword [rax + 0x20], rcx
mov rax, qword [rsp + 0x888]
mov rcx, qword [rsp + 0xd00]
mov ecx, dword [rcx + 0x28]
mov dword [rax + 0x48], ecx
mov rax, qword [rsp + 0x888]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x88]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x888]
mov rcx, qword [rsp + 0xd00]
mov ecx, dword [rcx + 0x90]
mov dword [rax + 0x50], ecx
mov rax, qword [rsp + 0x888]
mov rcx, qword [rsp + 0x8a8]
mov rcx, qword [rcx + 0x20]
mov qword [rax + 0x30], rcx
mov rax, qword [rsp + 0x888]
movsxd rax, dword [rax + 0x58]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x888]
lea rax, [rcx + rax + 0x70]
mov qword [rsp + 0x898], rax
mov rax, qword [rsp + 0x888]
add rax, 0x70
mov qword [rsp + 0x890], rax
jmp 0x180043493
mov rax, qword [rsp + 0x890]
add rax, 0x38
mov qword [rsp + 0x890], rax
mov rax, qword [rsp + 0x898]
cmp qword [rsp + 0x890], rax
je 0x1800434c6
mov rax, qword [rsp + 0x890]
mov word [rax + 0x14], 0
mov rax, qword [rsp + 0x890]
mov rcx, qword [rsp + 0x40]
mov qword [rax + 0x18], rcx
jmp 0x18004347f
jmp 0x1800434dc
mov rax, qword [rsp + 0x8c0]
mov rax, qword [rax + 8]
mov qword [rsp + 0x888], rax
mov rax, qword [rsp + 0xd00]
mov eax, dword [rax + 0x118]
inc eax
mov rcx, qword [rsp + 0xd00]
mov dword [rcx + 0x118], eax
mov rax, qword [rsp + 0x888]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x108]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0x888]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x38]
mov qword [rax + 0x38], rcx
mov rax, qword [rsp + 0x888]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x38]
mov qword [rax + 0x60], rcx
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x888]
mov rax, qword [rax + 0x78]
mov qword [rcx + 0x68], rax
mov rax, qword [rsp + 0x888]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x128]
mov qword [rax + 0x40], rcx
mov rax, qword [rsp + 0xd00]
mov qword [rax + 0x128], 0
mov rax, qword [rsp + 0xd00]
mov qword [rax + 0x38], 0
mov rax, qword [rsp + 0xd00]
mov rcx, qword [rsp + 0x888]
mov qword [rax + 0x108], rcx
mov rax, qword [rsp + 0x888]
add rax, 0x70
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0xd00]
mov rcx, qword [rsp + 0x90]
mov qword [rax + 0x68], rcx
mov rax, qword [rsp + 0xd00]
mov rcx, qword [rsp + 0x888]
mov ecx, dword [rcx + 0x58]
mov dword [rax + 0x24], ecx
mov rax, qword [rsp + 0x888]
movzx eax, word [rax + 0x5c]
mov rcx, qword [rsp + 0xd00]
mov dword [rcx + 0x28], eax
mov rax, qword [rsp + 0xd00]
movsxd rax, dword [rax + 0x24]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0xd00]
mov qword [rcx + 0x78], rax
mov rax, qword [rsp + 0x8a8]
movsxd rax, dword [rax + 0x10]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
lea rax, [rcx + rax*8]
mov rcx, qword [rsp + 0x888]
mov qword [rcx + 0x28], rax
mov rax, qword [rsp + 0x8a8]
mov eax, dword [rax + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
cdqe
mov r8, rax
xor edx, edx
mov rax, qword [rsp + 0x888]
mov rcx, qword [rax + 0x28]
call sub.msvcrt.dll_memset
mov rax, qword [rsp + 0x8a8]
mov rax, qword [rax]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xd00]
mov rcx, qword [rsp + 0x80]
mov qword [rax + 0x88], rcx
mov rax, qword [rsp + 0xd00]
mov rcx, qword [rsp + 0x8a8]
mov ecx, dword [rcx + 8]
mov dword [rax + 0x90], ecx
mov rax, qword [rsp + 0x80]
sub rax, 0x18
mov qword [rsp + 0x88], rax
jmp 0x18003a3d2
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd00]
call fcn.180055560
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax + 0x108]
mov qword [rsp + 0x8c8], rax
mov rax, qword [rsp + 0x8c8]
movsxd rax, dword [rax + 0x4c]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x8c8]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rsp + 0x88]
mov edx, dword [rdx + 4]
add edx, dword [rcx + rax + 4]
mov eax, edx
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x8c8]
add rax, qword [rcx + 0x18]
mov qword [rsp + 0x8d0], rax
mov r8d, 0x4000
mov rdx, qword [rsp + 0x8d0]
mov rcx, qword [rsp + 0x60]
call fcn.180036fb0
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x30]
and rax, 0x80000
test rax, rax
je 0x1800437b3
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0x40]
add rax, qword [rcx + 0x2f0]
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x2f0], rax
jmp 0x18004380b
mov rax, qword [rsp + 0x88]
cmp dword [rax + 4], 0
je 0x1800437e7
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0x40]
add rax, qword [rcx + 0x2e8]
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x2e8], rax
jmp 0x18004380b
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0xd00]
add rax, qword [rcx + 0x50]
mov rcx, qword [rsp + 0xd00]
mov qword [rcx + 0x50], rax
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
cmp dword [rax + 4], 0
je 0x180043843
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x2e8], 0
jne 0x180043841
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x2f0], 0
jne 0x180043841
jmp 0x18003a587
jmp 0x180043866
mov rax, qword [rsp + 0xd00]
cmp qword [rax + 0x50], 0
jne 0x180043866
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x2f0], 0
jne 0x180043866
jmp 0x18003a587
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0xd00]
cmp qword [rax + 0x108], 0
je 0x1800438e1
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax + 0x108]
mov qword [rsp + 0x8d8], rax
jmp 0x1800438aa
mov rax, qword [rsp + 0x8d8]
mov rax, qword [rax + 8]
mov qword [rsp + 0x8d8], rax
mov rax, qword [rsp + 0x8d8]
cmp qword [rax + 8], 0
je 0x1800438bb
jmp 0x180043896
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x8d8]
add rax, qword [rcx + 0x18]
mov qword [rsp + 0x98], rax
jmp 0x180043907
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
call fcn.1800541f0
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
call fcn.1800541f0
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
cmp qword [rax], rcx
jge 0x180043969
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
mov qword [rax], rcx
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
cmp qword [rax], 0
jle 0x1800439cf
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
mov rcx, qword [rsp + 0x98]
mov rcx, qword [rcx]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x98]
mov qword [rcx], rax
jmp 0x18003a587
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd00]
call fcn.180055560
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x98]
mov rax, qword [rax]
mov qword [rsp + 0x8e0], rax
cmp qword [rsp + 0x8e0], 0
jle 0x180043a97
mov rax, qword [rsp + 0x50]
cmp qword [rax], 0
jle 0x180043a72
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov qword [rsp + 0xc78], rax
jmp 0x180043a7e
mov qword [rsp + 0xc78], 0
mov rdx, qword [rsp + 0xc78]
lea rcx, [rsp + 0x8e0]
call fcn.1800460e0
test eax, eax
je 0x180043aa5
mov rax, qword [rsp + 0x60]
mov qword [rax], 0xffffffffffffffff
jmp 0x180043ab5
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x8e0]
mov qword [rax], rcx
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
cmp qword [rax], 0
je 0x180043b1a
mov rax, qword [rsp + 0x98]
cmp qword [rax], 0
jle 0x180043b15
mov rax, qword [rsp + 0x98]
mov rax, qword [rax]
dec rax
mov rcx, qword [rsp + 0x98]
mov qword [rcx], rax
jmp 0x18003a587
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
movabs rcx, 0x8000000000000000
cmp qword [rax], rcx
jle 0x180043b75
mov rax, qword [rsp + 0x98]
mov rax, qword [rax]
dec rax
mov rcx, qword [rsp + 0x98]
mov qword [rcx], rax
mov rax, qword [rsp + 0x98]
cmp qword [rax], 0
jne 0x180043b88
jmp 0x18003a587
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
mov dword [rsp + 0x8f0], eax
movsxd rax, dword [rsp + 0x8f0]
lea rax, [rax*8 + 0x68]
mov rdx, rax
mov rcx, qword [rsp + 0x40]
call fcn.18000beb0
mov qword [rsp + 0x8e8], rax
cmp qword [rsp + 0x8e8], 0
jne 0x180043bd5
jmp 0x180045bdc
mov rax, qword [rsp + 0x8e8]
mov qword [rax + 0x10], 0
movsxd rax, dword [rsp + 0x8f0]
mov rcx, qword [rsp + 0x8e8]
lea rax, [rcx + rax*8 + 0x30]
mov rcx, qword [rsp + 0x8e8]
mov qword [rcx], rax
mov r8w, 1
mov rdx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x8e8]
mov rcx, qword [rax]
call fcn.180036f70
mov rax, qword [rsp + 0x8e8]
mov rcx, qword [rsp + 0x88]
mov rcx, qword [rcx + 0x10]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, 0x18
idiv rcx
mov rcx, qword [rsp + 0x8e8]
mov dword [rcx + 0x20], eax
mov rax, qword [rsp + 0x8e8]
mov rcx, qword [rsp + 0xd00]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0x8e8]
mov byte [rax + 0x29], 0
mov rax, qword [rsp + 0x8e8]
mov dword [rax + 0x24], 0
mov rax, qword [rsp + 0x8e8]
movzx ecx, byte [rsp + 0x78]
mov byte [rax + 0x28], cl
mov rax, qword [rsp + 0x8e8]
movzx ecx, byte [rsp + 0x8f0]
mov byte [rax + 0x2a], cl
mov rax, qword [rsp + 0x88]
mov byte [rax + 1], 0xf1
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x8e8]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x88]
mov byte [rax], 0xa3
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x900], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x8f8], rax
mov rax, qword [rsp + 0x900]
mov rcx, qword [rsp + 0x8f8]
cmp qword [rax + 0x10], rcx
je 0x180043db5
mov rax, qword [rsp + 0x900]
mov rcx, qword [rsp + 0x8f8]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x900]
movzx eax, byte [rax + 0x2a]
dec eax
mov dword [rsp + 0x908], eax
jmp 0x180043d6e
mov eax, dword [rsp + 0x908]
dec eax
mov dword [rsp + 0x908], eax
cmp dword [rsp + 0x908], 0
jl 0x180043db5
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 8]
add eax, dword [rsp + 0x908]
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0x908]
mov rdx, qword [rsp + 0x900]
mov qword [rdx + rcx*8 + 0x30], rax
jmp 0x180043d5e
mov rax, qword [rsp + 0x8f8]
mov eax, dword [rax + 0x10]
inc eax
mov rcx, qword [rsp + 0x8f8]
mov dword [rcx + 0x10], eax
mov rax, qword [rsp + 0x88]
cmp dword [rax + 4], 0
je 0x180043e21
mov rax, qword [rsp + 0x900]
add rax, 0x30
mov rcx, qword [rsp + 0x900]
movzx ecx, byte [rcx + 0x2a]
mov rdx, qword [rsp + 0x900]
mov rdx, qword [rdx + 8]
mov qword [rsp + 0xc80], rdx
mov r8, rax
mov edx, ecx
mov rcx, qword [rsp + 0x900]
mov rax, qword [rsp + 0xc80]
call qword [rax + 0x30]
jmp 0x180043e65
mov rax, qword [rsp + 0x900]
add rax, 0x30
mov rcx, qword [rsp + 0x900]
movzx ecx, byte [rcx + 0x2a]
mov rdx, qword [rsp + 0x900]
mov rdx, qword [rdx + 8]
mov qword [rsp + 0xc88], rdx
mov r8, rax
mov edx, ecx
mov rcx, qword [rsp + 0x900]
mov rax, qword [rsp + 0xc88]
call qword [rax + 0x18]
mov rax, qword [rsp + 0x900]
cmp dword [rax + 0x24], 0
je 0x180043f56
mov rax, qword [rsp + 0x900]
cmp dword [rax + 0x24], 0
jle 0x180043ebb
mov rax, qword [rsp + 0x900]
mov rcx, qword [rax]
call fcn.180031a10
mov r8, rax
lea rdx, [0x18014e658]
mov rcx, qword [rsp + 0xd00]
call fcn.18002f9e0
mov rax, qword [rsp + 0x900]
mov eax, dword [rax + 0x24]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x900]
movzx eax, byte [rax + 0x29]
test eax, eax
je 0x180043f1a
mov rax, qword [rsp + 0x88]
mov eax, dword [rax - 0x14]
mov dword [rsp + 0x908], eax
cmp dword [rsp + 0x908], 0
je 0x180043f0e
movsxd rax, dword [rsp + 0x908]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov edx, 1
mov rcx, rax
call fcn.1800320b0
mov rax, qword [rsp + 0x900]
mov byte [rax + 0x29], 0
mov rax, qword [rsp + 0x900]
mov rcx, qword [rax]
call fcn.18002bcb0
mov rax, qword [rsp + 0x900]
mov rax, qword [rax]
mov word [rax + 0x14], 1
mov rax, qword [rsp + 0x900]
mov dword [rax + 0x24], 0
cmp dword [rsp + 0x48], 0
je 0x180043f56
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x910], rax
mov rax, qword [rsp + 0x88]
cmp dword [rax + 0xc], 0
je 0x180043ff5
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x88]
mov r8, qword [rcx + 0x10]
mov rdx, rax
mov rcx, qword [rsp + 0x910]
call fcn.1800540e0
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x910], rax
jmp 0x180044012
mov rax, qword [rsp + 0x88]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0x910]
call fcn.18002b180
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x180044042
mov rcx, qword [rsp + 0x910]
call fcn.180031a10
mov r8, rax
lea rdx, [0x18014e65c]
mov rcx, qword [rsp + 0xd00]
call fcn.18002f9e0
jmp 0x1800459a4
movzx eax, byte [rsp + 0x78]
mov edx, eax
mov rcx, qword [rsp + 0x910]
call fcn.180030330
jmp case.0x18003a3a7.88
mov dword [rsp + 0x920], 0
mov dword [rsp + 0x928], 0xffffffff
mov eax, dword [rsp + 0x928]
mov dword [rsp + 0x924], eax
lea rax, [rsp + 0x928]
lea rcx, [rsp + 0x924]
mov qword [rsp + 0x20], rax
mov r9, rcx
mov rax, qword [rsp + 0x88]
mov r8d, dword [rax + 8]
mov rax, qword [rsp + 0x88]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.1800e6410
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x1800440e2
cmp dword [rsp + 0x48], 5
je 0x1800440cf
jmp 0x1800459a4
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x920], 1
mov dword [rsp + 0x930], 0
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x918], rax
jmp 0x180044139
mov eax, dword [rsp + 0x930]
inc eax
mov dword [rsp + 0x930], eax
mov rax, qword [rsp + 0x918]
add rax, 0x38
mov qword [rsp + 0x918], rax
cmp dword [rsp + 0x930], 3
jge 0x180044165
movsxd rax, dword [rsp + 0x930]
movsxd rax, dword [rsp + rax*4 + 0x920]
mov rdx, rax
mov rcx, qword [rsp + 0x918]
call fcn.1800320b0
jmp 0x180044115
jmp case.0x18003a3a7.88
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd00]
call fcn.180055560
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x954], eax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax + 8]
mov qword [rsp + 0x938], rax
mov rcx, qword [rsp + 0x938]
call fcn.180018010
mov qword [rsp + 0x948], rax
mov rcx, qword [rsp + 0x948]
call fcn.18001c0b0
mov dword [rsp + 0x950], eax
cmp dword [rsp + 0x954], 0xffffffff
jne 0x1800441fd
mov eax, dword [rsp + 0x950]
mov dword [rsp + 0x954], eax
mov rcx, qword [rsp + 0x948]
call fcn.180046f20
test eax, eax
jne 0x18004421c
mov eax, dword [rsp + 0x950]
mov dword [rsp + 0x954], eax
mov edx, 1
mov rcx, qword [rsp + 0x948]
call fcn.18002f580
mov qword [rsp + 0x940], rax
cmp dword [rsp + 0x954], 5
jne 0x180044270
mov rcx, qword [rsp + 0x940]
call fcn.18000db50
test eax, eax
je 0x180044262
mov rcx, qword [rsp + 0x948]
call fcn.180026220
test eax, eax
jne 0x180044270
mov eax, dword [rsp + 0x950]
mov dword [rsp + 0x954], eax
mov eax, dword [rsp + 0x950]
cmp dword [rsp + 0x954], eax
je 0x1800443a9
cmp dword [rsp + 0x950], 5
je 0x18004429c
cmp dword [rsp + 0x954], 5
jne 0x1800443a9
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x65]
test eax, eax
je 0x1800442b7
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0xdc], 1
jle 0x18004430f
mov dword [rsp + 0x48], 1
cmp dword [rsp + 0x954], 5
jne 0x1800442da
lea rax, str.into
mov qword [rsp + 0xc90], rax
jmp 0x1800442e9
lea rax, str.out_of
mov qword [rsp + 0xc90], rax
mov r8, qword [rsp + 0xc90]
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
mov rcx, qword [rsp + 0xd00]
call fcn.18002f9e0
jmp 0x1800459a4
cmp dword [rsp + 0x950], 5
jne 0x18004434c
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x948]
call fcn.180046f70
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
jne 0x18004434a
mov edx, dword [rsp + 0x954]
mov rcx, qword [rsp + 0x948]
call fcn.180046d90
jmp 0x180044368
cmp dword [rsp + 0x950], 4
jne 0x180044368
mov edx, 2
mov rcx, qword [rsp + 0x948]
call fcn.180046d90
cmp dword [rsp + 0x48], 0
jne 0x1800443a9
cmp dword [rsp + 0x954], 5
jne 0x180044386
mov dword [rsp + 0xc98], 2
jmp 0x180044391
mov dword [rsp + 0xc98], 1
mov edx, dword [rsp + 0xc98]
mov rcx, qword [rsp + 0x938]
call fcn.18002a340
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x1800443be
mov eax, dword [rsp + 0x950]
mov dword [rsp + 0x954], eax
mov edx, dword [rsp + 0x954]
mov rcx, qword [rsp + 0x948]
call fcn.180046d90
mov dword [rsp + 0x954], eax
mov rax, qword [rsp + 0x60]
mov word [rax + 0x14], 0x2202
mov ecx, dword [rsp + 0x954]
call fcn.180071ef0
mov rcx, qword [rsp + 0x60]
mov qword [rcx + 8], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 8]
call fcn.18000db50
mov rcx, qword [rsp + 0x60]
mov dword [rcx + 0x10], eax
mov rax, qword [rsp + 0x60]
mov byte [rax + 0x16], 1
movzx eax, byte [rsp + 0x78]
mov edx, eax
mov rcx, qword [rsp + 0x60]
call fcn.180030330
cmp dword [rsp + 0x48], 0
je 0x180044435
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
cmp dword [rax + 8], 0
je 0x180044470
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xca0], rax
jmp 0x18004447c
mov qword [rsp + 0xca0], 0
mov rax, qword [rsp + 0xd00]
add rax, 0xa8
mov r9, qword [rsp + 0xca0]
mov rcx, qword [rsp + 0x88]
mov r8d, dword [rcx + 4]
mov rdx, qword [rsp + 0x40]
mov rcx, rax
call fcn.18007bfa0
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x1800444bb
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax + 8]
mov qword [rsp + 0x958], rax
mov rcx, qword [rsp + 0x958]
call fcn.180048c90
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x180044517
cmp dword [rsp + 0x48], 0x65
je 0x18004450a
jmp 0x1800459a4
mov dword [rsp + 0x48], 0
jmp 0x18003a587
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
cmp dword [rax + 4], 0
jne 0x180044541
mov rax, qword [rsp + 0x88]
mov edx, dword [rax + 8]
mov rcx, qword [rsp + 0x40]
call fcn.180054f90
jmp 0x180044574
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 8]
inc eax
and eax, 3
mov rcx, qword [rsp + 0xd00]
mov ecx, dword [rcx + 0xc8]
and ecx, 0xfffffffc
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0xd00]
mov dword [rcx + 0xc8], eax
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x960], rax
mov rax, qword [rsp + 0x960]
mov rcx, qword [rax + 0x30]
call fcn.180049190
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x968], rax
mov rax, qword [rsp + 0x968]
mov rcx, qword [rax + 0x30]
call fcn.1800491b0
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0xc]
mov byte [rsp + 0x970], al
movzx eax, byte [rsp + 0x970]
test eax, eax
jne 0x18004462b
mov rax, qword [rsp + 0x40]
movabs rcx, 0x400000000
mov rax, qword [rax + 0x30]
and rax, rcx
test rax, rax
jne 0x1800446be
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 4]
mov dword [rsp + 0x974], eax
movsxd rax, dword [rsp + 0x974]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
movzx r8d, byte [rsp + 0x970]
mov rdx, qword [rsp + 0x88]
mov edx, dword [rdx + 8]
mov rcx, qword [rcx + rax + 8]
call fcn.180053f00
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x1800446be
mov eax, dword [rsp + 0x48]
and eax, 0xff
cmp eax, 6
jne 0x1800446b9
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x978], rax
mov r8, qword [rsp + 0x978]
lea rdx, str.database_table_is_locked:__s
mov rcx, qword [rsp + 0xd00]
call fcn.18002f9e0
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x980], rax
mov rdx, qword [rsp + 0x980]
mov rcx, qword [rsp + 0x40]
call fcn.18007e7c0
mov dword [rsp + 0x48], eax
cmp qword [rsp + 0x980], 0
je 0x180044711
mov rax, qword [rsp + 0x980]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0xd00]
call fcn.180054ff0
cmp dword [rsp + 0x48], 0
je 0x18004471d
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov r8d, 0x38
xor edx, edx
lea rcx, [rsp + 0x990]
call sub.msvcrt.dll_memset
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x9a8], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov rdx, rax
lea rcx, [rsp + 0x990]
call fcn.1800326a0
mov dword [rsp + 0x48], eax
lea rcx, [rsp + 0x990]
call fcn.180031a10
mov qword [rsp + 0x988], rax
cmp qword [rsp + 0x988], 0
je 0x1800447c8
mov rax, qword [rsp + 0xd00]
add rax, 0xa8
mov r9, rax
mov r8, qword [rsp + 0x988]
mov rax, qword [rsp + 0x88]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.18007de50
mov dword [rsp + 0x48], eax
lea rcx, [rsp + 0x990]
call fcn.18002bcb0
cmp dword [rsp + 0x48], 0
je 0x1800447e1
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0xe8]
inc eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0xe8], eax
mov rax, qword [rsp + 0x88]
mov r8, qword [rax + 0x10]
mov rax, qword [rsp + 0x88]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x40]
call fcn.18007e440
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0xe8]
dec eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0xe8], eax
cmp dword [rsp + 0x48], 0
je 0x180044847
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov qword [rsp + 0x9e0], 0
mov qword [rsp + 0x9d8], 0
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x9d0], rax
cmp qword [rsp + 0x9d0], 0
je 0x180044895
mov rax, qword [rsp + 0x9d0]
cmp qword [rax], 0
jne 0x1800448a2
mov dword [rsp + 0x48], 6
jmp 0x1800459a4
mov rax, qword [rsp + 0x9d0]
mov rax, qword [rax]
mov qword [rsp + 0x9c8], rax
lea rdx, [rsp + 0x9d8]
mov rcx, qword [rsp + 0x9d0]
mov rax, qword [rsp + 0x9c8]
call qword [rax + 0x30]
mov dword [rsp + 0x48], eax
mov rdx, qword [rsp + 0x9d0]
mov rcx, qword [rsp + 0xd00]
call fcn.180054ff0
cmp dword [rsp + 0x48], 0
je 0x1800448f5
jmp 0x1800459a4
mov rax, qword [rsp + 0x9d8]
mov rcx, qword [rsp + 0x9d0]
mov qword [rax], rcx
mov r9b, 2
xor r8d, r8d
mov rax, qword [rsp + 0x88]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
call fcn.180055080
mov qword [rsp + 0x9e0], rax
cmp qword [rsp + 0x9e0], 0
je 0x180044967
mov rax, qword [rsp + 0x9e0]
mov rcx, qword [rsp + 0x9d8]
mov qword [rax + 0x30], rcx
mov rax, qword [rsp + 0x9d0]
mov eax, dword [rax + 8]
inc eax
mov rcx, qword [rsp + 0x9d0]
mov dword [rcx + 8], eax
jmp 0x18004497f
mov rcx, qword [rsp + 0x9d8]
mov rax, qword [rsp + 0x9c8]
call qword [rax + 0x38]
jmp 0x180045bdc
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x9e8], rax
mov ecx, 0x10
call fcn.1800090a0
mov qword [rsp + 0x9f0], rax
cmp qword [rsp + 0x9f0], 0
jne 0x1800449ca
jmp 0x180045bdc
mov rax, qword [rsp + 0x9f0]
mov rcx, qword [rsp + 0x9e8]
mov rcx, qword [rcx + 0x30]
mov qword [rax], rcx
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x9f0]
mov qword [rcx + 8], rax
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd00]
call fcn.180055560
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov word [rax + 0x14], 1
lea r9, [0x180037a10]
lea r8, str.ValueList
mov rdx, qword [rsp + 0x9f0]
mov rcx, qword [rsp + 0x60]
call fcn.180032200
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xa00], rax
mov rax, qword [rsp + 0xa00]
add rax, 0x38
mov qword [rsp + 0xa30], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0xa38], rax
mov rax, qword [rsp + 0xa38]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0xa28], rax
mov rax, qword [rsp + 0xa28]
mov rax, qword [rax]
mov qword [rsp + 0xa20], rax
mov rax, qword [rsp + 0xa20]
mov rax, qword [rax]
mov qword [rsp + 0xa08], rax
mov rax, qword [rsp + 0xa30]
mov eax, dword [rax]
mov dword [rsp + 0xa44], eax
mov rax, qword [rsp + 0xa00]
mov eax, dword [rax]
mov dword [rsp + 0xa40], eax
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax + 0x70]
mov qword [rsp + 0xa18], rax
mov dword [rsp + 0xa10], 0
jmp 0x180044b40
mov eax, dword [rsp + 0xa10]
inc eax
mov dword [rsp + 0xa10], eax
mov eax, dword [rsp + 0xa44]
cmp dword [rsp + 0xa10], eax
jge 0x180044b83
mov eax, dword [rsp + 0xa10]
inc eax
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0xa30]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0xa10]
mov rdx, qword [rsp + 0xa18]
mov qword [rdx + rcx*8], rax
jmp 0x180044b30
mov rax, qword [rsp + 0xa18]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0xa44]
mov rax, qword [rsp + 0x88]
mov r8, qword [rax + 0x10]
mov edx, dword [rsp + 0xa40]
mov rcx, qword [rsp + 0xa28]
mov rax, qword [rsp + 0xa08]
call qword [rax + 0x40]
mov dword [rsp + 0x48], eax
mov rdx, qword [rsp + 0xa20]
mov rcx, qword [rsp + 0xd00]
call fcn.180054ff0
cmp dword [rsp + 0x48], 0
je 0x180044be3
jmp 0x1800459a4
mov rcx, qword [rsp + 0xa28]
mov rax, qword [rsp + 0xa08]
call qword [rax + 0x50]
mov dword [rsp + 0x9f8], eax
mov rax, qword [rsp + 0xa38]
mov byte [rax + 2], 0
cmp dword [rsp + 0x9f8], 0
je 0x180044c18
jmp 0x18003a587
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0xa98], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xa48], rax
mov rax, qword [rsp + 0xa98]
movzx eax, byte [rax + 2]
test eax, eax
je 0x180044c89
mov rcx, qword [rsp + 0xa48]
call fcn.18002b0d0
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0xa98]
mov rax, qword [rax + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0xa90], rax
mov rax, qword [rsp + 0xa90]
mov rax, qword [rax]
mov qword [rsp + 0xa88], rax
mov r8d, 0x38
xor edx, edx
lea rcx, [rsp + 0xa50]
call sub.msvcrt.dll_memset
mov rax, qword [rsp + 0xa48]
mov qword [rsp + 0xa50], rax
movzx eax, byte [rsp + 0x78]
mov byte [rsp + 0xa78], al
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
and eax, 1
test eax, eax
je 0x180044d22
mov rcx, qword [rsp + 0xa48]
call fcn.18002b0d0
mov rax, qword [rsp + 0xa48]
mov word [rax + 0x14], 0x401
mov rax, qword [rsp + 0xa48]
mov dword [rax], 0
jmp 0x180044d42
mov rax, qword [rsp + 0xa48]
movzx eax, word [rax + 0x14]
and eax, 0xfffff240
or eax, 1
mov rcx, qword [rsp + 0xa48]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x88]
mov r8d, dword [rax + 8]
lea rdx, [rsp + 0xa50]
mov rax, qword [rsp + 0xa98]
mov rcx, qword [rax + 0x30]
mov rax, qword [rsp + 0xa88]
call qword [rax + 0x58]
mov dword [rsp + 0x48], eax
mov rdx, qword [rsp + 0xa90]
mov rcx, qword [rsp + 0xd00]
call fcn.180054ff0
cmp dword [rsp + 0xa74], 0
jle 0x180044dbf
mov rcx, qword [rsp + 0xa48]
call fcn.180031a10
mov r8, rax
lea rdx, [0x18014e6d4]
mov rcx, qword [rsp + 0xd00]
call fcn.18002f9e0
mov eax, dword [rsp + 0xa74]
mov dword [rsp + 0x48], eax
movzx eax, byte [rsp + 0x78]
mov edx, eax
mov rcx, qword [rsp + 0xa48]
call fcn.180030330
cmp dword [rsp + 0x48], 0
je 0x180044ddf
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x78]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0xab8], rax
mov rax, qword [rsp + 0xab8]
movzx eax, byte [rax + 2]
test eax, eax
je 0x180044e1d
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0xab8]
mov rax, qword [rax + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0xab0], rax
mov rax, qword [rsp + 0xab0]
mov rax, qword [rax]
mov qword [rsp + 0xaa8], rax
mov rax, qword [rsp + 0xab8]
mov rcx, qword [rax + 0x30]
mov rax, qword [rsp + 0xaa8]
call qword [rax + 0x48]
mov dword [rsp + 0x48], eax
mov rdx, qword [rsp + 0xab0]
mov rcx, qword [rsp + 0xd00]
call fcn.180054ff0
cmp dword [rsp + 0x48], 0
je 0x180044e83
jmp 0x1800459a4
mov rax, qword [rsp + 0xab8]
mov rcx, qword [rax + 0x30]
mov rax, qword [rsp + 0xaa8]
call qword [rax + 0x50]
mov dword [rsp + 0xaa0], eax
cmp dword [rsp + 0xaa0], 0
jne 0x180044eb0
jmp case.0x18003a3a7.8
jmp 0x18003a3d2
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x30]
and rax, 0x4000000
mov dword [rsp + 0xac0], eax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x30]
or rax, 0x4000000
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x30], rax
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xad0], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xac8], rax
mov edx, 1
mov rcx, qword [rsp + 0xac8]
call fcn.180030330
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x180044f43
jmp 0x1800459a4
mov rax, qword [rsp + 0xad0]
mov rax, qword [rax]
mov rcx, qword [rsp + 0xac8]
mov rdx, qword [rcx + 8]
mov rcx, qword [rsp + 0xad0]
call qword [rax + 0x98]
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0xac0], 0
jne 0x180044f8e
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x30]
and rax, 0xfffffffffbffffff
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x30], rax
mov rdx, qword [rsp + 0xad0]
mov rcx, qword [rsp + 0xd00]
call fcn.180054ff0
mov rax, qword [rsp + 0xd00]
mov eax, dword [rax + 0xc8]
and eax, 0xfffffffc
mov rcx, qword [rsp + 0xd00]
mov dword [rcx + 0xc8], eax
cmp dword [rsp + 0x48], 0
je 0x180044fce
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov qword [rsp + 0xaf8], 0
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x67]
test eax, eax
je 0x180044ff1
jmp 0x180045bdc
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xb00], rax
cmp qword [rsp + 0xb00], 0
je 0x180045022
mov rax, qword [rsp + 0xb00]
cmp qword [rax], 0
jne 0x18004502f
mov dword [rsp + 0x48], 6
jmp 0x1800459a4
mov rax, qword [rsp + 0xb00]
mov rax, qword [rax]
mov qword [rsp + 0xad8], rax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 8]
mov dword [rsp + 0xb08], eax
mov rax, qword [rsp + 0xad8]
cmp qword [rax + 0x68], 0
je 0x18004524a
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x6c]
mov byte [rsp + 0xb0c], al
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax + 0x70]
mov qword [rsp + 0xaf0], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xae8], rax
mov dword [rsp + 0xae0], 0
jmp 0x1800450ce
mov eax, dword [rsp + 0xae0]
inc eax
mov dword [rsp + 0xae0], eax
mov eax, dword [rsp + 0xb08]
cmp dword [rsp + 0xae0], eax
jge 0x180045110
movsxd rax, dword [rsp + 0xae0]
mov rcx, qword [rsp + 0xaf0]
mov rdx, qword [rsp + 0xae8]
mov qword [rcx + rax*8], rdx
mov rax, qword [rsp + 0xae8]
add rax, 0x38
mov qword [rsp + 0xae8], rax
jmp 0x1800450be
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x88]
movzx ecx, byte [rcx + 2]
mov byte [rax + 0x6c], cl
lea r9, [rsp + 0xaf8]
mov r8, qword [rsp + 0xaf0]
mov edx, dword [rsp + 0xb08]
mov rcx, qword [rsp + 0xb00]
mov rax, qword [rsp + 0xad8]
call qword [rax + 0x68]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x40]
movzx ecx, byte [rsp + 0xb0c]
mov byte [rax + 0x6c], cl
mov rdx, qword [rsp + 0xb00]
mov rcx, qword [rsp + 0xd00]
call fcn.180054ff0
cmp dword [rsp + 0x48], 0
jne 0x18004519d
mov rax, qword [rsp + 0x88]
cmp dword [rax + 4], 0
je 0x18004519d
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0xaf8]
mov qword [rax + 0x38], rcx
mov eax, dword [rsp + 0x48]
and eax, 0xff
cmp eax, 0x13
jne 0x180045223
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
movzx eax, byte [rax + 0x1c]
test eax, eax
je 0x180045223
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
cmp eax, 4
jne 0x1800451da
mov dword [rsp + 0x48], 0
jmp 0x180045221
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
cmp eax, 5
jne 0x1800451f8
mov dword [rsp + 0xca8], 2
jmp 0x18004520b
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 2]
mov dword [rsp + 0xca8], eax
mov rax, qword [rsp + 0xd00]
movzx ecx, byte [rsp + 0xca8]
mov byte [rax + 0xc4], cl
jmp 0x18004523e
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax + 0x38]
inc rax
mov rcx, qword [rsp + 0xd00]
mov qword [rcx + 0x38], rax
cmp dword [rsp + 0x48], 0
je 0x18004524a
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd00]
call fcn.180055560
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rcx, qword [rcx + rax + 8]
call fcn.18001f970
mov eax, eax
mov rcx, qword [rsp + 0x60]
mov qword [rcx], rax
jmp case.0x18003a3a7.88
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd00]
call fcn.180055560
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax + 8]
mov qword [rsp + 0xb10], rax
mov dword [rsp + 0xb18], 0
mov rax, qword [rsp + 0x88]
cmp dword [rax + 0xc], 0
je 0x18004532e
mov rcx, qword [rsp + 0xb10]
call fcn.18001f970
mov dword [rsp + 0xb18], eax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0xc]
cmp dword [rsp + 0xb18], eax
jae 0x18004532e
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0xb18], eax
mov edx, dword [rsp + 0xb18]
mov rcx, qword [rsp + 0xb10]
call fcn.180048c10
mov eax, eax
mov rcx, qword [rsp + 0x60]
mov qword [rcx], rax
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xb20], rax
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0xb20]
mov rcx, qword [rsp + 0x60]
cmp qword [rax], rcx
je 0x180045440
mov rax, qword [rsp + 0xb20]
mov rcx, qword [rsp + 0xd00]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0xb20]
mov rcx, qword [rsp + 0x60]
mov qword [rax], rcx
mov rax, qword [rsp + 0xb20]
movzx ecx, byte [rsp + 0x78]
mov byte [rax + 0x28], cl
mov rax, qword [rsp + 0xb20]
movzx eax, byte [rax + 0x2a]
dec eax
mov dword [rsp + 0xb28], eax
jmp 0x1800453f9
mov eax, dword [rsp + 0xb28]
dec eax
mov dword [rsp + 0xb28], eax
cmp dword [rsp + 0xb28], 0
jl 0x180045440
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 8]
add eax, dword [rsp + 0xb28]
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0xb28]
mov rdx, qword [rsp + 0xb20]
mov qword [rdx + rcx*8 + 0x30], rax
jmp 0x1800453e9
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x14]
and eax, 0xfffff240
or eax, 1
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0xb20]
add rax, 0x30
mov rcx, qword [rsp + 0xb20]
movzx ecx, byte [rcx + 0x2a]
mov rdx, qword [rsp + 0xb20]
mov rdx, qword [rdx + 8]
mov qword [rsp + 0xcb0], rdx
mov r8, rax
mov edx, ecx
mov rcx, qword [rsp + 0xb20]
mov rax, qword [rsp + 0xcb0]
call qword [rax + 0x18]
mov rax, qword [rsp + 0xb20]
cmp dword [rax + 0x24], 0
je 0x18004553c
mov rax, qword [rsp + 0xb20]
cmp dword [rax + 0x24], 0
jle 0x1800454ee
mov rcx, qword [rsp + 0x60]
call fcn.180031a10
mov r8, rax
lea rdx, [0x18014e6d8]
mov rcx, qword [rsp + 0xd00]
call fcn.18002f9e0
mov rax, qword [rsp + 0xb20]
mov eax, dword [rax + 0x24]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0xd00]
add rax, 0x128
mov rcx, qword [rsp + 0x88]
mov r9d, dword [rcx + 4]
mov rcx, qword [rsp + 0xb20]
mov r8d, dword [rcx + 0x20]
mov rdx, rax
mov rcx, qword [rsp + 0x40]
call fcn.18002fb60
mov rax, qword [rsp + 0xb20]
mov dword [rax + 0x24], 0
cmp dword [rsp + 0x48], 0
je 0x18004553c
jmp 0x1800459a4
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 0x14]
and eax, 0xfffff7ff
mov rcx, qword [rsp + 0x98]
mov word [rcx + 0x14], ax
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
call fcn.180055600
mov qword [rsp + 0xb30], rax
mov rax, qword [rsp + 0x98]
mov eax, dword [rax + 0x10]
shl eax, 3
cdqe
mov qword [rsp + 0xcb8], rax
xor edx, edx
mov rax, qword [rsp + 0xb30]
mov rcx, qword [rsp + 0xcb8]
div rcx
mov rax, rdx
mov qword [rsp + 0xb30], rax
xor edx, edx
mov rax, qword [rsp + 0xb30]
mov ecx, 8
div rcx
mov rcx, qword [rsp + 0x98]
mov rcx, qword [rcx + 8]
mov qword [rsp + 0xcc0], rcx
mov rdx, qword [rsp + 0xb30]
and rdx, 7
mov edi, 1
movzx ecx, dl
mov edx, edi
shl edx, cl
mov ecx, edx
mov rdx, qword [rsp + 0xcc0]
movsx eax, byte [rdx + rax]
or eax, ecx
mov dword [rsp + 0xcc8], eax
xor edx, edx
mov rax, qword [rsp + 0xb30]
mov ecx, 8
div rcx
mov rcx, qword [rsp + 0x98]
mov rcx, qword [rcx + 8]
mov edx, dword [rsp + 0xcc8]
mov byte [rax + rcx], dl
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
call fcn.180055600
mov qword [rsp + 0xb38], rax
mov rax, qword [rsp + 0x98]
mov eax, dword [rax + 0x10]
shl eax, 3
cdqe
mov qword [rsp + 0xcd0], rax
xor edx, edx
mov rax, qword [rsp + 0xb38]
mov rcx, qword [rsp + 0xcd0]
div rcx
mov rax, rdx
mov qword [rsp + 0xb38], rax
xor edx, edx
mov rax, qword [rsp + 0xb38]
mov ecx, 8
div rcx
mov rcx, qword [rsp + 0x98]
mov rcx, qword [rcx + 8]
movsx eax, byte [rcx + rax]
mov rcx, qword [rsp + 0xb38]
and rcx, 7
mov edx, 1
shl edx, cl
mov ecx, edx
and eax, ecx
test eax, eax
jne 0x180045763
mov rax, qword [rsp + 0xd00]
mov eax, dword [rax + 0xf4]
inc eax
mov rcx, qword [rsp + 0xd00]
mov dword [rcx + 0xf4], eax
jmp 0x18003a587
mov rax, qword [rsp + 0xd00]
mov eax, dword [rax + 0xf0]
inc eax
mov rcx, qword [rsp + 0xd00]
mov dword [rcx + 0xf0], eax
jmp case.0x18003a3a7.88
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x6e]
and eax, 1
test eax, eax
je 0x1800458aa
mov rax, qword [rsp + 0xd00]
movzx eax, byte [rax + 0xc5]
cmp eax, 0xfe
je 0x1800458aa
mov rax, qword [rsp + 0x88]
cmp qword [rax + 0x10], 0
je 0x1800457d9
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xcd8], rax
jmp 0x1800457f0
mov rax, qword [rsp + 0xd00]
mov rax, qword [rax + 0xf8]
mov qword [rsp + 0xcd8], rax
mov rax, qword [rsp + 0xcd8]
mov qword [rsp + 0xb48], rax
cmp qword [rsp + 0xb48], 0
je 0x1800458aa
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0xe4], 1
jle 0x18004587e
mov r8, qword [rsp + 0xb48]
lea rdx, [0x18014e6dc]
mov rcx, qword [rsp + 0x40]
call fcn.18002f4f0
mov qword [rsp + 0xb50], rax
mov r9, qword [rsp + 0xb50]
mov r8, qword [rsp + 0xd00]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax + 0x100]
mov ecx, 1
mov rax, qword [rsp + 0x40]
call qword [rax + 0xf8]
mov rdx, qword [rsp + 0xb50]
mov rcx, qword [rsp + 0x40]
call fcn.18000bb30
jmp 0x1800458aa
mov r9, qword [rsp + 0xb48]
mov r8, qword [rsp + 0xd00]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax + 0x100]
mov ecx, 1
mov rax, qword [rsp + 0x40]
call qword [rax + 0xf8]
mov rax, qword [rsp + 0x88]
mov ecx, dword [0x18014b5b8]
cmp dword [rax + 4], ecx
jl 0x180045964
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax]
cmp eax, 0xb5
jne 0x1800458d8
jmp case.0x18003a3a7.88
mov dword [rsp + 0xb40], 1
jmp 0x1800458f5
mov eax, dword [rsp + 0xb40]
inc eax
mov dword [rsp + 0xb40], eax
mov rax, qword [rsp + 0xd00]
mov eax, dword [rax + 0x90]
cmp dword [rsp + 0xb40], eax
jge 0x180045955
movsxd rax, dword [rsp + 0xb40]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x88]
movzx eax, byte [rcx + rax]
cmp eax, 0xf
jne 0x180045953
movsxd rax, dword [rsp + 0xb40]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0x88]
mov dword [rcx + rax + 4], 0
jmp 0x1800458e5
mov rax, qword [rsp + 0x88]
mov dword [rax + 4], 0
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 4]
inc eax
mov rcx, qword [rsp + 0x88]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0xd00]
mov eax, dword [rax + 0xec]
inc eax
mov rcx, qword [rsp + 0xd00]
mov dword [rcx + 0xec], eax
jmp 0x18003a587
jmp 0x18003a33f
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x67]
test eax, eax
je 0x1800459bb
mov dword [rsp + 0x48], 7
jmp 0x1800459d3
cmp dword [rsp + 0x48], 0x210a
jne 0x1800459d3
mov ecx, 0x18a65
call fcn.1800e86f0
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0xd00]
cmp qword [rax + 0xa8], 0
jne 0x180045a0f
cmp dword [rsp + 0x48], 0xc0a
je 0x180045a0f
mov ecx, dword [rsp + 0x48]
call fcn.1800e5000
mov r8, rax
lea rdx, [0x18014e6e4]
mov rcx, qword [rsp + 0xd00]
call fcn.18002f9e0
mov rax, qword [rsp + 0xd00]
mov ecx, dword [rsp + 0x48]
mov dword [rax + 0x34], ecx
mov edx, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
call fcn.180018290
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, 0x18
idiv rcx
mov rcx, qword [rsp + 0xd00]
mov rcx, qword [rcx + 0xa8]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0xd00]
mov r9, qword [rcx + 0xf8]
mov r8d, eax
lea rdx, str.statement_aborts_at__d:___s___s
mov ecx, dword [rsp + 0x48]
call fcn.18000d080
mov rax, qword [rsp + 0xd00]
movzx eax, byte [rax + 0xc7]
cmp eax, 2
jne 0x180045aa3
mov rcx, qword [rsp + 0xd00]
call fcn.18002c790
cmp dword [rsp + 0x48], 0xc0a
jne 0x180045ab7
mov rcx, qword [rsp + 0x40]
call fcn.18000c0e0
cmp dword [rsp + 0x48], 0xb
jne 0x180045aea
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x65]
test eax, eax
jne 0x180045aea
mov rax, qword [rsp + 0x40]
movabs rcx, 0x200000000
mov rax, qword [rax + 0x30]
or rax, rcx
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 0x30], rax
mov dword [rsp + 0x48], 1
movzx eax, byte [rsp + 0x79]
test eax, eax
jle 0x180045b0e
movzx eax, byte [rsp + 0x79]
dec eax
mov edx, eax
mov rcx, qword [rsp + 0x40]
call fcn.18006ade0
mov rax, qword [rsp + 0x68]
cmp qword [rsp + 0x58], rax
jb 0x180045b77
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x200], 0
je 0x180045b77
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x210]
mov rcx, qword [rsp + 0x68]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x208]
mov rax, qword [rsp + 0x40]
call qword [rax + 0x200]
test eax, eax
je 0x180045b75
mov qword [rsp + 0x68], 0xffffffffffffffff
mov dword [rsp + 0x48], 9
jmp 0x1800459a4
jmp 0x180045b0e
mov rax, qword [rsp + 0xd00]
mov eax, dword [rax + 0xe4]
add eax, dword [rsp + 0x58]
mov rcx, qword [rsp + 0xd00]
mov dword [rcx + 0xe4], eax
mov rax, qword [rsp + 0xd00]
cmp dword [rax + 0xd0], 0
je 0x180045bb5
mov rcx, qword [rsp + 0xd00]
call fcn.18002ce50
mov eax, dword [rsp + 0x48]
jmp 0x180045c14
lea rdx, [0x18014e708]
mov rcx, qword [rsp + 0xd00]
call fcn.18002f9e0
mov dword [rsp + 0x48], 0x12
jmp 0x1800459a4
mov rcx, qword [rsp + 0x40]
call fcn.18000c0e0
lea rdx, [0x18014e720]
mov rcx, qword [rsp + 0xd00]
call fcn.18002f9e0
mov dword [rsp + 0x48], 7
jmp 0x1800459a4
mov dword [rsp + 0x48], 9
jmp 0x1800459a4
add rsp, 0xce8
pop rdi
pop rsi
ret