Function at 0x180023c94
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x4a8
mov r14, qword [rcx + 8]
mov r12, rcx
xor ecx, ecx
mov r13, qword [r12]
mov rdi, qword [r12 + 0x10]
mov dword [rsp + 0x508], ecx
mov rax, qword [r13 + 0x20]
mov sil, cl
mov byte [rsp + 0x4f8], cl
mov rdx, qword [rax + 0x18]
mov dword [rsp + 0xc0], ecx
mov dword [rsp + 0x80], ecx
mov bl, byte [rdx + 0x71]
mov dword [rsp + 0x7c], ecx
mov rbp, rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x120], rcx
mov byte [rsp + 0x500], bl
mov rbx, qword [r13 + 0x30]
mov rcx, r12
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0xb0], rbx
call fcn.18001f5b4
cmp dword [r12 + 0x84], 7
je 0x180029196
xor r11d, r11d
lea r15d, [rbp + 1]
mov dword [r12 + 0x84], r11d
mov qword [r12 + 0xc0], r11
mov qword [r12 + 0x28], r11
mov eax, dword [r13 + 0x138]
mov dword [r13 + 0x2a8], r11d
cmp eax, r11d
jne 0x1800292f9
cmp qword [r13 + 0x180], r11
je 0x180023d98
mov eax, dword [r12 + 0xb0]
cmp eax, r11d
jne 0x180023d8b
mov eax, dword [r13 + 0x190]
mov dword [rsp + 0x7c], eax
jmp 0x180023d98
xor edx, edx
div dword [r13 + 0x190]
mov dword [rsp + 0x7c], edx
mov ecx, dword [r12 + 0x80]
mov r10d, 2
mov dword [rsp + 0x40], ecx
lea r9d, [r10 + 2]
mov edx, 0x2460
cmp byte [r13 + 0x50], r11b
jne 0x18002918e
mov r8d, dword [rsp + 0x80]
movsxd rbx, ecx
add r8d, r15d
lea rsi, [rbx + rbx*2]
mov dword [rsp + 0x80], r8d
test byte [r14 + rsi*8 + 2], r10b
je 0x180023e15
movsxd rbp, dword [r14 + rsi*8 + 8]
imul rbp, rbp, 0x38
add rbp, rdi
mov qword [rsp + 0x48], rbp
test word [rbp + 0x24], dx
je 0x180023e10
mov rcx, rbp
call fcn.18001de14
mov r8d, dword [rsp + 0x80]
xor r11d, r11d
lea r10d, [r11 + 2]
lea r9d, [r11 + 4]
mov word [rbp + 0x24], r9w
movzx edx, byte [r14 + rsi*8]
lea eax, [rdx - 1]
cmp eax, 0x9b
ja case.default.0x180023e3e
cdqe
lea rcx, [0x180000000]
mov ecx, dword [rcx + rax*4 + 0x293d4]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov edx, dword [r14 + rsi*8 + 8]
dec edx
xor edi, edi
mov dword [rsp + 0x40], edx
jmp 0x180028df3
movsxd rax, dword [r14 + rsi*8 + 4]
imul rax, rax, 0x38
mov word [rax + rdi + 0x24], r9w
mov qword [rax + rdi + 0x18], rbx
mov ecx, dword [r14 + rsi*8 + 8]
sub ecx, r15d
mov dword [rsp + 0x40], ecx
mov ecx, dword [rsp + 0x508]
jmp 0x1800241d7
movsxd rax, dword [r14 + rsi*8 + 4]
mov ecx, 0x80
imul rax, rax, 0x38
add rax, rdi
mov edi, dword [rax + 0x18]
mov word [rax + 0x24], cx
mov ecx, dword [rsp + 0x508]
jmp 0x1800241db
mov eax, dword [r14 + rsi*8 + 0xc]
movsxd rbp, dword [r14 + rsi*8 + 4]
sub eax, r15d
cdqe
imul rbp, rbp, 0x38
add rbp, rdi
mov qword [rsp + 0x48], rbp
mov qword [rbp + 0x18], rax
mov word [rbp + 0x24], r9w
mov eax, dword [r14 + rsi*8 + 8]
cmp eax, r11d
je case.default.0x180023e3e
lea ecx, [rax - 1]
jmp 0x180023e6e
movsxd rdx, dword [r14 + rsi*8 + 4]
imul rdx, rdx, 0x38
mov rax, qword [rdx + rdi + 0x18]
lea rcx, [rax + rax*2]
mov eax, 0x80
mov ecx, dword [r14 + rcx*8 + 8]
mov word [rdx + rdi + 0x24], ax
jmp 0x180023e6b
movsxd rax, dword [r14 + rsi*8 + 4]
imul rax, rax, 0x38
mov ecx, dword [rax + rdi + 0x18]
mov word [rax + rdi + 0x24], r9w
mov qword [rax + rdi + 0x18], rbx
jmp 0x180023e6e
movsxd rax, dword [r14 + rsi*8 + 0xc]
imul rax, rax, 0x38
test byte [rax + rdi + 0x24], r15b
je case.default.0x180023e3e
cmp dword [r14 + rsi*8 + 4], r11d
jne 0x180029126
mov r8, qword [r12 + 0xf0]
cmp r8, r11
je 0x180029126
mov rax, qword [r8 + 8]
mov qword [r12 + 0xf0], rax
or rax, 0xffffffffffffffff
add dword [r12 + 0x100], eax
mov eax, dword [r12 + 0x90]
add dword [r13 + 0x64], eax
mov dword [r13 + 0x60], eax
mov rax, qword [r8 + 0x20]
mov rdx, qword [r8]
mov rcx, qword [rdx]
mov qword [rdx + 0x118], rax
mov eax, dword [r8 + 0x50]
mov dword [rdx + 0x110], eax
mov rax, qword [r8 + 0x10]
mov qword [rdx + 8], rax
mov eax, dword [r8 + 0x48]
mov dword [rdx + 0x3c], eax
mov rax, qword [r8 + 0x18]
mov qword [rdx + 0x10], rax
mov eax, dword [r8 + 0x4c]
mov dword [rdx + 0x38], eax
mov rax, qword [r8 + 0x28]
mov qword [rdx + 0x60], rax
mov eax, dword [r8 + 0x40]
mov dword [rdx + 0x40], eax
mov rax, qword [r8 + 0x38]
mov qword [rcx + 0x30], rax
mov eax, dword [r8 + 0x5c]
mov dword [rdx + 0x90], eax
movsxd rcx, dword [r8 + 0x44]
mov rbx, qword [r13 + 0x30]
mov dword [rsp + 0x40], ecx
mov qword [rsp + 0xb0], rbx
cmp dword [r14 + rsi*8 + 8], r9d
jne 0x180023ffe
mov rax, qword [r12 + 8]
lea rcx, [rcx + rcx*2]
mov r15d, 1
mov ecx, dword [rax + rcx*8 + 8]
dec ecx
mov dword [rsp + 0x40], ecx
mov r14, qword [r12 + 8]
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x60], rax
jmp case.default.0x180023e3e
movsxd rax, dword [r14 + rsi*8 + 4]
mov qword [rbp + 0x18], rax
jmp case.default.0x180023e3e
mov rax, qword [r14 + rsi*8 + 0x10]
mov rcx, qword [rax]
mov qword [rbp + 0x18], rcx
jmp case.default.0x180023e3e
mov eax, 8
mov word [rbp + 0x24], ax
mov rax, qword [r14 + rsi*8 + 0x10]
mov rcx, qword [rax]
mov qword [rbp + 0x10], rcx
jmp case.default.0x180023e3e
mov rdx, qword [r14 + rsi*8 + 0x10]
xor edi, edi
mov byte [r14 + rsi*8], 0x1b
mov rax, rdx
cmp rdx, rdi
jne 0x180024068
mov eax, edi
jmp 0x18002407c
cmp byte [rdx], dil
je 0x180024075
inc rax
cmp byte [rax], dil
jne 0x18002406d
sub eax, edx
and eax, 0x3fffffff
mov bl, byte [rsp + 0x500]
mov dword [r14 + rsi*8 + 4], eax
mov eax, 1
cmp bl, al
je 0x180024122
or r15, 0xffffffffffffffff
mov r9b, al
mov rcx, rbp
mov r8d, r15d
mov qword [rsp + 0x20], rdi
call fcn.18001e308
mov dword [rsp + 0x508], eax
cmp eax, 0x12
je 0x1800292e7
lea r8d, [r15 + 3]
movzx edx, bl
test byte [rbp + 0x24], r8b
je 0x1800240db
movzx ecx, byte [rbp + 0x26]
cmp ecx, edx
je 0x1800240db
mov rcx, rbp
call fcn.180007534
jmp 0x1800240dd
mov eax, edi
cmp eax, edi
jne 0x18002932a
mov eax, 0x800
mov qword [rbp + 0x30], rdi
or word [rbp + 0x24], ax
cmp byte [r14 + rsi*8 + 1], r15b
jne 0x180024106
mov rdx, qword [r14 + rsi*8 + 0x10]
mov rcx, r13
call fcn.180005a84
mov byte [r14 + rsi*8 + 1], r15b
mov rax, qword [rbp + 8]
mov r9d, 4
mov qword [r14 + rsi*8 + 0x10], rax
mov eax, dword [rbp + 0x20]
mov dword [r14 + rsi*8 + 4], eax
mov eax, dword [r13 + 0x68]
cmp dword [r14 + rsi*8 + 4], eax
jg 0x1800292e7
mov r15d, 1
jmp 0x180024140
mov bl, byte [rsp + 0x500]
mov eax, 0xa02
mov word [rbp + 0x24], ax
mov rax, qword [r14 + rsi*8 + 0x10]
mov qword [rbp + 8], rax
mov eax, dword [r14 + rsi*8 + 4]
mov byte [rbp + 0x26], bl
mov dword [rbp + 0x20], eax
mov ecx, dword [rsp + 0x508]
mov r10d, 2
jmp 0x1800241d7
mov ebx, dword [r14 + rsi*8 + 0xc]
mov eax, dword [r14 + rsi*8 + 4]
sub ebx, dword [r14 + rsi*8 + 8]
neg eax
mov eax, 0x100
sbb di, di
and di, ax
add di, r15w
cmp ebx, r11d
mov word [rbp + 0x24], di
jle case.default.0x180023e3e
mov esi, 0x2460
add rbp, 0x38
test word [rbp + 0x24], si
je 0x1800241b3
mov rcx, rbp
call fcn.18001de14
xor r11d, r11d
sub ebx, r15d
mov word [rbp + 0x24], di
cmp ebx, r11d
jg 0x18002419e
mov qword [rsp + 0x48], rbp
mov ecx, dword [rsp + 0x508]
mov r10d, 2
mov r9d, 4
mov edi, dword [rsp + 0x40]
add edi, r15d
mov dword [rsp + 0x40], edi
xor edi, edi
cmp ecx, edi
jne 0x180029354
mov ecx, dword [rsp + 0x40]
mov rdi, qword [rsp + 0x60]
xor r11d, r11d
jmp 0x180023dae
movsxd rbp, dword [r14 + rsi*8 + 4]
mov eax, 0xff7f
imul rbp, rbp, 0x38
add rbp, rdi
mov qword [rsp + 0x48], rbp
and word [rbp + 0x24], ax
or word [rbp + 0x24], r15w
jmp case.default.0x180023e3e
mov r8d, dword [r14 + rsi*8 + 4]
mov rdx, qword [r14 + rsi*8 + 0x10]
xor r9d, r9d
mov rcx, rbp
mov qword [rsp + 0x20], r11
call fcn.18001e308
mov al, byte [rsp + 0x500]
mov byte [rbp + 0x26], al
jmp 0x1800241c4
mov eax, dword [r14 + rsi*8 + 4]
dec eax
movsxd rdx, eax
imul rdx, rdx, 0x38
add rdx, qword [r12 + 0x68]
test byte [rdx + 0x24], 0x12
je 0x180024285
mov ecx, dword [rdx + 0x20]
mov eax, 0x4000
test word [rdx + 0x24], ax
je 0x180024274
add ecx, dword [rdx + 0x18]
mov rax, qword [rdx]
xor edi, edi
cmp ecx, dword [rax + 0x68]
mov r8d, edi
setg r8b
jmp 0x18002428a
xor edi, edi
mov r8d, edi
cmp r8d, edi
jne 0x1800292e7
mov r8d, 0x800
mov rcx, rbp
call fcn.18001e1cc
mov r15d, 1
jmp 0x1800241c4
movsxd rdi, dword [r14 + rsi*8 + 4]
mov ebp, dword [r14 + rsi*8 + 0xc]
movsxd rsi, dword [r14 + rsi*8 + 8]
imul rdi, rdi, 0x38
imul rsi, rsi, 0x38
mov rax, qword [rsp + 0x60]
mov r13d, 0x80
mov r12d, 0x2460
add rdi, rax
add rsi, rax
test word [rsi + 0x24], r12w
je 0x1800242e9
mov rcx, rsi
call fcn.18001de14
mov rbx, qword [rsi + 0x30]
mov r8d, 0x38
mov rdx, rdi
mov rcx, rsi
call fcn.180062a8e
xor eax, eax
mov word [rdi + 0x24], r13w
mov qword [rdi + 0x28], rax
mov qword [rdi + 0x30], rbx
add rdi, 0x38
add rsi, 0x38
sub ebp, r15d
jne 0x1800242da
mov r12, qword [rsp + 0x4f0]
mov r13, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x508]
mov qword [rsp + 0x48], rsi
mov rbp, rsi
jmp 0x1800241cb
movsxd rbx, dword [r14 + rsi*8 + 4]
movsxd rbp, dword [r14 + rsi*8 + 8]
mov rax, qword [rsp + 0x60]
imul rbx, rbx, 0x38
imul rbp, rbp, 0x38
mov edi, dword [r14 + rsi*8 + 0xc]
add rbx, rax
mov esi, 0x1000
add rbp, rax
mov r8d, esi
mov rdx, rbx
mov rcx, rbp
mov qword [rsp + 0x48], rbp
call fcn.18001e1cc
test word [rbp + 0x24], si
je 0x18002438b
mov rcx, rbp
call fcn.18001db7c
test eax, eax
jne 0x18002918e
mov eax, edi
sub edi, r15d
test eax, eax
je 0x1800241c4
add rbp, 0x38
add rbx, 0x38
jmp 0x180024362
movsxd rbp, dword [r14 + rsi*8 + 8]
movsxd rdx, dword [r14 + rsi*8 + 4]
imul rbp, rbp, 0x38
imul rdx, rdx, 0x38
add rbp, rdi
add rdx, rdi
mov qword [rsp + 0x48], rbp
mov r8d, 0x1000
mov rcx, rbp
call fcn.18001e1cc
jmp 0x1800241c4
mov rax, qword [r13 + 0x180]
cmp rax, r11
je 0x1800243fe
cmp r8d, dword [rsp + 0x7c]
jb 0x1800243fe
mov rcx, qword [r13 + 0x188]
call rax
xor r11d, r11d
cmp eax, r11d
jne 0x180029174
lea r9d, [r11 + 4]
cmp qword [r12 + 0xc8], r11
jle 0x180024431
mov r10d, 2
mov dword [r12 + 0x84], 0x313
mov byte [r12 + 0x8a], r10b
mov ecx, r15d
mov dword [rsp + 0x508], ecx
jmp 0x1800241d7
mov edx, 1
mov rcx, r12
call fcn.180020760
xor ecx, ecx
mov dword [rsp + 0x508], eax
cmp eax, ecx
jne 0x1800242a1
mov eax, dword [r12 + 0x7c]
mov ebx, ecx
add eax, 2
or eax, 1
mov dword [r12 + 0x7c], eax
movsxd rax, dword [r14 + rsi*8 + 4]
imul rax, rax, 0x38
add rdi, rax
mov qword [r12 + 0x28], rdi
cmp dword [r14 + rsi*8 + 8], ecx
jle 0x1800244bd
lea rbp, [rdi + 0x24]
mov eax, 0x1000
test word [rbp], ax
je 0x1800244a1
movsxd rcx, ebx
imul rcx, rcx, 0x38
add rcx, rdi
call fcn.18001db7c
xor ecx, ecx
cmp eax, ecx
jne 0x18002918e
movsxd rcx, ebx
imul rcx, rcx, 0x38
add rcx, rdi
call fcn.18001dc54
inc ebx
add rbp, 0x38
cmp ebx, dword [r14 + rsi*8 + 8]
jl 0x18002447d
xor edi, edi
cmp byte [r13 + 0x50], dil
jne 0x18002932a
mov eax, dword [rsp + 0x40]
lea ebx, [rdi + 0x64]
inc eax
mov dword [r12 + 0x80], eax
jmp 0x18002939a
movsxd rbx, dword [r14 + rsi*8 + 8]
movsxd rbp, dword [r14 + rsi*8 + 4]
movsxd rsi, dword [r14 + rsi*8 + 0xc]
imul rbx, rbx, 0x38
imul rbp, rbp, 0x38
imul rsi, rsi, 0x38
add rbx, rdi
add rbp, rdi
add rsi, rdi
mov al, byte [rbx + 0x24]
mov qword [rsp + 0x48], rsi
or al, byte [rbp + 0x24]
test al, 1
je 0x180024522
mov rbp, rsi
mov rcx, rbp
call fcn.18001e090
jmp 0x1800242a1
mov ecx, 0x4000
test word [rbp + 0x24], cx
je 0x18002453e
mov rcx, rbp
call fcn.18001dbf0
xor edi, edi
mov ecx, 0x4000
jmp 0x180024542
xor edi, edi
mov eax, edi
cmp eax, edi
jne 0x18002932a
test word [rbx + 0x24], cx
je 0x18002455a
mov rcx, rbx
call fcn.18001dbf0
jmp 0x18002455c
mov eax, edi
cmp eax, edi
jne 0x18002932a
test byte [rbp + 0x24], 0x12
jne 0x180024588
movzx r15d, byte [rsp + 0x500]
mov rcx, rbp
mov edx, r15d
call fcn.18001dcb8
cmp eax, edi
jne 0x18002932a
jmp 0x180024590
mov r15b, byte [rsp + 0x500]
test byte [rbx + 0x24], 0x12
jne 0x1800245aa
movzx edx, r15b
mov rcx, rbx
call fcn.18001dcb8
cmp eax, edi
jne 0x18002932a
mov eax, dword [rbx + 0x20]
add eax, dword [rbp + 0x20]
movsxd rdi, eax
movsxd rax, dword [r13 + 0x68]
cmp rdi, rax
jg 0x1800292e5
xor eax, eax
cmp rsi, rbx
lea edx, [rdi + 2]
mov r8d, eax
sete r8b
mov rcx, rsi
call fcn.18001da68
test eax, eax
jne 0x18002918e
mov eax, 0xbe02
mov r8d, 2
and word [rsi + 0x24], ax
or word [rsi + 0x24], r8w
cmp rsi, rbx
je 0x180024609
movsxd r8, dword [rbx + 0x20]
mov rdx, qword [rbx + 8]
mov rcx, qword [rsi + 8]
call fcn.180062a8e
movsxd rcx, dword [rbx + 0x20]
movsxd r8, dword [rbp + 0x20]
mov rdx, qword [rbp + 8]
add rcx, qword [rsi + 8]
call fcn.180062a8e
mov r11, qword [rsi + 8]
xor ecx, ecx
mov byte [rdi + r11], cl
mov rax, qword [rsi + 8]
mov rbp, rsi
mov byte [rdi + rax + 1], cl
mov eax, 0x200
mov dword [rsi + 0x20], edi
or word [rsi + 0x24], ax
mov byte [rsi + 0x26], r15b
jmp 0x1800242a1
movsxd rbx, dword [r14 + rsi*8 + 4]
imul rbx, rbx, 0x38
add rbx, rdi
mov rcx, rbx
call fcn.180023c24
movsxd rdi, dword [r14 + rsi*8 + 8]
mov rcx, qword [rsp + 0x60]
imul rdi, rdi, 0x38
add rdi, rcx
movzx r13d, ax
mov rcx, rdi
call fcn.180023c24
movsxd r15, dword [r14 + rsi*8 + 0xc]
mov cl, byte [rdi + 0x24]
imul r15, r15, 0x38
add r15, qword [rsp + 0x60]
or cl, byte [rbx + 0x24]
movzx ebp, ax
mov eax, 1
mov qword [rsp + 0x48], r15
test al, cl
jne 0x1800248fa
mov cl, bpl
lea r9d, [rax + 3]
and cl, r13b
test r9b, cl
je 0x18002485e
movzx r8d, byte [r14 + rsi*8]
mov rdx, qword [rdi + 0x18]
mov rcx, qword [rbx + 0x18]
sub r8d, 0x59
mov qword [rsp + 0xa0], rdx
mov r12b, al
je 0x180024809
mov r15, rax
sub r8d, r15d
je 0x1800247d2
sub r8d, r15d
je 0x180024741
xor eax, eax
cmp r8d, r15d
je 0x180024710
cmp rcx, rax
je 0x1800248f2
or rax, 0xffffffffffffffff
cmp rcx, rax
mov rax, rdx
cqo
cmove rcx, r15
idiv rcx
jmp 0x18002482f
cmp rcx, rax
je 0x1800248f2
or rax, 0xffffffffffffffff
cmp rcx, rax
jne 0x180024731
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x180024759
mov rax, rdx
cqo
idiv rcx
mov rdx, rax
jmp 0x18002482f
mov rdx, rcx
lea rcx, [rsp + 0xa0]
call fcn.1800088f4
test eax, eax
je 0x180024821
mov r15, qword [rsp + 0x48]
mov rcx, rbx
call fcn.18001df3c
mov rcx, rdi
movapd xmm2, xmm0
call fcn.18001df3c
movzx ecx, byte [r14 + rsi*8]
sub ecx, 0x59
movapd xmm3, xmm0
je 0x18002488e
mov edi, 1
sub ecx, edi
je 0x180024880
sub ecx, edi
je 0x18002487a
cmp ecx, edi
je 0x180024868
cvttsd2si rcx, xmm2
cvttsd2si rax, xmm0
test rcx, rcx
je 0x1800248f2
or rdx, 0xffffffffffffffff
pxor xmm3, xmm3
cmp rcx, rdx
cqo
cmove rcx, rdi
idiv rcx
cvtsi2sd xmm3, rdx
jmp 0x180024892
movabs r8, 0x8000000000000000
cmp rcx, r8
jne 0x1800247f1
xor eax, eax
cmp rdx, rax
jge 0x180024759
sub rdx, r8
jmp 0x18002482f
neg rcx
mov rdx, rcx
lea rcx, [rsp + 0xa0]
call fcn.1800088a4
jmp 0x180024751
mov rdx, rcx
lea rcx, [rsp + 0xa0]
call fcn.1800088a4
test eax, eax
jne 0x18002475e
mov rdx, qword [rsp + 0xa0]
mov r9d, 4
mov rbp, qword [rsp + 0x48]
mov r12, qword [rsp + 0x4f0]
mov r13, qword [rsp + 0x50]
mov eax, 0xbe04
mov qword [rbp + 0x18], rdx
mov r15d, 1
and word [rbp + 0x24], ax
or word [rbp + 0x24], r9w
jmp 0x18002415d
xor eax, eax
mov r12b, al
jmp 0x18002475e
ucomisd xmm2, qword [0x18006a518]
jp 0x180024874
je 0x1800248f2
divsd xmm3, xmm2
jmp 0x180024892
mulsd xmm3, xmm2
jmp 0x180024892
xorpd xmm0, xmm0
subsd xmm0, xmm2
addsd xmm3, xmm0
jmp 0x180024892
addsd xmm3, xmm2
movapd xmm0, xmm3
call fcn.180007a78
xor ecx, ecx
cmp eax, ecx
jne 0x1800248f2
lea edx, [rcx + 8]
or bpl, r13b
mov eax, 0xbe08
and word [r15 + 0x24], ax
or word [r15 + 0x24], dx
test dl, bpl
movsd qword [r15 + 0x10], xmm3
mov rbp, qword [rsp + 0x48]
jne 0x1800248d3
cmp r12b, cl
jne 0x1800248d3
mov rcx, rbp
call fcn.18001df90
mov r12, qword [rsp + 0x4f0]
mov ecx, dword [rsp + 0x508]
mov r13, qword [rsp + 0x50]
mov r15d, 1
jmp 0x1800241cb
mov r12, qword [rsp + 0x4f0]
mov rbp, qword [rsp + 0x48]
mov rcx, rbp
call fcn.18001e090
jmp 0x1800248db
movsxd rax, dword [r14 + rsi*8 + 4]
cmp eax, r11d
je case.default.0x180023e3e
mov rcx, rax
xor edx, edx
imul rcx, rcx, 0x38
add rcx, rdi
call fcn.18001e0dc
jmp 0x1800241c4
movsxd r15, dword [r14 + rsi*8 + 0xc]
movsxd rbx, dword [r14 + rsi*8 + 8]
movzx ebp, byte [r14 + rsi*8 + 3]
imul r15, r15, 0x38
imul rbx, rbx, 0x38
mov r13, qword [r12 + 0x18]
add r15, rdi
add rbx, rdi
cmp ebp, r11d
mov rdi, r11
mov qword [rsp + 0x48], r15
jle 0x180024996
mov eax, 0x1000
mov qword [r13 + rdi*8], rbx
test word [rbx + 0x24], ax
je 0x180024982
mov rcx, rbx
call fcn.18001db7c
test eax, eax
jne 0x18002930b
mov eax, 0x1000
inc rdi
add rbx, 0x38
cmp rdi, rbp
jl 0x180024962
mov r12, qword [rsp + 0x4f0]
mov rax, qword [r14 + rsi*8 + 0x10]
mov edi, dword [rsp + 0x40]
lea rcx, [rsp + 0x1d8]
mov r8d, 0x38
mov rdx, r15
mov qword [rsp + 0x1d0], rax
mov dword [rsp + 0x228], edi
mov qword [rsp + 0x220], r12
call fcn.180062a8e
xor ebx, ebx
mov ecx, 1
mov edx, 0xbe01
mov word [r15 + 0x24], cx
mov qword [r15 + 0x28], rbx
mov qword [r15 + 0x30], rbx
movzx eax, word [rsp + 0x1fc]
mov r9, qword [rsp + 0x1d0]
mov byte [rsp + 0x231], bl
and ax, dx
or ax, cx
mov word [rsp + 0x1fc], ax
test byte [r9 + 2], 0x20
je 0x180024a1e
mov rax, qword [r14 + rsi*8 - 8]
mov qword [rsp + 0x218], rax
mov r10, qword [rsp + 0x50]
mov rax, qword [rsp + 0xb0]
lea rcx, [rsp + 0x1d0]
mov r8, r13
mov edx, ebp
mov qword [r10 + 0x30], rax
call qword [r9 + 0x18]
mov r13, qword [rsp + 0x50]
mov rax, qword [r13 + 0x30]
mov qword [rsp + 0xb0], rax
cmp byte [r13 + 0x50], bl
jne 0x180029181
cmp byte [rsp + 0x231], bl
je 0x180024a8d
mov eax, dword [rsp + 0x22c]
mov ecx, dword [rsp + 0x508]
mov r8d, dword [r14 + rsi*8 + 4]
cmp eax, ebx
mov edx, edi
cmovne ecx, eax
mov dword [rsp + 0x508], ecx
mov rcx, r12
call fcn.180020d30
movzx ecx, byte [rsp + 0x500]
mov r8d, 2
test byte [rsp + 0x1fc], r8b
je 0x180024ac0
movzx eax, byte [rsp + 0x1fe]
cmp eax, ecx
je 0x180024ac0
mov dl, cl
lea rcx, [rsp + 0x1d8]
call fcn.180007534
lea rdx, [rsp + 0x1d8]
mov r8d, 0x38
mov rcx, r15
mov rbp, r15
call fcn.180062a8e
test byte [r15 + 0x24], 0x12
je 0x180024b02
mov ecx, dword [r15 + 0x20]
mov eax, 0x4000
test word [r15 + 0x24], ax
je 0x180024af4
add ecx, dword [r15 + 0x18]
mov rax, qword [rbp]
mov edx, ebx
cmp ecx, dword [rax + 0x68]
setg dl
jmp 0x180024b04
mov edx, ebx
cmp edx, ebx
jne 0x1800292e5
mov ecx, dword [rsp + 0x508]
mov r15d, 1
lea r10d, [r15 + 1]
lea r9d, [r15 + 3]
jmp 0x1800241db
movsxd rcx, dword [r14 + rsi*8 + 8]
movsxd rbx, dword [r14 + rsi*8 + 4]
movsxd rbp, dword [r14 + rsi*8 + 0xc]
imul rcx, rcx, 0x38
imul rbx, rbx, 0x38
imul rbp, rbp, 0x38
add rcx, rdi
add rbx, rdi
add rbp, rdi
mov al, byte [rcx + 0x24]
mov qword [rsp + 0x48], rbp
or al, byte [rbx + 0x24]
test al, 1
jne 0x180024515
call fcn.18001deb8
mov rcx, rbx
mov qword [rsp + 0x90], rax
call fcn.18001deb8
mov dil, byte [r14 + rsi*8]
mov rbx, rax
cmp dil, 0x55
jne 0x180024b8c
and qword [rsp + 0x90], rax
jmp 0x180024c78
cmp dil, 0x56
jne 0x180024b9f
or qword [rsp + 0x90], rax
jmp 0x180024c78
xor esi, esi
cmp rax, rsi
je 0x180024c78
jge 0x180024bcb
mov rcx, rbx
mov eax, 0xaf
sub al, dil
neg rcx
mov dil, al
mov rax, rbx
lea ebx, [rsi + 0x40]
cmp rax, 0xffffffffffffffc0
cmovg rbx, rcx
mov eax, 0x40
cmp rbx, rax
jl 0x180024bf9
cmp qword [rsp + 0x90], rsi
jge 0x180024beb
cmp dil, 0x57
je 0x180024beb
or rax, 0xffffffffffffffff
jmp 0x180024bed
mov eax, esi
cdqe
mov qword [rsp + 0x90], rax
jmp 0x180024c78
mov r15d, 8
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0xd0]
mov r8, r15
call fcn.180062a8e
mov rcx, rbx
cmp dil, 0x57
jne 0x180024c2a
shl qword [rsp + 0xd0], cl
jmp 0x180024c60
mov r8, qword [rsp + 0xd0]
shr r8, cl
cmp qword [rsp + 0x90], rsi
mov qword [rsp + 0xd0], r8
jge 0x180024c60
or rdx, 0xffffffffffffffff
mov ecx, 0x40
sub cl, bl
shl rdx, cl
or r8, rdx
mov qword [rsp + 0xd0], r8
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x90]
mov r8, r15
call fcn.180062a8e
mov rax, qword [rsp + 0x90]
mov r9d, 4
mov qword [rbp + 0x18], rax
mov eax, 0xbe04
and word [rbp + 0x24], ax
or word [rbp + 0x24], r9w
mov r15d, 1
jmp 0x18002415d
movsxd rbx, dword [r14 + rsi*8 + 4]
imul rbx, rbx, 0x38
add rbx, rdi
mov rcx, rbx
call fcn.18001dffc
movsxd rax, dword [r14 + rsi*8 + 8]
add qword [rbx + 0x18], rax
jmp 0x1800241c4
movsxd rbx, dword [r14 + rsi*8 + 4]
imul rbx, rbx, 0x38
add rbx, rdi
movzx eax, word [rbx + 0x24]
test r9b, al
jne 0x180024d22
test al, 0xc
jne 0x180024cec
mov rcx, rbx
call fcn.180023b18
mov r9d, 4
mov eax, 8
test byte [rbx + 0x24], al
je 0x180024cfe
mov rcx, rbx
call fcn.18001df90
mov ax, word [rbx + 0x24]
test r9b, al
jne 0x180024d22
mov eax, dword [r14 + rsi*8 + 8]
xor edi, edi
cmp eax, edi
je 0x1800291a8
lea ecx, [rax - 1]
mov dword [rsp + 0x40], ecx
jmp 0x18002415d
mov ecx, 0xbe04
and ax, cx
or ax, r9w
mov word [rbx + 0x24], ax
jmp 0x18002415d
movsxd rbx, dword [r14 + rsi*8 + 4]
imul rbx, rbx, 0x38
add rbx, rdi
test byte [rbx + 0x24], r9b
je case.default.0x180023e3e
mov rcx, rbx
call fcn.18001df3c
mov eax, 0xbe08
movsd qword [rbx + 0x10], xmm0
and word [rbx + 0x24], ax
mov eax, 8
or word [rbx + 0x24], ax
jmp 0x1800241c4
movsxd rbx, dword [r14 + rsi*8 + 4]
imul rbx, rbx, 0x38
add rbx, rdi
test byte [rbx + 0x24], r15b
jne case.default.0x180023e3e
movzx eax, word [rbx + 0x24]
shr ax, 3
and ax, r10w
or ax, word [rbx + 0x24]
mov word [rbx + 0x24], ax
test r10b, al
jne 0x180024db4
test al, 0xc
je 0x180024db4
movzx edx, byte [rsp + 0x500]
mov rcx, rbx
call fcn.18001dcb8
mov eax, 0xfff3
and word [rbx + 0x24], ax
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x180024dd2
mov rcx, rbx
call fcn.18001dbf0
jmp 0x180024dd4
xor eax, eax
mov dword [rsp + 0x508], eax
mov ecx, eax
mov eax, 0xbfe3
and word [rbx + 0x24], ax
jmp 0x1800241cb
movsxd rbx, dword [r14 + rsi*8 + 4]
imul rbx, rbx, 0x38
add rbx, rdi
movzx eax, word [rbx + 0x24]
test r15b, al
jne case.default.0x180023e3e
mov esi, 0x10
test sil, al
jne 0x180024e41
test r10b, al
jne 0x180024e2f
test al, 0xc
je 0x180024e2f
movzx edx, byte [rsp + 0x500]
mov rcx, rbx
call fcn.18001dcb8
lea r10d, [rsi - 0xe]
lea r9d, [rsi - 0xc]
mov eax, 0xbe10
and word [rbx + 0x24], ax
or word [rbx + 0x24], si
jmp case.default.0x180023e3e
mov ecx, 0xfe10
and ax, cx
mov word [rbx + 0x24], ax
jmp case.default.0x180023e3e
movsxd rcx, dword [r14 + rsi*8 + 4]
imul rcx, rcx, 0x38
add rcx, rdi
call fcn.18001e024
jmp 0x1800241c4
movsxd rcx, dword [r14 + rsi*8 + 4]
imul rcx, rcx, 0x38
add rcx, rdi
test byte [rcx + 0x24], r15b
jne case.default.0x180023e3e
call fcn.18001dffc
jmp 0x1800241c4
movsxd rbx, dword [r14 + rsi*8 + 4]
imul rbx, rbx, 0x38
add rbx, rdi
test byte [rbx + 0x24], r15b
jne case.default.0x180023e3e
jmp 0x180024d4d
mov r9, qword [rsp + 0x60]
movsxd rbp, dword [r14 + rsi*8 + 0xc]
movsxd rdi, dword [r14 + rsi*8 + 4]
imul rbp, rbp, 0x38
imul rdi, rdi, 0x38
add rbp, r9
add rdi, r9
movzx r12d, word [rbp + 0x24]
movzx r13d, word [rdi + 0x24]
mov al, r12b
or al, r13b
test r15b, al
je 0x180024f6d
mov al, byte [r14 + rsi*8 + 3]
mov ecx, 0x80
test cl, al
je 0x180024f0f
lea eax, [rcx - 0x7f]
test al, r13b
je 0x180024f07
test al, r12b
je 0x180024f07
mov ecx, 0x100
test cx, r12w
jne 0x180024f07
mov r8d, r11d
jmp 0x180024fe8
mov r8d, eax
jmp 0x180024fe8
mov r12, qword [rsp + 0x4f0]
mov r13, qword [rsp + 0x50]
mov ecx, 0x10
test cl, al
je 0x180024f50
movsxd rbp, dword [r14 + rsi*8 + 8]
mov eax, 0xbe01
imul rbp, rbp, 0x38
add rbp, r9
mov qword [rsp + 0x48], rbp
and word [rbp + 0x24], ax
or word [rbp + 0x24], r15w
mov ecx, dword [rsp + 0x508]
jmp 0x1800241d1
mov ecx, 8
test cl, al
mov rbp, qword [rsp + 0x48]
mov r9d, 4
je case.default.0x180023e3e
jmp 0x180023e66
mov bl, byte [r14 + rsi*8 + 3]
and bl, 0x67
je 0x180024faa
mov r15b, byte [rsp + 0x500]
mov dl, bl
mov rcx, rdi
mov r8b, r15b
call fcn.180023b8c
mov r8b, r15b
mov dl, bl
mov rcx, rbp
call fcn.180023b8c
mov r10, qword [rsp + 0x50]
xor eax, eax
cmp byte [r10 + 0x50], al
jne 0x180029337
mov ebx, 0x4000
test word [rdi + 0x24], bx
je 0x180024fbd
mov rcx, rdi
call fcn.18001dbf0
test word [rbp + 0x24], bx
je 0x180024fcb
mov rcx, rbp
call fcn.18001dbf0
mov r8, qword [r14 + rsi*8 + 0x10]
mov rdx, rdi
mov rcx, rbp
call fcn.180021508
mov r9, qword [rsp + 0x60]
mov r8d, eax
mov eax, 1
movzx edx, byte [r14 + rsi*8]
xor ecx, ecx
sub edx, 0x4e
je 0x180025034
sub edx, eax
je 0x18002502a
sub edx, eax
je 0x180025020
sub edx, eax
je 0x180025016
cmp edx, eax
mov eax, ecx
je 0x18002500e
cmp r8d, ecx
setge al
jmp 0x18002503c
cmp r8d, ecx
setl al
jmp 0x18002503c
cmp r8d, ecx
mov eax, ecx
setle al
jmp 0x18002503c
cmp r8d, ecx
mov eax, ecx
setg al
jmp 0x18002503c
cmp r8d, ecx
mov eax, ecx
sete al
jmp 0x18002503c
cmp r8d, ecx
mov eax, ecx
setne al
mov edx, 0x10
test byte [r14 + rsi*8 + 3], dl
je 0x180025075
movsxd rcx, dword [r14 + rsi*8 + 8]
mov edx, 0xbe04
cdqe
imul rcx, rcx, 0x38
add rcx, r9
mov r9d, 4
and word [rcx + 0x24], dx
or word [rcx + 0x24], r9w
mov qword [rsp + 0x48], rcx
mov qword [rcx + 0x18], rax
jmp 0x18002508a
mov r9d, 4
cmp eax, ecx
je 0x18002508a
mov ecx, dword [r14 + rsi*8 + 8]
dec ecx
mov dword [rsp + 0x40], ecx
mov ebx, 0x1ff
mov r8d, 0xfe00
and word [rdi + 0x24], r8w
and r13w, bx
and r12w, bx
or word [rdi + 0x24], r13w
and word [rbp + 0x24], r8w
or word [rbp + 0x24], r12w
mov r13, qword [rsp + 0x50]
mov r15d, 1
mov ecx, dword [rsp + 0x508]
mov r12, qword [rsp + 0x4f0]
mov rbp, qword [rsp + 0x48]
jmp 0x180024164
mov rax, qword [r14 + rsi*8 + 0x10]
mov qword [rsp + 0x120], rax
jmp case.default.0x180023e3e
mov al, byte [r14 + rsi*8 + 3]
mov edx, dword [r14 + rsi*8 + 8]
mov r13, qword [r14 + rsi*8 + 0x10]
mov r15d, dword [r14 + rsi*8 + 4]
and al, 1
mov dword [rsp + 0x78], edx
neg al
movsxd rax, dword [r14 + rsi*8 + 0xc]
mov r12d, r11d
sbb rdi, rdi
mov rbx, r11
and rdi, qword [rsp + 0x120]
cmp eax, r11d
jle 0x1800251a8
mov r14, rax
lea rbp, [r13 + 0x20]
cmp rdi, r11
je 0x180025133
mov ecx, dword [rdi + rbx*4]
jmp 0x180025136
mov ecx, r12d
mov rax, qword [r13 + 0x18]
mov r8, qword [rsp + 0x60]
movzx esi, byte [rbx + rax]
lea eax, [rcx + rdx]
movsxd rdx, eax
lea eax, [rcx + r15]
movsxd rcx, eax
imul rdx, rdx, 0x38
add rdx, r8
imul rcx, rcx, 0x38
add rcx, r8
mov r8, qword [rbp]
call fcn.180021508
xor r11d, r11d
mov dword [rsp + 0xc0], eax
cmp eax, r11d
jne 0x18002518f
lea edx, [r11 + 1]
add rbp, 8
add rbx, rdx
add r12d, edx
mov edx, dword [rsp + 0x78]
cmp rbx, r14
jl 0x180025129
jmp 0x18002519d
cmp esi, r11d
je 0x18002519d
neg eax
mov dword [rsp + 0xc0], eax
mov r14, qword [rsp + 0x68]
mov r9d, 4
mov qword [rsp + 0x120], r11
jmp 0x1800250b1
mov ebx, dword [rsp + 0xc0]
cmp ebx, r11d
jge 0x1800251cb
mov ecx, dword [r14 + rsi*8 + 4]
jmp 0x180023e6b
je 0x180023e66
mov ecx, dword [r14 + rsi*8 + 0xc]
jmp 0x180023e6b
movsxd rcx, dword [r14 + rsi*8 + 4]
imul rcx, rcx, 0x38
add rcx, rdi
test byte [rcx + 0x24], 1
je 0x1800251f4
mov ebx, r10d
xor ebp, ebp
jmp 0x180025207
call fcn.18001deb8
xor ebp, ebp
cmp rax, rbp
mov ebx, ebp
lea r10d, [rbp + 2]
setne bl
movsxd rcx, dword [r14 + rsi*8 + 8]
imul rcx, rcx, 0x38
add rcx, rdi
test byte [rcx + 0x24], 1
je 0x18002521e
mov edx, r10d
jmp 0x180025231
call fcn.18001deb8
mov edx, ebp
mov r10d, 2
cmp rax, rbp
setne dl
movsxd rax, ebx
lea rcx, [rax + rax*2]
movsxd rax, edx
add rcx, rax
cmp byte [r14 + rsi*8], 0x48
lea rax, [0x180000000]
jne 0x180025256
movzx eax, byte [rcx + rax + 0x654b0]
jmp 0x18002525e
movzx eax, byte [rcx + rax + 0x654c0]
movsxd rbp, dword [r14 + rsi*8 + 0xc]
mov ecx, dword [rsp + 0x508]
mov r15d, 1
lea r9d, [r15 + 3]
imul rbp, rbp, 0x38
add rbp, rdi
mov edi, dword [rsp + 0x40]
mov qword [rsp + 0x48], rbp
cmp eax, r10d
jne 0x18002529c
mov eax, 0xbe01
and word [rbp + 0x24], ax
or word [rbp + 0x24], r15w
jmp 0x1800241db
cdqe
mov qword [rbp + 0x18], rax
mov eax, 0xbe04
and word [rbp + 0x24], ax
or word [rbp + 0x24], r9w
jmp 0x1800241db
movsxd rcx, dword [r14 + rsi*8 + 4]
movsxd rbp, dword [r14 + rsi*8 + 8]
imul rcx, rcx, 0x38
imul rbp, rbp, 0x38
add rbp, rdi
add rcx, rdi
test byte [rcx + 0x24], 1
mov qword [rsp + 0x48], rbp
jne 0x180024515
call fcn.18001deb8
xor ecx, ecx
cmp rax, rcx
mov rdx, rcx
sete dl
mov rcx, rbp
call fcn.18001e0dc
jmp 0x1800242a1
movsxd rcx, dword [r14 + rsi*8 + 4]
movsxd rbp, dword [r14 + rsi*8 + 8]
imul rcx, rcx, 0x38
imul rbp, rbp, 0x38
add rbp, rdi
add rcx, rdi
test byte [rcx + 0x24], 1
mov qword [rsp + 0x48], rbp
jne 0x180024515
call fcn.18001deb8
not rax
mov rdx, rax
jmp 0x1800252ec
movsxd rax, dword [r14 + rsi*8 + 4]
mov rcx, qword [r12 + 0x118]
cmp byte [rax + rcx], r11b
jne 0x180023e66
mov byte [rax + rcx], r15b
jmp case.default.0x180023e3e
movsxd rcx, dword [r14 + rsi*8 + 4]
imul rcx, rcx, 0x38
add rcx, rdi
test byte [rcx + 0x24], r15b
je 0x180025366
mov ecx, dword [r14 + rsi*8 + 0xc]
jmp 0x18002539d
call fcn.18001df3c
ucomisd xmm0, qword [0x18006a518]
jp 0x18002537d
jne 0x18002537d
xor edx, edx
mov ecx, edx
jmp 0x180025387
mov ecx, 1
xor edx, edx
mov r15, rcx
cmp byte [r14 + rsi*8], 0x2d
mov r9d, 4
jne 0x18002539d
cmp ecx, edx
mov eax, edx
sete al
mov ecx, eax
xor eax, eax
cmp ecx, eax
lea r10d, [rax + 2]
jmp 0x180024f62
movsxd rax, dword [r14 + rsi*8 + 4]
imul rax, rax, 0x38
test byte [rax + rdi + 0x24], r15b
jmp 0x180024f62
movsxd rax, dword [r14 + rsi*8 + 4]
imul rax, rax, 0x38
test byte [rax + rdi + 0x24], r15b
jne case.default.0x180023e3e
jmp 0x180023e66
movsxd rcx, dword [r14 + rsi*8 + 4]
movsxd r12, dword [r14 + rsi*8 + 0xc]
mov ebp, dword [r14 + rsi*8 + 8]
imul r12, r12, 0x38
add r12, rdi
mov rdi, qword [rsp + 0x4f0]
mov dword [rsp + 0x58], ebp
mov rax, qword [rdi + 0x60]
mov qword [rsp + 0x98], r12
mov rbx, qword [rax + rcx*8]
mov rcx, rbx
movsx rax, word [rbx + 0x20]
mov r13, qword [rbx]
lea r14, [rbx + rax*4 + 0x70]
mov qword [rsp + 0xa0], r13
mov qword [rsp + 0x88], r14
call fcn.180020f04
xor edx, edx
mov dword [rsp + 0x508], eax
cmp eax, edx
jne 0x1800292a1
mov eax, dword [rdi + 0x7c]
cmp dword [rbx + 0x58], eax
jne 0x180025456
mov rcx, qword [rsp + 0x68]
test byte [rcx + rsi*8 + 3], 0x20
je 0x1800255a4
xor edi, edi
cmp byte [rbx + 0x25], dil
je 0x1800254a4
cmp r13, rdi
jne 0x180025488
mov rcx, qword [rsp + 0x60]
movsxd rax, dword [rbx + 0x1c]
imul rax, rax, 0x38
mov edi, dword [rax + rcx + 0x20]
mov dword [rbx + 0x60], edi
mov dword [rbx + 0x5c], edi
mov rax, qword [rax + rcx + 8]
mov qword [rbx + 0x68], rax
jmp 0x180025532
mov eax, 0xbe01
mov r14d, 1
and word [r12 + 0x24], ax
or word [r12 + 0x24], r14w
jmp 0x180025912
mov r11d, 4
test byte [rbx + 0x28], r11b
jne 0x1800254f3
cmp byte [r13 + 0x6d], 1
je 0x1800254c1
mov qword [rsp + 0x130], rdi
jmp 0x1800254d5
mov rcx, r13
call fcn.180017798
mov r11, qword [r13 + 0x30]
mov qword [rsp + 0x130], r11
movzx eax, word [r13 + 0x48]
movzx edi, word [r13 + 0x4a]
add rax, qword [r13 + 0x38]
mov qword [rbx + 0x68], rax
mov eax, dword [rsp + 0x130]
mov dword [rbx + 0x5c], eax
jmp 0x180025514
mov rcx, r13
call fcn.180017798
mov eax, dword [r13 + 0x40]
mov dword [rbx + 0x5c], eax
movzx eax, word [r13 + 0x48]
movzx edi, word [r13 + 0x4a]
add rax, qword [r13 + 0x38]
mov qword [rbx + 0x68], rax
mov eax, dword [rbx + 0x5c]
cmp eax, edi
ja 0x180025520
mov dword [rbx + 0x60], eax
jmp 0x180025523
mov dword [rbx + 0x60], edi
mov r10, qword [rsp + 0x50]
cmp eax, dword [r10 + 0x68]
ja 0x1800292da
mov rcx, qword [rsp + 0x4f0]
mov eax, dword [rcx + 0x7c]
mov rcx, qword [rbx + 0x68]
mov dword [rbx + 0x58], eax
mov eax, 0x80
cmp byte [rcx], al
jae 0x18002555e
movzx ecx, byte [rcx]
mov eax, 1
mov dword [rsp + 0xb8], ecx
jmp 0x180025575
lea rdx, [rsp + 0xb8]
call fcn.180008760
mov ecx, dword [rsp + 0xb8]
movzx eax, al
xor edx, edx
movzx eax, al
mov dword [rbx + 0x64], eax
mov word [rbx + 0x22], dx
mov dword [r14], ecx
cmp edi, ecx
jae 0x18002558f
mov qword [rbx + 0x68], rdx
mov dword [rbx + 0x60], edx
cmp ecx, 0x18003
ja 0x180025957
cmp ecx, dword [rbx + 0x5c]
ja 0x180025957
movzx eax, word [rbx + 0x22]
cmp eax, ebp
jg 0x1800257b0
mov eax, dword [r14]
cmp dword [rbx + 0x64], eax
jae 0x180025763
mov r15, qword [rbx + 0x68]
cmp r15, rdx
jne 0x18002561e
xor edx, edx
lea rcx, [rsp + 0x198]
lea r8d, [rdx + 0x38]
call fcn.180062a94
mov r9d, dword [rbx + 0x28]
mov r8d, dword [r14]
shr r9d, 2
lea rax, [rsp + 0x198]
xor edx, edx
not r9d
mov rcx, r13
mov qword [rsp + 0x20], rax
and r9d, 1
call fcn.18001e528
mov r15d, eax
mov dword [rsp + 0x508], eax
xor eax, eax
cmp r15d, eax
jne 0x180025962
mov r15, qword [rsp + 0x1a0]
movzx r12d, word [rbx + 0x22]
mov edi, dword [rbx + 0x64]
mov rbp, r12
add rdi, r15
shl rbp, 2
mov r13d, dword [r14 + rbp]
mov r14d, dword [r14]
add r14, r15
mov eax, 0x80
cmp byte [rdi], al
jae 0x180025652
movzx eax, byte [rdi]
inc rdi
mov dword [rsp + 0xbc], eax
jmp 0x180025670
lea rdx, [rsp + 0xbc]
mov rcx, rdi
call fcn.180008760
movzx r11d, al
mov eax, dword [rsp + 0xbc]
add rdi, r11
mov dword [rbx + rbp + 0x70], eax
cmp eax, 0xc
jb 0x180025680
add eax, 0xfffffff4
shr eax, 1
jmp 0x18002568f
lea rcx, [0x180000000]
movzx eax, byte [rax + rcx + 0x65428]
add r13d, eax
mov dword [rsp + 0xb8], r13d
cmp r13d, eax
jb 0x1800256c6
mov rax, qword [rsp + 0x88]
inc r12d
movsxd rbp, r12d
shl rbp, 2
cmp r12d, dword [rsp + 0x58]
mov dword [rax + rbp], r13d
jg 0x1800256ca
cmp rdi, r14
jae 0x1800256ca
jmp 0x18002563a
lea rdi, [r14 + 1]
mov eax, edi
mov word [rbx + 0x22], r12w
sub eax, r15d
mov dword [rbx + 0x64], eax
xor eax, eax
cmp qword [rbx + 0x68], rax
jne 0x1800256fd
lea rcx, [rsp + 0x198]
call fcn.18001de7c
mov r15d, 1
mov word [rsp + 0x1bc], r15w
jmp 0x180025703
mov r15d, 1
cmp rdi, r14
ja 0x180025719
cmp r13d, dword [rbx + 0x5c]
ja 0x180025719
cmp rdi, r14
jne 0x180025747
cmp r13d, dword [rbx + 0x5c]
je 0x180025747
mov r14, qword [rsp + 0x68]
mov dword [rsp + 0x508], 0xb
mov ecx, dword [rsp + 0x508]
mov r12, qword [rsp + 0x4f0]
mov r13, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x48]
jmp 0x1800241cb
mov r14, qword [rsp + 0x88]
mov ebp, dword [rsp + 0x58]
mov r13, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x98]
movzx eax, word [rbx + 0x22]
cmp eax, ebp
jg 0x1800257b0
mov r14, qword [rsp + 0x68]
cmp byte [r14 + rsi*8 + 1], 0xf8
jne 0x180025792
mov rdx, qword [r14 + rsi*8 + 0x10]
mov r8d, 0x800
mov rcx, r12
call fcn.18001e1cc
xor edi, edi
jmp 0x180025917
mov eax, 0xbe01
mov r15d, 1
and word [r12 + 0x24], ax
or word [r12 + 0x24], r15w
xor edi, edi
jmp 0x18002591d
movsxd rbp, ebp
mov eax, dword [r14 + rbp*4 + 4]
cmp dword [rbx + 0x60], eax
jb 0x1800257ed
mov eax, 0x2460
test word [r12 + 0x24], ax
je 0x1800257d2
mov rcx, r12
call fcn.18001de14
mov ecx, dword [r14 + rbp*4]
mov edx, dword [rbx + rbp*4 + 0x70]
mov r8, r12
add rcx, qword [rbx + 0x68]
call fcn.18002108c
xor edi, edi
jmp 0x180025906
mov rax, qword [rsp + 0x68]
mov edi, dword [rbx + rbp*4 + 0x70]
mov al, byte [rax + rsi*8 + 3]
mov dword [rsp + 0xbc], edi
test al, 0xc0
je 0x180025819
cmp edi, 0xc
jb 0x180025810
test dil, 1
je 0x18002583c
mov ecx, 0x80
test cl, al
jne 0x18002583c
cmp edi, 0xc
jb 0x180025825
lea esi, [rdi - 0xc]
shr esi, 1
jmp 0x180025834
lea rcx, [0x180000000]
movzx esi, byte [rdi + rcx + 0x65428]
xor r15d, r15d
cmp esi, r15d
jne 0x18002585a
mov ebx, 0
lea rcx, [rsp + 0x130]
cmp edi, 0xd
cmova rcx, rbx
mov qword [rsp + 0x1c8], rbx
jmp 0x1800258c0
xor edx, edx
lea rcx, [rsp + 0x198]
lea r8d, [rdx + 0x38]
call fcn.180062a94
lea rcx, [rsp + 0x198]
mov rdx, r12
call fcn.18001e2c0
mov r9d, dword [rbx + 0x28]
mov edx, dword [r14 + rbp*4]
shr r9d, 2
lea rax, [rsp + 0x198]
mov r8d, esi
not r9d
mov rcx, r13
mov qword [rsp + 0x20], rax
and r9d, 1
call fcn.18001e528
mov dword [rsp + 0x508], eax
cmp eax, r15d
jne 0x180025962
mov rcx, qword [rsp + 0x1a0]
mov r8, r12
mov edx, edi
call fcn.18002108c
xor edi, edi
cmp qword [rsp + 0x1c8], rdi
je 0x180025906
mov eax, 0xe7ff
and word [r12 + 0x24], ax
mov eax, 0x200
or word [r12 + 0x24], ax
mov rax, qword [rsp + 0x1a0]
mov qword [r12 + 8], rax
mov rax, qword [rsp + 0x1c8]
mov qword [r12 + 0x30], rax
mov al, byte [rsp + 0x500]
mov byte [r12 + 0x26], al
mov r14, qword [rsp + 0x68]
mov r15d, 1
mov eax, 0x1000
test word [r12 + 0x24], ax
je 0x180025729
mov rcx, r12
call fcn.18001db7c
mov r12, qword [rsp + 0x4f0]
mov r13, qword [rsp + 0x50]
cmp eax, edi
jne 0x18002932a
mov ecx, dword [rsp + 0x508]
jmp 0x18002573d
mov dword [rsp + 0x508], 0xb
mov r14, qword [rsp + 0x68]
mov r15d, 1
jmp 0x180025729
movsxd rbx, dword [r14 + rsi*8 + 4]
mov rdi, qword [r14 + rsi*8 + 0x10]
mov al, byte [rdi]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x60]
cmp al, r11b
je case.default.0x180023e3e
mov r12b, byte [rsp + 0x500]
xor r13d, r13d
mov r8b, r12b
mov dl, al
mov rcx, rbx
inc rdi
call fcn.180023b8c
mov al, byte [rdi]
add rbx, 0x38
cmp al, r13b
jne 0x18002599b
mov r14, qword [rsp + 0x68]
mov r12, qword [rsp + 0x4f0]
mov r13, qword [rsp + 0x50]
jmp 0x1800242a1
mov eax, dword [r14 + rsi*8 + 8]
mov rbx, qword [r14 + rsi*8 + 0x10]
movsxd r12, dword [r14 + rsi*8 + 4]
imul r12, r12, 0x38
mov rcx, qword [rsp + 0x4f0]
dec eax
add r12, rdi
movsxd r14, eax
movzx eax, byte [rcx + 0x8b]
mov rcx, qword [rsp + 0x68]
imul r14, r14, 0x38
movsxd rcx, dword [rcx + rsi*8 + 0xc]
add r14, r12
xor r15d, r15d
mov rbp, r11
mov r13d, r11d
mov dword [rsp + 0x58], r11d
imul rcx, rcx, 0x38
add rcx, rdi
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x98], r14
mov dword [rsp + 0x74], eax
mov qword [rsp + 0x48], rcx
cmp rbx, r15
je 0x180025a72
mov al, byte [rbx]
mov r14b, byte [rsp + 0x500]
mov rdi, r12
mov r8b, r14b
mov dl, al
mov rcx, rdi
call fcn.180023b8c
inc rbx
add rdi, 0x38
mov al, byte [rbx]
cmp al, r15b
jne 0x180025a48
mov r14, qword [rsp + 0x98]
mov eax, dword [rsp + 0x74]
mov r11d, ebp
mov rsi, r14
jmp 0x180025a7a
xor r15d, r15d
mov edx, eax
mov rcx, rsi
call fcn.180020fc0
mov edi, eax
cmp eax, 0xc
jb 0x180025a92
lea ebx, [rdi - 0xc]
shr ebx, 1
jmp 0x180025aa1
lea rcx, [0x180000000]
movzx ebx, byte [rdi + rcx + 0x65428]
mov eax, 0x4000
test word [rsi + 0x24], ax
je 0x180025ac7
cmp rbp, r15
je 0x180025abb
mov rcx, rsi
call fcn.18001dbf0
jmp 0x180025ac7
add r11d, dword [rsi + 0x18]
sub ebx, dword [rsi + 0x18]
mov dword [rsp + 0x58], r11d
movsxd rax, ebx
mov r8d, 1
add rbp, rax
cmp edi, 0x7f
ja 0x180025adf
mov eax, r8d
xor edi, edi
jmp 0x180025af7
mov rcx, rdi
xor edi, edi
mov eax, edi
shr rcx, 7
add eax, r8d
cmp rcx, rdi
je 0x180025af7
cmp eax, 9
jl 0x180025ae6
mov r11d, dword [rsp + 0x58]
add r13d, eax
mov eax, dword [rsp + 0x74]
sub rsi, 0x38
cmp rsi, r12
jae 0x180025a77
cmp r13d, 0x7e
jle 0x180025b49
movsxd rax, r13d
mov ecx, edi
shr rax, 7
add ecx, r8d
cmp rax, rdi
je 0x180025b2c
cmp ecx, 9
jl 0x180025b1b
add r13d, ecx
mov eax, edi
movsxd rdx, r13d
shr rdx, 7
add eax, r8d
cmp rdx, rdi
je 0x180025b45
cmp eax, 9
jl 0x180025b34
cmp ecx, eax
jge 0x180025b4c
add r13d, r8d
mov r10, qword [rsp + 0x50]
movsxd r15, r13d
movsxd rax, dword [r10 + 0x68]
add r15, rbp
cmp r15, rax
mov qword [rsp + 0xc8], r15
jg 0x1800292cd
mov rbx, qword [rsp + 0x48]
xor r8d, r8d
mov edx, r15d
mov rcx, rbx
call fcn.18001da68
cmp eax, edi
jne 0x18002931d
mov r12, qword [rbx + 8]
mov esi, 0x80
cmp r13d, esi
jae 0x180025b9e
mov byte [r12], r13b
lea eax, [rsi - 0x7f]
jmp 0x180025bd4
test r13d, 0xffffc000
jne 0x180025bc9
mov eax, r13d
mov r11d, 2
shr eax, 7
or al, sil
mov byte [r12], al
mov al, r13b
and al, 0x7f
mov byte [r12 + 1], al
mov eax, r11d
jmp 0x180025bda
mov edx, r13d
mov rcx, r12
call fcn.180008548
mov r11d, 2
mov rbp, qword [rsp + 0x88]
mov r15, qword [rsp + 0x98]
movzx r14d, al
add rbp, 0x18
jmp 0x180025bf6
xor edi, edi
mov edx, dword [rsp + 0x74]
lea rcx, [rbp - 0x18]
call fcn.180020fc0
movsxd rcx, r14d
mov ebx, eax
cmp eax, esi
jae 0x180025c17
mov byte [rcx + r12], bl
mov eax, 1
jmp 0x180025c40
add rcx, r12
test ebx, 0xffffc000
jne 0x180025c38
mov eax, ebx
shr eax, 7
or al, sil
mov byte [rcx], al
mov al, bl
and al, 0x7f
mov byte [rcx + 1], al
mov eax, r11d
jmp 0x180025c40
mov rdx, rbx
call fcn.180008548
movzx eax, al
movsxd rsi, r13d
add r14d, eax
lea eax, [rbx - 1]
add rsi, r12
cmp eax, 6
ja 0x180025ccd
cmp ebx, 7
jne 0x180025cb5
lea rdx, [rbp - 8]
lea r8d, [rbx + 1]
lea rcx, [rsp + 0x100]
call fcn.180062a8e
mov r11, qword [rsp + 0x100]
lea rcx, [0x180000000]
movzx ebx, byte [rbx + rcx + 0x65428]
xor ecx, ecx
mov edi, ebx
movsxd rax, ebx
cmp ebx, ecx
je 0x180025ce6
add rax, rsi
dec rax
dec ebx
mov byte [rax], r11b
mov r11, qword [rsp + 0x100]
shr r11, 8
mov qword [rsp + 0x100], r11
cmp ebx, ecx
jne 0x180025c93
jmp 0x180025ce6
mov r11, qword [rbp]
mov qword [rsp + 0x100], r11
cmp ebx, 0xc
jb 0x180025c76
add ebx, 0xfffffff4
shr ebx, 1
jmp 0x180025c85
cmp ebx, 0xc
jb 0x180025ce4
mov edi, dword [rbp + 8]
mov rdx, qword [rbp - 0x10]
mov rcx, rsi
mov r8, rdi
call fcn.180062a8e
xor ecx, ecx
add rbp, 0x38
mov esi, 0x80
add r13d, edi
lea rax, [rbp - 0x18]
lea r11d, [rsi - 0x7e]
cmp rax, r15
jbe 0x180025bf4
mov rbp, qword [rsp + 0x48]
mov r15, qword [rsp + 0xc8]
lea eax, [rsi - 0x70]
mov word [rbp + 0x24], ax
mov eax, dword [rsp + 0x58]
mov dword [rbp + 0x20], r15d
mov qword [rbp + 0x28], rcx
cmp eax, ecx
je 0x180025d33
mov dword [rbp + 0x18], eax
mov eax, 0x4010
mov word [rbp + 0x24], ax
mov r14, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x508]
mov r12, qword [rsp + 0x4f0]
mov r13, qword [rsp + 0x50]
mov byte [rbp + 0x26], 1
mov r15d, 1
mov r10d, r11d
jmp 0x1800241d1
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
mov qword [rsp + 0x148], r11
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx]
cmp dword [rcx + 0x60], r11d
jne 0x180025d8c
mov ecx, r11d
mov rax, r11
mov dword [rsp + 0x508], ecx
jmp 0x180025db5
lea rdx, [rsp + 0x148]
call fcn.18001bed4
mov r9d, 4
mov dword [rsp + 0x508], eax
mov rax, qword [rsp + 0x148]
mov ecx, dword [rsp + 0x508]
mov qword [rbp + 0x18], rax
jmp 0x180024164
mov r12d, dword [r14 + rsi*8 + 4]
mov rsi, qword [r14 + rsi*8 + 0x10]
xor edi, edi
mov dword [rsp + 0x78], r12d
cmp r12d, edi
jne 0x180025ecc
cmp dword [r13 + 0xa4], edi
jle 0x180025df8
mov r12, qword [rsp + 0x4f0]
lea ecx, [rdi + 5]
mov dword [rsp + 0x508], ecx
jmp 0x1800241d7
mov rbx, rsi
cmp rsi, rdi
jne 0x180025e04
mov ebx, edi
jmp 0x180025e1f
cmp byte [rsi], dil
je 0x180025e17
inc rbx
cmp byte [rbx], dil
jne 0x180025e09
mov r15d, 1
sub ebx, esi
and ebx, 0x3fffffff
mov r8d, dword [r13 + 0x300]
xor edx, edx
mov rcx, r13
add r8d, dword [r13 + 0x2fc]
call fcn.180053a50
mov dword [rsp + 0x508], eax
cmp eax, edi
jne 0x1800292a8
lea edx, [rbx + 0x21]
mov rcx, r13
call fcn.180005d10
xor r12d, r12d
mov rdi, rax
cmp rax, r12
je 0x180025eb8
lea rcx, [rax + 0x20]
lea r8d, [rbx + 1]
mov rdx, rsi
movsxd r8, r8d
mov qword [rax], rcx
call fcn.180062a8e
cmp byte [r13 + 0x4e], r12b
je 0x180025e83
mov byte [r13 + 0x4e], r12b
mov byte [r13 + 0x55], 1
jmp 0x180025e8a
inc dword [r13 + 0x2fc]
mov rax, qword [r13 + 0x2f0]
mov r15d, 1
mov qword [rdi + 0x18], rax
mov rax, qword [r13 + 0x308]
mov qword [r13 + 0x2f0], rdi
mov qword [rdi + 8], rax
mov rax, qword [r13 + 0x310]
mov qword [rdi + 0x10], rax
mov ecx, dword [rsp + 0x508]
mov r12, qword [rsp + 0x4f0]
jmp 0x1800241cb
mov r10, qword [rsp + 0x50]
mov r13d, edi
mov rbp, qword [r10 + 0x2f0]
cmp rbp, rdi
je 0x180026128
mov rcx, qword [rbp]
mov rdx, rsi
call fcn.180007bec
cmp eax, edi
je 0x180025f00
mov rbp, qword [rbp + 0x18]
add r13d, r15d
cmp rbp, rdi
jne 0x180025ee4
cmp rbp, rdi
je 0x180026122
cmp dword [r10 + 0xa4], edi
jle 0x180025f33
cmp r12d, r15d
jne 0x180025f33
mov r12, qword [rsp + 0x4f0]
mov ecx, 5
mov r13, r10
mov dword [rsp + 0x508], ecx
jmp 0x18002573d
cmp qword [rbp + 0x18], rdi
jne 0x180025f9c
cmp byte [r10 + 0x55], dil
je 0x180025f9c
mov esi, r15d
cmp r12d, r15d
jne 0x180025f9e
mov rbx, qword [rsp + 0x4f0]
mov rax, qword [rbx]
mov rcx, qword [rax + 0x310]
add rcx, qword [rax + 0x308]
cmp rcx, rdi
jg 0x1800291df
mov rcx, rbx
mov r15, r10
mov byte [r10 + 0x4e], 1
call fcn.180020870
mov ecx, 5
cmp eax, ecx
je 0x1800291b3
mov byte [r15 + 0x55], dil
mov eax, dword [rbx + 0x84]
mov dword [rsp + 0x508], eax
jmp 0x18002606b
mov esi, edi
mov eax, dword [r10 + 0x2fc]
mov r8d, 2
mov r15, r10
sub eax, r13d
lea r13d, [rax - 1]
cmp r12d, r8d
jne 0x180025ff2
xor eax, eax
cmp dword [r10 + 0x28], eax
jle 0x180025ff2
mov rbx, rax
lea r12d, [r8 + 2]
mov rcx, qword [r15 + 0x20]
mov edx, r12d
mov rcx, qword [rbx + rcx + 8]
call fcn.1800173ac
inc edi
add rbx, 0x20
cmp edi, dword [r15 + 0x28]
jl 0x180025fc9
mov r12d, dword [rsp + 0x78]
mov r14, qword [rsp + 0x68]
xor edi, edi
xor eax, eax
cmp dword [r15 + 0x28], eax
jle 0x180026037
mov rbx, rax
mov rcx, qword [r15 + 0x20]
mov r8d, r13d
mov edx, r12d
mov rcx, qword [rbx + rcx + 8]
call fcn.180017548
mov r15d, eax
mov dword [rsp + 0x508], eax
xor eax, eax
cmp r15d, eax
jne 0x1800292a1
mov r15, qword [rsp + 0x50]
inc edi
add rbx, 0x20
cmp edi, dword [r15 + 0x28]
jl 0x180025ffd
mov ebx, 2
xor edi, edi
cmp r12d, ebx
jne 0x18002606b
test byte [r15 + 0x2c], bl
je 0x18002606b
mov rax, qword [r15 + 8]
jmp 0x18002605a
or dword [rax + 0x8c], 0x20
mov rax, qword [rax + 0x58]
cmp rax, rdi
jne 0x18002604f
mov rcx, r15
call fcn.180034f4c
or dword [r15 + 0x2c], ebx
or rbx, 0xffffffffffffffff
cmp qword [r15 + 0x2f0], rbp
je 0x18002609b
mov rdx, qword [r15 + 0x2f0]
mov rcx, r15
mov rax, qword [rdx + 0x18]
mov qword [r15 + 0x2f0], rax
call fcn.180005a84
add dword [r15 + 0x2fc], ebx
jmp 0x18002606f
cmp r12d, 1
jne 0x1800260c8
mov rax, qword [rbp + 0x18]
mov rdx, rbp
mov rcx, r15
mov qword [r15 + 0x2f0], rax
call fcn.180005a84
cmp esi, edi
jne 0x180025967
add dword [r15 + 0x2fc], ebx
jmp 0x1800260e6
mov rax, qword [rbp + 8]
mov qword [r15 + 0x308], rax
mov rax, qword [rbp + 0x10]
mov qword [r15 + 0x310], rax
cmp esi, edi
jne 0x180025967
mov r8d, r13d
mov r13, qword [rsp + 0x50]
mov edx, r12d
mov rcx, r13
call fcn.180053a50
mov dword [rsp + 0x508], eax
cmp eax, edi
jne 0x1800292a8
mov r15d, 1
mov ecx, dword [rsp + 0x508]
mov r12, qword [rsp + 0x4f0]
jmp 0x18002573d
mov r9d, 4
mov ecx, r15d
mov r13, r10
mov dword [rsp + 0x508], ecx
jmp 0x1800250c3
mov ebx, dword [r14 + rsi*8 + 4]
mov ecx, dword [r14 + rsi*8 + 8]
cmp ebx, r11d
je 0x180026167
cmp byte [r13 + 0x4e], r11b
jne 0x180026167
cmp ecx, r11d
jne 0x180026167
cmp dword [r13 + 0xa4], r11d
jle 0x180026167
mov ecx, 5
jmp 0x180024425
movzx eax, byte [r13 + 0x4e]
cmp ebx, eax
je 0x180024422
cmp ecx, r11d
je 0x18002920d
mov edx, 0x204
mov rcx, r13
call fcn.18006058c
mov byte [r13 + 0x4e], 1
mov rcx, r13
call fcn.180060104
mov r11d, dword [r12 + 0x84]
neg r11d
jmp 0x180029167
mov edx, dword [r14 + rsi*8 + 8]
xor edi, edi
cmp edx, edi
je 0x1800261be
bt dword [r13 + 0x2c], 0x19
jb 0x180029265
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rbp, qword [rcx + rax + 8]
cmp rbp, rdi
je 0x180026307
mov rcx, rbp
call fcn.1800162fc
mov r15d, eax
mov dword [rsp + 0x508], eax
mov eax, 5
cmp r15d, eax
je 0x18002926d
cmp r15d, edi
jne 0x1800292a8
cmp dword [r14 + rsi*8 + 8], edi
je 0x1800262ca
mov eax, 0x80
test byte [r12 + 0x8c], al
je 0x1800262ca
lea ebx, [rax - 0x7f]
cmp byte [r13 + 0x4e], dil
je 0x180026236
cmp dword [r13 + 0xa0], ebx
jle 0x1800262ca
cmp dword [r12 + 0x9c], edi
jne 0x18002625d
add dword [r13 + 0x300], ebx
mov ecx, dword [r13 + 0x300]
add ecx, dword [r13 + 0x2fc]
mov dword [r12 + 0x9c], ecx
mov r8d, dword [r12 + 0x9c]
xor edx, edx
mov rcx, r13
sub r8d, ebx
call fcn.180053a50
mov dword [rsp + 0x508], eax
cmp eax, edi
jne 0x1800262ac
mov ebx, dword [r12 + 0x9c]
mov rdi, qword [rbp + 8]
mov rcx, rbp
call fcn.180014070
mov rcx, qword [rdi]
mov edx, ebx
call fcn.1800116b0
mov rcx, rbp
mov dword [rsp + 0x508], eax
call fcn.18001412c
xor edi, edi
mov rax, qword [r13 + 0x308]
mov qword [r12 + 0xd0], rax
mov rax, qword [r13 + 0x310]
mov qword [r12 + 0xd8], rax
lea r8, [rsp + 0xe4]
mov edx, 1
mov rcx, rbp
call fcn.18001bdc0
mov rax, qword [r13 + 0x20]
movsxd rcx, dword [r14 + rsi*8 + 4]
mov ebx, dword [rsp + 0xe4]
shl rcx, 5
mov r15d, 1
mov rcx, qword [rcx + rax + 0x18]
lea r9d, [r15 + 3]
mov eax, dword [rcx + 4]
jmp 0x180026312
mov ebx, edi
mov eax, edi
mov dword [rsp + 0xe4], ebx
cmp byte [r14 + rsi*8 + 3], dil
je 0x1800290df
cmp ebx, dword [r14 + rsi*8 + 0xc]
jne 0x18002632f
cmp eax, dword [r14 + rsi*8 + 0x10]
je 0x1800290df
mov rdx, qword [r12 + 0x48]
mov rcx, r13
call fcn.180005a84
lea rdx, str.database_schema_has_changed
mov rcx, r13
call fcn.180005e8c
mov qword [r12 + 0x48], rax
movsxd rdx, dword [r14 + rsi*8 + 4]
mov rax, qword [r13 + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
cmp dword [rcx], ebx
je 0x180026371
mov rcx, r13
call fcn.180034f08
or dword [r12 + 0x8c], 0x20
mov ecx, 0x11
mov dword [rsp + 0x508], ecx
jmp 0x18002573d
movsxd rax, dword [r14 + rsi*8 + 4]
mov rcx, qword [r13 + 0x20]
mov edx, dword [r14 + rsi*8 + 0xc]
shl rax, 5
lea r8, [rsp + 0x13c]
mov rcx, qword [rax + rcx + 8]
call fcn.18001bdc0
movsxd r11, dword [rsp + 0x13c]
mov qword [rbp + 0x18], r11
jmp 0x1800241c4
movsxd rbx, dword [r14 + rsi*8 + 0xc]
movsxd rdi, dword [r14 + rsi*8 + 4]
shl rdi, 5
add rdi, qword [r13 + 0x20]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.18001dffc
mov r8d, dword [rbx + 0x18]
mov edx, dword [r14 + rsi*8 + 8]
mov rcx, qword [rdi + 8]
call fcn.18001be3c
mov r10d, 2
mov ecx, eax
mov dword [rsp + 0x508], eax
cmp dword [r14 + rsi*8 + 8], r15d
jne 0x18002641a
mov rcx, qword [rdi + 0x18]
mov eax, dword [rbx + 0x18]
mov dword [rcx], eax
or dword [r13 + 0x2c], r10d
jmp 0x18002642b
cmp dword [r14 + rsi*8 + 8], r10d
jne 0x180026432
mov rcx, qword [rdi + 0x18]
mov al, byte [rbx + 0x18]
mov byte [rcx + 0x70], al
mov ecx, dword [rsp + 0x508]
cmp dword [r14 + rsi*8 + 4], r15d
jne 0x1800241d1
mov rax, qword [r13 + 8]
xor edx, edx
jmp 0x180026450
or dword [rax + 0x8c], 0x20
mov rax, qword [rax + 0x58]
cmp rax, rdx
jne 0x180026445
and dword [r12 + 0x8c], 0xffffffdf
jmp 0x1800241d1
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
mov r8, qword [rax + rcx*8]
cmp r8, r11
je case.0x180023e3e.53
mov eax, dword [r14 + rsi*8 + 8]
cmp dword [r8 + 0x2c], eax
je case.default.0x180023e3e
test byte [r12 + 0x8c], 0x20
je 0x180026498
mov ecx, r9d
jmp 0x180024425
movsxd r12, dword [r14 + rsi*8 + 8]
movsxd r14, dword [r14 + rsi*8 + 0xc]
mov edi, r11d
mov rax, r14
mov rbp, r11
shl rax, 5
add rax, qword [r13 + 0x20]
mov r15, qword [rax + 8]
cmp dl, 0x36
jne 0x1800264e1
mov rax, qword [rax + 0x18]
mov r13d, 1
mov cl, byte [rax + 0x70]
mov rax, qword [rsp + 0x4f0]
cmp cl, byte [rax + 0x8b]
jae 0x1800264e4
mov byte [rax + 0x8b], cl
jmp 0x1800264e4
mov r13d, r11d
mov rcx, qword [rsp + 0x68]
test byte [rcx + rsi*8 + 3], r10b
je 0x18002651c
mov rbx, r12
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.18001dffc
mov r12d, dword [rbx + 0x18]
mov r8d, 2
cmp r12d, r8d
jl 0x180029288
mov rcx, qword [rsp + 0x68]
mov al, byte [rcx + rsi*8 + 1]
cmp al, 0xfa
jne 0x180026535
mov rbp, qword [rcx + rsi*8 + 0x10]
movzx edi, word [rbp + 8]
movzx eax, word [rbp + 6]
add edi, eax
jmp 0x18002653d
cmp al, 0xf2
jne 0x18002653d
mov edi, dword [rcx + rsi*8 + 0x10]
mov rcx, qword [rsp + 0x4f0]
mov r9d, r14d
mov r14, qword [rsp + 0x68]
mov edx, dword [r14 + rsi*8 + 4]
mov r8d, edi
mov dword [rsp + 0x20], 1
call fcn.180023a34
xor edi, edi
mov rbx, rax
cmp rax, rdi
je 0x18002931d
mov r9, qword [rbx]
mov byte [rax + 0x25], 1
lea eax, [rdi + 8]
or dword [rbx + 0x28], eax
mov qword [rsp + 0x20], r9
mov r8d, r13d
mov r9, rbp
mov edx, r12d
mov rcx, r15
mov dword [rbx + 0x2c], r12d
call fcn.1800175fc
mov qword [rbx + 0x10], rbp
mov cl, byte [r14 + rsi*8 + 3]
mov dword [rsp + 0x508], eax
mov rax, qword [rbx]
and cl, 1
lea r9d, [rdi + 4]
mov byte [rax + 0x6e], cl
cmp byte [r14 + rsi*8 + 1], 0xfa
mov eax, edi
setne al
shl eax, 2
xor eax, dword [rbx + 0x28]
and eax, r9d
xor dword [rbx + 0x28], eax
jmp 0x1800250b1
mov r8d, dword [r14 + rsi*8 + 8]
mov edx, dword [r14 + rsi*8 + 4]
or r9d, 0xffffffff
mov rcx, r12
mov dword [rsp + 0x20], 1
call fcn.180023a34
xor edi, edi
mov rbp, rax
cmp rax, rdi
je 0x18002932a
lea eax, [rdi + 1]
mov dword [rsp + 0x28], 0x41e
lea r9, [rbp + 8]
or dword [rbp + 0x28], eax
mov byte [rbp + 0x25], al
movzx ecx, byte [r14 + rsi*8 + 3]
or ecx, 5
mov r8, r13
xor edx, edx
mov dword [rsp + 0x20], ecx
mov rcx, qword [r13]
call fcn.180015424
mov dword [rsp + 0x508], eax
cmp eax, edi
jne 0x18002673e
mov rcx, qword [rbp + 8]
lea edx, [rdi + 1]
call fcn.1800162fc
mov dword [rsp + 0x508], eax
cmp eax, edi
jne 0x18002673e
mov r13, qword [r14 + rsi*8 + 0x10]
cmp r13, rdi
mov rdi, qword [rbp + 8]
mov rcx, rdi
je 0x180026763
movzx ebx, byte [r14 + rsi*8 + 3]
or ebx, 2
call fcn.180014070
lea rdx, [rsp + 0x140]
mov r8d, ebx
mov rcx, rdi
call fcn.18001b6d0
mov rcx, rdi
mov ebx, eax
mov dword [rsp + 0x508], eax
call fcn.18001412c
xor edi, edi
cmp ebx, edi
jne 0x180026735
mov rdi, qword [rbp + 8]
mov rbx, qword [rbp]
mov qword [rbp + 0x10], r13
mov rcx, rdi
call fcn.180014070
mov rdx, qword [rdi + 8]
mov r11d, dword [rsp + 0x140]
mov r8d, 1
test byte [rdx + 0x26], r8b
je 0x1800266e0
lea eax, [r8 + 7]
mov dword [rsp + 0x508], eax
jmp 0x18002672b
cmp r11d, r8d
jne 0x1800266ef
mov eax, dword [rdx + 0x3c]
neg eax
sbb ecx, ecx
and r11d, ecx
or rax, 0xffffffffffffffff
mov dword [rbx + 0x60], r11d
mov qword [rbx + 0x20], r13
mov qword [rbx], rdi
mov qword [rbx + 8], rdx
mov byte [rbx + 0x6c], r8b
mov word [rbx + 0x70], ax
mov rax, qword [rdx + 0x10]
xor ecx, ecx
mov qword [rbx + 0x10], rax
cmp rax, rcx
je 0x18002671d
mov qword [rax + 0x18], rbx
mov qword [rdx + 0x10], rbx
mov dword [rsp + 0x508], ecx
mov byte [rbx + 0x6d], cl
mov rcx, rdi
call fcn.18001412c
xor edi, edi
and dword [rbp + 0x28], 0xfffffffb
mov r13, qword [rsp + 0x50]
mov r9d, 4
mov edx, 8
mov eax, edi
cmp byte [r14 + rsi*8 + 3], dl
setne al
shl eax, 3
xor eax, dword [rbp + 0x28]
and eax, edx
xor dword [rbp + 0x28], eax
jmp 0x1800250b6
mov rbx, qword [rbp]
call fcn.180014070
mov rdx, qword [rdi + 8]
mov r8d, 1
test byte [rdx + 0x26], r8b
je 0x180026789
lea eax, [r8 + 7]
mov dword [rsp + 0x508], eax
jmp 0x1800267ce
mov eax, dword [rdx + 0x3c]
mov qword [rbx], rdi
mov qword [rbx + 8], rdx
neg eax
mov byte [rbx + 0x6c], r8b
sbb ecx, ecx
or rax, 0xffffffffffffffff
and ecx, r8d
mov word [rbx + 0x70], ax
mov dword [rbx + 0x60], ecx
xor ecx, ecx
mov qword [rbx + 0x20], rcx
mov rax, qword [rdx + 0x10]
mov qword [rbx + 0x10], rax
cmp rax, rcx
je 0x1800267c0
mov qword [rax + 0x18], rbx
mov qword [rdx + 0x10], rbx
mov dword [rsp + 0x508], ecx
mov byte [rbx + 0x6d], cl
mov rcx, rdi
call fcn.18001412c
mov r13, qword [rsp + 0x50]
mov r9d, 4
or dword [rbp + 0x28], r9d
xor edi, edi
jmp 0x180026744
mov r8d, dword [r14 + rsi*8 + 8]
mov edx, dword [r14 + rsi*8 + 4]
or r9d, 0xffffffff
mov rcx, r12
mov dword [rsp + 0x20], 1
call fcn.180023a34
xor edi, edi
mov rbx, rax
cmp rax, rdi
je 0x18002932a
mov rcx, qword [r14 + rsi*8 + 0x10]
lea edx, [rdi + 0x50]
mov qword [rax + 0x10], rcx
mov rcx, r13
call fcn.180005cd8
xor esi, esi
mov rdi, rax
mov qword [rbx + 0x50], rax
cmp rax, rsi
jne 0x18002684a
mov dword [rsp + 0x508], 7
jmp 0x1800242a1
mov rcx, qword [rbx + 0x10]
lea r9, [rsp + 0x310]
xor r8d, r8d
xor edx, edx
call fcn.1800212a0
mov r10d, 2
mov qword [rdi + 0x48], rax
cmp rax, rsi
jne 0x180026885
mov dword [rsp + 0x508], 7
mov r15d, 1
jmp 0x180024f44
cmp byte [r13 + 0x4f], r10b
je 0x1800268bd
mov rax, qword [r13 + 0x20]
mov rcx, qword [rax + 8]
mov rax, qword [rcx + 8]
mov edx, dword [rax + 0x30]
lea eax, [rdx + rdx*4]
add eax, eax
mov dword [rdi + 0x1c], eax
mov rax, qword [r13 + 0x20]
mov rcx, qword [rax + 0x18]
mov eax, dword [rcx + 0x74]
mov ecx, 0xa
cmp eax, ecx
cmovl eax, ecx
imul eax, edx
mov dword [rdi + 0x20], eax
mov dword [rsp + 0x508], esi
jmp 0x18002687a
mov r8d, dword [r14 + rsi*8 + 0xc]
mov edx, dword [r14 + rsi*8 + 4]
xor edi, edi
or r9d, 0xffffffff
mov rcx, r12
mov dword [rsp + 0x20], edi
call fcn.180023a34
cmp rax, rdi
je 0x18002932a
mov byte [rax + 0x25], 1
mov ecx, dword [r14 + rsi*8 + 8]
lea r9d, [rdi + 4]
or dword [rax + 0x28], r9d
mov dword [rax + 0x1c], ecx
jmp 0x180024c98
movsxd rax, dword [r14 + rsi*8 + 4]
mov rdx, qword [r12 + 0x60]
mov rcx, r12
mov rdx, qword [rdx + rax*8]
call fcn.18001fe78
movsxd r11, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
xor ecx, ecx
mov qword [rax + r11*8], rcx
jmp 0x1800241c4
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
movzx ebp, byte [r14 + rsi*8]
mov rbx, qword [rax + rcx*8]
mov byte [rbx + 0x25], r11b
test byte [rbx + 0x28], r9b
je 0x180026a4b
movsxd rdi, dword [r14 + rsi*8 + 0xc]
imul rdi, rdi, 0x38
add rdi, qword [rsp + 0x60]
test byte [rdi + 0x24], 0xc
jne 0x18002696c
mov rcx, rdi
call fcn.180023b18
mov rcx, rdi
call fcn.18001deb8
mov r12, rax
xor eax, eax
lea r9d, [rax + 4]
mov byte [rbx + 0x26], al
test byte [rdi + 0x24], r9b
jne 0x1800269d4
lea eax, [r9 + 4]
test byte [rdi + 0x24], al
jne 0x1800269a0
mov ecx, dword [r14 + rsi*8 + 8]
sub ecx, r15d
mov dword [rsp + 0x40], ecx
jmp 0x1800250bc
movsd xmm1, qword [rdi + 0x10]
pxor xmm0, xmm0
cvtsi2sd xmm0, r12
comisd xmm0, xmm1
jbe 0x1800269c2
mov eax, 1
test al, bpl
je 0x1800269d4
sub ebp, eax
jmp 0x1800269d4
comisd xmm1, xmm0
jbe 0x1800269d4
mov eax, 1
test al, bpl
jne 0x1800269d4
add ebp, eax
mov rcx, qword [rbx]
lea rax, [rsp + 0x70]
xor r9d, r9d
mov r8, r12
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.180018064
xor edi, edi
mov dword [rsp + 0x508], eax
cmp eax, edi
jne 0x1800292a8
cmp dword [rsp + 0x70], edi
jne 0x180026a0d
mov byte [rbx + 0x26], 1
mov qword [rbx + 0x48], r12
mov r12, qword [rsp + 0x4f0]
cmp ebp, 0x3e
mov byte [rbx + 0x27], dil
mov dword [rbx + 0x58], edi
mov eax, dword [rsp + 0x70]
jl 0x180026aee
cmp eax, edi
jl 0x180026adb
jne 0x180026a3c
cmp ebp, 0x3f
je 0x180026adb
mov dword [rsp + 0x70], edi
mov r15d, 1
jmp 0x18002594b
mov ecx, dword [r14 + rsi*8 + 0x10]
mov rax, qword [rbx + 0x10]
mov edx, 1
mov word [rsp + 0x268], cx
mov qword [rsp + 0x260], rax
mov eax, ebp
and al, dl
neg al
mov eax, 0x4000
sbb cl, cl
and cl, 0xfe
add cl, dl
mov byte [rsp + 0x26a], cl
movsxd rcx, dword [r14 + rsi*8 + 0xc]
imul rcx, rcx, 0x38
add rcx, rdi
mov qword [rsp + 0x270], rcx
test word [rcx + 0x24], ax
je 0x180026aa1
call fcn.18001dbf0
mov rcx, qword [rbx]
lea rax, [rsp + 0x70]
lea rdx, [rsp + 0x260]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call fcn.180018064
xor edi, edi
mov dword [rsp + 0x508], eax
cmp eax, edi
jne 0x1800292a8
mov byte [rbx + 0x26], dil
jmp 0x180026a15
mov dword [rsp + 0x70], edi
mov rcx, qword [rbx]
lea rdx, [rsp + 0x70]
call fcn.1800184f0
jmp 0x180026b22
cmp eax, edi
jg 0x180026b11
jne 0x180026af9
cmp ebp, 0x3c
je 0x180026b11
mov rax, qword [rbx]
mov ecx, edi
mov r15d, 1
cmp byte [rax + 0x6d], r15b
setne cl
mov dword [rsp + 0x70], ecx
jmp 0x180026b3b
mov dword [rsp + 0x70], edi
mov rcx, qword [rbx]
lea rdx, [rsp + 0x70]
call fcn.18001863c
mov dword [rsp + 0x508], eax
cmp eax, edi
jne 0x1800292a8
mov r15d, 1
mov byte [rbx + 0x26], dil
cmp dword [rsp + 0x70], edi
mov r10d, 2
jmp 0x180024f57
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
mov rbx, qword [rax + rcx*8]
mov byte [rbx + 0x25], r11b
movsxd rcx, dword [r14 + rsi*8 + 8]
imul rcx, rcx, 0x38
add rcx, rdi
call fcn.18001deb8
mov byte [rbx + 0x27], r15b
mov qword [rbx + 0x40], rax
xor eax, eax
mov byte [rbx + 0x26], al
jmp 0x1800241c4
movsxd rbx, dword [r14 + rsi*8 + 0xc]
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
imul rbx, rbx, 0x38
mov r12, qword [rax + rcx*8]
add rbx, rdi
cmp dword [r14 + rsi*8 + 0x10], r11d
mov r13, r11
mov qword [rsp + 0x150], r11
mov qword [rsp + 0x508], r12
jle 0x180026c37
mov rax, qword [r12 + 0x10]
mov edi, r11d
mov qword [rsp + 0x170], rax
movzx ecx, word [r14 + rsi*8 + 0x10]
mov qword [rsp + 0x180], rbx
mov word [rsp + 0x178], cx
cmp r11w, cx
jae 0x180026c2d
mov rbp, r11
mov r12d, 0x4000
test word [rbx + rbp + 0x24], r12w
je 0x180026c13
movsxd rcx, edi
imul rcx, rcx, 0x38
add rcx, rbx
call fcn.18001dbf0
mov rbx, qword [rsp + 0x180]
mov cx, word [rsp + 0x178]
inc edi
movzx eax, cx
add rbp, 0x38
cmp edi, eax
jl 0x180026bec
mov r12, qword [rsp + 0x508]
mov r14, qword [rsp + 0x68]
lea rdi, [rsp + 0x170]
jmp 0x180026c81
mov rcx, qword [r12 + 0x10]
lea r9, [rsp + 0x150]
lea rdx, [rsp + 0x390]
mov r8d, 0x107
call fcn.1800212a0
mov rdi, rax
xor eax, eax
cmp rdi, rax
je 0x18002930b
mov r8, qword [rbx + 8]
mov edx, dword [rbx + 0x20]
mov rcx, qword [r12 + 0x10]
mov r9, rdi
call fcn.180021314
mov r13, qword [rsp + 0x150]
xor ebx, ebx
mov byte [rdi + 0xa], bl
cmp byte [r14 + rsi*8], 0x41
jne 0x180026cc9
movzx edx, word [rsp + 0x178]
mov ecx, ebx
cmp edx, ebx
jle 0x180026cc9
mov rax, qword [rsp + 0x180]
lea r8d, [rbx + 1]
add rax, 0x24
test byte [rax], r8b
jne 0x180026cbd
add ecx, r8d
add rax, 0x38
cmp ecx, edx
jl 0x180026cab
jmp 0x180026cc9
mov eax, dword [r14 + rsi*8 + 8]
sub eax, r8d
mov dword [rsp + 0x40], eax
mov rcx, qword [r12]
lea rax, [rsp + 0x138]
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov qword [rsp + 0x20], rax
call fcn.180018064
mov r15d, eax
mov dword [rsp + 0x508], eax
cmp dword [r14 + rsi*8 + 0x10], ebx
jne 0x180026d0b
mov rdx, r13
mov r13, qword [rsp + 0x50]
mov rcx, r13
call fcn.180005a84
jmp 0x180026d10
mov r13, qword [rsp + 0x50]
cmp r15d, ebx
jne 0x180026108
mov eax, dword [rsp + 0x138]
mov rbp, qword [rsp + 0x48]
mov r15d, 1
cmp eax, ebx
mov dword [r12 + 0x18], eax
mov byte [r12 + 0x27], bl
mov dword [r12 + 0x58], ebx
mov ecx, ebx
sete cl
mov eax, 1
lea r10d, [r15 + 1]
lea r9d, [r15 + 3]
sub al, cl
mov byte [r12 + 0x25], al
cmp byte [r14 + rsi*8], 0x43
mov r12, qword [rsp + 0x4f0]
jne 0x180026d6b
cmp ecx, ebx
jmp 0x180024f62
cmp ecx, ebx
jmp 0x1800253cb
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
movsxd rbx, dword [r14 + rsi*8 + 0xc]
imul rbx, rbx, 0x38
add rbx, rdi
mov rdi, qword [rax + rcx*8]
lea rax, [rsp + 0xe8]
mov rcx, qword [rdi]
mov r8, qword [rbx + 0x18]
xor r9d, r9d
xor edx, edx
mov dword [rsp + 0xe8], r11d
mov qword [rsp + 0x20], rax
call fcn.180018064
mov ecx, dword [rsp + 0xe8]
xor edx, edx
mov dword [rsp + 0x508], eax
mov rax, qword [rbx + 0x18]
cmp ecx, edx
mov qword [rdi + 0x48], rax
sete al
mov byte [rdi + 0x25], dl
mov dword [rdi + 0x58], edx
mov byte [rdi + 0x27], dl
mov byte [rdi + 0x26], al
cmp ecx, edx
je 0x180026deb
mov eax, dword [r14 + rsi*8 + 8]
sub eax, r15d
mov dword [rsp + 0x40], eax
mov dword [rdi + 0x18], ecx
jmp 0x1800241c4
mov rax, qword [r12 + 0x60]
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x38]
mov qword [rbp + 0x18], rax
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x38], r15
jmp case.default.0x180023e3e
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
xor edi, edi
mov rbp, qword [rax + rcx*8]
mov rbx, rdi
mov dword [rsp + 0x58], edi
mov rcx, qword [rbp]
cmp rcx, rdi
je 0x18002703f
test byte [rbp + 0x28], r10b
jne 0x180026e70
lea rdx, [rsp + 0x58]
call fcn.180018008
mov dword [rsp + 0x508], eax
cmp eax, edi
jne 0x1800292a8
cmp dword [rsp + 0x58], edi
je 0x180026e9a
lea ebx, [rdi + 1]
lea r10d, [rdi + 2]
movabs r15, 0x7fffffffffffffff
movsxd rdx, dword [r14 + rsi*8 + 0xc]
cmp edx, edi
je 0x180026f36
mov rax, qword [r12 + 0xf0]
cmp rax, rdi
je 0x180026ef5
mov rcx, qword [rax + 8]
jmp 0x180026ee3
mov rbx, qword [rbp]
cmp byte [rbx + 0x6d], 1
je 0x180026ea9
mov rbx, rdi
jmp 0x180026eb5
mov rcx, rbx
call fcn.180017798
mov rbx, qword [rbx + 0x30]
movabs r15, 0x7fffffffffffffff
mov dword [rsp + 0x508], edi
mov r10d, 2
cmp rbx, r15
jl 0x180026ed7
or dword [rbp + 0x28], r10d
jmp 0x180026e7a
inc rbx
jmp 0x180026e7a
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp rcx, rdi
jne 0x180026edc
mov rdi, rdx
imul rdi, rdi, 0x38
add rdi, qword [rax + 0x18]
jmp 0x180026f01
mov rdi, rdx
imul rdi, rdi, 0x38
add rdi, qword [rsp + 0x60]
mov rcx, rdi
call fcn.18001dffc
mov rax, qword [rdi + 0x18]
cmp rax, r15
je 0x180029297
mov r10d, 2
test byte [rbp + 0x28], r10b
jne 0x180029297
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rdi + 0x18], rbx
xor edi, edi
test byte [rbp + 0x28], r10b
je 0x18002702a
mov rbx, qword [rsp + 0xb0]
mov rcx, qword [rbp]
movabs rax, 0x3fffffffffffffff
and rbx, rax
lea rax, [rsp + 0x58]
mov esi, 1
add rbx, rsi
xor r9d, r9d
xor edx, edx
mov r8, rbx
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0x20], rax
call fcn.180018064
xor ecx, ecx
mov r15d, eax
mov dword [rsp + 0x508], eax
cmp eax, ecx
jne 0x180027022
mov eax, dword [rsp + 0x58]
cmp eax, ecx
jne 0x180027011
add edi, esi
cmp edi, 0x64
jge 0x180027011
lea rdx, [rsp + 0x98]
mov ecx, 8
call fcn.180007340
cmp edi, 5
mov rbx, qword [rsp + 0x98]
jge 0x180026fca
and ebx, 0xffffff
jmp 0x180026fd7
movabs rax, 0x3fffffffffffffff
and rbx, rax
mov rcx, qword [rbp]
add rbx, rsi
lea rax, [rsp + 0x58]
mov r8, rbx
xor r9d, r9d
xor edx, edx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x98], rbx
call fcn.180018064
xor ecx, ecx
mov r15d, eax
mov dword [rsp + 0x508], eax
cmp eax, ecx
je 0x180026f94
mov eax, dword [rsp + 0x58]
xor edi, edi
cmp r15d, edi
jne 0x180027024
cmp eax, edi
je 0x180029299
jmp 0x180027024
xor edi, edi
mov r10d, 2
mov r15d, 1
mov byte [rbp + 0x26], dil
mov byte [rbp + 0x27], dil
lea r9d, [r15 + 3]
mov dword [rbp + 0x58], edi
mov rbp, qword [rsp + 0x48]
mov qword [rbp + 0x18], rbx
jmp case.default.0x180023e3e
movsxd r9, dword [r14 + rsi*8 + 8]
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
imul r9, r9, 0x38
add r9, rdi
mov rdi, qword [rax + rcx*8]
cmp dl, 0x49
jne 0x180027081
movsxd rax, dword [r14 + rsi*8 + 0xc]
mov rcx, qword [rsp + 0x60]
imul rax, rax, 0x38
mov rbx, qword [rax + rcx + 0x18]
jmp 0x180027086
movsxd rbx, dword [r14 + rsi*8 + 0xc]
mov eax, 1
test byte [r14 + rsi*8 + 3], al
je 0x18002709a
add dword [r12 + 0x90], eax
test byte [r14 + rsi*8 + 3], r10b
je 0x1800270ad
mov qword [rsp + 0xb0], rbx
mov qword [r13 + 0x30], rbx
test byte [r9 + 0x24], al
je 0x1800270bb
mov qword [r9 + 8], r11
mov dword [r9 + 0x20], r11d
mov al, byte [r14 + rsi*8 + 3]
mov ecx, 0x10
test cl, al
je 0x1800270ce
mov edx, dword [rdi + 0x18]
jmp 0x1800270d1
mov edx, r11d
mov ecx, 0x4000
test word [r9 + 0x24], cx
je 0x1800270e3
mov ecx, dword [r9 + 0x18]
jmp 0x1800270e6
mov ecx, r11d
mov dword [rsp + 0x38], edx
movzx eax, al
mov r8, rbx
shr eax, 3
xor edx, edx
and eax, 1
mov dword [rsp + 0x30], eax
mov eax, dword [r9 + 0x20]
mov r9, qword [r9 + 8]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rdi]
mov dword [rsp + 0x20], eax
call fcn.18001b11c
mov r15d, eax
mov dword [rsp + 0x508], eax
xor eax, eax
mov byte [rdi + 0x26], al
mov byte [rdi + 0x27], al
mov dword [rdi + 0x58], eax
cmp r15d, eax
jne 0x1800242a1
mov r10, qword [r13 + 0x100]
cmp r10, rax
je 0x1800242a1
mov r9, qword [r14 + rsi*8 + 0x10]
cmp r9, rax
je 0x1800242a1
mov al, byte [r14 + rsi*8 + 3]
movsx rcx, byte [rdi + 0x24]
mov r8, qword [r13 + 0x20]
shl rcx, 5
and al, 4
mov qword [rsp + 0x20], rbx
mov r8, qword [rcx + r8]
mov rcx, qword [r13 + 0xf8]
neg al
sbb edx, edx
and edx, 5
add edx, 0x12
call r10
jmp 0x1800242a1
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
mov rbx, qword [rax + rcx*8]
mov rcx, rbx
mov rdi, qword [rbx + 0x48]
call fcn.180020f04
xor ecx, ecx
mov dword [rsp + 0x508], eax
cmp eax, ecx
jne 0x1800292a6
mov rcx, qword [rbx]
call fcn.18001b3f0
mov ecx, eax
mov dword [rsp + 0x508], eax
xor eax, eax
mov dword [rbx + 0x58], eax
cmp ecx, eax
jne 0x180027217
mov r10, qword [r13 + 0x100]
cmp r10, rax
je 0x180027217
mov r9, qword [r14 + rsi*8 + 0x10]
cmp r9, rax
je 0x180027217
mov eax, 4
test byte [rbx + 0x28], al
je 0x180027217
movsx rax, byte [rbx + 0x24]
mov r8, qword [r13 + 0x20]
mov rcx, qword [r13 + 0xf8]
shl rax, 5
mov edx, 9
mov qword [rsp + 0x20], rdi
mov r8, qword [rax + r8]
call r10
mov ecx, dword [rsp + 0x508]
mov edi, dword [rsp + 0x40]
mov r10d, 2
lea r9d, [r10 + 2]
test byte [r14 + rsi*8 + 8], r15b
je 0x1800241db
add dword [r12 + 0x90], r15d
jmp 0x1800241db
mov eax, dword [r12 + 0x90]
add dword [r13 + 0x64], eax
mov dword [r13 + 0x60], eax
mov dword [r12 + 0x90], r11d
jmp case.default.0x180023e3e
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
movsxd r8, dword [r14 + rsi*8 + 0xc]
imul r8, r8, 0x38
mov r10, qword [rax + rcx*8]
mov rcx, qword [r10 + 0x50]
mov rax, qword [rcx + 0x30]
cmp rax, r11
je 0x180027293
movsxd rax, dword [rax + 4]
shl rax, 6
add rax, qword [rcx + 0x28]
mov ecx, dword [rax + 0x14]
mov rdx, qword [rax + 0x28]
jmp 0x18002729d
mov rax, qword [rcx + 0x40]
mov ecx, dword [rax + 8]
mov rdx, qword [rax]
mov r9d, dword [r8 + rdi + 0x20]
mov r8, qword [r8 + rdi + 8]
lea rax, [rsp + 0x128]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rdx
mov edx, dword [r14 + rsi*8 + 0x10]
mov rcx, r10
call fcn.18002a128
xor eax, eax
lea r10d, [rax + 2]
lea r9d, [rax + 4]
mov ecx, eax
mov dword [rsp + 0x508], eax
cmp dword [rsp + 0x128], eax
je 0x1800241d7
mov edi, dword [r14 + rsi*8 + 8]
sub edi, r15d
jmp 0x1800241db
mov rax, qword [r12 + 0x60]
movsxd rcx, dword [r14 + rsi*8 + 4]
movsxd rbp, dword [r14 + rsi*8 + 8]
imul rbp, rbp, 0x38
mov rcx, qword [rax + rcx*8]
add rbp, rdi
mov rdx, qword [rcx + 0x50]
mov qword [rsp + 0x48], rbp
mov rax, qword [rdx + 0x30]
cmp rax, r11
je 0x180027338
movsxd rax, dword [rax + 4]
shl rax, 6
add rax, qword [rdx + 0x28]
mov ebx, dword [rax + 0x14]
mov rdi, qword [rax + 0x28]
jmp 0x180027342
mov rax, qword [rdx + 0x40]
mov ebx, dword [rax + 8]
mov rdi, qword [rax]
xor r8d, r8d
mov edx, ebx
mov rcx, rbp
call fcn.18001da68
xor esi, esi
cmp eax, esi
je 0x180027364
lea ecx, [rsi + 7]
mov dword [rsp + 0x508], ecx
jmp 0x1800241cb
mov rcx, qword [rbp + 8]
mov eax, 0xbe10
movsxd r8, ebx
and word [rbp + 0x24], ax
mov eax, 0x10
mov rdx, rdi
or word [rbp + 0x24], ax
mov dword [rbp + 0x20], ebx
call fcn.180062a8e
mov ecx, esi
jmp 0x180027358
movsxd rbp, dword [r14 + rsi*8 + 8]
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
imul rbp, rbp, 0x38
mov rsi, qword [rax + rcx*8]
add rbp, rdi
mov rdi, qword [rsi]
mov rcx, rsi
mov qword [rsp + 0x48], rbp
call fcn.180020f04
xor ecx, ecx
mov dword [rsp + 0x508], eax
cmp eax, ecx
jne 0x1800292a6
lea eax, [rcx + 4]
test byte [rsi + 0x28], al
jne 0x1800273fb
cmp byte [rdi + 0x6d], 1
je 0x1800273da
mov rbx, rcx
jmp 0x1800273e6
mov rcx, rdi
call fcn.180017798
mov rbx, qword [rdi + 0x30]
movsxd rax, dword [r13 + 0x68]
cmp rbx, rax
jg 0x1800292e5
mov r15d, 1
jmp 0x180027410
mov rcx, rdi
call fcn.180017798
mov ebx, dword [rdi + 0x40]
cmp ebx, dword [r13 + 0x68]
ja 0x1800292e5
xor r8d, r8d
mov edx, ebx
mov rcx, rbp
call fcn.18001da68
xor ecx, ecx
cmp eax, ecx
jne 0x18002918e
mov r9, qword [rbp + 8]
mov eax, 0xbe10
mov dword [rbp + 0x20], ebx
and word [rbp + 0x24], ax
lea eax, [rcx + 0x10]
xor edx, edx
or word [rbp + 0x24], ax
lea eax, [rcx + 4]
mov r8d, ebx
test byte [rsi + 0x28], al
jne 0x180027459
mov dword [rsp + 0x20], ecx
mov rcx, rdi
call fcn.180017914
jmp 0x180027461
mov rcx, rdi
call fcn.180017c68
mov dword [rsp + 0x508], eax
mov ecx, eax
mov byte [rbp + 0x26], r15b
jmp 0x1800241cb
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
xor edi, edi
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 0x25], dil
je 0x180027493
mov word [rbp + 0x24], r15w
jmp case.default.0x180023e3e
cmp byte [rbx + 0x27], dil
je 0x1800274aa
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0xf0], rax
jmp 0x180027539
cmp qword [rbx + 0x30], rdi
je 0x1800274e1
mov rcx, qword [rbx + 0x30]
lea rdx, [rsp + 0xf0]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x508], eax
call fcn.180022008
mov rax, qword [rsp + 0xf0]
jmp 0x180027533
mov rcx, rbx
call fcn.180020f04
mov dword [rsp + 0x508], eax
cmp eax, edi
jne 0x1800292a8
cmp byte [rbx + 0x26], dil
je 0x180027504
mov rax, qword [rbx + 0x48]
jmp 0x18002752b
mov rbx, qword [rbx]
cmp byte [rbx + 0x6d], 1
je 0x180027512
mov rax, rdi
jmp 0x18002751e
mov rcx, rbx
call fcn.180017798
mov rax, qword [rbx + 0x30]
mov dword [rsp + 0x508], edi
mov r15d, 1
mov qword [rsp + 0xf0], rax
mov r9d, 4
mov qword [rbp + 0x18], rax
jmp 0x18002415d
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
mov rdx, qword [rax + rcx*8]
mov rbx, qword [rdx]
mov byte [rdx + 0x25], 1
mov byte [rdx + 0x26], r11b
mov dword [rdx + 0x58], r11d
cmp rbx, r11
je 0x1800290ce
mov rcx, qword [rbx + 0x58]
call fcn.1800059e4
xor eax, eax
mov qword [rbx + 0x58], rax
mov byte [rbx + 0x6d], al
jmp 0x1800242a1
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
lea rdx, [rsp + 0xdc]
mov rbx, qword [rax + rcx*8]
mov dword [rsp + 0xdc], r11d
mov rcx, qword [rbx]
call fcn.180018008
xor edx, edx
mov dword [rsp + 0x508], eax
mov eax, dword [rsp + 0xdc]
mov byte [rbx + 0x27], dl
mov byte [rbx + 0x26], dl
mov dword [rbx + 0x58], edx
mov byte [rbx + 0x25], al
mov ecx, dword [r14 + rsi*8 + 8]
cmp ecx, edx
jle 0x1800241c4
lea r10d, [rdx + 2]
lea r9d, [rdx + 4]
cmp eax, edx
je case.default.0x180023e3e
dec ecx
jmp 0x180023e6e
inc dword [r12 + 0xa8]
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
mov edi, 1
mov rbx, qword [rax + rcx*8]
mov dword [rsp + 0xd8], edi
cmp qword [rbx + 0x50], r11
je 0x180027632
lea r8, [rsp + 0xd8]
mov rdx, rbx
mov rcx, r13
call fcn.18002aa84
mov edi, dword [rsp + 0xd8]
mov dword [rsp + 0x508], eax
xor eax, eax
jmp 0x18002766f
mov rbp, qword [rbx]
mov rcx, rbp
call fcn.180017d9c
mov r15d, eax
mov dword [rsp + 0x508], eax
xor eax, eax
cmp r15d, eax
jne 0x180027666
cmp byte [rbp + 0x6d], al
je 0x180027666
mov rcx, rbp
mov edi, eax
call fcn.180017eec
mov dword [rsp + 0x508], eax
xor eax, eax
mov byte [rbx + 0x27], al
mov dword [rbx + 0x58], eax
mov byte [rbx + 0x26], al
mov r15d, 1
mov byte [rbx + 0x25], dil
cmp edi, eax
lea r10d, [r15 + 1]
jmp 0x180024f57
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
xor edi, edi
mov rbx, qword [rax + rcx*8]
lea r8, [rsp + 0xa8]
mov rcx, r13
mov rdx, rbx
mov dword [rsp + 0xa8], edi
call fcn.18002ad30
jmp 0x1800276f4
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
xor edi, edi
cmp qword [rax + rcx*8], rdi
je case.default.0x180023e3e
jmp 0x1800276ca
xor edi, edi
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
lea rdx, [rsp + 0xa8]
mov rbx, qword [rax + rcx*8]
mov eax, dword [r14 + rsi*8 + 0xc]
mov dword [rsp + 0xa8], eax
mov rcx, qword [rbx]
call qword [r14 + rsi*8 + 0x10]
mov dword [rbx + 0x58], edi
mov dword [rsp + 0x508], eax
cmp dword [rsp + 0xa8], edi
jne 0x18002772b
mov byte [rbx + 0x25], dil
mov eax, dword [r14 + rsi*8 + 8]
mov ecx, 1
sub eax, ecx
mov dword [rsp + 0x40], eax
movzx eax, byte [r14 + rsi*8 + 3]
add dword [r12 + rax*4 + 0xa0], ecx
jmp 0x18002772f
mov byte [rbx + 0x25], 1
mov byte [rbx + 0x26], dil
jmp 0x180028ded
movsxd rbx, dword [r14 + rsi*8 + 8]
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
imul rbx, rbx, 0x38
mov rdi, qword [rax + rcx*8]
add rbx, qword [rsp + 0x60]
mov rbp, qword [rdi]
test byte [r14 + rsi*8 + 3], r15b
je 0x180027766
add dword [r12 + 0x90], r15d
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x18002778b
mov rcx, rbx
call fcn.18001dbf0
xor r11d, r11d
mov ecx, eax
mov dword [rsp + 0x508], eax
lea r9d, [r11 + 4]
jmp 0x180027795
mov ecx, r11d
mov dword [rsp + 0x508], ecx
cmp ecx, r11d
jne 0x1800250cb
cmp qword [rdi + 0x50], r11
je 0x1800277c0
mov r8, rbx
mov rdx, rdi
mov rcx, r13
call fcn.18002a778
mov ecx, eax
mov dword [rsp + 0x508], eax
jmp 0x18002573d
mov eax, 0x10
test byte [r14 + rsi*8 + 3], al
je 0x1800277d1
mov eax, dword [rdi + 0x18]
jmp 0x1800277d4
mov eax, r11d
movsxd r8, dword [rbx + 0x20]
mov rdx, qword [rbx + 8]
mov dword [rsp + 0x38], eax
mov eax, dword [r14 + rsi*8 + 0xc]
lea r9, [0x180068af4]
mov rcx, rbp
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r11d
mov dword [rsp + 0x20], r11d
call fcn.18001b11c
mov ecx, eax
mov dword [rsp + 0x508], eax
xor eax, eax
mov dword [rdi + 0x58], eax
jmp 0x18002573d
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
lea rdx, [rsp + 0x240]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x60]
xor r9d, r9d
mov rax, qword [rbx + 0x10]
mov rdi, qword [rbx]
xor r8d, r8d
mov qword [rsp + 0x240], rax
movzx eax, word [r14 + rsi*8 + 0xc]
mov byte [rsp + 0x24a], r11b
mov word [rsp + 0x248], ax
movsxd rax, dword [r14 + rsi*8 + 8]
imul rax, rax, 0x38
add rax, rcx
mov rcx, rdi
mov qword [rsp + 0x250], rax
lea rax, [rsp + 0x118]
mov qword [rsp + 0x20], rax
call fcn.180018064
xor esi, esi
mov ecx, eax
mov dword [rsp + 0x508], eax
cmp eax, esi
jne 0x1800278ad
cmp dword [rsp + 0x118], esi
jne 0x1800278ad
mov rcx, rdi
call fcn.18001b3f0
mov ecx, eax
mov dword [rsp + 0x508], eax
mov dword [rbx + 0x58], esi
jmp 0x1800241cb
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
mov rbx, qword [rax + rcx*8]
mov eax, 1
mov rdi, qword [rbx]
mov rcx, rbx
mov word [rbp + 0x24], ax
call fcn.180020f04
mov r15d, eax
mov dword [rsp + 0x508], eax
xor eax, eax
cmp r15d, eax
jne 0x1800292a6
cmp byte [rbx + 0x25], al
jne 0x1800242a1
lea r8, [rsp + 0xc8]
mov rdx, rdi
mov rcx, r13
mov qword [rsp + 0xc8], rax
call fcn.180021e1c
xor edi, edi
mov dword [rsp + 0x508], eax
cmp eax, edi
jne 0x1800292a8
mov rax, qword [rsp + 0xc8]
lea r9d, [rdi + 4]
mov qword [rbp + 0x18], rax
mov word [rbp + 0x24], r9w
jmp 0x180024c98
mov rax, qword [r12 + 0x60]
movsxd rcx, dword [r14 + rsi*8 + 4]
cmp dl, 0x71
mov rcx, qword [rax + rcx*8]
lea r8, [rsp + 0x74]
lea rdx, [rsp + 0x280]
mov rax, qword [rcx + 0x10]
mov dword [rsp + 0x74], r11d
mov qword [rsp + 0x280], rax
movzx eax, word [r14 + rsi*8 + 0x10]
mov word [rsp + 0x288], ax
sbb al, al
mov byte [rsp + 0x28a], al
movsxd rax, dword [r14 + rsi*8 + 0xc]
imul rax, rax, 0x38
add rax, rdi
mov qword [rsp + 0x290], rax
call fcn.180021f54
mov r15d, 1
mov dword [rsp + 0x508], eax
mov eax, dword [rsp + 0x74]
test byte [r14 + rsi*8], r15b
je 0x1800279b5
neg eax
jmp 0x1800279b8
add eax, r15d
xor ecx, ecx
cmp eax, ecx
lea r10d, [rcx + 2]
lea r9d, [rcx + 4]
jle case.default.0x180023e3e
jmp 0x180023e66
mov rax, qword [r13 + 8]
mov edx, r11d
cmp rax, r11
je 0x180027a21
mov r9d, 8
cmp dword [rax + 0x44], 0xbdf20da3
jne 0x180027a09
mov ecx, dword [rax + 0x8c]
bt ecx, 9
jae 0x180027a09
and cl, 0xc
cmp cl, r9b
jae 0x180027a09
cmp dword [rax + 0x80], r11d
jl 0x180027a09
inc edx
mov rax, qword [rax + 0x58]
cmp rax, r11
jne 0x1800279e1
mov r14, qword [rsp + 0x68]
mov r15d, 1
lea r9d, [r15 + 3]
cmp edx, r15d
mov word [rbp + 0x24], r15w
jle 0x180027a44
mov ecx, 6
mov byte [r12 + 0x8a], r10b
mov dword [rsp + 0x508], ecx
jmp 0x1800241d7
movsxd r12, dword [r14 + rsi*8 + 0xc]
mov rax, qword [r13 + 0x20]
mov edi, dword [r14 + rsi*8 + 4]
mov rbp, r12
mov dword [rsp + 0xe0], r11d
shl rbp, 5
mov rbx, qword [rax + rbp + 8]
mov rcx, rbx
call fcn.180014070
lea r8, [rsp + 0xe0]
mov edx, edi
mov rcx, rbx
call fcn.18001bba8
mov rcx, rbx
mov dword [rsp + 0x508], eax
call fcn.18001412c
mov rbx, qword [rsp + 0x48]
mov ecx, dword [rsp + 0x508]
movsxd r8, dword [rsp + 0xe0]
xor r10d, r10d
mov r9d, 4
mov qword [rbx + 0x18], r8
mov word [rbx + 0x24], r9w
cmp ecx, r10d
jne 0x180029116
cmp r8d, r10d
je 0x180029116
mov rdx, qword [r13 + 0x20]
mov r9d, dword [r14 + rsi*8 + 4]
mov rax, qword [rdx + rbp + 0x18]
mov rcx, qword [rax + 0x10]
jmp 0x180027aec
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x3c], r8d
jne 0x180027ae9
mov dword [rax + 0x3c], r9d
mov rcx, qword [rcx]
cmp rcx, r10
jne 0x180027adb
mov rax, qword [rdx + rbp + 0x18]
mov rcx, qword [rax + 0x28]
jmp 0x180027b0d
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x58], r8d
jne 0x180027b0a
mov dword [rax + 0x58], r9d
mov rcx, qword [rcx]
cmp rcx, r10
jne 0x180027afc
mov ecx, dword [rsp + 0x508]
lea esi, [r15 + r12]
mov r12, qword [rsp + 0x4f0]
mov byte [rsp + 0x4f8], sil
mov rbp, rbx
jmp 0x1800241cb
mov eax, dword [r14 + rsi*8 + 0xc]
mov rcx, qword [r13 + 0x20]
mov edx, dword [r14 + rsi*8 + 4]
neg eax
lea rax, [rsp + 0xf8]
mov dword [rsp + 0xf8], r11d
sbb r8, r8
and r8, rax
movsxd rax, dword [r14 + rsi*8 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.18001bb14
xor edx, edx
mov ecx, eax
mov dword [rsp + 0x508], eax
cmp dword [r14 + rsi*8 + 0xc], edx
je 0x1800241cb
movsxd rax, dword [rsp + 0xf8]
lea r10d, [rdx + 2]
lea r9d, [rdx + 4]
add dword [r12 + 0x90], eax
movsxd rcx, dword [r14 + rsi*8 + 0xc]
cmp ecx, edx
jle case.default.0x180023e3e
imul rcx, rcx, 0x38
add qword [rcx + rdi + 0x18], rax
jmp case.default.0x180023e3e
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x50]
cmp rdx, r11
je 0x180027bdb
mov rcx, r13
call fcn.18002a1cc
jmp 0x1800241c4
mov rcx, qword [rcx]
xor r8d, r8d
mov edx, dword [rcx + 0x60]
mov rcx, qword [rcx]
call fcn.18001bb14
mov ecx, eax
mov dword [rsp + 0x508], eax
jmp 0x1800241cb
movsxd rdi, dword [r14 + rsi*8 + 4]
mov ebx, r11d
mov dword [rsp + 0x78], r11d
shl rdi, 5
add rdi, qword [r13 + 0x20]
cmp dl, 0x77
mov rdi, qword [rdi + 8]
setne bl
mov rcx, rdi
call fcn.180014070
lea r8d, [rbx + 1]
lea rdx, [rsp + 0x78]
mov rcx, rdi
call fcn.18001b6d0
mov rcx, rdi
mov dword [rsp + 0x508], eax
call fcn.18001412c
movsxd rax, dword [rsp + 0x78]
mov qword [rbp + 0x18], rax
jmp 0x1800242a1
movsxd rcx, dword [r14 + rsi*8 + 4]
mov r8, qword [r13 + 0x20]
lea rax, str.sqlite_master
cmp ecx, 1
mov dword [rsp + 0x168], ecx
mov qword [rsp + 0x158], r13
lea r9, str.sqlite_temp_master
lea rdx, str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
cmovne r9, rax
shl rcx, 5
lea rax, [r12 + 0x48]
mov qword [rsp + 0x160], rax
mov rax, qword [r14 + rsi*8 + 0x10]
mov r8, qword [rcx + r8]
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.180007168
xor edi, edi
mov rbx, rax
cmp rax, rdi
jne 0x180027cc2
lea r15d, [rdi + 7]
mov dword [rsp + 0x508], r15d
jmp 0x180027d1d
lea r9, [rsp + 0x158]
lea r8, [fcn.1800470f0]
mov rdx, rax
mov rcx, r13
mov byte [r13 + 0x99], 1
mov dword [rsp + 0x16c], edi
mov qword [rsp + 0x20], rdi
call fcn.180042df0
mov rdx, rbx
mov r15d, eax
cmp eax, edi
mov rcx, r13
cmove r15d, dword [rsp + 0x16c]
mov dword [rsp + 0x508], r15d
call fcn.180005a84
mov byte [r13 + 0x99], dil
cmp r15d, edi
je 0x180027d25
mov rcx, r13
call fcn.180034f4c
cmp r15d, 7
je 0x18002932a
jmp 0x1800242a1
mov edx, dword [r14 + rsi*8 + 4]
mov rcx, r13
call fcn.180033b50
jmp 0x180027bec
mov rdx, qword [r14 + rsi*8 + 0x10]
movsxd rcx, dword [r14 + rsi*8 + 4]
shl rcx, 5
mov rax, rdx
add rcx, qword [r13 + 0x20]
cmp rdx, r11
jne 0x180027d65
mov eax, r11d
jmp 0x180027d7f
cmp byte [rdx], r11b
je 0x180027d78
inc rax
cmp byte [rax], r11b
jne 0x180027d6a
mov r15d, 1
sub eax, edx
and eax, 0x3fffffff
mov rcx, qword [rcx + 0x18]
xor r9d, r9d
mov r8d, eax
add rcx, 8
call fcn.180008dbc
mov rcx, r13
mov rdx, rax
call fcn.180035050
mov r10d, 2
or dword [r13 + 0x2c], r10d
jmp 0x180024f44
mov rax, qword [r13 + 0x20]
mov rdx, qword [r14 + rsi*8 + 0x10]
movsxd rcx, dword [r14 + rsi*8 + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov rax, rdx
add rcx, 0x20
cmp rdx, r11
jne 0x180027dd4
mov eax, r11d
jmp 0x180027dee
cmp byte [rdx], r11b
je 0x180027de7
inc rax
cmp byte [rax], r11b
jne 0x180027dd9
mov r15d, 1
sub eax, edx
and eax, 0x3fffffff
xor r9d, r9d
mov r8d, eax
call fcn.180008dbc
xor r8d, r8d
mov rdx, rax
cmp rax, r8
je 0x180027d9d
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
cmp rcx, rdx
jne 0x180027e1b
mov rcx, qword [rdx + 0x28]
mov qword [rax + 0x10], rcx
jmp 0x180027e44
cmp rcx, r8
je 0x180027e44
mov rax, qword [rcx + 0x28]
cmp rax, rdx
je 0x180027e31
mov rcx, rax
cmp rax, r8
jne 0x180027e20
cmp rcx, r8
je 0x180027e44
cmp qword [rcx + 0x28], rdx
jne 0x180027e44
mov rax, qword [rdx + 0x28]
mov qword [rcx + 0x28], rax
mov rcx, r13
call fcn.180034d94
jmp 0x180027d9d
mov r8, qword [r14 + rsi*8 + 0x10]
mov edx, dword [r14 + rsi*8 + 4]
mov rcx, r13
call fcn.180050644
jmp 0x1800241c4
mov r12d, dword [r14 + rsi*8 + 8]
mov rcx, r13
lea edx, [r12*4 + 4]
call fcn.180005d10
mov r15, rax
xor eax, eax
cmp r15, rax
je 0x180029347
movsxd rbp, dword [r14 + rsi*8 + 0xc]
mov r13, rax
imul rbp, rbp, 0x38
add rbp, rdi
movsxd rdi, dword [r14 + rsi*8 + 4]
imul rdi, rdi, 0x38
add rdi, qword [rsp + 0x60]
cmp r12d, eax
mov qword [rsp + 0xc8], rdi
jle 0x180027ee5
mov rbx, rdi
mov r14, r12
lea edi, [rax + 1]
mov rcx, rbx
call fcn.18001deb8
add rbx, 0x38
mov dword [r15 + r13*4], eax
add r13, rdi
sub r14, rdi
jne 0x180027ebe
mov rdi, qword [rsp + 0xc8]
mov r14, qword [rsp + 0x68]
xor eax, eax
mov dword [r15 + r13*4], eax
movzx eax, byte [r14 + rsi*8 + 3]
mov r13, qword [rsp + 0x50]
mov rcx, qword [r13 + 0x20]
mov r9d, dword [rbp + 0x18]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
lea rdx, [rsp + 0x144]
mov r8d, r12d
mov qword [rsp + 0x20], rdx
mov rdx, r15
call fcn.18001c82c
mov rdx, r15
mov rcx, r13
mov rsi, rax
call fcn.180005a84
movsxd rbx, dword [rsp + 0x144]
sub qword [rbp + 0x18], rbx
mov rcx, rdi
call fcn.18001e090
xor eax, eax
cmp ebx, eax
je 0x180027f6c
cmp rsi, rax
je 0x180029347
lea rax, [fcn.1800059e4]
mov r9b, 1
or r8d, 0xffffffff
mov rdx, rsi
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.18001e308
movzx ecx, byte [rsp + 0x500]
mov r10d, 2
test byte [rdi + 0x24], r10b
je 0x1800290eb
movzx eax, byte [rdi + 0x26]
cmp eax, ecx
je 0x1800290eb
mov dl, cl
mov rcx, rdi
call fcn.180007534
jmp 0x180026108
movsxd rbx, dword [r14 + rsi*8 + 4]
imul rbx, rbx, 0x38
add rbx, rdi
movsxd rdi, dword [r14 + rsi*8 + 8]
imul rdi, rdi, 0x38
add rdi, qword [rsp + 0x60]
test byte [rbx + 0x24], 0x20
jne 0x180027fd1
mov rcx, rbx
call fcn.18001e10c
test byte [rbx + 0x24], 0x20
je 0x18002918e
mov rdx, qword [rdi + 0x18]
mov rcx, qword [rbx + 0x18]
call fcn.18000d59c
jmp 0x1800241c4
movsxd rdi, dword [r14 + rsi*8 + 4]
mov rbp, qword [rsp + 0x60]
imul rdi, rdi, 0x38
add rdi, rbp
test byte [rdi + 0x24], 0x20
je 0x180028060
mov rbx, qword [rdi + 0x18]
test byte [rbx + 0x32], r10b
jne 0x180028022
test byte [rbx + 0x32], 1
jne 0x18002801d
mov rcx, qword [rbx + 0x10]
call fcn.18000d650
mov r10d, 2
mov qword [rbx + 0x10], rax
or word [rbx + 0x32], r10w
mov rax, qword [rbx + 0x10]
xor ecx, ecx
cmp rax, rcx
je 0x180028060
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
cmp rax, rcx
jne 0x180028045
mov rcx, rbx
call fcn.18000d4d4
movsxd rcx, dword [r14 + rsi*8 + 0xc]
mov rdx, rdi
imul rcx, rcx, 0x38
add rcx, rbp
call fcn.18001e0dc
xor edi, edi
jmp 0x180028ded
mov rcx, rdi
call fcn.18001e090
mov ecx, dword [r14 + rsi*8 + 8]
dec ecx
mov dword [rsp + 0x40], ecx
jmp 0x180028059
movsxd rbx, dword [r14 + rsi*8 + 4]
mov ebp, dword [r14 + rsi*8 + 0x10]
imul rbx, rbx, 0x38
add rbx, rdi
movsxd rdi, dword [r14 + rsi*8 + 0xc]
imul rdi, rdi, 0x38
add rdi, qword [rsp + 0x60]
test byte [rbx + 0x24], 0x20
jne 0x1800280ac
mov rcx, rbx
call fcn.18001e10c
test byte [rbx + 0x24], 0x20
je 0x18002918e
xor eax, eax
cmp ebp, eax
je 0x1800280e2
mov r8, qword [rdi + 0x18]
mov rcx, qword [rbx + 0x18]
mov edx, ebp
call fcn.18000d810
xor ecx, ecx
cmp eax, ecx
je 0x1800280d8
mov ecx, dword [r14 + rsi*8 + 8]
sub ecx, r15d
mov dword [rsp + 0x40], ecx
jmp 0x18002594b
xor eax, eax
cmp ebp, eax
jl 0x18002594b
mov rdx, qword [rdi + 0x18]
mov rcx, qword [rbx + 0x18]
call fcn.18000d59c
jmp 0x18002594b
movsxd rdi, dword [r14 + rsi*8 + 0xc]
mov rbp, qword [r14 + rsi*8 + 0x10]
imul rdi, rdi, 0x38
add rdi, qword [rsp + 0x60]
cmp byte [r14 + rsi*8 + 3], r11b
je 0x180028137
mov rax, qword [r12 + 0xf0]
mov rcx, qword [rbp + 0x18]
cmp rax, r11
je 0x180028137
cmp qword [rax + 0x30], rcx
je 0x18002812e
mov rax, qword [rax + 8]
cmp rax, r11
jne 0x18002811f
cmp rax, r11
jne 0x18002910a
mov eax, dword [r13 + 0x90]
cmp dword [r12 + 0x100], eax
jl 0x18002815c
mov ecx, r15d
mov dword [rsp + 0x508], ecx
mov rbp, qword [rsp + 0x48]
jmp 0x1800241d7
mov r14d, 0x40
test byte [rdi + 0x24], r14b
jne 0x1800282f0
mov edx, dword [rbp + 0x10]
mov eax, dword [rbp + 0xc]
lea esi, [rdx + rax]
mov eax, dword [rbp + 0x14]
mov ecx, esi
imul ecx, ecx, 7
add ecx, edx
lea edx, [rax + rcx*8 + 0x60]
mov rcx, r13
call fcn.180005cd8
mov rbx, rax
xor eax, eax
cmp rbx, rax
je 0x18002918e
mov rcx, rdi
call fcn.18001de7c
mov word [rdi + 0x24], r14w
mov qword [rdi + 0x18], rbx
mov edi, dword [rsp + 0x40]
mov qword [rbx], r12
mov dword [rbx + 0x54], esi
mov ecx, dword [rbp + 0x10]
mov dword [rbx + 0x44], edi
mov dword [rbx + 0x58], ecx
mov rcx, qword [r12 + 0x10]
mov qword [rbx + 0x18], rcx
mov eax, dword [r12 + 0x38]
mov dword [rbx + 0x4c], eax
mov rax, qword [r12 + 0x60]
mov qword [rbx + 0x28], rax
mov eax, dword [r12 + 0x40]
mov dword [rbx + 0x40], eax
mov rax, qword [r12 + 8]
mov qword [rbx + 0x10], rax
mov eax, dword [r12 + 0x3c]
mov dword [rbx + 0x48], eax
mov rax, qword [rbp + 0x18]
mov qword [rbx + 0x30], rax
mov rax, qword [r12 + 0x118]
mov qword [rbx + 0x20], rax
mov eax, dword [r12 + 0x110]
mov dword [rbx + 0x50], eax
movsxd rax, esi
imul rax, rax, 0x38
lea rcx, [rax + rbx + 0x60]
lea rax, [rbx + 0x60]
cmp rax, rcx
je 0x180028238
lea edx, [r14 + 0x40]
mov word [rax + 0x24], dx
mov qword [rax], r13
add rax, 0x38
cmp rax, rcx
jne 0x180028228
xor r11d, r11d
mov rax, qword [r12 + 0xf0]
lea r8, [rbx + 0x28]
mov ecx, 1
add dword [r12 + 0x100], ecx
mov qword [rbx + 8], rax
mov rax, qword [rsp + 0xb0]
mov qword [rbx + 0x38], rax
mov eax, dword [r12 + 0x90]
mov qword [rsp + 0x60], r8
mov dword [rbx + 0x5c], eax
mov qword [r12 + 0x10], r8
mov dword [r12 + 0x90], r11d
mov qword [r12 + 0xf0], rbx
mov eax, dword [rbx + 0x54]
or edi, 0xffffffff
mov dword [r12 + 0x38], eax
movzx edx, word [rbx + 0x58]
add eax, ecx
mov dword [r12 + 0x40], edx
movsxd rcx, eax
imul rcx, rcx, 0x38
add rcx, r8
mov qword [r12 + 0x60], rcx
mov r14, qword [rbp]
mov qword [r12 + 8], r14
mov eax, dword [rbp + 8]
lea rcx, [rcx + rdx*8]
mov qword [r12 + 0x118], rcx
mov dword [r12 + 0x3c], eax
movsxd rax, dword [rbp + 0x14]
xor edx, edx
mov r8, rax
mov qword [rsp + 0x68], r14
mov dword [r12 + 0x110], eax
call fcn.180062a94
mov rbp, qword [rsp + 0x48]
jmp 0x180024b0c
mov rbx, qword [rdi + 0x18]
jmp 0x18002823b
mov r8, qword [r12 + 0xf0]
movsxd rax, dword [r8 + 0x44]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov edx, dword [rax + rcx*8 + 4]
add edx, dword [r14 + rsi*8 + 4]
movsxd rdx, edx
imul rdx, rdx, 0x38
add rdx, qword [r8 + 0x18]
jmp 0x1800243bf
bt dword [r13 + 0x2c], 0x18
movsxd rax, dword [r14 + rsi*8 + 8]
jae 0x18002833f
add qword [r13 + 0x310], rax
jmp case.default.0x180023e3e
mov ecx, dword [rsp + 0x508]
mov edi, dword [rsp + 0x40]
cmp dword [r14 + rsi*8 + 4], r11d
je 0x18002835d
add qword [r13 + 0x308], rax
jmp 0x1800241db
add qword [r12 + 0xc8], rax
jmp 0x1800241db
cmp dword [r14 + rsi*8 + 4], r11d
je 0x18002838a
cmp qword [r13 + 0x308], r11
jne case.default.0x180023e3e
cmp qword [r13 + 0x310], r11
jmp 0x1800253cb
cmp qword [r12 + 0xc8], r11
jmp 0x180028378
mov rax, qword [r12 + 0xf0]
cmp rax, r11
je 0x1800283c2
mov rcx, qword [rax + 8]
jmp 0x1800283ae
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp rcx, r11
jne 0x1800283a7
movsxd rdi, dword [r14 + rsi*8 + 4]
imul rdi, rdi, 0x38
add rdi, qword [rax + 0x18]
jmp 0x1800283d0
movsxd rdi, dword [r14 + rsi*8 + 4]
imul rdi, rdi, 0x38
add rdi, qword [rsp + 0x60]
mov rcx, rdi
call fcn.18001dffc
movsxd rbx, dword [r14 + rsi*8 + 8]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.18001dffc
mov rax, qword [rbx + 0x18]
mov ecx, dword [rsp + 0x508]
cmp qword [rdi + 0x18], rax
mov r10d, 2
lea r9d, [r10 + 2]
jge 0x1800241d7
mov qword [rdi + 0x18], rax
jmp 0x1800241d7
movsxd rax, dword [r14 + rsi*8 + 4]
imul rax, rax, 0x38
cmp qword [rax + rdi + 0x18], r11
jmp 0x1800279c4
movsxd rcx, dword [r14 + rsi*8 + 4]
movsxd rax, dword [r14 + rsi*8 + 0xc]
imul rcx, rcx, 0x38
add qword [rcx + rdi + 0x18], rax
jns case.default.0x180023e3e
jmp 0x180023e66
movsxd rcx, dword [r14 + rsi*8 + 4]
movsxd rax, dword [r14 + rsi*8 + 0xc]
imul rcx, rcx, 0x38
add qword [rcx + rdi + 0x18], rax
jmp 0x1800253cb
movsxd rax, dword [r14 + rsi*8 + 8]
movzx r10d, byte [r14 + rsi*8 + 3]
mov r8, qword [r12 + 0x18]
imul rax, rax, 0x38
add rax, rdi
cmp r10d, r11d
mov rcx, r11
jle 0x18002848e
mov qword [r8 + rcx*8], rax
inc rcx
add rax, 0x38
cmp rcx, r10
jl 0x18002847e
mov rax, qword [r14 + rsi*8 + 0x10]
mov ecx, 1
mov qword [rsp + 0x2a0], rax
movsxd rax, dword [r14 + rsi*8 + 0xc]
imul rax, rax, 0x38
add rax, rdi
mov qword [rsp + 0x2e0], rax
add dword [rax + 0x20], ecx
mov r9, qword [rsp + 0x2a0]
mov word [rsp + 0x2cc], cx
mov qword [rsp + 0x2b0], r11
mov qword [rsp + 0x2d8], r11
mov qword [rsp + 0x2d0], r11
mov qword [rsp + 0x2a8], r13
mov dword [rsp + 0x2fc], r11d
mov qword [rsp + 0x2e8], r11
mov byte [rsp + 0x300], r11b
test byte [r9 + 2], 0x20
je 0x180028513
mov rax, qword [r14 + rsi*8 - 8]
mov qword [rsp + 0x2e8], rax
lea rcx, [rsp + 0x2a0]
mov edx, r10d
call qword [r9 + 0x20]
mov eax, dword [rsp + 0x2fc]
mov ecx, dword [rsp + 0x508]
xor edx, edx
cmp eax, edx
cmovne ecx, eax
mov dword [rsp + 0x508], ecx
cmp byte [rsp + 0x300], dl
je 0x180028564
movsxd rax, dword [r14 + rsi*8 - 0x14]
cmp eax, edx
je 0x180028564
mov rcx, rax
mov edx, 1
imul rcx, rcx, 0x38
add rcx, rdi
call fcn.18001e0dc
lea rcx, [rsp + 0x2a8]
call fcn.18001de7c
jmp 0x1800242a1
movsxd rbx, dword [r14 + rsi*8 + 4]
mov rdx, qword [r14 + rsi*8 + 0x10]
imul rbx, rbx, 0x38
add rbx, rdi
mov rcx, rbx
call fcn.18001dd88
movzx ecx, byte [rsp + 0x500]
mov r10d, 2
mov dword [rsp + 0x508], eax
test byte [rbx + 0x24], r10b
je 0x1800285c2
movzx eax, byte [rbx + 0x26]
cmp eax, ecx
je 0x1800285c2
mov dl, cl
mov rcx, rbx
call fcn.180007534
mov r10d, 2
test byte [rbx + 0x24], 0x12
je 0x1800285e8
mov edx, dword [rbx + 0x20]
mov eax, 0x4000
test word [rbx + 0x24], ax
je 0x1800285d9
add edx, dword [rbx + 0x18]
mov rax, qword [rbx]
xor edi, edi
cmp edx, dword [rax + 0x68]
mov ecx, edi
setg cl
jmp 0x1800285ec
xor edi, edi
mov ecx, edi
cmp ecx, edi
jne 0x1800292e7
jmp 0x180024f44
mov r8d, dword [r14 + rsi*8 + 8]
mov edx, dword [r14 + rsi*8 + 4]
or rax, 0xffffffffffffffff
mov dword [rsp + 0x110], eax
mov dword [rsp + 0x10c], eax
lea rax, [rsp + 0x110]
lea r9, [rsp + 0x10c]
mov rcx, r13
mov dword [rsp + 0x108], r11d
mov qword [rsp + 0x20], rax
call fcn.1800611dc
mov dword [rsp + 0x508], eax
cmp eax, 5
jne 0x180028660
xor eax, eax
mov dword [rsp + 0x108], 1
lea r15d, [rax + 1]
mov dword [rsp + 0x508], eax
jmp 0x180028662
xor eax, eax
movsxd rbx, dword [r14 + rsi*8 + 0xc]
mov rdi, rax
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x60]
movsxd rdx, dword [rsp + rdi*4 + 0x108]
mov rcx, rbx
call fcn.18001e0dc
add rdi, r15
add rbx, 0x38
cmp rdi, 3
jl 0x180028673
jmp 0x1800241c4
mov rax, qword [r13 + 0x20]
mov edi, dword [r14 + rsi*8 + 0xc]
movsxd rcx, dword [r14 + rsi*8 + 4]
shl rcx, 5
mov r12, qword [rcx + rax + 8]
mov rax, qword [r12 + 8]
mov rbx, qword [rax]
or rax, 0xffffffffffffffff
movzx ebp, byte [rbx + 9]
cmp edi, eax
cmove edi, ebp
cmp byte [rbx + 0x14], 3
jae 0x1800286d6
mov rax, qword [rbx + 0x50]
cmp qword [rax], r11
je 0x1800286d8
cmp qword [rbx + 0x60], r11
jle 0x1800286d8
mov edi, ebp
lea rcx, [0x180068af4]
cmp byte [rbx + 0x13], r11b
jne 0x1800286ec
mov rcx, qword [rbx + 0xd0]
cmp edi, 5
jne 0x18002872f
mov rax, rcx
cmp rcx, r11
je 0x18002872d
cmp byte [rcx], r11b
je 0x18002870c
inc rax
cmp byte [rax], r11b
jne 0x1800286fe
mov r15d, 1
sub eax, ecx
and eax, 0x3fffffff
je 0x18002872d
mov rax, qword [rbx + 0x48]
mov rcx, qword [rax]
cmp byte [rbx + 8], r11b
jne 0x18002872f
cmp dword [rcx], r10d
jl 0x18002872d
cmp qword [rcx + 0x68], r11
jne 0x18002872f
mov edi, ebp
cmp edi, ebp
je 0x1800287a8
cmp ebp, 5
je 0x18002873d
cmp edi, 5
jne 0x1800287a8
cmp byte [r13 + 0x4e], r11b
je 0x1800287dd
cmp dword [r13 + 0xa0], r15d
jg 0x1800287dd
cmp ebp, 5
jne 0x180028772
mov rcx, rbx
call fcn.180011ad4
xor ecx, ecx
mov dword [rsp + 0x508], eax
cmp eax, ecx
jne 0x1800287a6
mov edx, edi
jmp 0x18002877a
cmp ebp, r9d
jne 0x180028785
mov edx, r10d
mov rcx, rbx
call fcn.1800118f4
xor r11d, r11d
mov edx, r11d
cmp edi, 5
mov rcx, r12
sete dl
add edx, r15d
call fcn.18001cc48
xor ecx, ecx
mov dword [rsp + 0x508], eax
cmp eax, ecx
je 0x1800287a8
mov edi, ebp
mov edx, edi
mov rcx, rbx
call fcn.1800118f4
movsxd rbp, dword [r14 + rsi*8 + 8]
mov rcx, qword [rsp + 0x60]
imul rbp, rbp, 0x38
add rbp, rcx
mov ecx, 0xa02
xor edx, edx
mov word [rbp + 0x24], cx
mov qword [rsp + 0x48], rbp
cmp eax, 6
jne 0x1800287ea
mov rcx, rdx
jmp 0x1800287fb
mov r12, qword [rsp + 0x4f0]
jmp 0x180028148
lea rcx, [0x180000000]
cdqe
mov rcx, qword [rcx + rax*8 + 0x66128]
mov qword [rbp + 8], rcx
mov rax, rcx
cmp rcx, rdx
jne 0x18002880b
mov eax, edx
jmp 0x18002881d
cmp byte [rcx], dl
je 0x180028816
inc rax
cmp byte [rax], dl
jne 0x18002880f
sub eax, ecx
and eax, 0x3fffffff
mov dword [rbp + 0x20], eax
movzx eax, byte [rsp + 0x500]
mov r15d, 1
mov byte [rbp + 0x26], 1
cmp eax, r15d
je 0x180025eb8
mov dl, al
mov rcx, rbp
call fcn.180007534
jmp 0x180025eb8
lea rcx, [r12 + 0x48]
mov rdx, r13
call fcn.180052998
jmp 0x180027bec
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.180016e68
mov r10d, 2
lea r9d, [r10 + 2]
mov ecx, eax
mov dword [rsp + 0x508], eax
cmp eax, 0x65
jne 0x1800241d7
mov ecx, dword [r14 + rsi*8 + 8]
sub ecx, r15d
xor eax, eax
mov dword [rsp + 0x40], ecx
mov ecx, eax
mov dword [rsp + 0x508], eax
jmp 0x1800241d7
cmp dword [r14 + rsi*8 + 4], r11d
jne 0x1800288cd
mov rax, qword [r13 + 8]
jmp 0x1800288c3
or dword [rax + 0x8c], 0x20
mov rax, qword [rax + 0x58]
cmp rax, r11
jne 0x1800288b8
jmp case.default.0x180023e3e
or dword [r12 + 0x8c], 0x20
jmp case.default.0x180023e3e
mov r8b, byte [r14 + rsi*8 + 0xc]
cmp r8b, r11b
jne 0x1800288f1
bt dword [r13 + 0x2c], 0xe
jb case.default.0x180023e3e
movsxd rax, dword [r14 + rsi*8 + 4]
mov rcx, qword [r13 + 0x20]
mov edx, dword [r14 + rsi*8 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.18001cb10
jmp 0x180027bec
mov edx, dword [r13 + 0x194]
mov rbx, qword [r14 + rsi*8 + 0x10]
mov dword [rsp + 0x508], r11d
cmp edx, r11d
jle 0x180028944
cmp qword [r13 + 0x1b8], r11
jne 0x180028944
mov dword [rsp + 0x508], 6
jmp 0x1800289eb
cmp rbx, r11
jne 0x180028951
mov ecx, r11d
jmp 0x180024425
mov rax, qword [rbx + 0x10]
mov rdi, qword [rax]
cmp qword [rdi + 0x70], r11
je 0x1800289eb
cmp edx, r11d
mov ecx, r11d
mov esi, 1
jle 0x18002898c
mov rax, qword [r13 + 0x1b8]
lea edx, [rsi + 7]
cmp qword [rax], rbx
je 0x1800289db
add ecx, esi
add rax, rdx
cmp ecx, dword [r13 + 0x194]
jl 0x180028979
mov rcx, r13
call fcn.180053678
xor r11d, r11d
mov dword [rsp + 0x508], eax
cmp eax, r11d
jne 0x1800289e5
mov rcx, qword [rbx + 0x10]
call qword [rdi + 0x70]
xor r11d, r11d
mov dword [rsp + 0x508], eax
lea r9d, [r11 + 4]
cmp eax, r11d
jne 0x1800289eb
movsxd rcx, dword [r13 + 0x194]
mov rax, qword [r13 + 0x1b8]
mov qword [rax + rcx*8], rbx
add dword [r13 + 0x194], esi
add dword [rbx + 0x18], esi
jmp 0x1800289eb
mov dword [rsp + 0x508], r11d
jmp 0x1800289eb
mov r9d, 4
cmp rbx, r11
je 0x180024c98
mov rdx, qword [rbx + 0x10]
mov rcx, r12
call fcn.180022008
jmp 0x1800242a1
mov r8, qword [r14 + rsi*8 + 0x10]
mov edx, dword [r14 + rsi*8 + 4]
lea r9, [r12 + 0x48]
mov rcx, r13
call fcn.1800536f4
jmp 0x180027bec
and dword [r12 + 0x8c], 0xfffffffb
mov eax, 8
mov rcx, r13
or dword [r12 + 0x8c], eax
movsxd rax, dword [r14 + rsi*8 + 4]
mov r8, qword [r13 + 0x20]
mov rdx, qword [r14 + rsi*8 + 0x10]
shl rax, 5
mov dword [rsp + 0x508], r11d
mov r8, qword [rax + r8]
call fcn.180034b7c
xor esi, esi
mov rbx, rax
cmp rax, rsi
je 0x180028aa6
cmp qword [rax + 0x60], rsi
je 0x180028aa6
mov rdx, rax
mov rcx, r13
call fcn.180052ec0
mov rdi, rax
mov rcx, qword [rax + 8]
mov rdx, qword [rcx]
mov rcx, qword [rax + 0x10]
call qword [rdx + 0x28]
mov ecx, eax
mov dword [rsp + 0x508], eax
cmp eax, esi
jne 0x180028aad
mov qword [rdi + 0x10], rsi
mov rcx, rdi
mov qword [rbx + 0x60], rsi
call fcn.180052e84
mov ecx, dword [rsp + 0x508]
and dword [r12 + 0x8c], 0xfffffff3
jmp 0x1800241cb
mov rax, qword [r14 + rsi*8 + 0x10]
mov qword [rsp + 0x88], r11
lea rdx, [rsp + 0x88]
mov rbx, qword [rax + 0x10]
mov rcx, rbx
mov rdi, qword [rbx]
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x508], eax
call fcn.180022008
mov ecx, dword [rsp + 0x508]
xor edx, edx
cmp ecx, edx
jne 0x1800241cb
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x20], edx
or r9d, 0xffffffff
mov qword [rax], rbx
mov edx, dword [r14 + rsi*8 + 4]
xor r8d, r8d
mov rcx, r12
call fcn.180023a34
xor ecx, ecx
cmp rax, rcx
mov rcx, qword [rsp + 0x88]
je 0x180028b3b
mov qword [rax + 0x30], rcx
jmp 0x1800241c4
mov byte [r13 + 0x50], 1
call qword [rdi + 0x38]
jmp 0x1800242a1
mov rax, qword [r12 + 0x60]
movsxd rcx, dword [r14 + rsi*8 + 4]
movsxd rdx, dword [r14 + rsi*8 + 0xc]
imul rdx, rdx, 0x38
mov r13, qword [rax + rcx*8]
mov rax, qword [rsp + 0x4f0]
add rdx, rdi
mov rbx, qword [r13 + 0x30]
mov r12d, dword [rdx + 0x18]
lea r10, [rdx + 0x38]
movsxd r9, dword [r10 + 0x18]
mov rbp, qword [rbx]
mov rdx, qword [rax + 0x18]
cmp r9d, r11d
mov rdi, qword [rbp]
mov rcx, r11
jle 0x180028bc2
mov r14d, 1
mov r8d, r14d
movsxd rax, r8d
add r8d, r14d
imul rax, rax, 0x38
add rax, r10
mov qword [rdx + rcx*8], rax
add rcx, r14
cmp rcx, r9
jl 0x180028b96
mov r14, qword [rsp + 0x68]
mov rax, qword [rsp + 0x4f0]
mov r15d, 1
and dword [rax + 0x8c], 0xfffffff7
mov r11d, 4
mov qword [rsp + 0x20], rdx
or dword [rax + 0x8c], r11d
mov r8, qword [r14 + rsi*8 + 0x10]
mov edx, r12d
mov rcx, rbx
call qword [rdi + 0x40]
mov r12, qword [rsp + 0x4f0]
mov rdx, rbp
and dword [r12 + 0x8c], 0xfffffff3
mov rcx, r12
mov dword [rsp + 0x508], eax
call fcn.180022008
mov ecx, dword [rsp + 0x508]
xor ebp, ebp
cmp ecx, ebp
jne 0x180028c36
mov rcx, rbx
call qword [rdi + 0x50]
cmp eax, ebp
je 0x180028c2f
mov ecx, dword [r14 + rsi*8 + 8]
sub ecx, r15d
mov dword [rsp + 0x40], ecx
mov ecx, dword [rsp + 0x508]
mov byte [r13 + 0x25], bpl
jmp 0x180025738
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
movsxd rbp, dword [r14 + rsi*8 + 0xc]
imul rbp, rbp, 0x38
mov r12, qword [rax + rcx*8]
add rbp, rdi
cmp byte [r12 + 0x25], r11b
je 0x180028c6d
mov rcx, rbp
call fcn.18001e090
jmp 0x18002610e
mov rax, qword [r12 + 0x30]
xor edx, edx
lea rcx, [rsp + 0x320]
mov rdi, qword [rax]
lea r8d, [rdx + 0x68]
mov rbx, qword [rdi]
call fcn.180062a94
lea rcx, [rsp + 0x328]
mov rdx, rbp
call fcn.18001e2c0
movzx r11d, word [rsp + 0x34c]
mov r8d, dword [r14 + rsi*8 + 8]
mov eax, 0xbe01
lea rdx, [rsp + 0x320]
and r11w, ax
or r11w, 1
mov word [rsp + 0x34c], r11w
mov rcx, qword [r12 + 0x30]
call qword [rbx + 0x58]
mov r12, qword [rsp + 0x4f0]
mov rdx, rdi
mov rcx, r12
mov r15d, eax
call fcn.180022008
mov eax, dword [rsp + 0x37c]
movzx ecx, byte [rsp + 0x500]
xor edi, edi
cmp eax, edi
cmovne r15d, eax
lea r8d, [rdi + 2]
mov dword [rsp + 0x508], r15d
test byte [rsp + 0x34c], r8b
je 0x180028d2e
movzx eax, byte [rsp + 0x34e]
cmp eax, ecx
je 0x180028d2e
mov dl, cl
lea rcx, [rsp + 0x328]
call fcn.180007534
lea rdx, [rsp + 0x328]
mov rcx, rbp
call fcn.18001e2c0
test byte [rbp + 0x24], 0x12
je 0x180028d63
mov edx, dword [rbp + 0x20]
mov eax, 0x4000
test word [rbp + 0x24], ax
je 0x180028d55
add edx, dword [rbp + 0x18]
mov rax, qword [rbp]
mov ecx, edi
cmp edx, dword [rax + 0x68]
setg cl
jmp 0x180028d65
mov ecx, edi
cmp ecx, edi
jne 0x1800292e7
jmp 0x180026a40
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r12 + 0x60]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 0x25], r11b
jne case.default.0x180023e3e
mov rax, qword [rdi + 0x30]
mov rbx, qword [rax]
mov rbp, qword [rbx]
and dword [r12 + 0x8c], 0xfffffff7
or dword [r12 + 0x8c], r9d
mov rcx, qword [rdi + 0x30]
call qword [rbp + 0x48]
and dword [r12 + 0x8c], 0xfffffff3
mov rdx, rbx
mov rcx, r12
mov r15d, eax
mov dword [rsp + 0x508], eax
call fcn.180022008
xor eax, eax
cmp r15d, eax
jne 0x180028de0
mov rcx, qword [rdi + 0x30]
call qword [rbp + 0x50]
xor edi, edi
cmp eax, edi
jne 0x180028ded
jmp 0x180028de2
xor edi, edi
mov eax, dword [r14 + rsi*8 + 8]
dec eax
mov dword [rsp + 0x40], eax
mov r9d, 4
mov eax, dword [r13 + 0x138]
cmp eax, edi
jne 0x1800292ef
mov r8, qword [r13 + 0x180]
cmp r8, rdi
je 0x1800290d9
mov ecx, dword [rsp + 0x80]
cmp ecx, dword [rsp + 0x7c]
jb 0x1800290d9
mov ebx, dword [r13 + 0x190]
mov eax, ecx
xor edx, edx
div ebx
sub ebx, edx
add ebx, ecx
mov rcx, qword [r13 + 0x188]
mov dword [rsp + 0x7c], ebx
call r8
cmp eax, edi
je 0x180026a40
mov r14d, 9
jmp 0x18002935c
movsxd rbx, dword [r14 + rsi*8 + 4]
mov rax, qword [r14 + rsi*8 + 0x10]
mov rdi, qword [rax + 0x10]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x60]
test byte [rbx + 0x24], r10b
je 0x180028e9d
mov eax, 1
cmp byte [rbx + 0x26], al
je 0x180028e9d
mov dl, al
mov rcx, rbx
call fcn.180007534
xor r11d, r11d
mov r15d, eax
mov dword [rsp + 0x508], eax
lea r10d, [r11 + 2]
lea r9d, [r11 + 4]
jmp 0x180028ea8
mov r15d, r11d
mov dword [rsp + 0x508], r11d
cmp r15d, r11d
jne 0x1800290ce
mov rax, qword [rdi]
mov rdx, qword [rbx + 8]
mov rcx, rdi
call qword [rax + 0x98]
mov rdx, rdi
mov rcx, r12
mov dword [rsp + 0x508], eax
call fcn.180022008
and dword [r12 + 0x8c], 0xffffffdf
jmp 0x1800242a1
mov rax, qword [r14 + rsi*8 + 0x10]
movsxd rdx, dword [r14 + rsi*8 + 8]
mov rbx, qword [rax + 0x10]
mov r10, qword [rbx]
cmp qword [r10 + 0x68], r11
je 0x18002415d
mov rcx, qword [rsp + 0x60]
movsxd rax, dword [r14 + rsi*8 + 0xc]
mov dil, byte [r13 + 0x54]
imul rax, rax, 0x38
mov r8, qword [r12 + 0x18]
add rax, rcx
cmp edx, r11d
mov rcx, r11
jle 0x180028f2e
mov qword [r8 + rcx*8], rax
add rcx, r15
add rax, 0x38
cmp rcx, rdx
jl 0x180028f1e
mov al, byte [r14 + rsi*8 + 3]
lea r9, [rsp + 0x190]
mov rcx, rbx
mov byte [r13 + 0x54], al
call qword [r10 + 0x68]
mov rdx, rbx
mov rcx, r12
mov byte [r13 + 0x54], dil
mov dword [rsp + 0x508], eax
call fcn.180022008
mov ecx, dword [rsp + 0x508]
xor edx, edx
cmp ecx, edx
jne 0x180028f84
cmp dword [r14 + rsi*8 + 4], edx
je 0x180028f84
mov rbx, qword [rsp + 0x190]
mov qword [rsp + 0xb0], rbx
mov qword [r13 + 0x30], rbx
cmp cl, 0x13
jne 0x180028fd0
mov rax, qword [r14 + rsi*8 + 0x10]
cmp byte [rax + 0x1c], dl
je 0x180028fd0
mov al, byte [r14 + rsi*8 + 3]
mov r9d, 4
cmp al, r9b
jne 0x180028fb1
mov ecx, edx
mov dword [rsp + 0x508], edx
jmp 0x180024164
mov r10d, 2
cmp al, 5
jne 0x180028fc0
mov eax, r10d
jmp 0x180028fc3
movzx eax, al
mov byte [r12 + 0x8a], al
jmp 0x1800241d7
add dword [r12 + 0x90], r15d
jmp 0x1800241cb
mov rax, qword [r13 + 0x20]
movsxd rcx, dword [r14 + rsi*8 + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x3c]
jmp 0x18002402d
movsxd rcx, dword [r14 + rsi*8 + 4]
mov rax, qword [r13 + 0x20]
mov ebx, r11d
shl rcx, 5
mov rdi, qword [rcx + rax + 8]
mov ecx, dword [r14 + rsi*8 + 0xc]
cmp ecx, r11d
je 0x180029026
mov rax, qword [rdi + 8]
mov ebx, dword [rax + 0x3c]
cmp ebx, ecx
cmovb ebx, ecx
mov rcx, rdi
call fcn.180014070
mov r11, qword [rdi + 8]
xor ecx, ecx
cmp ebx, ecx
mov rax, qword [r11]
jle 0x180029041
mov dword [rax + 0xc0], ebx
movsxd rbx, dword [rax + 0xc0]
mov rcx, rdi
call fcn.18001412c
mov qword [rbp + 0x18], rbx
jmp 0x1800241c4
mov eax, dword [r14 + rsi*8 + 8]
cmp eax, r11d
je 0x18002906a
lea ecx, [rax - 1]
mov dword [rsp + 0x40], ecx
cmp qword [r13 + 0xb8], r11
je case.default.0x180023e3e
bt dword [r12 + 0x8c], 0xb
jb case.default.0x180023e3e
mov rdx, qword [r14 + rsi*8 + 0x10]
cmp rdx, r11
jne 0x1800290a2
mov rdx, qword [r12 + 0xe0]
cmp rdx, r11
je case.default.0x180023e3e
mov rcx, r12
call fcn.180023708
mov rcx, qword [r13 + 0xc0]
mov rdx, rax
mov rbx, rax
call qword [r13 + 0xb8]
mov rdx, rbx
mov rcx, r13
call fcn.180005a84
jmp 0x1800241c4
mov r15d, 1
jmp case.default.0x180023e3e
mov r15d, 1
mov ecx, dword [rsp + 0x508]
jmp 0x1800250cb
mov ecx, dword [rsp + 0x508]
mov r12, qword [rsp + 0x4f0]
mov rbp, qword [rsp + 0x48]
mov r15d, 1
jmp 0x1800241d1
mov ecx, dword [rsp + 0x508]
jmp 0x180028152
mov r12, qword [rsp + 0x4f0]
mov rbp, rbx
jmp 0x180024164
mov eax, dword [r14 + rsi*8 + 4]
mov edi, dword [rsp + 0x40]
mov rcx, r12
mov dword [r12 + 0x84], eax
mov al, byte [r14 + rsi*8 + 8]
mov dword [r12 + 0x80], edi
mov byte [r12 + 0x8a], al
call fcn.180020870
mov ecx, 5
cmp eax, ecx
je 0x1800291d0
mov eax, dword [r12 + 0x84]
neg eax
sbb ebx, ebx
and ebx, 0xffffff9c
add ebx, 0x65
jmp 0x18002939a
mov r14d, 9
xor edi, edi
jmp 0x18002935c
lea rcx, [rsp + 0x1d8]
call fcn.18001de7c
mov sil, byte [rsp + 0x4f8]
xor edi, edi
mov byte [r13 + 0x50], 1
mov r14d, 7
jmp 0x180029364
mov r14d, 0x14
jmp 0x1800292b0
mov r12, qword [rsp + 0x4f0]
mov r13, r15
xor eax, eax
mov edi, dword [rsp + 0x40]
mov dword [r12 + 0x80], edi
mov byte [r13 + 0x4e], al
mov ebx, ecx
mov dword [r12 + 0x84], ecx
jmp 0x18002939a
mov r12, qword [rsp + 0x4f0]
mov r8d, 2
mov r13, r10
mov dword [r12 + 0x84], 0x313
mov byte [r12 + 0x8a], r8b
lea ebx, [r8 - 1]
jmp 0x18002939a
mov rax, qword [r12]
mov rcx, qword [rax + 0x310]
add rcx, qword [rax + 0x308]
cmp rcx, r11
jle 0x180029242
mov dword [r12 + 0x84], 0x313
mov byte [r12 + 0x8a], r10b
mov ebx, 1
jmp 0x18002939a
mov rcx, r12
mov byte [r13 + 0x4e], bl
call fcn.180020870
mov ecx, 5
cmp eax, ecx
jne 0x18002618f
lea eax, [rcx - 4]
sub al, bl
jmp 0x1800291c0
mov r14d, 8
jmp 0x1800292b0
mov edi, dword [rsp + 0x40]
mov ebx, eax
mov dword [r12 + 0x84], eax
mov dword [r12 + 0x80], edi
jmp 0x18002939a
mov r13, qword [rsp + 0x50]
mov r14d, 0xb
xor edi, edi
jmp 0x1800292b0
xor edi, edi
mov r14d, 0xd
jmp 0x1800292b0
mov r13, qword [rsp + 0x50]
xor edi, edi
mov r14d, dword [rsp + 0x508]
mov r12, qword [rsp + 0x4f0]
cmp byte [r13 + 0x50], dil
je 0x18002935c
mov r14d, 7
jmp 0x18002935c
mov r12, qword [rsp + 0x4f0]
mov r13, r10
jmp 0x1800292e7
mov r12, qword [rsp + 0x4f0]
mov r13, r10
xor edi, edi
mov r14d, 0x12
jmp 0x18002935c
mov sil, byte [rsp + 0x4f8]
jmp 0x1800292fb
xor edi, edi
mov r14d, 9
mov dword [r12 + 0x84], r14d
jmp 0x180029364
mov r12, qword [rsp + 0x4f0]
mov r13, qword [rsp + 0x50]
jmp 0x18002918e
mov r12, qword [rsp + 0x4f0]
mov r13, qword [rsp + 0x50]
mov sil, byte [rsp + 0x4f8]
jmp 0x180029198
mov r12, qword [rsp + 0x4f0]
mov r13, r10
jmp 0x18002918e
mov r12, qword [rsp + 0x4f0]
jmp 0x18002918e
mov r14d, dword [rsp + 0x508]
mov sil, byte [rsp + 0x4f8]
mov rcx, r12
mov dword [r12 + 0x84], r14d
call fcn.180020870
cmp r14d, 0xc0a
jne 0x180029382
mov byte [r13 + 0x50], 1
mov ebx, 1
cmp sil, dil
jbe 0x18002939a
movzx edx, sil
mov rcx, r13
dec edx
call fcn.180034f08
mov rax, qword [rsp + 0xb0]
mov rcx, r12
mov qword [r13 + 0x30], rax
mov eax, dword [rsp + 0x80]
add dword [r12 + 0xb0], eax
call fcn.18001f628
mov eax, ebx
add rsp, 0x4a8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret