Function at 0x180249cd8
Capabilities:
Reference sql statements

Disassembly:
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x368
mov dword [rsp + 0x70], 0
mov rax, qword [rsp + 0x380]
mov rax, qword [rax + 8]
mov qword [rsp + 0x290], rax
mov dword [rsp + 0x40], 0
mov rax, qword [rsp + 0x380]
mov rax, qword [rax]
mov qword [rsp + 0x50], rax
mov byte [rsp + 0x1b0], 0
mov eax, 0x20
imul rax, rax, 0
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax + 0x18]
mov al, byte [rax + 0x71]
mov byte [rsp + 0x58], al
mov dword [rsp + 0x1bc], 0
mov dword [rsp + 0x1b8], 0
mov dword [rsp + 0x1b4], 0
mov rax, qword [rsp + 0x380]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x1a0], 0
mov qword [rsp + 0x1a8], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x280], 0
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x1c8], rax
mov rcx, qword [rsp + 0x380]
call fcn.180259a40
mov rax, qword [rsp + 0x380]
cmp dword [rax + 0x94], 7
jne 0x180249ddc
jmp 0x180252f85
mov rax, qword [rsp + 0x380]
mov dword [rax + 0x94], 0
mov rax, qword [rsp + 0x380]
mov qword [rax + 0xd0], 0
mov rax, qword [rsp + 0x380]
mov qword [rax + 0x28], 0
mov rax, qword [rsp + 0x50]
mov dword [rax + 0x2a8], 0
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x138]
test eax, eax
je 0x180249e34
jmp 0x180253008
mov rax, qword [rsp + 0x50]
cmp qword [rax + 0x180], 0
je 0x180249e9d
mov eax, 4
imul rax, rax, 4
mov rcx, qword [rsp + 0x380]
mov eax, dword [rcx + rax + 0xb0]
mov dword [rsp + 0x1b4], eax
cmp dword [rsp + 0x1b4], 0
jne 0x180249e80
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x190]
mov dword [rsp + 0x1b4], eax
jmp 0x180249e9d
xor edx, edx
mov eax, dword [rsp + 0x1b4]
mov rcx, qword [rsp + 0x50]
div dword [rcx + 0x190]
mov eax, edx
mov dword [rsp + 0x1b4], eax
mov rax, qword [rsp + 0x380]
mov eax, dword [rax + 0x90]
mov dword [rsp + 0x70], eax
jmp 0x180249ebb
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x40], 0
jne 0x180252e69
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x50]
test eax, eax
je 0x180249ed8
jmp 0x180252f85
mov eax, dword [rsp + 0x1b8]
inc eax
mov dword [rsp + 0x1b8], eax
movsxd rax, dword [rsp + 0x70]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x290]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 2]
and eax, 2
test eax, eax
je 0x180249f5b
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x24]
and eax, 0x2460
test eax, eax
je 0x180249f4d
mov rcx, qword [rsp + 0x60]
call fcn.18025ccac
mov eax, 4
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x24], ax
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax]
mov dword [rsp + 0x1d8], eax
mov eax, dword [rsp + 0x1d8]
dec eax
mov dword [rsp + 0x1d8], eax
cmp dword [rsp + 0x1d8], 0x93
ja case.default.0x180249fa4
movsxd rax, dword [rsp + 0x1d8]
lea rcx, [0x180000000]
mov eax, dword [rcx + rax*4 + 0x25305c]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x138]
test eax, eax
je 0x180249fc8
jmp 0x180253008
mov rax, qword [rsp + 0x50]
cmp qword [rax + 0x180], 0
je 0x18024a078
mov eax, dword [rsp + 0x1b4]
cmp dword [rsp + 0x1b8], eax
jb 0x18024a078
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 0x188]
mov rax, qword [rsp + 0x50]
call qword [rax + 0x180]
mov dword [rsp + 0x2b8], eax
cmp dword [rsp + 0x2b8], 0
je 0x18024a024
mov dword [rsp + 0x40], 9
jmp 0x180252e69
mov rax, qword [rsp + 0x50]
cmp qword [rax + 0x180], 0
je 0x18024a078
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x190]
mov ecx, dword [rsp + 0x1b8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x2a0], eax
xor edx, edx
mov eax, dword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x50]
div dword [rcx + 0x190]
mov eax, edx
mov ecx, dword [rsp + 0x2a0]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x1b4], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov eax, 4
mov rcx, qword [rsp + 0x68]
mov word [rcx + 0x24], ax
movsxd rax, dword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x18], rax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x70], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov eax, 4
mov rcx, qword [rsp + 0x68]
mov word [rcx + 0x24], ax
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x80], eax
movsxd rax, dword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x18], rax
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x70], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1a8], rax
mov rax, qword [rsp + 0x1a8]
movzx eax, word [rax + 0x24]
and eax, 1
test eax, eax
jne case.0x180249fa4.20
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
cmp dword [rax + 4], 0
jne 0x18024a28a
mov rax, qword [rsp + 0x380]
cmp qword [rax + 0x100], 0
je 0x18024a28a
mov rax, qword [rsp + 0x380]
mov rax, qword [rax + 0x100]
mov qword [rsp + 0x2e8], rax
mov rax, qword [rsp + 0x380]
mov rcx, qword [rsp + 0x2e8]
mov rcx, qword [rcx + 8]
mov qword [rax + 0x100], rcx
mov rax, qword [rsp + 0x380]
mov eax, dword [rax + 0x110]
dec eax
mov rcx, qword [rsp + 0x380]
mov dword [rcx + 0x110], eax
mov rax, qword [rsp + 0x380]
mov edx, dword [rax + 0xa0]
mov rcx, qword [rsp + 0x50]
call fcn.180255ea0
mov rcx, qword [rsp + 0x2e8]
call fcn.1802587b8
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x1c8], rax
mov rax, qword [rsp + 0x48]
cmp dword [rax + 8], 4
jne 0x18024a260
movsxd rax, dword [rsp + 0x70]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 8]
mov eax, dword [rcx + rax + 8]
dec eax
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x380]
mov rax, qword [rax + 8]
mov qword [rsp + 0x290], rax
mov rax, qword [rsp + 0x380]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x78], rax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x380]
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx + 4]
mov dword [rax + 0x94], ecx
mov rax, qword [rsp + 0x380]
mov rcx, qword [rsp + 0x48]
mov cl, byte [rcx + 8]
mov byte [rax + 0x98], cl
mov rax, qword [rsp + 0x380]
mov ecx, dword [rsp + 0x70]
mov dword [rax + 0x90], ecx
mov rax, qword [rsp + 0x48]
cmp qword [rax + 0x10], 0
je 0x18024a335
mov rax, qword [rsp + 0x380]
add rax, 0x58
mov rcx, qword [rsp + 0x48]
mov r9, qword [rcx + 0x10]
lea r8, [0x18039bc74]
mov rdx, qword [rsp + 0x50]
mov rcx, rax
call fcn.180287188
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x380]
mov r9, qword [rax + 0xf0]
mov r8d, dword [rsp + 0x70]
lea rdx, str.abort_at__d_in___s_:__s
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax + 4]
call fcn.180284dd0
jmp 0x18024a36e
mov rax, qword [rsp + 0x380]
cmp dword [rax + 0x94], 0
je 0x18024a36e
mov rax, qword [rsp + 0x380]
mov r9, qword [rax + 0xf0]
mov r8d, dword [rsp + 0x70]
lea rdx, str.constraint_failed_at__d_in___s_
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax + 4]
call fcn.180284dd0
mov rcx, qword [rsp + 0x380]
call fcn.180257554
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 5
jne 0x18024a3a2
mov dword [rsp + 0x40], 5
mov rax, qword [rsp + 0x380]
mov ecx, dword [rsp + 0x40]
mov dword [rax + 0x94], ecx
jmp 0x18024a3d6
mov rax, qword [rsp + 0x380]
cmp dword [rax + 0x94], 0
je 0x18024a3c0
mov dword [rsp + 0x1f4], 1
jmp 0x18024a3cb
mov dword [rsp + 0x1f4], 0x65
mov eax, dword [rsp + 0x1f4]
mov dword [rsp + 0x40], eax
jmp 0x180252efa
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x60]
mov qword [rcx + 0x18], rax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov rcx, qword [rsp + 0x60]
mov rax, qword [rax]
mov qword [rcx + 0x18], rax
jmp case.default.0x180249fa4
mov eax, 8
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x24], ax
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov rcx, qword [rsp + 0x60]
movsd xmm0, qword [rax]
movsd qword [rcx + 0x10], xmm0
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
mov byte [rax], 0x17
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 0x10]
call fcn.180283998
mov rcx, qword [rsp + 0x48]
mov dword [rcx + 4], eax
movzx eax, byte [rsp + 0x58]
cmp eax, 1
je 0x18024a536
mov qword [rsp + 0x20], 0
mov r9b, 1
mov r8d, 0xffffffff
mov rax, qword [rsp + 0x48]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0x60]
call fcn.18025c11c
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0x12
jne 0x18024a497
jmp 0x180252f58
movzx eax, byte [rsp + 0x58]
mov edx, eax
mov rcx, qword [rsp + 0x60]
call fcn.18025d37c
test eax, eax
je 0x18024a4b1
jmp 0x180252f85
mov rax, qword [rsp + 0x60]
mov qword [rax + 0x30], 0
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x24]
bts eax, 0xb
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x24], ax
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x24]
btr eax, 0xa
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x24], ax
mov rax, qword [rsp + 0x48]
movsx eax, byte [rax + 1]
cmp eax, 0xffffffff
jne 0x18024a50b
mov rax, qword [rsp + 0x48]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0x50]
call fcn.18028780c
mov rax, qword [rsp + 0x48]
mov byte [rax + 1], 0xff
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx + 8]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x60]
mov ecx, dword [rcx + 0x20]
mov dword [rax + 4], ecx
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov eax, dword [rdx + rax + 0x68]
cmp dword [rcx + 4], eax
jle case.0x180249fa4.23
jmp 0x180252f58
mov eax, 0xa02
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x24], ax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx + 0x10]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx + 4]
mov dword [rax + 0x20], ecx
mov rax, qword [rsp + 0x60]
mov cl, byte [rsp + 0x58]
mov byte [rax + 0x27], cl
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx + 8]
mov eax, dword [rax + 0xc]
sub eax, ecx
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x48]
cmp dword [rax + 4], 0
je 0x18024a5c9
mov dword [rsp + 0x23c], 0x101
jmp 0x18024a5d4
mov dword [rsp + 0x23c], 1
movzx eax, word [rsp + 0x23c]
mov word [rsp + 0x84], ax
mov rax, qword [rsp + 0x60]
movzx ecx, word [rsp + 0x84]
mov word [rax + 0x24], cx
cmp dword [rsp + 0x80], 0
jle 0x18024a64c
mov rax, qword [rsp + 0x60]
add rax, 0x38
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x24]
and eax, 0x2460
test eax, eax
je 0x18024a629
mov rcx, qword [rsp + 0x60]
call fcn.18025ccac
mov rax, qword [rsp + 0x60]
movzx ecx, word [rsp + 0x84]
mov word [rax + 0x24], cx
mov eax, dword [rsp + 0x80]
dec eax
mov dword [rsp + 0x80], eax
jmp 0x18024a5f5
jmp case.default.0x180249fa4
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov rax, qword [rsp + 0x48]
mov r8d, dword [rax + 4]
mov rax, qword [rsp + 0x48]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0x60]
call fcn.18025c11c
mov rax, qword [rsp + 0x60]
mov cl, byte [rsp + 0x58]
mov byte [rax + 0x27], cl
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 4]
dec eax
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x380]
add rax, qword [rcx + 0x78]
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x80]
call fcn.18025c5fc
test eax, eax
je 0x18024a6c4
jmp 0x180252f58
mov r8d, 0x800
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
call fcn.18025c560
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0xc]
inc eax
mov dword [rsp + 0x88], eax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 4]
mov dword [rsp + 0x8c], eax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
mov dword [rsp + 0x90], eax
movsxd rax, dword [rsp + 0x8c]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
movsxd rax, dword [rsp + 0x90]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x2cc], eax
mov eax, dword [rsp + 0x88]
dec eax
mov dword [rsp + 0x88], eax
cmp dword [rsp + 0x2cc], 0
je 0x18024a7cf
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x60]
mov qword [rax + 0x30], 0
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
call fcn.18025c44c
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x80]
mov qword [rax + 0x30], rcx
mov rax, qword [rsp + 0x68]
add rax, 0x38
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x60]
add rax, 0x38
mov qword [rsp + 0x60], rax
jmp 0x18024a748
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
xor eax, eax
cmp eax, 1
je 0x18024a8ad
mov r8d, 0x1000
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
call fcn.18025c560
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x24]
and eax, 0x1000
test eax, eax
je 0x18024a862
mov rcx, qword [rsp + 0x60]
call fcn.18025d0c4
test eax, eax
je 0x18024a862
jmp 0x180252f85
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x2c8], eax
mov eax, dword [rsp + 0x80]
dec eax
mov dword [rsp + 0x80], eax
cmp dword [rsp + 0x2c8], 0
jne 0x18024a88c
jmp 0x18024a8ad
mov rax, qword [rsp + 0x60]
add rax, 0x38
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x68]
add rax, 0x38
mov qword [rsp + 0x68], rax
jmp 0x18024a81d
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov r8d, 0x1000
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
call fcn.18025c560
jmp case.default.0x180249fa4
xor edx, edx
mov rcx, qword [rsp + 0x380]
call fcn.180257ae4
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x18024a925
jmp case.default.0x180249fa4
mov edx, 1
mov rcx, qword [rsp + 0x380]
call fcn.180257b84
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x18024a947
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x380]
mov eax, dword [rax + 0x8c]
add eax, 2
or eax, 1
mov rcx, qword [rsp + 0x380]
mov dword [rcx + 0x8c], eax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov qword [rsp + 0x320], rcx
mov rax, qword [rsp + 0x380]
mov rcx, qword [rsp + 0x320]
mov qword [rax + 0x28], rcx
mov rax, qword [rsp + 0x320]
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x88], 0
jmp 0x18024a9c7
mov eax, dword [rsp + 0x88]
inc eax
mov dword [rsp + 0x88], eax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
cmp dword [rsp + 0x88], eax
jge 0x18024aa72
movsxd rax, dword [rsp + 0x88]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x80]
movzx eax, word [rcx + rax + 0x24]
and eax, 0x1000
test eax, eax
je 0x18024aa29
movsxd rax, dword [rsp + 0x88]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.18025d0c4
test eax, eax
je 0x18024aa29
jmp 0x180252f85
movsxd rax, dword [rsp + 0x88]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.18025cf44
movsxd rax, dword [rsp + 0x88]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.180253640
jmp 0x18024a9b7
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x50]
test eax, eax
je 0x18024aa84
jmp 0x180252f85
mov eax, dword [rsp + 0x70]
inc eax
mov rcx, qword [rsp + 0x380]
mov dword [rcx + 0x90], eax
mov dword [rsp + 0x40], 0x64
jmp 0x180252efa
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
mov rcx, qword [rsp + 0x1a0]
movzx ecx, word [rcx + 0x24]
or eax, ecx
and eax, 1
test eax, eax
je 0x18024ab2c
mov rcx, qword [rsp + 0x60]
call fcn.18025c840
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 0x4000
test eax, eax
je 0x18024ab51
mov rcx, qword [rsp + 0x68]
call fcn.18025cff0
mov dword [rsp + 0x244], eax
jmp 0x18024ab5c
mov dword [rsp + 0x244], 0
cmp dword [rsp + 0x244], 0
jne 0x18024aba6
mov rax, qword [rsp + 0x1a0]
movzx eax, word [rax + 0x24]
and eax, 0x4000
test eax, eax
je 0x18024ab91
mov rcx, qword [rsp + 0x1a0]
call fcn.18025cff0
mov dword [rsp + 0x24c], eax
jmp 0x18024ab9c
mov dword [rsp + 0x24c], 0
cmp dword [rsp + 0x24c], 0
je 0x18024abab
jmp 0x180252f85
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 0x12
test eax, eax
jne 0x18024abd5
movzx eax, byte [rsp + 0x58]
mov edx, eax
mov rcx, qword [rsp + 0x68]
call fcn.18025ce50
test eax, eax
je 0x18024abd5
jmp 0x180252f85
mov rax, qword [rsp + 0x1a0]
movzx eax, word [rax + 0x24]
and eax, 0x12
test eax, eax
jne 0x18024ac05
movzx eax, byte [rsp + 0x58]
mov edx, eax
mov rcx, qword [rsp + 0x1a0]
call fcn.18025ce50
test eax, eax
je 0x18024ac05
jmp 0x180252f85
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x20]
mov rcx, qword [rsp + 0x1a0]
add eax, dword [rcx + 0x20]
cdqe
mov qword [rsp + 0x80], rax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x50]
movsxd rax, dword [rcx + rax + 0x68]
cmp qword [rsp + 0x80], rax
jle 0x18024ac44
jmp 0x180252f58
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x24]
and eax, 0xffffbe00
or eax, 2
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x24], ax
mov rax, qword [rsp + 0x1a0]
cmp qword [rsp + 0x60], rax
jne 0x18024ac7a
mov dword [rsp + 0x254], 1
jmp 0x18024ac85
mov dword [rsp + 0x254], 0
mov eax, dword [rsp + 0x80]
add eax, 2
mov r8d, dword [rsp + 0x254]
mov edx, eax
mov rcx, qword [rsp + 0x60]
call fcn.18025d1a4
test eax, eax
je 0x18024acac
jmp 0x180252f85
mov rax, qword [rsp + 0x1a0]
cmp qword [rsp + 0x60], rax
je 0x18024ace1
mov rax, qword [rsp + 0x1a0]
movsxd rax, dword [rax + 0x20]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x1a0]
mov rdi, qword [rcx + 8]
mov rsi, qword [rdx + 8]
mov rcx, rax
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x68]
movsxd rax, dword [rax + 0x20]
mov rcx, qword [rsp + 0x1a0]
movsxd rcx, dword [rcx + 0x20]
mov rdx, qword [rsp + 0x60]
mov rdx, qword [rdx + 8]
add rdx, rcx
mov rcx, rdx
mov rdx, qword [rsp + 0x68]
mov rdi, rcx
mov rsi, qword [rdx + 8]
mov rcx, rax
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 8]
mov rcx, qword [rsp + 0x80]
mov byte [rax + rcx], 0
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 8]
mov rcx, qword [rsp + 0x80]
mov byte [rax + rcx + 1], 0
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x24]
bts eax, 9
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x24], ax
mov rax, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x80]
mov dword [rax + 0x20], ecx
mov rax, qword [rsp + 0x60]
mov cl, byte [rsp + 0x58]
mov byte [rax + 0x27], cl
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x68]
call fcn.1802533d0
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1a0], rax
mov rcx, qword [rsp + 0x1a0]
call fcn.1802533d0
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
mov rcx, qword [rsp + 0x1a0]
movzx ecx, word [rcx + 0x24]
or eax, ecx
mov dword [rsp + 0x84], eax
mov eax, dword [rsp + 0x84]
and eax, 1
test eax, eax
je 0x18024ae19
jmp 0x18024b1ac
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
mov rcx, qword [rsp + 0x1a0]
movzx ecx, word [rcx + 0x24]
and eax, ecx
and eax, 4
cmp eax, 4
jne 0x18024afd1
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x1a0]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x90], rax
mov byte [rsp + 0x80], 1
mov rax, qword [rsp + 0x48]
mov al, byte [rax]
mov byte [rsp + 0x1d0], al
cmp byte [rsp + 0x1d0], 0x56
je 0x18024aea4
cmp byte [rsp + 0x1d0], 0x57
je 0x18024aec7
cmp byte [rsp + 0x1d0], 0x58
je 0x18024aeea
cmp byte [rsp + 0x1d0], 0x59
je 0x18024af0d
jmp 0x18024af5d
mov rdx, qword [rsp + 0x88]
lea rcx, [rsp + 0x90]
call fcn.180281b58
test eax, eax
je 0x18024aec2
jmp 0x18024afd9
jmp 0x18024afa1
mov rdx, qword [rsp + 0x88]
lea rcx, [rsp + 0x90]
call fcn.180281ae8
test eax, eax
je 0x18024aee5
jmp 0x18024afd9
jmp 0x18024afa1
mov rdx, qword [rsp + 0x88]
lea rcx, [rsp + 0x90]
call fcn.1802819a4
test eax, eax
je 0x18024af08
jmp 0x18024afd9
jmp 0x18024afa1
cmp qword [rsp + 0x88], 0
jne 0x18024af1d
jmp 0x18024b1ac
cmp qword [rsp + 0x88], 0xffffffffffffffff
jne 0x18024af41
movabs rax, 0x8000000000000000
cmp qword [rsp + 0x90], rax
jne 0x18024af41
jmp 0x18024afd9
mov rax, qword [rsp + 0x90]
cqo
idiv qword [rsp + 0x88]
mov qword [rsp + 0x90], rax
jmp 0x18024afa1
cmp qword [rsp + 0x88], 0
jne 0x18024af6d
jmp 0x18024b1ac
cmp qword [rsp + 0x88], 0xffffffffffffffff
jne 0x18024af84
mov qword [rsp + 0x88], 1
mov rax, qword [rsp + 0x90]
cqo
idiv qword [rsp + 0x88]
mov rax, rdx
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x90]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x24]
and eax, 0xffffbe00
or eax, 4
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x24], ax
jmp 0x18024b1a7
mov byte [rsp + 0x80], 0
mov rcx, qword [rsp + 0x68]
call fcn.18025cab4
movsd qword [rsp + 0x98], xmm0
mov rcx, qword [rsp + 0x1a0]
call fcn.18025cab4
movsd qword [rsp + 0xa0], xmm0
mov rax, qword [rsp + 0x48]
mov al, byte [rax]
mov byte [rsp + 0x1dc], al
cmp byte [rsp + 0x1dc], 0x56
je 0x18024b03d
cmp byte [rsp + 0x1dc], 0x57
je 0x18024b05d
cmp byte [rsp + 0x1dc], 0x58
je 0x18024b07d
cmp byte [rsp + 0x1dc], 0x59
je 0x18024b09d
jmp 0x18024b0d4
movsd xmm0, qword [rsp + 0xa0]
addsd xmm0, qword [rsp + 0x98]
movsd qword [rsp + 0xa0], xmm0
jmp 0x18024b142
movsd xmm0, qword [rsp + 0xa0]
subsd xmm0, qword [rsp + 0x98]
movsd qword [rsp + 0xa0], xmm0
jmp 0x18024b142
movsd xmm0, qword [rsp + 0xa0]
mulsd xmm0, qword [rsp + 0x98]
movsd qword [rsp + 0xa0], xmm0
jmp 0x18024b142
movsd xmm0, qword [rsp + 0x98]
ucomisd xmm0, qword [0x18032fc58]
jp 0x18024b0b7
jne 0x18024b0b7
jmp 0x18024b1ac
movsd xmm0, qword [rsp + 0xa0]
divsd xmm0, qword [rsp + 0x98]
movsd qword [rsp + 0xa0], xmm0
jmp 0x18024b142
cvttsd2si rax, qword [rsp + 0x98]
mov qword [rsp + 0x88], rax
cvttsd2si rax, qword [rsp + 0xa0]
mov qword [rsp + 0x90], rax
cmp qword [rsp + 0x88], 0
jne 0x18024b108
jmp 0x18024b1ac
cmp qword [rsp + 0x88], 0xffffffffffffffff
jne 0x18024b11f
mov qword [rsp + 0x88], 1
mov rax, qword [rsp + 0x90]
cqo
idiv qword [rsp + 0x88]
mov rax, rdx
cvtsi2sd xmm0, rax
movsd qword [rsp + 0xa0], xmm0
movsd xmm0, qword [rsp + 0xa0]
call fcn.1802839f0
test eax, eax
je 0x18024b156
jmp 0x18024b1ac
mov rax, qword [rsp + 0x60]
movsd xmm0, qword [rsp + 0xa0]
movsd qword [rax + 0x10], xmm0
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x24]
and eax, 0xffffbe00
or eax, 8
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x24], ax
mov eax, dword [rsp + 0x84]
and eax, 8
test eax, eax
jne 0x18024b1a7
movsx eax, byte [rsp + 0x80]
test eax, eax
jne 0x18024b1a7
mov rcx, qword [rsp + 0x60]
call fcn.18025ca2c
jmp case.default.0x180249fa4
mov rcx, qword [rsp + 0x60]
call fcn.18025c840
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
cmp dword [rax + 4], 0
je 0x18024b1e8
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
xor edx, edx
mov rcx, rax
call fcn.18025c78c
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
mov dword [rsp + 0x100], eax
mov rax, qword [rsp + 0x380]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x80], 0
jmp 0x18024b27f
mov eax, dword [rsp + 0x80]
inc eax
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x88]
add rax, 0x38
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0x100]
cmp dword [rsp + 0x80], eax
jge 0x18024b2e8
movsxd rax, dword [rsp + 0x80]
mov rcx, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0x88]
mov qword [rcx + rax*8], rdx
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 0x24]
and eax, 0x1000
test eax, eax
je 0x18024b2d6
mov rcx, qword [rsp + 0x88]
call fcn.18025d0c4
test eax, eax
je 0x18024b2d6
jmp 0x180252f85
mov rcx, qword [rsp + 0x88]
call fcn.180253640
jmp 0x18024b25b
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x90], rax
mov eax, 1
mov word [rsp + 0xbc], ax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0xe8], eax
mov rax, qword [rsp + 0x380]
mov qword [rsp + 0xe0], rax
mov rdx, qword [rsp + 0x60]
lea rcx, [rsp + 0x98]
call fcn.18025c44c
movzx eax, word [rsp + 0xbc]
and eax, 0xffffbe00
or eax, 1
mov word [rsp + 0xbc], ax
mov byte [rsp + 0xf1], 0
mov rax, qword [rsp + 0x90]
movzx eax, word [rax + 2]
and eax, 0x20
test eax, eax
je 0x18024b3a6
mov eax, 0x18
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx + rax + 0x10]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x1c8]
mov qword [rax + 0x30], rcx
mov r8, qword [rsp + 0xf8]
mov edx, dword [rsp + 0x100]
lea rcx, [rsp + 0x90]
mov rax, qword [rsp + 0x90]
call qword [rax + 0x18]
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x1c8], rax
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x50]
test eax, eax
je 0x18024b409
lea rcx, [rsp + 0x98]
call fcn.18025cc3c
jmp 0x180252f85
movzx eax, byte [rsp + 0xf1]
test eax, eax
je 0x18024b471
cmp dword [rsp + 0xec], 0
je 0x18024b457
lea rcx, [rsp + 0x98]
call fcn.1802558f0
mov rcx, qword [rsp + 0x380]
add rcx, 0x58
mov r9, rax
lea r8, [0x18039bc94]
mov rdx, qword [rsp + 0x50]
call fcn.180287188
mov eax, dword [rsp + 0xec]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x48]
mov r8d, dword [rax + 4]
mov edx, dword [rsp + 0x70]
mov rcx, qword [rsp + 0x380]
call fcn.1802571fc
movzx eax, byte [rsp + 0x58]
mov edx, eax
lea rcx, [rsp + 0x98]
call fcn.18025d37c
lea rdx, [rsp + 0x98]
mov rcx, qword [rsp + 0x60]
call fcn.18025c44c
mov rcx, qword [rsp + 0x60]
call fcn.18025c5fc
test eax, eax
je 0x18024b4aa
jmp 0x180252f58
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
mov rcx, qword [rsp + 0x1a0]
movzx ecx, word [rcx + 0x24]
or eax, ecx
and eax, 1
test eax, eax
je 0x18024b536
mov rcx, qword [rsp + 0x60]
call fcn.18025c840
jmp case.default.0x180249fa4
mov rcx, qword [rsp + 0x1a0]
call fcn.18025cb50
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x68]
call fcn.18025cb50
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x48]
mov al, byte [rax]
mov byte [rsp + 0x98], al
movzx eax, byte [rsp + 0x98]
cmp eax, 0x52
jne 0x18024b59b
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x80]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
jmp 0x18024b73c
movzx eax, byte [rsp + 0x98]
cmp eax, 0x53
jne 0x18024b5cb
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x80]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
jmp 0x18024b73c
cmp qword [rsp + 0x90], 0
je 0x18024b73c
cmp qword [rsp + 0x90], 0
jge 0x18024b639
movzx eax, byte [rsp + 0x98]
mov ecx, 0xa9
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x98], al
cmp qword [rsp + 0x90], 0xffffffffffffffc0
jle 0x18024b61d
mov rax, qword [rsp + 0x90]
neg rax
mov qword [rsp + 0x300], rax
jmp 0x18024b629
mov qword [rsp + 0x300], 0x40
mov rax, qword [rsp + 0x300]
mov qword [rsp + 0x90], rax
cmp qword [rsp + 0x90], 0x40
jl 0x18024b689
cmp qword [rsp + 0x80], 0
jge 0x18024b669
movzx eax, byte [rsp + 0x98]
cmp eax, 0x54
je 0x18024b669
mov dword [rsp + 0x25c], 0xffffffff
jmp 0x18024b674
mov dword [rsp + 0x25c], 0
movsxd rax, dword [rsp + 0x25c]
mov qword [rsp + 0x80], rax
jmp 0x18024b73c
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x88], rax
movzx eax, byte [rsp + 0x98]
cmp eax, 0x54
jne 0x18024b6c5
mov rax, qword [rsp + 0x90]
mov cl, al
mov rax, qword [rsp + 0x88]
shl rax, cl
mov qword [rsp + 0x88], rax
jmp 0x18024b72c
mov rax, qword [rsp + 0x90]
mov cl, al
mov rax, qword [rsp + 0x88]
shr rax, cl
mov qword [rsp + 0x88], rax
cmp qword [rsp + 0x80], 0
jge 0x18024b72c
mov eax, 0x40
sub rax, qword [rsp + 0x90]
mov rcx, 0xffffffffffffffff
mov qword [rsp + 0x330], rcx
mov cl, al
mov rax, qword [rsp + 0x330]
shl rax, cl
mov rcx, qword [rsp + 0x88]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x80]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x24]
and eax, 0xffffbe00
or eax, 4
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x24], ax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x68]
call fcn.18025c9e8
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0x68]
add rax, qword [rcx + 0x18]
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x18], rax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov r8b, byte [rsp + 0x58]
mov dl, 0x63
mov rcx, qword [rsp + 0x68]
call fcn.180253330
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 4
test eax, eax
jne 0x18024b81b
mov rax, qword [rsp + 0x48]
cmp dword [rax + 8], 0
jne 0x18024b80b
mov dword [rsp + 0x40], 0x14
jmp 0x180252fbb
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp 0x18024b835
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 0xffffbe00
or eax, 4
mov rcx, qword [rsp + 0x68]
mov word [rcx + 0x24], ax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 4
test eax, eax
je 0x18024b871
mov rcx, qword [rsp + 0x68]
call fcn.18025c9a4
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 1
test eax, eax
je 0x18024b8a8
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 0x10
sar eax, 3
mov rcx, qword [rsp + 0x68]
movzx ecx, word [rcx + 0x24]
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x68]
mov word [rcx + 0x24], ax
mov r8b, byte [rsp + 0x58]
mov dl, 0x61
mov rcx, qword [rsp + 0x68]
call fcn.180253330
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 0x4000
test eax, eax
je 0x18024b903
mov rcx, qword [rsp + 0x68]
call fcn.18025cff0
mov dword [rsp + 0x264], eax
jmp 0x18024b90e
mov dword [rsp + 0x264], 0
mov eax, dword [rsp + 0x264]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 0xffffbfe3
mov rcx, qword [rsp + 0x68]
mov word [rcx + 0x24], ax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 1
test eax, eax
je 0x18024b967
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 0x10
test eax, eax
jne 0x18024b9a4
mov r8b, byte [rsp + 0x58]
mov dl, 0x61
mov rcx, qword [rsp + 0x68]
call fcn.180253330
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 0xffffbe00
or eax, 0x10
mov rcx, qword [rsp + 0x68]
mov word [rcx + 0x24], ax
jmp 0x18024b9bb
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 0xfffffe10
mov rcx, qword [rsp + 0x68]
mov word [rcx + 0x24], ax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x68]
call fcn.18025c8e0
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 1
test eax, eax
jne 0x18024ba23
mov rcx, qword [rsp + 0x68]
call fcn.18025c9e8
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 1
test eax, eax
jne 0x18024ba5f
mov rcx, qword [rsp + 0x68]
call fcn.18025c9a4
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1a8], rax
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
mov word [rsp + 0x86], ax
mov rax, qword [rsp + 0x1a8]
movzx eax, word [rax + 0x24]
mov word [rsp + 0x88], ax
movzx eax, word [rsp + 0x86]
movzx ecx, word [rsp + 0x88]
or eax, ecx
and eax, 1
test eax, eax
je 0x18024bbaf
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
and eax, 0x80
test eax, eax
je 0x18024bb3e
movzx eax, word [rsp + 0x86]
and eax, 1
test eax, eax
je 0x18024bb31
movzx eax, word [rsp + 0x88]
and eax, 1
test eax, eax
je 0x18024bb31
movzx eax, word [rsp + 0x88]
and eax, 0x100
test eax, eax
jne 0x18024bb31
mov dword [rsp + 0x80], 0
jmp 0x18024bb3c
mov dword [rsp + 0x80], 1
jmp 0x18024bbaa
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
and eax, 8
test eax, eax
je 0x18024bb5e
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp 0x18024bba5
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
and eax, 0x10
test eax, eax
je 0x18024bba5
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x24]
and eax, 0xffffbe00
or eax, 1
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x24], ax
jmp case.default.0x180249fa4
jmp 0x18024bc97
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
and eax, 0x67
mov byte [rsp + 0x84], al
movsx eax, byte [rsp + 0x84]
test eax, eax
je 0x18024bc0f
mov r8b, byte [rsp + 0x58]
mov dl, byte [rsp + 0x84]
mov rcx, qword [rsp + 0x68]
call fcn.180253330
mov r8b, byte [rsp + 0x58]
mov dl, byte [rsp + 0x84]
mov rcx, qword [rsp + 0x1a8]
call fcn.180253330
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x50]
test eax, eax
je 0x18024bc0f
jmp 0x180252f85
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 0x4000
test eax, eax
je 0x18024bc34
mov rcx, qword [rsp + 0x68]
call fcn.18025cff0
mov dword [rsp + 0x2a8], eax
jmp 0x18024bc3f
mov dword [rsp + 0x2a8], 0
mov rax, qword [rsp + 0x1a8]
movzx eax, word [rax + 0x24]
and eax, 0x4000
test eax, eax
je 0x18024bc6a
mov rcx, qword [rsp + 0x1a8]
call fcn.18025cff0
mov dword [rsp + 0x298], eax
jmp 0x18024bc75
mov dword [rsp + 0x298], 0
mov rax, qword [rsp + 0x48]
mov r8, qword [rax + 0x10]
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x1a8]
call fcn.18025bcf8
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x48]
mov al, byte [rax]
mov byte [rsp + 0x1c0], al
cmp byte [rsp + 0x1c0], 0x4b
je 0x18024bd19
cmp byte [rsp + 0x1c0], 0x4c
je 0x18024bce4
cmp byte [rsp + 0x1c0], 0x4d
je 0x18024bdb5
cmp byte [rsp + 0x1c0], 0x4e
je 0x18024bd83
cmp byte [rsp + 0x1c0], 0x4f
je 0x18024bd4e
jmp 0x18024bde7
cmp dword [rsp + 0x80], 0
jne 0x18024bcfb
mov dword [rsp + 0x26c], 1
jmp 0x18024bd06
mov dword [rsp + 0x26c], 0
mov eax, dword [rsp + 0x26c]
mov dword [rsp + 0x80], eax
jmp 0x18024be17
cmp dword [rsp + 0x80], 0
je 0x18024bd30
mov dword [rsp + 0x274], 1
jmp 0x18024bd3b
mov dword [rsp + 0x274], 0
mov eax, dword [rsp + 0x274]
mov dword [rsp + 0x80], eax
jmp 0x18024be17
cmp dword [rsp + 0x80], 0
jge 0x18024bd65
mov dword [rsp + 0x238], 1
jmp 0x18024bd70
mov dword [rsp + 0x238], 0
mov eax, dword [rsp + 0x238]
mov dword [rsp + 0x80], eax
jmp 0x18024be17
cmp dword [rsp + 0x80], 0
jg 0x18024bd9a
mov dword [rsp + 0x234], 1
jmp 0x18024bda5
mov dword [rsp + 0x234], 0
mov eax, dword [rsp + 0x234]
mov dword [rsp + 0x80], eax
jmp 0x18024be17
cmp dword [rsp + 0x80], 0
jle 0x18024bdcc
mov dword [rsp + 0x1f0], 1
jmp 0x18024bdd7
mov dword [rsp + 0x1f0], 0
mov eax, dword [rsp + 0x1f0]
mov dword [rsp + 0x80], eax
jmp 0x18024be17
cmp dword [rsp + 0x80], 0
jl 0x18024bdfe
mov dword [rsp + 0x260], 1
jmp 0x18024be09
mov dword [rsp + 0x260], 0
mov eax, dword [rsp + 0x260]
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
and eax, 0x10
test eax, eax
je 0x18024be71
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x24]
and eax, 0xffffbe00
or eax, 4
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x24], ax
movsxd rax, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
mov qword [rcx + 0x18], rax
jmp 0x18024be89
cmp dword [rsp + 0x80], 0
je 0x18024be89
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 0xfffffe00
movzx ecx, word [rsp + 0x86]
and ecx, 0x1ff
or eax, ecx
mov rcx, qword [rsp + 0x68]
mov word [rcx + 0x24], ax
mov rax, qword [rsp + 0x1a8]
movzx eax, word [rax + 0x24]
and eax, 0xfffffe00
movzx ecx, word [rsp + 0x88]
and ecx, 0x1ff
or eax, ecx
mov rcx, qword [rsp + 0x1a8]
mov word [rcx + 0x24], ax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x280], rax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
and eax, 1
test eax, eax
jne 0x18024bf14
mov qword [rsp + 0x280], 0
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 4]
mov dword [rsp + 0x88], eax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
mov dword [rsp + 0x8c], eax
mov dword [rsp + 0x84], 0
jmp 0x18024bf6f
mov eax, dword [rsp + 0x84]
inc eax
mov dword [rsp + 0x84], eax
mov eax, dword [rsp + 0x80]
cmp dword [rsp + 0x84], eax
jge 0x18024c08b
cmp qword [rsp + 0x280], 0
je 0x18024bfaa
movsxd rax, dword [rsp + 0x84]
mov rcx, qword [rsp + 0x280]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0x1f8], eax
jmp 0x18024bfb8
mov eax, dword [rsp + 0x84]
mov dword [rsp + 0x1f8], eax
mov eax, dword [rsp + 0x1f8]
mov dword [rsp + 0x98], eax
movsxd rax, dword [rsp + 0x84]
mov rcx, qword [rsp + 0x90]
mov rax, qword [rcx + rax*8 + 0x18]
mov qword [rsp + 0xa0], rax
movsxd rax, dword [rsp + 0x84]
mov rcx, qword [rsp + 0x90]
mov rcx, qword [rcx + 0x10]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0xa8], eax
mov eax, dword [rsp + 0x98]
mov ecx, dword [rsp + 0x8c]
add ecx, eax
mov eax, ecx
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov ecx, dword [rsp + 0x98]
mov edx, dword [rsp + 0x88]
add edx, ecx
mov ecx, edx
movsxd rcx, ecx
imul rcx, rcx, 0x38
mov rdx, qword [rsp + 0x78]
add rdx, rcx
mov rcx, rdx
mov r8, qword [rsp + 0xa0]
mov rdx, rax
call fcn.18025bcf8
mov dword [rsp + 0x1bc], eax
cmp dword [rsp + 0x1bc], 0
je 0x18024c086
cmp dword [rsp + 0xa8], 0
je 0x18024c084
mov eax, dword [rsp + 0x1bc]
neg eax
mov dword [rsp + 0x1bc], eax
jmp 0x18024c08b
jmp 0x18024bf5f
mov qword [rsp + 0x280], 0
jmp case.default.0x180249fa4
cmp dword [rsp + 0x1bc], 0
jge 0x18024c0b6
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 4]
dec eax
mov dword [rsp + 0x70], eax
jmp 0x18024c0de
cmp dword [rsp + 0x1bc], 0
jne 0x18024c0d0
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp 0x18024c0de
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0xc]
dec eax
mov dword [rsp + 0x70], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 1
test eax, eax
je 0x18024c11d
mov dword [rsp + 0x80], 2
jmp 0x18024c152
mov rcx, qword [rsp + 0x68]
call fcn.18025cb50
test rax, rax
je 0x18024c139
mov dword [rsp + 0x240], 1
jmp 0x18024c144
mov dword [rsp + 0x240], 0
mov eax, dword [rsp + 0x240]
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x1a0]
movzx eax, word [rax + 0x24]
and eax, 1
test eax, eax
je 0x18024c192
mov dword [rsp + 0x84], 2
jmp 0x18024c1ca
mov rcx, qword [rsp + 0x1a0]
call fcn.18025cb50
test rax, rax
je 0x18024c1b1
mov dword [rsp + 0x200], 1
jmp 0x18024c1bc
mov dword [rsp + 0x200], 0
mov eax, dword [rsp + 0x200]
mov dword [rsp + 0x84], eax
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax]
cmp eax, 0x45
jne 0x18024c1fe
mov eax, dword [rsp + 0x80]
imul eax, eax, 3
add eax, dword [rsp + 0x84]
cdqe
lea rcx, [0x18031cbd8]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x80], eax
jmp 0x18024c223
mov eax, dword [rsp + 0x80]
imul eax, eax, 3
add eax, dword [rsp + 0x84]
cdqe
lea rcx, [0x18031e390]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
cmp dword [rsp + 0x80], 2
jne 0x18024c266
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x24]
and eax, 0xffffbe00
or eax, 1
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x24], ax
jmp 0x18024c291
movsxd rax, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
mov qword [rcx + 0x18], rax
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x24]
and eax, 0xffffbe00
or eax, 4
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x24], ax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 1
test eax, eax
je 0x18024c2ec
mov rcx, qword [rsp + 0x60]
call fcn.18025c840
jmp 0x18024c328
mov rcx, qword [rsp + 0x68]
call fcn.18025cb50
test rax, rax
jne 0x18024c308
mov dword [rsp + 0x288], 1
jmp 0x18024c313
mov dword [rsp + 0x288], 0
movsxd rax, dword [rsp + 0x288]
mov rdx, rax
mov rcx, qword [rsp + 0x60]
call fcn.18025c78c
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 1
test eax, eax
je 0x18024c383
mov rcx, qword [rsp + 0x60]
call fcn.18025c840
jmp 0x18024c39d
mov rcx, qword [rsp + 0x68]
call fcn.18025cb50
not rax
mov rdx, rax
mov rcx, qword [rsp + 0x60]
call fcn.18025c78c
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x128]
movzx eax, byte [rcx + rax]
test eax, eax
je 0x18024c3d2
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp 0x18024c3ee
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x128]
mov byte [rcx + rax], 1
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 1
test eax, eax
je 0x18024c431
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x80], eax
jmp 0x18024c4aa
mov rcx, qword [rsp + 0x68]
call fcn.18025cab4
ucomisd xmm0, qword [0x18032fc58]
jp 0x18024c447
je 0x18024c454
mov dword [rsp + 0x208], 1
jmp 0x18024c45f
mov dword [rsp + 0x208], 0
mov eax, dword [rsp + 0x208]
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax]
cmp eax, 0x28
jne 0x18024c4aa
cmp dword [rsp + 0x80], 0
jne 0x18024c491
mov dword [rsp + 0x248], 1
jmp 0x18024c49c
mov dword [rsp + 0x248], 0
mov eax, dword [rsp + 0x248]
mov dword [rsp + 0x80], eax
cmp dword [rsp + 0x80], 0
je 0x18024c4c2
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 1
test eax, eax
je 0x18024c502
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 1
test eax, eax
jne 0x18024c542
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 4]
mov dword [rsp + 0x90], eax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
mov dword [rsp + 0x94], eax
mov qword [rsp + 0x98], 0
lea rax, [rsp + 0xe0]
mov rdi, rax
xor eax, eax
mov ecx, 0x38
rep stosb byte [rdi], al
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xa0], 0
movsxd rax, dword [rsp + 0x90]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov rax, qword [rax]
mov qword [rsp + 0xa8], rax
cmp qword [rsp + 0xa8], 0
je 0x18024c6c5
mov rcx, qword [rsp + 0x98]
call fcn.180256ef0
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x18024c610
jmp 0x180252fbb
mov rax, qword [rsp + 0x98]
movzx eax, byte [rax + 0x28]
test eax, eax
je 0x18024c630
mov dword [rsp + 0x80], 0
jmp 0x18024c6c0
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x380]
mov ecx, dword [rcx + 0x8c]
cmp dword [rax + 0x64], ecx
jne 0x18024c676
mov rax, qword [rsp + 0x98]
mov eax, dword [rax + 0x68]
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x80]
mov qword [rsp + 0xa0], rax
jmp 0x18024c6c0
mov rax, qword [rsp + 0x98]
movzx eax, byte [rax + 0x2b]
test eax, eax
je 0x18024c6ab
lea rdx, [rsp + 0x88]
mov rcx, qword [rsp + 0xa8]
call fcn.180267460
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x80], eax
jmp 0x18024c6c0
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0xa8]
call fcn.18026742c
jmp 0x18024c7e1
mov rax, qword [rsp + 0x98]
cmp dword [rax + 0x1c], 0
jle 0x18024c7d6
mov rax, qword [rsp + 0x98]
movsxd rax, dword [rax + 0x1c]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x98]
movzx eax, byte [rax + 0x2e]
test eax, eax
je 0x18024c76a
movsxd rax, dword [rsp + 0x94]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x140]
add rcx, rax
mov rax, rcx
mov r8d, 0x1000
mov rdx, rax
mov rcx, qword [rsp + 0xd8]
call fcn.18025c560
mov rax, qword [rsp + 0xd8]
movzx eax, word [rax + 0x24]
and eax, 0x1000
test eax, eax
je 0x18024c765
mov rcx, qword [rsp + 0xd8]
call fcn.18025d0c4
test eax, eax
je 0x18024c765
jmp 0x180252f85
jmp 0x18024cf9d
mov rax, qword [rsp + 0x140]
mov eax, dword [rax + 0x20]
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x140]
mov rax, qword [rax + 8]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
and eax, 0x20
test eax, eax
je 0x18024c7ad
mov dword [rsp + 0x210], 0
jmp 0x18024c7c2
mov rax, qword [rsp + 0x380]
mov eax, dword [rax + 0x8c]
mov dword [rsp + 0x210], eax
mov rax, qword [rsp + 0x98]
mov ecx, dword [rsp + 0x210]
mov dword [rax + 0x64], ecx
jmp 0x18024c7e1
mov dword [rsp + 0x80], 0
cmp dword [rsp + 0x80], 0
jne 0x18024c810
mov rax, qword [rsp + 0xd8]
movzx eax, word [rax + 0x24]
and eax, 0xffffbe00
or eax, 1
mov rcx, qword [rsp + 0xd8]
mov word [rcx + 0x24], ax
jmp 0x18024cf9d
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax + 0x68]
cmp dword [rsp + 0x80], eax
jbe 0x18024c830
jmp 0x180252f58
mov rax, qword [rsp + 0x98]
mov eax, dword [rax + 0x20]
mov dword [rsp + 0xc0], eax
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x70]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x380]
mov ecx, dword [rcx + 0x8c]
cmp dword [rax + 0x64], ecx
jne 0x18024c88a
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x78]
mov qword [rsp + 0xb8], rax
jmp 0x18024ccfb
mov dword [rsp + 0x134], 0
movsxd rax, dword [rsp + 0xc0]
mov rcx, qword [rsp + 0xb0]
lea rax, [rcx + rax*4]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xb8]
mov qword [rax + 0x78], rcx
mov rax, qword [rsp + 0x98]
mov ecx, dword [rsp + 0x80]
mov dword [rax + 0x68], ecx
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x380]
mov ecx, dword [rcx + 0x8c]
mov dword [rax + 0x64], ecx
cmp qword [rsp + 0xa0], 0
je 0x18024c910
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xd0], rax
jmp 0x18024c9a8
mov rax, qword [rsp + 0x98]
movzx eax, byte [rax + 0x2b]
test eax, eax
je 0x18024c93f
lea rdx, [rsp + 0x134]
mov rcx, qword [rsp + 0xa8]
call fcn.180266a64
mov qword [rsp + 0xd0], rax
jmp 0x18024c95c
lea rdx, [rsp + 0x134]
mov rcx, qword [rsp + 0xa8]
call fcn.180266a14
mov qword [rsp + 0xd0], rax
mov eax, dword [rsp + 0x134]
cmp dword [rsp + 0x80], eax
ja 0x18024c995
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xd0]
mov qword [rax + 0x80], rcx
jmp 0x18024c9a8
mov rax, qword [rsp + 0x98]
mov qword [rax + 0x80], 0
mov rax, qword [rsp + 0xd0]
movzx eax, byte [rax]
cmp eax, 0x80
jge 0x18024c9d9
mov rax, qword [rsp + 0xd0]
movzx eax, byte [rax]
mov dword [rsp + 0x128], eax
mov dword [rsp + 0x268], 1
jmp 0x18024c9f8
lea rdx, [rsp + 0x128]
mov rcx, qword [rsp + 0xd0]
call fcn.180281f20
movzx eax, al
mov dword [rsp + 0x268], eax
movzx eax, byte [rsp + 0x268]
mov dword [rsp + 0x130], eax
cmp dword [rsp + 0x128], 0x18003
jbe 0x18024ca27
mov ecx, 0x10b8b
call fcn.1801f4790
mov dword [rsp + 0x40], eax
jmp 0x18024cf9d
mov eax, dword [rsp + 0xc0]
imul eax, eax, 5
add eax, 3
mov dword [rsp + 0xc4], eax
mov eax, dword [rsp + 0x128]
cmp dword [rsp + 0xc4], eax
jle 0x18024ca59
mov eax, dword [rsp + 0x128]
mov dword [rsp + 0xc4], eax
cmp qword [rsp + 0xa0], 0
jne 0x18024cadd
mov eax, dword [rsp + 0xc4]
cmp dword [rsp + 0x134], eax
jge 0x18024cadd
xor eax, eax
mov word [rsp + 0x104], ax
mov qword [rsp + 0xe0], 0
mov rax, qword [rsp + 0x98]
movzx eax, byte [rax + 0x2b]
lea rcx, [rsp + 0xe0]
mov qword [rsp + 0x20], rcx
mov r9d, eax
mov r8d, dword [rsp + 0xc4]
xor edx, edx
mov rcx, qword [rsp + 0xa8]
call fcn.18025bb64
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x18024cacd
jmp 0x18024cf9d
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xd0], rax
movsxd rax, dword [rsp + 0xc4]
mov rcx, qword [rsp + 0xd0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x120], rax
movsxd rax, dword [rsp + 0x130]
mov rcx, qword [rsp + 0xd0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x118], rax
mov dword [rsp + 0xc8], 0
jmp 0x18024cb36
mov eax, dword [rsp + 0xc8]
inc eax
mov dword [rsp + 0xc8], eax
mov eax, dword [rsp + 0xc0]
cmp dword [rsp + 0xc8], eax
jge 0x18024cc8a
mov rax, qword [rsp + 0x120]
cmp qword [rsp + 0x118], rax
jae 0x18024cc6e
movsxd rax, dword [rsp + 0xc8]
mov rcx, qword [rsp + 0xb8]
mov edx, dword [rsp + 0x128]
mov dword [rcx + rax*4], edx
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x118]
movzx eax, byte [rcx + rax]
cmp eax, 0x80
jge 0x18024cbc7
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x118]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x138], eax
mov rax, qword [rsp + 0x118]
inc rax
mov qword [rsp + 0x118], rax
jmp 0x18024cbf5
lea rdx, [rsp + 0x138]
mov rcx, qword [rsp + 0x118]
call fcn.180281f20
movzx eax, al
mov rcx, qword [rsp + 0x118]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x118], rax
movsxd rax, dword [rsp + 0xc8]
mov rcx, qword [rsp + 0xb0]
mov edx, dword [rsp + 0x138]
mov dword [rcx + rax*4], edx
mov ecx, dword [rsp + 0x138]
call fcn.180256d28
mov dword [rsp + 0x12c], eax
mov eax, dword [rsp + 0x12c]
mov ecx, dword [rsp + 0x128]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x128], eax
mov eax, dword [rsp + 0x12c]
cmp dword [rsp + 0x128], eax
jae 0x18024cc6c
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x120]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x118], rax
jmp 0x18024cc8a
jmp 0x18024cc85
movsxd rax, dword [rsp + 0xc8]
mov rcx, qword [rsp + 0xb8]
mov dword [rcx + rax*4], 0
jmp 0x18024cb26
lea rcx, [rsp + 0xe0]
call fcn.18025cc3c
mov eax, 1
mov word [rsp + 0x104], ax
mov rax, qword [rsp + 0x120]
cmp qword [rsp + 0x118], rax
ja 0x18024cce8
mov eax, dword [rsp + 0x80]
cmp dword [rsp + 0x128], eax
ja 0x18024cce8
mov rax, qword [rsp + 0x120]
cmp qword [rsp + 0x118], rax
jne 0x18024ccfb
mov eax, dword [rsp + 0x80]
cmp dword [rsp + 0x128], eax
je 0x18024ccfb
mov ecx, 0x10bdb
call fcn.1801f4790
mov dword [rsp + 0x40], eax
jmp 0x18024cf9d
movsxd rax, dword [rsp + 0x94]
mov rcx, qword [rsp + 0xb8]
cmp dword [rcx + rax*4], 0
je 0x18024ced4
cmp qword [rsp + 0xa0], 0
je 0x18024cd88
mov rax, qword [rsp + 0xd8]
movzx eax, word [rax + 0x24]
and eax, 0x2460
test eax, eax
je 0x18024cd42
mov rcx, qword [rsp + 0xd8]
call fcn.18025ccac
movsxd rax, dword [rsp + 0x94]
movsxd rcx, dword [rsp + 0x94]
mov rdx, qword [rsp + 0xb8]
mov ecx, dword [rdx + rcx*4]
mov rdx, qword [rsp + 0xa0]
add rdx, rcx
mov rcx, rdx
mov r8, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xb0]
mov edx, dword [rdx + rax*4]
call fcn.1802566fc
jmp 0x18024cec3
movsxd rax, dword [rsp + 0x94]
mov rcx, qword [rsp + 0xb0]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0x138], eax
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
and eax, 0xc0
test eax, eax
je 0x18024ce1b
cmp dword [rsp + 0x138], 0xc
jb 0x18024cdcc
mov eax, dword [rsp + 0x138]
and eax, 1
test eax, eax
je 0x18024cdde
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
and eax, 0x80
test eax, eax
je 0x18024ce1b
cmp dword [rsp + 0x138], 0xc
jae 0x18024cdfa
lea rax, [rsp + 0x88]
mov qword [rsp + 0x2d0], rax
jmp 0x18024ce06
mov qword [rsp + 0x2d0], 0
mov rax, qword [rsp + 0x2d0]
mov qword [rsp + 0xd0], rax
jmp 0x18024cea7
mov ecx, dword [rsp + 0x138]
call fcn.180256d28
mov dword [rsp + 0xc4], eax
mov rdx, qword [rsp + 0xd8]
lea rcx, [rsp + 0xe0]
call fcn.18025c44c
mov rax, qword [rsp + 0x98]
movzx eax, byte [rax + 0x2b]
movsxd rcx, dword [rsp + 0x94]
lea rdx, [rsp + 0xe0]
mov qword [rsp + 0x20], rdx
mov r9d, eax
mov r8d, dword [rsp + 0xc4]
mov rax, qword [rsp + 0xb8]
mov edx, dword [rax + rcx*4]
mov rcx, qword [rsp + 0xa8]
call fcn.18025bb64
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x18024ce97
jmp 0x18024cf9d
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xd0], rax
mov r8, qword [rsp + 0xd8]
mov edx, dword [rsp + 0x138]
mov rcx, qword [rsp + 0xd0]
call fcn.1802566fc
mov rax, qword [rsp + 0xd8]
mov cl, byte [rsp + 0x58]
mov byte [rax + 0x27], cl
jmp 0x18024cf20
mov rax, qword [rsp + 0x48]
movsx eax, byte [rax + 1]
cmp eax, 0xfffffff8
jne 0x18024cf00
mov r8d, 0x800
mov rax, qword [rsp + 0x48]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0xd8]
call fcn.18025c560
jmp 0x18024cf20
mov rax, qword [rsp + 0xd8]
movzx eax, word [rax + 0x24]
and eax, 0xffffbe00
or eax, 1
mov rcx, qword [rsp + 0xd8]
mov word [rcx + 0x24], ax
cmp qword [rsp + 0x110], 0
je 0x18024cf8c
mov rax, qword [rsp + 0xd8]
movzx eax, word [rax + 0x24]
and eax, 0xffffe7ff
mov rcx, qword [rsp + 0xd8]
mov word [rcx + 0x24], ax
mov rax, qword [rsp + 0xd8]
movzx eax, word [rax + 0x24]
bts eax, 9
mov rcx, qword [rsp + 0xd8]
mov word [rcx + 0x24], ax
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xe8]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x110]
mov qword [rax + 0x30], rcx
mov rcx, qword [rsp + 0xd8]
call fcn.18025d0c4
mov dword [rsp + 0x40], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x80]
mov al, byte [rax]
mov byte [rsp + 0x88], al
movsx eax, byte [rsp + 0x88]
mov dword [rsp + 0x2b0], eax
mov rax, qword [rsp + 0x80]
inc rax
mov qword [rsp + 0x80], rax
cmp dword [rsp + 0x2b0], 0
je 0x18024d066
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 0x4000
test eax, eax
je 0x18024d032
mov rcx, qword [rsp + 0x68]
call fcn.18025cff0
mov dword [rsp + 0x29c], eax
jmp 0x18024d03d
mov dword [rsp + 0x29c], 0
mov r8b, byte [rsp + 0x58]
mov dl, byte [rsp + 0x88]
mov rcx, qword [rsp + 0x68]
call fcn.180253330
mov rax, qword [rsp + 0x68]
add rax, 0x38
mov qword [rsp + 0x68], rax
jmp 0x18024cfd0
jmp case.default.0x180249fa4
mov qword [rsp + 0x90], 0
mov dword [rsp + 0x98], 0
mov dword [rsp + 0xa8], 0
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 4]
mov dword [rsp + 0xc8], eax
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xd0], rax
movsxd rax, dword [rsp + 0xc8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
mov dword [rsp + 0xc8], eax
mov eax, dword [rsp + 0xc8]
dec eax
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x380]
movzx eax, byte [rax + 0x99]
mov dword [rsp + 0xd8], eax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x88], rax
jmp 0x18024d159
mov rax, qword [rsp + 0x88]
add rax, 0x38
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xc0]
cmp qword [rsp + 0x88], rax
ja 0x18024d2a1
cmp qword [rsp + 0xd0], 0
je 0x18024d1b7
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
cqo
mov ecx, 0x38
idiv rcx
mov r8b, byte [rsp + 0x58]
mov rcx, qword [rsp + 0xd0]
mov dl, byte [rcx + rax]
mov rcx, qword [rsp + 0x88]
call fcn.180253330
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 0x24]
and eax, 0x4000
test eax, eax
je 0x18024d1e7
mov rax, qword [rsp + 0x88]
cmp dword [rax + 0x20], 0
jle 0x18024d1e7
mov rcx, qword [rsp + 0x88]
call fcn.18025cff0
mov edx, dword [rsp + 0xd8]
mov rcx, qword [rsp + 0x88]
call fcn.180256d60
mov dword [rsp + 0xb0], eax
mov ecx, dword [rsp + 0xb0]
call fcn.180256d28
mov dword [rsp + 0xe0], eax
movsxd rax, dword [rsp + 0xe0]
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
mov eax, dword [rsp + 0xb0]
mov ecx, eax
call fcn.180281edc
mov ecx, dword [rsp + 0x98]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x98], eax
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 0x24]
and eax, 0x4000
test eax, eax
je 0x18024d287
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0x18]
mov ecx, dword [rsp + 0xa8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xa8], eax
jmp 0x18024d29c
cmp dword [rsp + 0xe0], 0
je 0x18024d29c
mov dword [rsp + 0xa8], 0
jmp 0x18024d145
movsxd rax, dword [rsp + 0x98]
mov rcx, rax
call fcn.180281edc
mov dword [rsp + 0xac], eax
mov eax, dword [rsp + 0xac]
mov ecx, dword [rsp + 0x98]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x98], eax
movsxd rax, dword [rsp + 0x98]
mov rcx, rax
call fcn.180281edc
cmp dword [rsp + 0xac], eax
jge 0x18024d2fa
mov eax, dword [rsp + 0x98]
inc eax
mov dword [rsp + 0x98], eax
movsxd rax, dword [rsp + 0x98]
add rax, qword [rsp + 0x90]
movsxd rcx, dword [rsp + 0xa8]
sub rax, rcx
mov qword [rsp + 0xa0], rax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x50]
movsxd rax, dword [rcx + rax + 0x68]
cmp qword [rsp + 0xa0], rax
jle 0x18024d33f
jmp 0x180252f58
xor r8d, r8d
mov edx, dword [rsp + 0xa0]
mov rcx, qword [rsp + 0x60]
call fcn.18025d1a4
test eax, eax
je 0x18024d35c
jmp 0x180252f85
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 8]
mov qword [rsp + 0x80], rax
cmp dword [rsp + 0x98], 0x80
jae 0x18024d398
mov rax, qword [rsp + 0x80]
mov cl, byte [rsp + 0x98]
mov byte [rax], cl
mov dword [rsp + 0x218], 1
jmp 0x18024d3b3
mov edx, dword [rsp + 0x98]
mov rcx, qword [rsp + 0x80]
call fcn.1802824e0
mov dword [rsp + 0x218], eax
movzx eax, byte [rsp + 0x218]
mov dword [rsp + 0xdc], eax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x88], rax
jmp 0x18024d3e8
mov rax, qword [rsp + 0x88]
add rax, 0x38
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xc0]
cmp qword [rsp + 0x88], rax
ja 0x18024d498
mov edx, dword [rsp + 0xd8]
mov rcx, qword [rsp + 0x88]
call fcn.180256d60
mov dword [rsp + 0xb0], eax
cmp dword [rsp + 0xb0], 0x80
jae 0x18024d44d
movsxd rax, dword [rsp + 0xdc]
mov rcx, qword [rsp + 0x80]
mov dl, byte [rsp + 0xb0]
mov byte [rcx + rax], dl
mov dword [rsp + 0x250], 1
jmp 0x18024d479
movsxd rax, dword [rsp + 0xdc]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov edx, dword [rsp + 0xb0]
mov rcx, rax
call fcn.1802824e0
mov dword [rsp + 0x250], eax
movzx eax, byte [rsp + 0x250]
mov ecx, dword [rsp + 0xdc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xdc], eax
jmp 0x18024d3d4
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x88], rax
jmp 0x18024d4be
mov rax, qword [rsp + 0x88]
add rax, 0x38
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xc0]
cmp qword [rsp + 0x88], rax
ja 0x18024d527
movsxd rax, dword [rsp + 0xdc]
mov rcx, qword [rsp + 0xa0]
sub rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0xdc]
mov rdx, qword [rsp + 0x80]
add rdx, rcx
mov rcx, rdx
mov r9d, dword [rsp + 0xd8]
mov r8, qword [rsp + 0x88]
mov edx, eax
call fcn.180256bb0
mov ecx, dword [rsp + 0xdc]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xdc], eax
jmp 0x18024d4aa
mov rax, qword [rsp + 0x60]
mov ecx, dword [rsp + 0xa0]
mov dword [rax + 0x20], ecx
mov eax, 0x410
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x24], ax
mov rax, qword [rsp + 0x60]
mov qword [rax + 0x28], 0
cmp dword [rsp + 0xa8], 0
je 0x18024d580
mov rax, qword [rsp + 0x60]
mov ecx, dword [rsp + 0xa8]
mov dword [rax + 0x18], ecx
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x24]
bts eax, 0xe
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x24], ax
mov rax, qword [rsp + 0x60]
mov byte [rax + 0x27], 1
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax]
mov qword [rsp + 0x88], rax
cmp qword [rsp + 0x88], 0
je 0x18024d5d8
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
call fcn.180260220
mov dword [rsp + 0x40], eax
jmp 0x18024d5e4
mov qword [rsp + 0x80], 0
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x80]
mov qword [rax + 0x18], rcx
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 4]
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x88], rax
cmp dword [rsp + 0x80], 0
jne 0x18024d7ba
mov rax, qword [rsp + 0x50]
cmp dword [rax + 0xa4], 0
jle 0x18024d663
mov rax, qword [rsp + 0x380]
add rax, 0x58
lea r8, str.cannot_open_savepoint___SQL_statements_in_progress
mov rdx, qword [rsp + 0x50]
mov rcx, rax
call fcn.180287188
mov dword [rsp + 0x40], 5
jmp 0x18024d7b5
mov rcx, qword [rsp + 0x88]
call fcn.180283998
mov dword [rsp + 0x90], eax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x300]
mov rcx, qword [rsp + 0x50]
add eax, dword [rcx + 0x2fc]
mov r8d, eax
xor edx, edx
mov rcx, qword [rsp + 0x50]
call fcn.18020b938
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x18024d6ac
jmp 0x180252fbb
movsxd rax, dword [rsp + 0x90]
add rax, 0x21
mov edx, eax
mov rcx, qword [rsp + 0x50]
call fcn.180287424
mov qword [rsp + 0x98], rax
cmp qword [rsp + 0x98], 0
je 0x18024d7b5
mov eax, 0x20
imul rax, rax, 1
mov rcx, qword [rsp + 0x98]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x98]
mov qword [rcx], rax
mov eax, dword [rsp + 0x90]
inc eax
cdqe
mov rcx, qword [rsp + 0x98]
mov rdi, qword [rcx]
mov rsi, qword [rsp + 0x88]
mov rcx, rax
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x4e]
test eax, eax
je 0x18024d741
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x4e], 0
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x55], 1
jmp 0x18024d759
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x2fc]
inc eax
mov rcx, qword [rsp + 0x50]
mov dword [rcx + 0x2fc], eax
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x2f0]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x98]
mov qword [rax + 0x2f0], rcx
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x308]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x310]
mov qword [rax + 0x10], rcx
jmp 0x18024dbf4
mov dword [rsp + 0xb0], 0
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x2f0]
mov qword [rsp + 0xa0], rax
jmp 0x18024d7ef
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0xa0], rax
cmp qword [rsp + 0xa0], 0
je 0x18024d828
mov rdx, qword [rsp + 0x88]
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rax]
call fcn.180283618
test eax, eax
je 0x18024d828
mov eax, dword [rsp + 0xb0]
inc eax
mov dword [rsp + 0xb0], eax
jmp 0x18024d7db
cmp qword [rsp + 0xa0], 0
jne 0x18024d868
mov rax, qword [rsp + 0x380]
add rax, 0x58
mov r9, qword [rsp + 0x88]
lea r8, str.no_such_savepoint:__s
mov rdx, qword [rsp + 0x50]
mov rcx, rax
call fcn.180287188
mov dword [rsp + 0x40], 1
jmp 0x18024dbf4
mov rax, qword [rsp + 0x50]
cmp dword [rax + 0xa4], 0
jle 0x18024d8ad
cmp dword [rsp + 0x80], 1
jne 0x18024d8ad
mov rax, qword [rsp + 0x380]
add rax, 0x58
lea r8, str.cannot_release_savepoint___SQL_statements_in_progress
mov rdx, qword [rsp + 0x50]
mov rcx, rax
call fcn.180287188
mov dword [rsp + 0x40], 5
jmp 0x18024dbf4
mov rax, qword [rsp + 0xa0]
cmp qword [rax + 0x18], 0
jne 0x18024d8d6
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x55]
test eax, eax
je 0x18024d8d6
mov dword [rsp + 0x220], 1
jmp 0x18024d8e1
mov dword [rsp + 0x220], 0
mov eax, dword [rsp + 0x220]
mov dword [rsp + 0x1e0], eax
cmp dword [rsp + 0x1e0], 0
je 0x18024d9a2
cmp dword [rsp + 0x80], 1
jne 0x18024d9a2
mov edx, 1
mov rcx, qword [rsp + 0x380]
call fcn.180257ae4
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x18024d92d
jmp 0x180252efa
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x4e], 1
mov rcx, qword [rsp + 0x380]
call fcn.180257554
cmp eax, 5
jne 0x18024d982
mov rax, qword [rsp + 0x380]
mov ecx, dword [rsp + 0x70]
mov dword [rax + 0x90], ecx
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x4e], 0
mov dword [rsp + 0x40], 5
mov rax, qword [rsp + 0x380]
mov ecx, dword [rsp + 0x40]
mov dword [rax + 0x94], ecx
jmp 0x180252efa
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x55], 0
mov rax, qword [rsp + 0x380]
mov eax, dword [rax + 0x94]
mov dword [rsp + 0x40], eax
jmp 0x18024dacb
mov rax, qword [rsp + 0x50]
mov ecx, dword [rsp + 0xb0]
mov eax, dword [rax + 0x2fc]
sub eax, ecx
dec eax
mov dword [rsp + 0xb0], eax
cmp dword [rsp + 0x80], 2
jne 0x18024da1d
mov dword [rsp + 0xb4], 0
jmp 0x18024d9e6
mov eax, dword [rsp + 0xb4]
inc eax
mov dword [rsp + 0xb4], eax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x28]
cmp dword [rsp + 0xb4], eax
jge 0x18024da1d
movsxd rax, dword [rsp + 0xb4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x20]
mov edx, 4
mov rcx, qword [rcx + rax + 8]
call fcn.180267aa8
jmp 0x18024d9d6
mov dword [rsp + 0xb4], 0
jmp 0x18024da3a
mov eax, dword [rsp + 0xb4]
inc eax
mov dword [rsp + 0xb4], eax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x28]
cmp dword [rsp + 0xb4], eax
jge 0x18024da8b
movsxd rax, dword [rsp + 0xb4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x20]
mov r8d, dword [rsp + 0xb0]
mov edx, dword [rsp + 0x80]
mov rcx, qword [rcx + rax + 8]
call fcn.180267844
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x18024da89
jmp 0x180252fbb
jmp 0x18024da2a
cmp dword [rsp + 0x80], 2
jne 0x18024dacb
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x2c]
and eax, 2
test eax, eax
je 0x18024dacb
mov rcx, qword [rsp + 0x50]
call fcn.180255e28
mov rcx, qword [rsp + 0x50]
call fcn.1802365c4
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x2c]
or eax, 2
mov rcx, qword [rsp + 0x50]
mov dword [rcx + 0x2c], eax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xa0]
cmp qword [rax + 0x2f0], rcx
je 0x18024db39
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x2f0]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xa8]
mov rcx, qword [rcx + 0x18]
mov qword [rax + 0x2f0], rcx
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x50]
call fcn.18028780c
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x2fc]
dec eax
mov rcx, qword [rsp + 0x50]
mov dword [rcx + 0x2fc], eax
jmp 0x18024dacb
cmp dword [rsp + 0x80], 1
jne 0x18024db91
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xa0]
mov rcx, qword [rcx + 0x18]
mov qword [rax + 0x2f0], rcx
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x50]
call fcn.18028780c
cmp dword [rsp + 0x1e0], 0
jne 0x18024db8f
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x2fc]
dec eax
mov rcx, qword [rsp + 0x50]
mov dword [rcx + 0x2fc], eax
jmp 0x18024dbc1
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xa0]
mov rcx, qword [rcx + 8]
mov qword [rax + 0x308], rcx
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xa0]
mov rcx, qword [rcx + 0x10]
mov qword [rax + 0x310], rcx
cmp dword [rsp + 0x1e0], 0
jne 0x18024dbf4
mov r8d, dword [rsp + 0xb0]
mov edx, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x50]
call fcn.18020b938
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x18024dbf4
jmp 0x180252fbb
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 4]
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
mov dword [rsp + 0x84], eax
cmp dword [rsp + 0x80], 0
je 0x18024dc3b
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x4e]
test eax, eax
jne 0x18024dc3b
mov dword [rsp + 0x278], 1
jmp 0x18024dc46
mov dword [rsp + 0x278], 0
mov eax, dword [rsp + 0x278]
mov dword [rsp + 0x88], eax
cmp dword [rsp + 0x88], 0
je 0x18024dca3
cmp dword [rsp + 0x84], 0
jne 0x18024dca3
mov rax, qword [rsp + 0x50]
cmp dword [rax + 0xa4], 0
jle 0x18024dca3
mov rax, qword [rsp + 0x380]
add rax, 0x58
lea r8, str.cannot_commit_transaction___SQL_statements_in_progress
mov rdx, qword [rsp + 0x50]
mov rcx, rax
call fcn.180287188
mov dword [rsp + 0x40], 5
jmp 0x18024de1c
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x4e]
cmp dword [rsp + 0x80], eax
je 0x18024dd9e
cmp dword [rsp + 0x84], 0
je 0x18024dce0
mov edx, 0x204
mov rcx, qword [rsp + 0x50]
call fcn.1801f70e4
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x4e], 1
jmp 0x18024dd6a
mov edx, 1
mov rcx, qword [rsp + 0x380]
call fcn.180257ae4
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x18024dd04
jmp 0x180252efa
mov rax, qword [rsp + 0x50]
mov cl, byte [rsp + 0x80]
mov byte [rax + 0x4e], cl
mov rcx, qword [rsp + 0x380]
call fcn.180257554
cmp eax, 5
jne 0x18024dd6a
mov rax, qword [rsp + 0x380]
mov ecx, dword [rsp + 0x70]
mov dword [rax + 0x90], ecx
mov eax, 1
sub eax, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x50]
mov byte [rcx + 0x4e], al
mov dword [rsp + 0x40], 5
mov rax, qword [rsp + 0x380]
mov ecx, dword [rsp + 0x40]
mov dword [rax + 0x94], ecx
jmp 0x180252efa
mov rcx, qword [rsp + 0x50]
call fcn.1801f78dc
mov rax, qword [rsp + 0x380]
cmp dword [rax + 0x94], 0
jne 0x18024dd8f
mov dword [rsp + 0x40], 0x65
jmp 0x18024dd97
mov dword [rsp + 0x40], 1
jmp 0x180252efa
cmp dword [rsp + 0x80], 0
jne 0x18024ddb9
lea rax, str.cannot_start_a_transaction_within_a_transaction
mov qword [rsp + 0x2f8], rax
jmp 0x18024ddf3
cmp dword [rsp + 0x84], 0
je 0x18024ddd4
lea rax, str.cannot_rollback___no_transaction_is_active
mov qword [rsp + 0x308], rax
jmp 0x18024dde3
lea rax, str.cannot_commit___no_transaction_is_active
mov qword [rsp + 0x308], rax
mov rax, qword [rsp + 0x308]
mov qword [rsp + 0x2f8], rax
mov rax, qword [rsp + 0x380]
add rax, 0x58
mov r8, qword [rsp + 0x2f8]
mov rdx, qword [rsp + 0x50]
mov rcx, rax
call fcn.180287188
mov dword [rsp + 0x40], 1
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
cmp dword [rax + 8], 0
je 0x18024de4a
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x2c]
and eax, 0x2000000
test eax, eax
je 0x18024de4a
mov dword [rsp + 0x40], 8
jmp 0x180252fbb
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax + 8]
mov qword [rsp + 0x80], rax
cmp qword [rsp + 0x80], 0
je 0x18024dfef
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 8]
mov rcx, qword [rsp + 0x80]
call fcn.180268ad4
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 5
jne 0x18024decd
mov rax, qword [rsp + 0x380]
mov ecx, dword [rsp + 0x70]
mov dword [rax + 0x90], ecx
mov dword [rsp + 0x40], 5
mov rax, qword [rsp + 0x380]
mov ecx, dword [rsp + 0x40]
mov dword [rax + 0x94], ecx
jmp 0x180252efa
cmp dword [rsp + 0x40], 0
je 0x18024ded9
jmp 0x180252fbb
mov rax, qword [rsp + 0x48]
cmp dword [rax + 8], 0
je 0x18024dfef
mov rax, qword [rsp + 0x380]
mov eax, dword [rax + 0x9c]
shr eax, 7
and eax, 1
test eax, eax
je 0x18024dfef
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x4e]
test eax, eax
je 0x18024df23
mov rax, qword [rsp + 0x50]
cmp dword [rax + 0xa0], 1
jle 0x18024dfef
mov rax, qword [rsp + 0x380]
cmp dword [rax + 0xac], 0
jne 0x18024df70
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x300]
inc eax
mov rcx, qword [rsp + 0x50]
mov dword [rcx + 0x300], eax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x2fc]
mov rcx, qword [rsp + 0x50]
add eax, dword [rcx + 0x300]
mov rcx, qword [rsp + 0x380]
mov dword [rcx + 0xac], eax
mov rax, qword [rsp + 0x380]
mov eax, dword [rax + 0xac]
dec eax
mov r8d, eax
xor edx, edx
mov rcx, qword [rsp + 0x50]
call fcn.18020b938
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
jne 0x18024dfb9
mov rax, qword [rsp + 0x380]
mov edx, dword [rax + 0xac]
mov rcx, qword [rsp + 0x80]
call fcn.180267920
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x380]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x308]
mov qword [rax + 0xe0], rcx
mov rax, qword [rsp + 0x380]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x310]
mov qword [rax + 0xe8], rcx
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 4]
mov dword [rsp + 0x84], eax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x88], eax
movsxd rax, dword [rsp + 0x84]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x20]
lea r8, [rsp + 0x80]
mov edx, dword [rsp + 0x88]
mov rcx, qword [rcx + rax + 8]
call fcn.180260510
movsxd rax, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
mov qword [rcx + 0x18], rax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x50]
add rax, qword [rcx + 0x20]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1a8], rax
mov rcx, qword [rsp + 0x1a8]
call fcn.18025c9e8
mov rax, qword [rsp + 0x1a8]
mov r8d, dword [rax + 0x18]
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 8]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 8]
call fcn.180260464
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x48]
cmp dword [rax + 8], 1
jne 0x18024e103
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0x1a8]
mov ecx, dword [rcx + 0x18]
mov dword [rax], ecx
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x2c]
or eax, 2
mov rcx, qword [rsp + 0x50]
mov dword [rcx + 0x2c], eax
jmp 0x18024e128
mov rax, qword [rsp + 0x48]
cmp dword [rax + 8], 2
jne 0x18024e128
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0x1a8]
mov cl, byte [rcx + 0x18]
mov byte [rax + 0x70], cl
mov rax, qword [rsp + 0x48]
cmp dword [rax + 4], 1
jne 0x18024e15c
mov rcx, qword [rsp + 0x50]
call fcn.180255e28
mov rax, qword [rsp + 0x380]
mov eax, dword [rax + 0x9c]
and eax, 0xffffffdf
mov rcx, qword [rsp + 0x380]
mov dword [rcx + 0x9c], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax + 8]
mov qword [rsp + 0x88], rax
cmp qword [rsp + 0x88], 0
je 0x18024e1d0
lea r8, [rsp + 0x80]
mov edx, 1
mov rcx, qword [rsp + 0x88]
call fcn.180260510
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax + 0x18]
mov eax, dword [rax + 4]
mov dword [rsp + 0x84], eax
jmp 0x18024e1e9
mov dword [rsp + 0x80], 0
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x84], eax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
cmp dword [rsp + 0x80], eax
jne 0x18024e20f
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0xc]
cmp dword [rsp + 0x84], eax
je 0x18024e2a1
mov rax, qword [rsp + 0x380]
mov rdx, qword [rax + 0x58]
mov rcx, qword [rsp + 0x50]
call fcn.18028780c
lea rdx, [0x18039d1f8]
mov rcx, qword [rsp + 0x50]
call fcn.18028726c
mov rcx, qword [rsp + 0x380]
mov qword [rcx + 0x58], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax + 0x18]
mov ecx, dword [rsp + 0x80]
cmp dword [rax], ecx
je 0x18024e27a
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x50]
call fcn.180236668
mov rax, qword [rsp + 0x380]
mov eax, dword [rax + 0x9c]
or eax, 0x20
mov rcx, qword [rsp + 0x380]
mov dword [rcx + 0x9c], eax
mov dword [rsp + 0x40], 0x11
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x380]
mov eax, dword [rax + 0x9c]
shr eax, 5
and eax, 1
test eax, eax
je 0x18024e2cb
mov dword [rsp + 0x40], 4
jmp case.default.0x180249fa4
mov dword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
mov dword [rsp + 0x90], eax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x94], eax
movsxd rax, dword [rsp + 0x94]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x50]
add rax, qword [rcx + 0x20]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax + 8]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax]
cmp eax, 0x31
jne 0x18024e38b
mov dword [rsp + 0x98], 1
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax + 0x18]
movzx eax, byte [rax + 0x70]
mov rcx, qword [rsp + 0x380]
movzx ecx, byte [rcx + 0x99]
cmp eax, ecx
jge 0x18024e389
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0x380]
mov al, byte [rax + 0x70]
mov byte [rcx + 0x99], al
jmp 0x18024e396
mov dword [rsp + 0x98], 0
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
and eax, 2
test eax, eax
je 0x18024e401
movsxd rax, dword [rsp + 0x90]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1a0], rax
mov rcx, qword [rsp + 0x1a0]
call fcn.18025c9e8
mov rax, qword [rsp + 0x1a0]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x90], eax
cmp dword [rsp + 0x90], 2
jge 0x18024e401
mov ecx, 0x10f17
call fcn.1801f4790
mov dword [rsp + 0x40], eax
jmp 0x180252fbb
mov rax, qword [rsp + 0x48]
movsx eax, byte [rax + 1]
cmp eax, 0xfffffffa
jne 0x18024e462
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x380]
mov rax, qword [rax]
mov ecx, 0x20
imul rcx, rcx, 0
mov rax, qword [rax + 0x20]
mov rax, qword [rax + rcx + 0x18]
mov rcx, qword [rsp + 0x88]
mov al, byte [rax + 0x71]
mov byte [rcx + 8], al
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 0xa]
inc eax
mov dword [rsp + 0x80], eax
jmp 0x18024e47f
mov rax, qword [rsp + 0x48]
movsx eax, byte [rax + 1]
cmp eax, 0xfffffff2
jne 0x18024e47f
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x80], eax
mov dword [rsp + 0x20], 1
mov r9d, dword [rsp + 0x94]
mov r8d, dword [rsp + 0x80]
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
call fcn.1802534b0
mov qword [rsp + 0xa8], rax
cmp qword [rsp + 0xa8], 0
jne 0x18024e4c4
jmp 0x180252f85
mov rax, qword [rsp + 0xa8]
mov byte [rax + 0x28], 1
mov rax, qword [rsp + 0xa8]
mov byte [rax + 0x2c], 1
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x88]
mov r8d, dword [rsp + 0x98]
mov edx, dword [rsp + 0x90]
mov rcx, qword [rsp + 0xa0]
call fcn.1802676d0
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x88]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
and eax, 1
mov edx, eax
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rax]
call fcn.18025e6b4
mov rax, qword [rsp + 0x48]
movsx eax, byte [rax + 1]
cmp eax, 0xfffffffa
je 0x18024e561
mov dword [rsp + 0x228], 1
jmp 0x18024e56c
mov dword [rsp + 0x228], 0
mov rax, qword [rsp + 0xa8]
mov cl, byte [rsp + 0x228]
mov byte [rax + 0x2a], cl
mov rax, qword [rsp + 0xa8]
movzx eax, byte [rax + 0x2a]
test eax, eax
jne 0x18024e59b
mov dword [rsp + 0x258], 1
jmp 0x18024e5a6
mov dword [rsp + 0x258], 0
mov rax, qword [rsp + 0xa8]
mov cl, byte [rsp + 0x258]
mov byte [rax + 0x2b], cl
jmp case.default.0x180249fa4
mov dword [rsp + 0x20], 1
mov r9d, 0xffffffff
mov rax, qword [rsp + 0x48]
mov r8d, dword [rax + 8]
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
call fcn.1802534b0
mov qword [rsp + 0x80], rax
cmp qword [rsp + 0x80], 0
jne 0x18024e601
jmp 0x180252f85
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x28], 1
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
or eax, 5
mov rcx, qword [rsp + 0x80]
add rcx, 8
mov edx, dword [0x18031a364]
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], eax
mov r9, rcx
mov r8, qword [rsp + 0x50]
xor edx, edx
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax]
call fcn.180269dec
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
jne 0x18024e66f
mov edx, 1
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 8]
call fcn.180268ad4
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
jne 0x18024e789
mov rax, qword [rsp + 0x48]
cmp qword [rax + 0x10], 0
je 0x18024e74a
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
or eax, 2
mov r8d, eax
lea rdx, [rsp + 0x2a4]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 8]
call fcn.180260afc
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
jne 0x18024e73c
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x48]
mov r9, qword [rax + 0x10]
mov r8d, 1
mov edx, dword [rsp + 0x2a4]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 8]
call fcn.1802676d0
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx + 0x10]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x380]
mov rax, qword [rax]
mov ecx, 0x20
imul rcx, rcx, 0
mov rax, qword [rax + 0x20]
mov rax, qword [rax + rcx + 0x18]
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx + 0x10]
mov al, byte [rax + 0x71]
mov byte [rcx + 8], al
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x2a], 0
jmp 0x18024e789
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 1
mov edx, 1
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 8]
call fcn.1802676d0
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x2a], 1
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
cmp eax, 8
je 0x18024e7a4
mov dword [rsp + 0x230], 1
jmp 0x18024e7af
mov dword [rsp + 0x230], 0
mov rax, qword [rsp + 0x80]
mov cl, byte [rsp + 0x230]
mov byte [rax + 0x2c], cl
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x2a]
test eax, eax
jne 0x18024e7de
mov dword [rsp + 0x270], 1
jmp 0x18024e7e9
mov dword [rsp + 0x270], 0
mov rax, qword [rsp + 0x80]
mov cl, byte [rsp + 0x270]
mov byte [rax + 0x2b], cl
jmp case.default.0x180249fa4
mov dword [rsp + 0x20], 1
mov r9d, 0xffffffff
mov rax, qword [rsp + 0x48]
mov r8d, dword [rax + 8]
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
call fcn.1802534b0
mov qword [rsp + 0x80], rax
cmp qword [rsp + 0x80], 0
jne 0x18024e844
jmp 0x180252f85
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx + 0x10]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x380]
mov rax, qword [rax]
mov ecx, 0x20
imul rcx, rcx, 0
mov rax, qword [rax + 0x20]
mov rax, qword [rax + rcx + 0x18]
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx + 0x10]
mov al, byte [rax + 0x71]
mov byte [rcx + 8], al
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x2d], 1
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x50]
call fcn.1802484b8
mov dword [rsp + 0x40], eax
jmp case.default.0x180249fa4
mov dword [rsp + 0x20], 0
mov r9d, 0xffffffff
mov rax, qword [rsp + 0x48]
mov r8d, dword [rax + 0xc]
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
call fcn.1802534b0
mov qword [rsp + 0x80], rax
cmp qword [rsp + 0x80], 0
jne 0x18024e8f3
jmp 0x180252f85
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x28], 1
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx + 8]
mov dword [rax + 0x1c], ecx
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x2a], 1
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x2b], 0
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x48]
mov cl, byte [rcx + 3]
mov byte [rax + 0x2e], cl
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rdx, qword [rcx + rax*8]
mov rcx, qword [rsp + 0x380]
call fcn.18025888c
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov qword [rcx + rax*8], 0
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
cmp qword [rax], 0
je 0x18024ee2f
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax]
mov dword [rsp + 0x84], eax
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x28], 0
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x2a]
test eax, eax
je 0x18024ec40
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1a8], rax
mov rcx, qword [rsp + 0x1a8]
call fcn.1802533d0
mov rcx, qword [rsp + 0x1a8]
call fcn.18025cb50
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x25], 0
mov rax, qword [rsp + 0x1a8]
movzx eax, word [rax + 0x24]
and eax, 4
test eax, eax
jne 0x18024ebd7
mov rax, qword [rsp + 0x1a8]
movzx eax, word [rax + 0x24]
and eax, 8
test eax, eax
jne 0x18024ea77
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp case.default.0x180249fa4
movabs rax, 0x8000000000000000
cmp qword [rsp + 0xb8], rax
jne 0x18024eb65
cvtsi2sd xmm0, qword [rsp + 0xb8]
mov rax, qword [rsp + 0x1a8]
comisd xmm0, xmmword [rax + 0x10]
ja 0x18024eac3
mov rax, qword [rsp + 0x1a8]
movsd xmm0, qword [rax + 0x10]
comisd xmm0, xmmword [0x18032fc58]
jbe 0x18024eb65
mov dword [rsp + 0x80], 1
mov rax, qword [rsp + 0x1a8]
xorps xmm0, xmm0
comisd xmm0, xmmword [rax + 0x10]
jbe 0x18024eb14
cmp dword [rsp + 0x84], 0x39
jl 0x18024eb12
lea rdx, [rsp + 0x80]
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax]
call fcn.180266388
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x18024eb12
jmp 0x180252fbb
jmp 0x18024eb46
cmp dword [rsp + 0x84], 0x38
jg 0x18024eb46
lea rdx, [rsp + 0x80]
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax]
call fcn.1802662dc
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x18024eb46
jmp 0x180252fbb
cmp dword [rsp + 0x80], 0
je 0x18024eb5e
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp case.default.0x180249fa4
cmp dword [rsp + 0x84], 0x37
je 0x18024eb79
cmp dword [rsp + 0x84], 0x39
jne 0x18024ebab
cvtsi2sd xmm0, qword [rsp + 0xb8]
mov rax, qword [rsp + 0x1a8]
movsd xmm1, qword [rax + 0x10]
comisd xmm1, xmm0
jbe 0x18024eba9
mov rax, qword [rsp + 0xb8]
inc rax
mov qword [rsp + 0xb8], rax
jmp 0x18024ebd7
cvtsi2sd xmm0, qword [rsp + 0xb8]
mov rax, qword [rsp + 0x1a8]
comisd xmm0, xmmword [rax + 0x10]
jbe 0x18024ebd7
mov rax, qword [rsp + 0xb8]
dec rax
mov qword [rsp + 0xb8], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0xb8]
xor edx, edx
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax]
call fcn.180265c24
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x18024ec11
jmp 0x180252fbb
cmp dword [rsp + 0x80], 0
jne 0x18024ec3b
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x25], 1
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xb8]
mov qword [rax + 0x50], rcx
jmp 0x18024ed24
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0xb0], eax
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x90], rax
movzx eax, word [rsp + 0xb0]
mov word [rsp + 0x98], ax
mov eax, dword [rsp + 0x84]
sub eax, 0x37
and eax, 1
mov byte [rsp + 0x9a], al
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa8]
movzx eax, word [rax + 0x24]
and eax, 0x4000
test eax, eax
je 0x18024ecd2
mov rcx, qword [rsp + 0xa8]
call fcn.18025cff0
mov dword [rsp + 0x2ac], eax
jmp 0x18024ecdd
mov dword [rsp + 0x2ac], 0
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x90]
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax]
call fcn.180265c24
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x18024ed18
jmp 0x180252fbb
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x25], 0
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x29], 0
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x64], 0
cmp dword [rsp + 0x84], 0x39
jl 0x18024edaa
cmp dword [rsp + 0x80], 0
jl 0x18024ed67
cmp dword [rsp + 0x80], 0
jne 0x18024ed9d
cmp dword [rsp + 0x84], 0x3a
jne 0x18024ed9d
lea rdx, [rsp + 0x80]
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax]
call fcn.180265938
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x18024ed8f
jmp 0x180252fbb
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x25], 0
jmp 0x18024eda8
mov dword [rsp + 0x80], 0
jmp 0x18024ee15
cmp dword [rsp + 0x80], 0
jg 0x18024edc8
cmp dword [rsp + 0x80], 0
jne 0x18024edfe
cmp dword [rsp + 0x84], 0x37
jne 0x18024edfe
lea rdx, [rsp + 0x80]
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax]
call fcn.180265684
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x18024edf0
jmp 0x180252fbb
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x25], 0
jmp 0x18024ee15
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax]
call fcn.180265bec
mov dword [rsp + 0x80], eax
cmp dword [rsp + 0x80], 0
je 0x18024ee2d
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp 0x18024ee3d
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
cmp qword [rax], 0
je 0x18024eece
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x28], 0
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1a0], rax
mov rcx, qword [rsp + 0x1a0]
call fcn.18025cb50
mov rcx, qword [rsp + 0x80]
mov qword [rcx + 0x48], rax
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x25], 0
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x29], 1
jmp case.default.0x180249fa4
mov dword [rsp + 0x80], 0
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1a8], rax
mov rax, qword [rsp + 0x88]
cmp qword [rax], 0
je 0x18024f0ba
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0x10], 0
jle 0x18024ef8e
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x48]
movzx eax, word [rax + 0x10]
mov word [rsp + 0xb0], ax
mov rax, qword [rsp + 0x1a8]
mov qword [rsp + 0xc0], rax
mov byte [rsp + 0xb2], 2
lea rax, [rsp + 0xa8]
mov qword [rsp + 0xa0], rax
jmp 0x18024f017
lea r9, [rsp + 0x98]
mov r8d, 0xcf
lea rdx, [rsp + 0xc8]
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax + 0x10]
call fcn.180256600
mov qword [rsp + 0xa0], rax
cmp qword [rsp + 0xa0], 0
jne 0x18024efcd
jmp 0x180252f85
mov r9, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x1a8]
mov r8, qword [rax + 8]
mov rax, qword [rsp + 0x1a8]
mov edx, dword [rax + 0x20]
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax + 0x10]
call fcn.18025643c
mov rax, qword [rsp + 0xa0]
movzx eax, byte [rax + 0xa]
or eax, 2
mov rcx, qword [rsp + 0xa0]
mov byte [rcx + 0xa], al
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax]
call fcn.180265c24
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0x10], 0
jne 0x18024f063
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x50]
call fcn.18028780c
cmp dword [rsp + 0x40], 0
je 0x18024f06f
jmp case.default.0x180249fa4
cmp dword [rsp + 0x90], 0
jne 0x18024f086
mov dword [rsp + 0x1e8], 1
jmp 0x18024f091
mov dword [rsp + 0x1e8], 0
mov eax, dword [rsp + 0x1e8]
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x29], 0
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x64], 0
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax]
cmp eax, 0x3d
jne 0x18024f0e1
cmp dword [rsp + 0x80], 0
je 0x18024f0df
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp 0x18024f0f9
cmp dword [rsp + 0x80], 0
jne 0x18024f0f9
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1a8], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0x10]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x60], 0
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x64], 0
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
movzx eax, word [rax + 0xa]
mov word [rsp + 0x98], ax
xor eax, eax
mov word [rsp + 0x80], ax
jmp 0x18024f1c7
movzx eax, word [rsp + 0x80]
inc ax
mov word [rsp + 0x80], ax
movzx eax, word [rsp + 0x80]
movzx ecx, word [rsp + 0x98]
cmp eax, ecx
jge 0x18024f219
movzx eax, word [rsp + 0x80]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0xa0]
movzx eax, word [rcx + rax + 0x24]
and eax, 1
test eax, eax
je 0x18024f217
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
mov qword [rsp + 0x90], 0
jmp 0x18024f219
jmp 0x18024f1b4
cmp qword [rsp + 0x90], 0
je 0x18024f2fc
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xa8], rax
movzx eax, word [rsp + 0x98]
inc eax
mov word [rsp + 0xb0], ax
mov byte [rsp + 0xb2], 4
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xc0], rax
mov rcx, qword [rsp + 0x1a8]
call fcn.18025c9e8
mov rax, qword [rsp + 0x1a8]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x88]
add rax, 0x60
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0xa8]
mov rcx, qword [rsp + 0x90]
call fcn.180265c24
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp + 0xb2]
and eax, 4
test eax, eax
jne 0x18024f2d8
mov rax, qword [rsp + 0xc8]
cmp qword [rsp + 0xb8], rax
jne 0x18024f2e8
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp 0x18024f2fc
mov rax, qword [rsp + 0x1a8]
mov rcx, qword [rsp + 0xb8]
mov qword [rax + 0x18], rcx
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1a8], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
mov qword [rsp + 0x88], rax
cmp qword [rsp + 0x88], 0
je 0x18024f44d
mov dword [rsp + 0x90], 0
mov rax, qword [rsp + 0x1a8]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0x98]
xor edx, edx
mov rcx, qword [rsp + 0x88]
call fcn.180265c24
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x1a8]
mov rcx, qword [rcx + 0x18]
mov qword [rax + 0x50], rcx
cmp dword [rsp + 0x90], 0
jne 0x18024f3dd
mov dword [rsp + 0x1ec], 1
jmp 0x18024f3e8
mov dword [rsp + 0x1ec], 0
mov rax, qword [rsp + 0x80]
mov cl, byte [rsp + 0x1ec]
mov byte [rax + 0x25], cl
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x28], 0
mov rax, qword [rsp + 0x80]
mov dword [rax + 0x64], 0
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x29], 0
cmp dword [rsp + 0x90], 0
je 0x18024f439
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x80]
mov ecx, dword [rsp + 0x90]
mov dword [rax + 0x60], ecx
jmp 0x18024f46a
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x80]
mov dword [rax + 0x60], 0
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rsp + 0x60]
mov rax, qword [rax + 0x40]
mov qword [rcx + 0x18], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x40]
inc rax
mov rcx, qword [rsp + 0x48]
movsxd rcx, dword [rcx + 4]
mov rdx, qword [rsp + 0x380]
mov rdx, qword [rdx + 0x70]
mov rcx, qword [rdx + rcx*8]
mov qword [rcx + 0x40], rax
jmp case.default.0x180249fa4
mov qword [rsp + 0x80], 0
mov dword [rsp + 0x90], 0
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
cmp qword [rax], 0
jne 0x18024f522
jmp 0x18024f8d7
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x27]
test eax, eax
jne 0x18024f763
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax]
call fcn.180267630
mov qword [rsp + 0x80], rax
cmp qword [rsp + 0x80], 0
jne 0x18024f5ee
lea rdx, [rsp + 0x90]
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax]
call fcn.1802662dc
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x18024f585
jmp 0x180252fbb
cmp dword [rsp + 0x90], 0
je 0x18024f59d
mov qword [rsp + 0x80], 1
jmp 0x18024f5ee
lea rdx, [rsp + 0x80]
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax]
call fcn.180267460
mov dword [rsp + 0x40], eax
movabs rax, 0x7fffffffffffffff
cmp qword [rsp + 0x80], rax
jl 0x18024f5db
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x27], 1
jmp 0x18024f5ee
mov rax, qword [rsp + 0x80]
inc rax
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0xc], 0
je 0x18024f716
mov rax, qword [rsp + 0x380]
cmp qword [rax + 0x100], 0
je 0x18024f670
mov rax, qword [rsp + 0x380]
mov rax, qword [rax + 0x100]
mov qword [rsp + 0xa0], rax
jmp 0x18024f63c
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax + 8]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
cmp qword [rax + 8], 0
je 0x18024f64d
jmp 0x18024f628
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0xa0]
add rax, qword [rcx + 0x18]
mov qword [rsp + 0x98], rax
jmp 0x18024f690
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x98]
call fcn.18025c9e8
mov rax, qword [rsp + 0x98]
movabs rcx, 0x7fffffffffffffff
cmp qword [rax + 0x18], rcx
je 0x18024f6c5
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x27]
test eax, eax
je 0x18024f6d2
mov dword [rsp + 0x40], 0xd
jmp 0x180252fbb
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x18]
inc rax
cmp qword [rsp + 0x80], rax
jge 0x18024f702
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x18]
inc rax
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x80]
mov qword [rax + 0x18], rcx
movabs rax, 0x7fffffffffffffff
cmp qword [rsp + 0x80], rax
jge 0x18024f73f
mov rax, qword [rsp + 0x80]
inc rax
mov qword [rsp + 0x318], rax
jmp 0x18024f74b
mov qword [rsp + 0x318], 0
mov rdx, qword [rsp + 0x318]
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax]
call fcn.180267648
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x27]
test eax, eax
je 0x18024f8b0
mov rax, qword [rsp + 0x1c8]
mov qword [rsp + 0x80], rax
movabs rax, 0x3fffffffffffffff
mov rcx, qword [rsp + 0x80]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
inc rax
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x94], 0
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0x80]
xor edx, edx
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax]
call fcn.180265c24
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
jne 0x18024f892
cmp dword [rsp + 0x90], 0
jne 0x18024f892
mov eax, dword [rsp + 0x94]
inc eax
mov dword [rsp + 0x94], eax
cmp dword [rsp + 0x94], 0x64
jge 0x18024f892
lea rdx, [rsp + 0x80]
mov ecx, 8
call fcn.180284b48
cmp dword [rsp + 0x94], 5
jge 0x18024f85a
mov rax, qword [rsp + 0x80]
and rax, 0xffffff
mov qword [rsp + 0x80], rax
jmp 0x18024f87a
movabs rax, 0x3fffffffffffffff
mov rcx, qword [rsp + 0x80]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
inc rax
mov qword [rsp + 0x80], rax
jmp 0x18024f7c5
cmp dword [rsp + 0x40], 0
jne 0x18024f8b0
cmp dword [rsp + 0x90], 0
jne 0x18024f8b0
mov dword [rsp + 0x40], 0xd
jmp 0x180252fbb
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x25], 0
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x29], 0
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x64], 0
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x80]
mov qword [rax + 0x18], rcx
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax]
cmp eax, 0x42
jne 0x18024f971
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x90], rax
jmp 0x18024f982
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
and eax, 1
test eax, eax
je 0x18024f9b0
mov rax, qword [rsp + 0x380]
mov eax, dword [rax + 0xa0]
inc eax
mov rcx, qword [rsp + 0x380]
mov dword [rcx + 0xa0], eax
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
and eax, 2
test eax, eax
je 0x18024f9e1
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x1c8], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x1c8]
mov qword [rax + 0x30], rcx
mov rax, qword [rsp + 0x80]
movzx eax, word [rax + 0x24]
and eax, 1
test eax, eax
je 0x18024fa13
mov rax, qword [rsp + 0x80]
mov qword [rax + 8], 0
mov rax, qword [rsp + 0x80]
mov dword [rax + 0x20], 0
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
and eax, 0x10
test eax, eax
je 0x18024fa37
mov rax, qword [rsp + 0x98]
mov eax, dword [rax + 0x60]
mov dword [rsp + 0x1e4], eax
jmp 0x18024fa42
mov dword [rsp + 0x1e4], 0
mov eax, dword [rsp + 0x1e4]
mov dword [rsp + 0xa4], eax
mov rax, qword [rsp + 0x80]
movzx eax, word [rax + 0x24]
and eax, 0x4000
test eax, eax
je 0x18024fa79
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0xa0], eax
jmp 0x18024fa84
mov dword [rsp + 0xa0], 0
xor edx, edx
mov rax, qword [rsp + 0x98]
mov rcx, qword [rax]
call fcn.180267648
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
and eax, 8
mov ecx, dword [rsp + 0xa4]
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x20]
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x80]
mov r9, qword [rax + 8]
mov r8, qword [rsp + 0x90]
xor edx, edx
mov rax, qword [rsp + 0x98]
mov rcx, qword [rax]
call fcn.180261304
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x98]
mov byte [rax + 0x25], 0
mov rax, qword [rsp + 0x98]
mov byte [rax + 0x29], 0
mov rax, qword [rsp + 0x98]
mov dword [rax + 0x64], 0
cmp dword [rsp + 0x40], 0
jne 0x18024fbf1
mov rax, qword [rsp + 0x50]
cmp qword [rax + 0x100], 0
je 0x18024fbf1
mov rax, qword [rsp + 0x48]
cmp qword [rax + 0x10], 0
je 0x18024fbf1
mov rax, qword [rsp + 0x98]
movsxd rax, dword [rax + 0x18]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
and eax, 4
test eax, eax
je 0x18024fb9d
mov dword [rsp + 0x1fc], 0x17
jmp 0x18024fba8
mov dword [rsp + 0x1fc], 0x12
mov eax, dword [rsp + 0x1fc]
mov dword [rsp + 0xb8], eax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xa8]
mov edx, dword [rsp + 0xb8]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 0xf8]
mov rax, qword [rsp + 0x50]
call qword [rax + 0x100]
jmp case.default.0x180249fa4
mov qword [rsp + 0x80], 0
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x50]
cmp qword [rax + 0x100], 0
je 0x18024fc52
mov rax, qword [rsp + 0x48]
cmp qword [rax + 0x10], 0
je 0x18024fc52
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x88]
call fcn.180256ef0
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x18024fc6f
jmp 0x180252fbb
xor edx, edx
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax]
call fcn.180267648
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax]
call fcn.180260e7c
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x88]
mov dword [rax + 0x64], 0
cmp dword [rsp + 0x40], 0
jne 0x18024fd39
mov rax, qword [rsp + 0x50]
cmp qword [rax + 0x100], 0
je 0x18024fd39
mov rax, qword [rsp + 0x48]
cmp qword [rax + 0x10], 0
je 0x18024fd39
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax + 0x18]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax]
mov qword [rsp + 0x348], rax
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x350], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x350]
mov r8, qword [rsp + 0x348]
mov edx, 9
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 0xf8]
mov rax, qword [rsp + 0x50]
call qword [rax + 0x100]
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
and eax, 1
test eax, eax
je 0x18024fd66
mov rax, qword [rsp + 0x380]
mov eax, dword [rax + 0xa0]
inc eax
mov rcx, qword [rsp + 0x380]
mov dword [rcx + 0xa0], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x380]
mov edx, dword [rax + 0xa0]
mov rcx, qword [rsp + 0x50]
call fcn.180255ea0
mov rax, qword [rsp + 0x380]
mov dword [rax + 0xa0], 0
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1a8], rax
lea r8, [rsp + 0x88]
mov rdx, qword [rsp + 0x1a8]
mov rcx, qword [rsp + 0x80]
call fcn.180247174
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x88], 0
je 0x18024fe14
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x80], rax
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x80]
call fcn.1802471f8
mov dword [rsp + 0x40], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
mov qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0x80]
call fcn.180256ef0
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x18024fee0
jmp 0x180252fbb
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x2b]
test eax, eax
je 0x18024ff37
lea rdx, [rsp + 0x98]
mov rcx, qword [rsp + 0x88]
call fcn.180267460
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x50]
movsxd rax, dword [rcx + rax + 0x68]
cmp qword [rsp + 0x98], rax
jle 0x18024ff27
jmp 0x180252f58
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x90], eax
jmp 0x18024ff6c
lea rdx, [rsp + 0x90]
mov rcx, qword [rsp + 0x88]
call fcn.18026742c
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax + 0x68]
cmp dword [rsp + 0x90], eax
jbe 0x18024ff6c
jmp 0x180252f58
xor r8d, r8d
mov edx, dword [rsp + 0x90]
mov rcx, qword [rsp + 0x60]
call fcn.18025d1a4
test eax, eax
je 0x18024ff89
jmp 0x180252f85
mov rax, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x90]
mov dword [rax + 0x20], ecx
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x24]
and eax, 0xffffbe00
or eax, 0x10
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x24], ax
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x2b]
test eax, eax
je 0x18024ffe8
mov rax, qword [rsp + 0x60]
mov r9, qword [rax + 8]
mov r8d, dword [rsp + 0x90]
xor edx, edx
mov rcx, qword [rsp + 0x88]
call fcn.180266c68
mov dword [rsp + 0x40], eax
jmp 0x18025000c
mov rax, qword [rsp + 0x60]
mov r9, qword [rax + 8]
mov r8d, dword [rsp + 0x90]
xor edx, edx
mov rcx, qword [rsp + 0x88]
call fcn.180266bd4
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x60]
mov byte [rax + 0x27], 1
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x28]
test eax, eax
je 0x180250063
mov eax, 1
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x24], ax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x29]
test eax, eax
je 0x18025008c
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x48]
mov qword [rsp + 0x88], rax
jmp 0x18025015e
mov rax, qword [rsp + 0x80]
cmp qword [rax + 0x30], 0
je 0x1802500ff
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
mov qword [rsp + 0x98], rax
lea rdx, [rsp + 0x88]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 0x30]
mov rax, qword [rsp + 0x98]
call qword [rax + 0x60]
mov dword [rsp + 0x40], eax
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x380]
call fcn.180255ca8
jmp 0x18025015e
mov rcx, qword [rsp + 0x80]
call fcn.180256ef0
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x18025011c
jmp 0x180252fbb
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x25]
test eax, eax
je 0x180250142
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x88], rax
jmp 0x18025015e
lea rdx, [rsp + 0x88]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax]
call fcn.180267460
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x88]
mov qword [rax + 0x18], rcx
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x28], 1
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x25], 0
mov rax, qword [rsp + 0x80]
cmp qword [rax], 0
je 0x1802501cb
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax]
call fcn.18026caf8
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x90], 0
cmp qword [rsp + 0x88], 0
je 0x180250233
lea rdx, [rsp + 0x90]
mov rcx, qword [rsp + 0x88]
call fcn.1802662dc
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x80]
mov cl, byte [rsp + 0x90]
mov byte [rax + 0x28], cl
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x29], 0
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x25], 0
mov rax, qword [rsp + 0x80]
mov dword [rax + 0x64], 0
mov rax, qword [rsp + 0x48]
cmp dword [rax + 8], 0
jle 0x18025028f
cmp dword [rsp + 0x90], 0
je 0x18025028f
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp case.default.0x180249fa4
mov eax, 4
imul rax, rax, 2
mov rcx, qword [rsp + 0x380]
mov eax, dword [rcx + rax + 0xb0]
inc eax
mov ecx, 4
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x380]
mov dword [rdx + rcx + 0xb0], eax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x90], 1
mov rax, qword [rsp + 0x80]
cmp qword [rax + 0x58], 0
je 0x180250324
lea r8, [rsp + 0x90]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x50]
call fcn.1802474a4
mov dword [rsp + 0x40], eax
jmp 0x1802503ab
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
mov qword [rsp + 0x88], rax
lea rdx, [rsp + 0x90]
mov rcx, qword [rsp + 0x88]
call fcn.180266388
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x90], 0
jne 0x180250367
mov dword [rsp + 0x204], 1
jmp 0x180250372
mov dword [rsp + 0x204], 0
mov rax, qword [rsp + 0x80]
mov cl, byte [rsp + 0x204]
mov byte [rax + 0x26], cl
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x29], 0
mov rax, qword [rsp + 0x80]
mov dword [rax + 0x64], 0
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x25], 0
mov rax, qword [rsp + 0x80]
mov cl, byte [rsp + 0x90]
mov byte [rax + 0x28], cl
cmp dword [rsp + 0x90], 0
je 0x1802503d5
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x80], rax
cmp qword [rsp + 0x80], 0
jne 0x18025040b
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x80]
cmp qword [rax + 0x58], 0
je 0x18025043a
lea r8, [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x50]
call fcn.180247328
mov dword [rsp + 0x40], eax
jmp 0x180250459
lea rdx, [rsp + 0x88]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax]
mov rax, qword [rsp + 0x48]
call qword [rax + 0x10]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x80]
mov cl, byte [rsp + 0x88]
mov byte [rax + 0x28], cl
mov rax, qword [rsp + 0x80]
mov dword [rax + 0x64], 0
cmp dword [rsp + 0x88], 0
jne 0x1802504c4
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
mov rcx, qword [rsp + 0x380]
mov eax, dword [rcx + rax*4 + 0xb0]
inc eax
mov rcx, qword [rsp + 0x48]
movzx ecx, byte [rcx + 3]
mov rdx, qword [rsp + 0x380]
mov dword [rdx + rcx*4 + 0xb0], eax
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x25], 0
jmp 0x180249fb4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
mov qword [rsp + 0x88], rax
cmp qword [rsp + 0x88], 0
je 0x18025066c
mov rax, qword [rsp + 0x1a0]
movzx eax, word [rax + 0x24]
and eax, 0x4000
test eax, eax
je 0x180250563
mov rcx, qword [rsp + 0x1a0]
call fcn.18025cff0
mov dword [rsp + 0x20c], eax
jmp 0x18025056e
mov dword [rsp + 0x20c], 0
mov eax, dword [rsp + 0x20c]
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
jne 0x18025066c
mov rax, qword [rsp + 0x80]
cmp qword [rax + 0x58], 0
je 0x1802505b6
mov r8, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x50]
call fcn.180247984
mov dword [rsp + 0x40], eax
jmp 0x18025066c
mov rax, qword [rsp + 0x1a0]
mov eax, dword [rax + 0x20]
mov dword [rsp + 0x90], eax
mov rax, qword [rsp + 0x1a0]
mov rax, qword [rax + 8]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
and eax, 0x10
test eax, eax
je 0x180250600
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x60]
mov dword [rsp + 0x214], eax
jmp 0x18025060b
mov dword [rsp + 0x214], 0
movsxd rax, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x214]
mov dword [rsp + 0x38], ecx
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx + 0xc]
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea r9, [0x1803bb18a]
mov r8, rax
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x88]
call fcn.180261304
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x80]
mov dword [rax + 0x64], 0
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
mov qword [rsp + 0x88], rax
cmp qword [rsp + 0x88], 0
je 0x18025075e
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x48]
movzx eax, word [rax + 0xc]
mov word [rsp + 0xa0], ax
mov byte [rsp + 0xa2], 0
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xb0], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x98]
mov rcx, qword [rsp + 0x88]
call fcn.180265c24
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
jne 0x18025074f
cmp dword [rsp + 0x90], 0
jne 0x18025074f
mov rcx, qword [rsp + 0x88]
call fcn.180260e7c
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x80]
mov dword [rax + 0x64], 0
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
mov qword [rsp + 0x80], rax
mov eax, 1
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x24], ax
cmp qword [rsp + 0x80], 0
je 0x180250826
mov rcx, qword [rsp + 0x88]
call fcn.180256ef0
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x1802507cd
jmp 0x180252fbb
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x28]
test eax, eax
jne 0x180250826
lea r8, [rsp + 0x90]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x50]
call fcn.180255fc0
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x180250807
jmp 0x180252fbb
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x90]
mov qword [rax + 0x18], rcx
mov eax, 4
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x24], ax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
cmp qword [rax], 0
je 0x18025092a
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x48]
movzx eax, word [rax + 0x10]
mov word [rsp + 0x98], ax
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
test eax, eax
je 0x18025089a
mov byte [rsp + 0x9a], 3
jmp 0x1802508a2
mov byte [rsp + 0x9a], 2
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xa8], rax
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0x90]
mov rcx, qword [rsp + 0x80]
call fcn.180255ed0
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax]
cmp eax, 0x6a
jne 0x180250902
mov eax, dword [rsp + 0x88]
neg eax
mov dword [rsp + 0x88], eax
jmp 0x180250912
mov eax, dword [rsp + 0x88]
inc eax
mov dword [rsp + 0x88], eax
cmp dword [rsp + 0x88], 0
jle 0x18025092a
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp case.default.0x180249fa4
mov dword [rsp + 0x84], 0
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 8]
mov qword [rsp + 0x88], rax
jmp 0x180250961
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x68]
mov qword [rsp + 0x88], rax
cmp qword [rsp + 0x88], 0
je 0x1802509d4
mov rax, qword [rsp + 0x88]
cmp dword [rax + 0x50], 0xbdf20da3
jne 0x1802509cf
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0x9c]
shr eax, 9
and eax, 1
test eax, eax
je 0x1802509cf
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0x9c]
shr eax, 2
and eax, 3
cmp eax, 2
jae 0x1802509cf
mov rax, qword [rsp + 0x88]
cmp dword [rax + 0x90], 0
jl 0x1802509cf
mov eax, dword [rsp + 0x84]
inc eax
mov dword [rsp + 0x84], eax
jmp 0x18025094d
mov eax, 1
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x24], ax
cmp dword [rsp + 0x84], 1
jle 0x180250a08
mov dword [rsp + 0x40], 6
mov rax, qword [rsp + 0x380]
mov byte [rax + 0x98], 2
jmp 0x180250aac
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x90], eax
movsxd rax, dword [rsp + 0x90]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x20]
lea r8, [rsp + 0x80]
mov rdx, qword [rsp + 0x48]
mov edx, dword [rdx + 4]
mov rcx, qword [rcx + rax + 8]
call fcn.18026057c
mov dword [rsp + 0x40], eax
mov eax, 4
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x24], ax
movsxd rax, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
mov qword [rcx + 0x18], rax
cmp dword [rsp + 0x40], 0
jne 0x180250aac
cmp dword [rsp + 0x80], 0
je 0x180250aac
mov rax, qword [rsp + 0x48]
mov r9d, dword [rax + 4]
mov r8d, dword [rsp + 0x80]
mov edx, dword [rsp + 0x90]
mov rcx, qword [rsp + 0x50]
call fcn.1802337b4
mov eax, dword [rsp + 0x90]
inc eax
mov byte [rsp + 0x1b0], al
jmp case.default.0x180249fa4
mov dword [rsp + 0x80], 0
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0xc], 0
je 0x180250ad9
lea rax, [rsp + 0x80]
mov qword [rsp + 0x328], rax
jmp 0x180250ae5
mov qword [rsp + 0x328], 0
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x20]
mov r8, qword [rsp + 0x328]
mov rdx, qword [rsp + 0x48]
mov edx, dword [rdx + 4]
mov rcx, qword [rcx + rax + 8]
call fcn.180260840
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0xc], 0
je 0x180250b8b
mov rax, qword [rsp + 0x380]
mov eax, dword [rax + 0xa0]
add eax, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x380]
mov dword [rcx + 0xa0], eax
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0xc], 0
jle 0x180250b8b
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
movsxd rcx, dword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
add rcx, qword [rdx + rax + 0x18]
mov rax, rcx
mov rcx, qword [rsp + 0x48]
movsxd rcx, dword [rcx + 0xc]
imul rcx, rcx, 0x38
mov rdx, qword [rsp + 0x78]
mov qword [rdx + rcx + 0x18], rax
jmp case.default.0x180249fa4
mov dword [rsp + 0x80], 0
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x50]
add rax, qword [rcx + 0x20]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax]
cmp eax, 0x6f
jne 0x180250bd3
mov dword [rsp + 0x84], 1
jmp 0x180250bde
mov dword [rsp + 0x84], 2
mov r8d, dword [rsp + 0x84]
lea rdx, [rsp + 0x80]
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax + 8]
call fcn.180260afc
mov dword [rsp + 0x40], eax
movsxd rax, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
mov qword [rcx + 0x18], rax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 4]
mov dword [rsp + 0x80], eax
xor eax, eax
cmp eax, 1
je 0x180250c4a
cmp dword [rsp + 0x80], 1
jne 0x180250c4a
lea rax, [0x18039d248]
mov qword [rsp + 0x310], rax
jmp 0x180250c59
lea rax, [0x18039d2a0]
mov qword [rsp + 0x310], rax
mov rax, qword [rsp + 0x310]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 4]
mov dword [rsp + 0xa8], eax
mov rax, qword [rsp + 0x380]
add rax, 0x58
mov qword [rsp + 0xa0], rax
movsxd rax, dword [rsp + 0x80]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x20]
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx + 0x10]
mov qword [rsp + 0x20], rdx
mov r9, qword [rsp + 0x88]
mov r8, qword [rcx + rax]
lea rdx, str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
mov rcx, qword [rsp + 0x50]
call fcn.1802850a4
mov qword [rsp + 0x90], rax
cmp qword [rsp + 0x90], 0
jne 0x180250cf6
mov dword [rsp + 0x40], 7
jmp 0x180250d6b
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x99], 1
mov dword [rsp + 0xac], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x98]
lea r8, [fcn.18021dd24]
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x50]
call fcn.180223390
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
jne 0x180250d4d
mov eax, dword [rsp + 0xac]
mov dword [rsp + 0x40], eax
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x50]
call fcn.18028780c
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x99], 0
cmp dword [rsp + 0x40], 0
je 0x180250d7c
mov rcx, qword [rsp + 0x50]
call fcn.1802365c4
cmp dword [rsp + 0x40], 7
jne 0x180250d88
jmp 0x180252f85
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x50]
call fcn.180238af0
mov dword [rsp + 0x40], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
mov r8, qword [rax + 0x10]
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x50]
call fcn.1802362c4
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
mov r8, qword [rax + 0x10]
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x50]
call fcn.180236854
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
mov r8, qword [rax + 0x10]
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x50]
call fcn.180210814
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
inc eax
cdqe
shl rax, 2
mov edx, eax
mov rcx, qword [rsp + 0x50]
call fcn.180287424
mov qword [rsp + 0x88], rax
cmp qword [rsp + 0x88], 0
jne 0x180250e4a
jmp 0x180252f85
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x90], 0
jmp 0x180250ea4
mov eax, dword [rsp + 0x90]
inc eax
mov dword [rsp + 0x90], eax
mov eax, dword [rsp + 0x80]
cmp dword [rsp + 0x90], eax
jge 0x180250ee8
movsxd rax, dword [rsp + 0x90]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x68]
add rcx, rax
mov rax, rcx
mov rcx, rax
call fcn.18025cb50
movsxd rcx, dword [rsp + 0x90]
mov rdx, qword [rsp + 0x88]
mov dword [rdx + rcx*4], eax
jmp 0x180250e94
movsxd rax, dword [rsp + 0x90]
mov rcx, qword [rsp + 0x88]
mov dword [rcx + rax*4], 0
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x20]
lea rdx, [rsp + 0x94]
mov qword [rsp + 0x20], rdx
mov rdx, qword [rsp + 0xa0]
mov r9d, dword [rdx + 0x18]
mov r8d, dword [rsp + 0x80]
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rcx + rax + 8]
call fcn.18025ebcc
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x50]
call fcn.18028780c
movsxd rax, dword [rsp + 0x94]
mov rcx, qword [rsp + 0xa0]
mov rcx, qword [rcx + 0x18]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0xa0]
mov qword [rcx + 0x18], rax
mov rcx, qword [rsp + 0x68]
call fcn.18025c840
cmp dword [rsp + 0x94], 0
jne 0x180250f9e
jmp 0x180250fd7
cmp qword [rsp + 0x98], 0
jne 0x180250fb0
jmp 0x180252f85
lea rax, [fcn.1802878ec]
mov qword [rsp + 0x20], rax
mov r9b, 1
mov r8d, 0xffffffff
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x68]
call fcn.18025c11c
movzx eax, byte [rsp + 0x58]
mov edx, eax
mov rcx, qword [rsp + 0x68]
call fcn.18025d37c
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 0x20
test eax, eax
jne 0x180251059
mov rcx, qword [rsp + 0x68]
call fcn.18025c684
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 0x20
test eax, eax
jne 0x180251059
jmp 0x180252f85
mov rax, qword [rsp + 0x1a0]
mov rdx, qword [rax + 0x18]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x18]
call fcn.180278f30
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 0x20
test eax, eax
je 0x1802510bf
lea rdx, [rsp + 0x80]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x18]
call fcn.180278a18
test eax, eax
jne 0x1802510d9
mov rcx, qword [rsp + 0x68]
call fcn.18025c840
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp 0x180251101
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov rdx, qword [rsp + 0x80]
mov rcx, rax
call fcn.18025c78c
jmp 0x180249fb4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1a8], rax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 0x20
test eax, eax
jne 0x180251181
mov rcx, qword [rsp + 0x68]
call fcn.18025c684
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x24]
and eax, 0x20
test eax, eax
jne 0x180251181
jmp 0x180252f85
cmp dword [rsp + 0x80], 0
je 0x1802511f8
cmp dword [rsp + 0x80], 0
jl 0x1802511a8
mov eax, dword [rsp + 0x80]
and eax, 0xf
mov dword [rsp + 0x21c], eax
jmp 0x1802511b3
mov dword [rsp + 0x21c], 0xff
mov rax, qword [rsp + 0x1a8]
mov r8, qword [rax + 0x18]
mov dl, byte [rsp + 0x21c]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x18]
call fcn.1802787f0
mov dword [rsp + 0x84], eax
cmp dword [rsp + 0x84], 0
je 0x1802511f8
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp case.default.0x180249fa4
cmp dword [rsp + 0x80], 0
jl 0x18025121c
mov rax, qword [rsp + 0x1a8]
mov rdx, qword [rax + 0x18]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x18]
call fcn.180278f30
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
test eax, eax
je 0x1802512d3
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x380]
mov rax, qword [rax + 0x100]
mov qword [rsp + 0xa0], rax
jmp 0x1802512a0
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax + 8]
mov qword [rsp + 0xa0], rax
cmp qword [rsp + 0xa0], 0
je 0x1802512c3
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xb0]
cmp qword [rax + 0x30], rcx
je 0x1802512c3
jmp 0x18025128c
cmp qword [rsp + 0xa0], 0
je 0x1802512d3
jmp case.default.0x180249fa4
mov eax, 4
imul rax, rax, 0xa
mov rcx, qword [rsp + 0x380]
mov rdx, qword [rsp + 0x50]
mov eax, dword [rdx + rax + 0x68]
cmp dword [rcx + 0x110], eax
jl 0x180251322
mov dword [rsp + 0x40], 1
mov rax, qword [rsp + 0x380]
add rax, 0x58
lea r8, str.too_many_levels_of_trigger_recursion
mov rdx, qword [rsp + 0x50]
mov rcx, rax
call fcn.180287188
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x88]
movzx eax, word [rax + 0x24]
and eax, 0x40
test eax, eax
jne 0x1802515a2
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax + 0xc]
mov rcx, qword [rsp + 0xa8]
add eax, dword [rcx + 0x10]
mov dword [rsp + 0x80], eax
movsxd rax, dword [rsp + 0x80]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0xa8]
movsxd rcx, dword [rcx + 0x10]
lea rax, [rax + rcx*8 + 0x60]
mov rcx, qword [rsp + 0xa8]
movsxd rcx, dword [rcx + 0x14]
add rax, rcx
mov dword [rsp + 0x84], eax
mov edx, dword [rsp + 0x84]
mov rcx, qword [rsp + 0x50]
call fcn.1802875b8
mov qword [rsp + 0xa0], rax
cmp qword [rsp + 0xa0], 0
jne 0x1802513b2
jmp 0x180252f85
mov rcx, qword [rsp + 0x88]
call fcn.18025cc3c
mov eax, 0x40
mov rcx, qword [rsp + 0x88]
mov word [rcx + 0x24], ax
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xa0]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x380]
mov qword [rax], rcx
mov rax, qword [rsp + 0xa0]
mov ecx, dword [rsp + 0x80]
mov dword [rax + 0x54], ecx
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
mov ecx, dword [rcx + 0x10]
mov dword [rax + 0x58], ecx
mov rax, qword [rsp + 0xa0]
mov ecx, dword [rsp + 0x70]
mov dword [rax + 0x44], ecx
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x10]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x380]
mov ecx, dword [rcx + 0x30]
mov dword [rax + 0x4c], ecx
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov qword [rax + 0x28], rcx
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x380]
mov ecx, dword [rcx + 0x4c]
mov dword [rax + 0x40], ecx
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 8]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x380]
mov ecx, dword [rcx + 0x34]
mov dword [rax + 0x48], ecx
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
mov rcx, qword [rcx + 0x18]
mov qword [rax + 0x30], rcx
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x128]
mov qword [rax + 0x20], rcx
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x380]
mov ecx, dword [rcx + 0x120]
mov dword [rax + 0x50], ecx
mov eax, 1
imul rax, rax, 0x60
mov rcx, qword [rsp + 0xa0]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0xa0]
movsxd rcx, dword [rcx + 0x54]
imul rcx, rcx, 0x38
add rax, rcx
mov qword [rsp + 0x98], rax
mov eax, 1
imul rax, rax, 0x60
mov rcx, qword [rsp + 0xa0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
jmp 0x18025156b
mov rax, qword [rsp + 0x90]
add rax, 0x38
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x98]
cmp qword [rsp + 0x90], rax
je 0x1802515a0
mov eax, 0x80
mov rcx, qword [rsp + 0x90]
mov word [rcx + 0x24], ax
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x50]
mov qword [rax], rcx
jmp 0x180251557
jmp 0x1802515b6
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x380]
mov eax, dword [rax + 0x110]
inc eax
mov rcx, qword [rsp + 0x380]
mov dword [rcx + 0x110], eax
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x100]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x1c8]
mov qword [rax + 0x38], rcx
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x380]
mov ecx, dword [rcx + 0xa0]
mov dword [rax + 0x5c], ecx
mov rax, qword [rsp + 0x380]
mov dword [rax + 0xa0], 0
mov rax, qword [rsp + 0x380]
mov rcx, qword [rsp + 0xa0]
mov qword [rax + 0x100], rcx
mov eax, 1
imul rax, rax, 0x60
mov rcx, qword [rsp + 0xa0]
add rcx, rax
mov rax, rcx
mov ecx, 0x38
imul rcx, rcx, 0xffffffffffffffff
add rax, rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x380]
mov rcx, qword [rsp + 0x78]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x380]
mov rcx, qword [rsp + 0xa0]
mov ecx, dword [rcx + 0x54]
mov dword [rax + 0x30], ecx
mov rax, qword [rsp + 0xa0]
movzx eax, word [rax + 0x58]
mov rcx, qword [rsp + 0x380]
mov dword [rcx + 0x4c], eax
mov rax, qword [rsp + 0x380]
mov eax, dword [rax + 0x30]
inc eax
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x380]
mov qword [rcx + 0x70], rax
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax]
mov qword [rsp + 0x290], rax
mov rax, qword [rsp + 0x380]
mov rcx, qword [rsp + 0x290]
mov qword [rax + 8], rcx
mov rax, qword [rsp + 0x380]
mov rcx, qword [rsp + 0xa8]
mov ecx, dword [rcx + 8]
mov dword [rax + 0x34], ecx
mov rax, qword [rsp + 0x380]
movsxd rax, dword [rax + 0x4c]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
lea rax, [rcx + rax*8]
mov rcx, qword [rsp + 0x380]
mov qword [rcx + 0x128], rax
mov rax, qword [rsp + 0x380]
mov rcx, qword [rsp + 0xa8]
mov ecx, dword [rcx + 0x14]
mov dword [rax + 0x120], ecx
mov dword [rsp + 0x70], 0xffffffff
mov rax, qword [rsp + 0x380]
movsxd rax, dword [rax + 0x120]
mov qword [rsp + 0x338], rax
mov rcx, qword [rsp + 0x380]
mov rdi, qword [rcx + 0x128]
xor eax, eax
mov rcx, qword [rsp + 0x338]
rep stosb byte [rdi], al
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x380]
mov rax, qword [rax + 0x100]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
movsxd rax, dword [rax + 0x44]
imul rax, rax, 0x18
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rsp + 0x48]
mov edx, dword [rdx + 4]
add edx, dword [rcx + rax + 4]
mov eax, edx
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x80]
add rax, qword [rcx + 0x18]
mov qword [rsp + 0x88], rax
mov r8d, 0x1000
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x60]
call fcn.18025c560
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x2c]
and eax, 0x1000000
test eax, eax
je 0x180251841
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0x50]
add rax, qword [rcx + 0x310]
mov rcx, qword [rsp + 0x50]
mov qword [rcx + 0x310], rax
jmp 0x180251896
mov rax, qword [rsp + 0x48]
cmp dword [rax + 4], 0
je 0x18025186f
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0x50]
add rax, qword [rcx + 0x308]
mov rcx, qword [rsp + 0x50]
mov qword [rcx + 0x308], rax
jmp 0x180251896
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0x380]
add rax, qword [rcx + 0xd8]
mov rcx, qword [rsp + 0x380]
mov qword [rcx + 0xd8], rax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
cmp dword [rax + 4], 0
je 0x1802518d4
mov rax, qword [rsp + 0x50]
cmp qword [rax + 0x308], 0
jne 0x1802518d2
mov rax, qword [rsp + 0x50]
cmp qword [rax + 0x310], 0
jne 0x1802518d2
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp 0x180251903
mov rax, qword [rsp + 0x380]
cmp qword [rax + 0xd8], 0
jne 0x180251903
mov rax, qword [rsp + 0x50]
cmp qword [rax + 0x310], 0
jne 0x180251903
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x380]
cmp qword [rax + 0x100], 0
je 0x18025197b
mov rax, qword [rsp + 0x380]
mov rax, qword [rax + 0x100]
mov qword [rsp + 0x88], rax
jmp 0x180251947
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 8]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
cmp qword [rax + 8], 0
je 0x180251958
jmp 0x180251933
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x88]
add rax, qword [rcx + 0x18]
mov qword [rsp + 0x80], rax
jmp 0x18025199b
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x80]
call fcn.18025c9e8
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1a0], rax
mov rcx, qword [rsp + 0x1a0]
call fcn.18025c9e8
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x1a0]
mov rcx, qword [rcx + 0x18]
cmp qword [rax + 0x18], rcx
jge 0x180251a07
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x1a0]
mov rcx, qword [rcx + 0x18]
mov qword [rax + 0x18], rcx
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
cmp qword [rax + 0x18], 0
jle 0x180251a43
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
cmp qword [rax + 0x18], 0
jge 0x180251a7f
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
mov rcx, qword [rsp + 0x68]
add rax, qword [rcx + 0x18]
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x18], rax
mov rax, qword [rsp + 0x68]
cmp qword [rax + 0x18], 0
jne 0x180251ad6
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x380]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x100], rax
mov dword [rsp + 0x84], 0
jmp 0x180251b50
mov eax, dword [rsp + 0x84]
inc eax
mov dword [rsp + 0x84], eax
mov rax, qword [rsp + 0x90]
add rax, 0x38
mov qword [rsp + 0x90], rax
mov eax, dword [rsp + 0x80]
cmp dword [rsp + 0x84], eax
jge 0x180251b8b
movsxd rax, dword [rsp + 0x84]
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rsp + 0x90]
mov qword [rcx + rax*8], rdx
mov rcx, qword [rsp + 0x90]
call fcn.180253640
jmp 0x180251b2c
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0x20]
inc eax
mov rcx, qword [rsp + 0x88]
mov dword [rcx + 0x20], eax
mov eax, 1
mov word [rsp + 0xc4], ax
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xc8], 0
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xa0], rax
mov dword [rsp + 0xf4], 0
mov qword [rsp + 0xe0], 0
mov byte [rsp + 0xf8], 0
mov rax, qword [rsp + 0x98]
movzx eax, word [rax + 2]
and eax, 0x20
test eax, eax
je 0x180251c6f
mov eax, 0x18
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx + rax + 0x10]
mov qword [rsp + 0xe0], rax
mov r8, qword [rsp + 0x100]
mov edx, dword [rsp + 0x80]
lea rcx, [rsp + 0x98]
mov rax, qword [rsp + 0x98]
call qword [rax + 0x20]
cmp dword [rsp + 0xf4], 0
je 0x180251cd3
lea rcx, [rsp + 0xa0]
call fcn.1802558f0
mov rcx, qword [rsp + 0x380]
add rcx, 0x58
mov r9, rax
lea r8, [0x18039bcac]
mov rdx, qword [rsp + 0x50]
call fcn.180287188
mov eax, dword [rsp + 0xf4]
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp + 0xf8]
test eax, eax
je 0x180251d26
mov eax, 0x18
imul rax, rax, 0xffffffffffffffff
mov rcx, qword [rsp + 0x48]
mov eax, dword [rcx + rax + 4]
mov dword [rsp + 0x84], eax
cmp dword [rsp + 0x84], 0
je 0x180251d26
movsxd rax, dword [rsp + 0x84]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov edx, 1
mov rcx, rax
call fcn.18025c78c
lea rcx, [rsp + 0xa0]
call fcn.18025cc3c
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x48]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0x80]
call fcn.18025cd6c
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x180251da6
mov rcx, qword [rsp + 0x80]
call fcn.1802558f0
mov rcx, qword [rsp + 0x380]
add rcx, 0x58
mov r9, rax
lea r8, [0x18039bcbc]
mov rdx, qword [rsp + 0x50]
call fcn.180287188
movzx eax, byte [rsp + 0x58]
mov edx, eax
mov rcx, qword [rsp + 0x80]
call fcn.18025d37c
mov rcx, qword [rsp + 0x80]
call fcn.18025c5fc
test eax, eax
je 0x180251dd0
jmp 0x180252f58
jmp case.default.0x180249fa4
mov eax, 4
imul rax, rax, 0
mov dword [rsp + rax + 0x84], 0
mov eax, 4
imul rax, rax, 2
mov dword [rsp + rax + 0x84], 0xffffffff
mov eax, 4
imul rax, rax, 1
mov dword [rsp + rax + 0x84], 0xffffffff
mov eax, 4
imul rax, rax, 2
lea rax, [rsp + rax + 0x84]
mov ecx, 4
imul rcx, rcx, 1
lea rcx, [rsp + rcx + 0x84]
mov qword [rsp + 0x20], rax
mov r9, rcx
mov rax, qword [rsp + 0x48]
mov r8d, dword [rax + 8]
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x50]
call fcn.1801f6054
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 5
jne 0x180251e7d
mov dword [rsp + 0x40], 0
mov eax, 4
imul rax, rax, 0
mov dword [rsp + rax + 0x84], 1
mov dword [rsp + 0x80], 0
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
jmp 0x180251ece
mov eax, dword [rsp + 0x80]
inc eax
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x90]
add rax, 0x38
mov qword [rsp + 0x90], rax
cmp dword [rsp + 0x80], 3
jge 0x180251efa
movsxd rax, dword [rsp + 0x80]
movsxd rax, dword [rsp + rax*4 + 0x84]
mov rdx, rax
mov rcx, qword [rsp + 0x90]
call fcn.18025c78c
jmp 0x180251eaa
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x90], eax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax + 8]
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x80]
call fcn.180260208
mov qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0x88]
call fcn.180271b94
mov dword [rsp + 0x94], eax
cmp dword [rsp + 0x90], 0xffffffff
jne 0x180251f72
mov eax, dword [rsp + 0x94]
mov dword [rsp + 0x90], eax
mov rcx, qword [rsp + 0x88]
call fcn.180271b50
test eax, eax
jne 0x180251f91
mov eax, dword [rsp + 0x94]
mov dword [rsp + 0x90], eax
mov edx, 1
mov rcx, qword [rsp + 0x88]
call fcn.18027200c
mov qword [rsp + 0x98], rax
cmp dword [rsp + 0x90], 5
jne 0x180251fe5
mov rcx, qword [rsp + 0x98]
call fcn.180283998
test eax, eax
je 0x180251fd7
mov rcx, qword [rsp + 0x88]
call fcn.180271970
test eax, eax
jne 0x180251fe5
mov eax, dword [rsp + 0x94]
mov dword [rsp + 0x90], eax
mov eax, dword [rsp + 0x94]
cmp dword [rsp + 0x90], eax
je 0x180252125
cmp dword [rsp + 0x94], 5
je 0x180252011
cmp dword [rsp + 0x90], 5
jne 0x180252125
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x4e]
test eax, eax
je 0x18025202c
mov rax, qword [rsp + 0x50]
cmp dword [rax + 0xa0], 1
jle 0x180252090
mov dword [rsp + 0x40], 1
cmp dword [rsp + 0x90], 5
jne 0x18025204f
lea rax, str.into
mov qword [rsp + 0x2d8], rax
jmp 0x18025205e
lea rax, str.out_of
mov qword [rsp + 0x2d8], rax
mov rax, qword [rsp + 0x380]
add rax, 0x58
mov r9, qword [rsp + 0x2d8]
lea r8, str.cannot_change__s_wal_mode_from_within_a_transaction
mov rdx, qword [rsp + 0x50]
mov rcx, rax
call fcn.180287188
jmp case.default.0x180249fa4
cmp dword [rsp + 0x94], 5
jne 0x1802520c8
mov rcx, qword [rsp + 0x88]
call fcn.1802716e4
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
jne 0x1802520c6
mov edx, dword [rsp + 0x90]
mov rcx, qword [rsp + 0x88]
call fcn.180271bac
jmp 0x1802520e4
cmp dword [rsp + 0x94], 4
jne 0x1802520e4
mov edx, 2
mov rcx, qword [rsp + 0x88]
call fcn.180271bac
cmp dword [rsp + 0x40], 0
jne 0x180252125
cmp dword [rsp + 0x90], 5
jne 0x180252102
mov dword [rsp + 0x224], 2
jmp 0x18025210d
mov dword [rsp + 0x224], 1
mov edx, dword [rsp + 0x224]
mov rcx, qword [rsp + 0x80]
call fcn.18025e6d0
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x18025213a
mov eax, dword [rsp + 0x94]
mov dword [rsp + 0x90], eax
mov edx, dword [rsp + 0x90]
mov rcx, qword [rsp + 0x88]
call fcn.180271bac
mov dword [rsp + 0x90], eax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov eax, 0xa02
mov rcx, qword [rsp + 0x60]
mov word [rcx + 0x24], ax
mov ecx, dword [rsp + 0x90]
call fcn.1802225a0
mov rcx, qword [rsp + 0x60]
mov qword [rcx + 8], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 8]
call fcn.180283998
mov rcx, qword [rsp + 0x60]
mov dword [rcx + 0x20], eax
mov rax, qword [rsp + 0x60]
mov byte [rax + 0x27], 1
movzx eax, byte [rsp + 0x58]
mov edx, eax
mov rcx, qword [rsp + 0x60]
call fcn.18025d37c
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x380]
add rax, 0x58
mov rdx, qword [rsp + 0x50]
mov rcx, rax
call fcn.18020d64c
mov dword [rsp + 0x40], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax + 8]
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x80]
call fcn.18026800c
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0x65
jne 0x18025223d
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x40], 0
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
cmp dword [rax + 4], 0
jne 0x180252259
mov rcx, qword [rsp + 0x50]
call fcn.180255e28
jmp 0x180252278
mov rax, qword [rsp + 0x380]
mov eax, dword [rax + 0x9c]
or eax, 0x20
mov rcx, qword [rsp + 0x380]
mov dword [rcx + 0x9c], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
mov al, byte [rax + 0xc]
mov byte [rsp + 0x1b1], al
movzx eax, byte [rsp + 0x1b1]
test eax, eax
jne 0x1802522ad
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x2c]
and eax, 0x4000
test eax, eax
jne 0x180252336
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 4]
mov dword [rsp + 0x2b4], eax
movsxd rax, dword [rsp + 0x2b4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x20]
mov r8b, byte [rsp + 0x1b1]
mov rdx, qword [rsp + 0x48]
mov edx, dword [rdx + 8]
mov rcx, qword [rcx + rax + 8]
call fcn.18025e8f0
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x40]
and eax, 0xff
cmp eax, 6
jne 0x180252336
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x340], rax
mov rax, qword [rsp + 0x380]
add rax, 0x58
mov r9, qword [rsp + 0x340]
lea r8, str.database_table_is_locked:__s
mov rdx, qword [rsp + 0x50]
mov rcx, rax
call fcn.180287188
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x80], rax
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x50]
call fcn.18020ba80
mov dword [rsp + 0x40], eax
cmp qword [rsp + 0x80], 0
je 0x180252386
mov rax, qword [rsp + 0x80]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0x380]
call fcn.180255ca8
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x380]
add rax, 0x58
mov r9, rax
mov rax, qword [rsp + 0x48]
mov r8, qword [rax + 0x10]
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x50]
call fcn.18020c0f8
mov dword [rsp + 0x40], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x380]
mov eax, dword [rax + 0x9c]
and eax, 0xfffffff3
or eax, 8
mov rcx, qword [rsp + 0x380]
mov dword [rcx + 0x9c], eax
mov rax, qword [rsp + 0x48]
mov r8, qword [rax + 0x10]
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x50]
call fcn.18020bda8
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x380]
mov eax, dword [rax + 0x9c]
and eax, 0xfffffff3
mov rcx, qword [rsp + 0x380]
mov dword [rcx + 0x9c], eax
jmp case.default.0x180249fa4
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
mov qword [rsp + 0x98], rax
lea rdx, [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x98]
call qword [rax + 0x30]
mov dword [rsp + 0x40], eax
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x380]
call fcn.180255ca8
cmp dword [rsp + 0x40], 0
jne 0x18025253a
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
mov qword [rax], rcx
mov dword [rsp + 0x20], 0
mov r9d, 0xffffffff
xor r8d, r8d
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
call fcn.1802534b0
mov qword [rsp + 0x80], rax
cmp qword [rsp + 0x80], 0
je 0x18025251e
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
mov qword [rax + 0x30], rcx
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x80]
mov rax, qword [rax]
mov qword [rcx + 0x38], rax
jmp 0x18025253a
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x50], 1
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x98]
call qword [rax + 0x38]
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
mov eax, 0x38
imul rax, rax, 1
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x98]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x90]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x84], eax
mov dword [rsp + 0xb8], 0
mov rax, qword [rsp + 0x380]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0xc0], rax
mov dword [rsp + 0xbc], 0
jmp 0x180252639
mov eax, dword [rsp + 0xbc]
inc eax
mov dword [rsp + 0xbc], eax
mov eax, dword [rsp + 0x80]
cmp dword [rsp + 0xbc], eax
jge 0x180252695
mov eax, dword [rsp + 0xbc]
inc eax
cdqe
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x98]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [rsp + 0xbc]
mov rdx, qword [rsp + 0xc0]
mov qword [rdx + rcx*8], rax
movsxd rax, dword [rsp + 0xbc]
mov rcx, qword [rsp + 0xc0]
mov rcx, qword [rcx + rax*8]
call fcn.180253640
jmp 0x180252629
mov rax, qword [rsp + 0x380]
mov eax, dword [rax + 0x9c]
and eax, 0xfffffff3
or eax, 4
mov rcx, qword [rsp + 0x380]
mov dword [rcx + 0x9c], eax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x80]
mov rax, qword [rsp + 0x48]
mov r8, qword [rax + 0x10]
mov edx, dword [rsp + 0x84]
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x88]
call qword [rax + 0x40]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x380]
mov eax, dword [rax + 0x9c]
and eax, 0xfffffff3
mov rcx, qword [rsp + 0x380]
mov dword [rcx + 0x9c], eax
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x380]
call fcn.180255ca8
cmp dword [rsp + 0x40], 0
jne 0x180252748
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x88]
call qword [rax + 0x50]
mov dword [rsp + 0xb8], eax
cmp dword [rsp + 0xb8], 0
je 0x180252760
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0xb0]
mov byte [rax + 0x28], 0
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x2c0], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x2c0]
movzx eax, byte [rax + 0x28]
test eax, eax
je 0x1802527d4
mov rcx, qword [rsp + 0x90]
call fcn.18025c840
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x2c0]
mov rax, qword [rax + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0x98]
mov rdi, rax
xor eax, eax
mov ecx, 0x68
rep stosb byte [rdi], al
mov rdx, qword [rsp + 0x90]
lea rcx, [rsp + 0xa0]
call fcn.18025c44c
movzx eax, word [rsp + 0xc4]
and eax, 0xffffbe00
or eax, 1
mov word [rsp + 0xc4], ax
mov rax, qword [rsp + 0x48]
mov r8d, dword [rax + 8]
lea rdx, [rsp + 0x98]
mov rax, qword [rsp + 0x2c0]
mov rcx, qword [rax + 0x30]
mov rax, qword [rsp + 0x88]
call qword [rax + 0x58]
mov dword [rsp + 0x40], eax
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x380]
call fcn.180255ca8
cmp dword [rsp + 0xf4], 0
je 0x180252895
mov eax, dword [rsp + 0xf4]
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp + 0x58]
mov edx, eax
lea rcx, [rsp + 0xa0]
call fcn.18025d37c
lea rdx, [rsp + 0xa0]
mov rcx, qword [rsp + 0x90]
call fcn.18025c44c
mov rcx, qword [rsp + 0x90]
call fcn.18025c5fc
test eax, eax
je 0x1802528d4
jmp 0x180252f58
jmp case.default.0x180249fa4
mov dword [rsp + 0x90], 0
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + 0x380]
mov rcx, qword [rcx + 0x70]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
movzx eax, byte [rax + 0x28]
test eax, eax
je 0x18025291a
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x380]
mov eax, dword [rax + 0x9c]
and eax, 0xfffffff3
or eax, 4
mov rcx, qword [rsp + 0x380]
mov dword [rcx + 0x9c], eax
mov rax, qword [rsp + 0x98]
mov rcx, qword [rax + 0x30]
mov rax, qword [rsp + 0x88]
call qword [rax + 0x48]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x380]
mov eax, dword [rax + 0x9c]
and eax, 0xfffffff3
mov rcx, qword [rsp + 0x380]
mov dword [rcx + 0x9c], eax
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x380]
call fcn.180255ca8
cmp dword [rsp + 0x40], 0
jne 0x1802529da
mov rax, qword [rsp + 0x98]
mov rcx, qword [rax + 0x30]
mov rax, qword [rsp + 0x88]
call qword [rax + 0x50]
mov dword [rsp + 0x90], eax
cmp dword [rsp + 0x90], 0
jne 0x1802529f2
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
mov dword [rsp + 0x70], eax
jmp 0x180249fb4
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov edx, 1
mov rcx, qword [rsp + 0x88]
call fcn.18025d37c
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
jne 0x180252aa6
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rcx + 8]
mov rcx, qword [rsp + 0x80]
call qword [rax + 0x98]
mov dword [rsp + 0x40], eax
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x380]
call fcn.180255ca8
mov rax, qword [rsp + 0x380]
mov eax, dword [rax + 0x9c]
and eax, 0xffffffdf
mov rcx, qword [rsp + 0x380]
mov dword [rcx + 0x9c], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
mov dword [rsp + 0x90], eax
mov rax, qword [rsp + 0x88]
cmp qword [rax + 0x68], 0
je 0x180252cd0
mov rax, qword [rsp + 0x50]
mov al, byte [rax + 0x54]
mov byte [rsp + 0x1b2], al
mov rax, qword [rsp + 0x380]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xa8], rax
mov dword [rsp + 0x94], 0
jmp 0x180252b55
mov eax, dword [rsp + 0x94]
inc eax
mov dword [rsp + 0x94], eax
mov eax, dword [rsp + 0x90]
cmp dword [rsp + 0x94], eax
jge 0x180252ba4
mov rcx, qword [rsp + 0xa8]
call fcn.180253640
movsxd rax, dword [rsp + 0x94]
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
mov qword [rcx + rax*8], rdx
mov rax, qword [rsp + 0xa8]
add rax, 0x38
mov qword [rsp + 0xa8], rax
jmp 0x180252b45
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov cl, byte [rcx + 3]
mov byte [rax + 0x54], cl
lea r9, [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
mov edx, dword [rsp + 0x90]
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
call qword [rax + 0x68]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x50]
mov cl, byte [rsp + 0x1b2]
mov byte [rax + 0x54], cl
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x380]
call fcn.180255ca8
cmp dword [rsp + 0x40], 0
jne 0x180252c39
mov rax, qword [rsp + 0x48]
cmp dword [rax + 4], 0
je 0x180252c39
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x1c8], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x1c8]
mov qword [rax + 0x30], rcx
mov eax, dword [rsp + 0x40]
and eax, 0xff
cmp eax, 0x13
jne 0x180252cb2
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
movzx eax, byte [rax + 0x1c]
test eax, eax
je 0x180252cb2
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
cmp eax, 4
jne 0x180252c70
mov dword [rsp + 0x40], 0
jmp 0x180252cb0
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
cmp eax, 5
jne 0x180252c8b
mov dword [rsp + 0x22c], 2
jmp 0x180252c9b
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 3]
mov dword [rsp + 0x22c], eax
mov rax, qword [rsp + 0x380]
mov cl, byte [rsp + 0x22c]
mov byte [rax + 0x98], cl
jmp 0x180252cd0
mov rax, qword [rsp + 0x380]
mov eax, dword [rax + 0xa0]
inc eax
mov rcx, qword [rsp + 0x380]
mov dword [rcx + 0xa0], eax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x20]
mov rcx, qword [rcx + rax + 8]
call fcn.18026a900
mov eax, eax
mov rcx, qword [rsp + 0x60]
mov qword [rcx + 0x18], rax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rax, rax, 0x20
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax + 8]
mov qword [rsp + 0x2e0], rax
mov dword [rsp + 0x1d4], 0
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0xc], 0
je 0x180252d72
mov rcx, qword [rsp + 0x2e0]
call fcn.18026a900
mov dword [rsp + 0x1d4], eax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0xc]
cmp dword [rsp + 0x1d4], eax
jae 0x180252d72
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x1d4], eax
mov edx, dword [rsp + 0x1d4]
mov rcx, qword [rsp + 0x2e0]
call fcn.180269804
cdqe
mov rcx, qword [rsp + 0x60]
mov qword [rcx + 0x18], rax
jmp case.default.0x180249fa4
mov rax, qword [rsp + 0x50]
cmp qword [rax + 0xb8], 0
je case.default.0x180249fa4
mov rax, qword [rsp + 0x380]
mov eax, dword [rax + 0x9c]
shr eax, 0xb
and eax, 1
test eax, eax
jne case.default.0x180249fa4
mov rax, qword [rsp + 0x48]
cmp qword [rax + 0x10], 0
je 0x180252de4
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x2f0], rax
jmp 0x180252dfb
mov rax, qword [rsp + 0x380]
mov rax, qword [rax + 0xf0]
mov qword [rsp + 0x2f0], rax
mov rax, qword [rsp + 0x2f0]
mov qword [rsp + 0x80], rax
cmp qword [rsp + 0x80], 0
je case.default.0x180249fa4
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x380]
call fcn.1802536c0
mov qword [rsp + 0x88], rax
mov rdx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 0xc0]
mov rax, qword [rsp + 0x50]
call qword [rax + 0xb8]
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x50]
call fcn.18028780c
jmp 0x180249eb1
mov rax, qword [rsp + 0x380]
mov ecx, dword [rsp + 0x40]
mov dword [rax + 0x94], ecx
mov rax, qword [rsp + 0x380]
mov rax, qword [rax + 0x58]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x380]
mov r9, qword [rax + 0xf0]
mov r8d, dword [rsp + 0x70]
lea rdx, str.statement_aborts_at__d:___s___s
mov ecx, dword [rsp + 0x40]
call fcn.180284dd0
mov rcx, qword [rsp + 0x380]
call fcn.180257554
cmp dword [rsp + 0x40], 0xc0a
jne 0x180252ed0
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x50], 1
mov dword [rsp + 0x40], 1
movzx eax, byte [rsp + 0x1b0]
test eax, eax
jle 0x180252efa
movzx eax, byte [rsp + 0x1b0]
dec eax
mov edx, eax
mov rcx, qword [rsp + 0x50]
call fcn.180236668
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x1c8]
mov qword [rax + 0x30], rcx
mov eax, 4
imul rax, rax, 4
mov rcx, qword [rsp + 0x380]
mov eax, dword [rcx + rax + 0xb0]
add eax, dword [rsp + 0x1b8]
mov ecx, 4
imul rcx, rcx, 4
mov rdx, qword [rsp + 0x380]
mov dword [rdx + rcx + 0xb0], eax
mov rcx, qword [rsp + 0x380]
call fcn.18025996c
mov eax, dword [rsp + 0x40]
jmp 0x180253050
mov rax, qword [rsp + 0x380]
add rax, 0x58
lea r8, [0x18039d368]
mov rdx, qword [rsp + 0x50]
mov rcx, rax
call fcn.180287188
mov dword [rsp + 0x40], 0x12
jmp 0x180252e69
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x50], 1
mov rax, qword [rsp + 0x380]
add rax, 0x58
lea r8, [0x18039d358]
mov rdx, qword [rsp + 0x50]
mov rcx, rax
call fcn.180287188
mov dword [rsp + 0x40], 7
jmp 0x180252e69
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x50]
test eax, eax
je 0x180252fd0
mov dword [rsp + 0x40], 7
cmp dword [rsp + 0x40], 0xc0a
je 0x180253003
mov ecx, dword [rsp + 0x40]
call fcn.1801f705c
mov rcx, qword [rsp + 0x380]
add rcx, 0x58
mov r9, rax
lea r8, [0x18039bcf4]
mov rdx, qword [rsp + 0x50]
call fcn.180287188
jmp 0x180252e69
mov dword [rsp + 0x40], 9
mov rax, qword [rsp + 0x380]
mov ecx, dword [rsp + 0x40]
mov dword [rax + 0x94], ecx
mov ecx, dword [rsp + 0x40]
call fcn.1801f705c
mov rcx, qword [rsp + 0x380]
add rcx, 0x58
mov r9, rax
lea r8, [0x18039bce4]
mov rdx, qword [rsp + 0x50]
call fcn.180287188
jmp 0x180252e69
add rsp, 0x368
pop rdi
pop rsi
ret