Function at 0x1800282c4
Capabilities:
Encrypt data using speck
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x168]
sub rsp, 0x240
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x1800a6010]
xor rax, rsp
mov qword [rbp + 0x110], rax
mov rdi, qword [rcx + 0x88]
mov r15, rcx
mov qword [rsp + 0x58], rcx
xor ecx, ecx
mov esi, ecx
mov dword [rsp + 0x34], ecx
mov byte [rbp - 0x7f], cl
mov r13d, ecx
mov r12, qword [r15]
mov r14, qword [r15 + 0x68]
mov dword [rbp - 0x6c], ecx
mov rcx, r15
mov qword [rsp + 0x48], rdi
mov al, byte [r12 + 0x5e]
mov byte [rsp + 0x3c], al
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x60], r14
call fcn.180023100
xor r10d, r10d
cmp qword [r12 + 0x1c0], r10
je 0x18002837d
mov r8d, dword [r12 + 0x1d0]
xor edx, edx
mov eax, dword [r15 + 0xe4]
div r8d
sub r8d, edx
mov dword [rsp + 0x38], r8d
mov ebx, r8d
jmp 0x180028384
or ebx, 0xffffffff
mov dword [rsp + 0x38], ebx
mov eax, 7
lea r11d, [rax - 6]
cmp dword [r15 + 0x38], eax
je 0x18002e164
mov qword [r15 + 0x48], r10
mov qword [r15 + 0xa0], r10
mov eax, dword [r12 + 0x170]
mov dword [r12 + 0x248], r10d
test eax, eax
jne 0x18002e121
movsxd rax, dword [r15 + 0x34]
lea edx, [r11 + 3]
lea r8d, [r11 + 1]
mov dword [rbp + 0x20], 0x3e40
lea r9d, [r11 + 7]
xorps xmm7, xmm7
mov ebx, esi
lea rcx, [rax + rax*2]
lea r13, [rdi + rcx*8]
mov ecx, 0x2400
add ebx, r11d
mov qword [rsp + 0x40], r13
mov dword [rsp + 0x30], ebx
mov eax, 5
movzx ebx, byte [r13]
cmp ebx, 0x53
ja 0x18002a914
je 0x18002a8f5
cmp ebx, 0x29
ja 0x180029a36
je 0x180029977
cmp ebx, 0x14
ja 0x18002925e
je 0x180029230
cmp ebx, 0xa
ja 0x180028f46
je 0x180028e3a
cmp ebx, eax
ja 0x180028ae0
je 0x180028463
test ebx, ebx
je 0x180028607
sub ebx, 1
je 0x18002dba5
sub ebx, 1
je 0x1800284c3
sub ebx, 1
je 0x1800284aa
cmp ebx, 1
jne 0x18002bc10
movsxd rcx, dword [r13 + 4]
mov rax, qword [r15 + 0x78]
mov edx, dword [r13 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
call qword [r13 + 0x10]
mov dword [rsp + 0x34], eax
mov esi, eax
xor r10d, r10d
mov dword [rbx + 0x28], r10d
test eax, eax
jne 0x180028ac0
mov byte [rbx + 2], r10b
lea r11d, [rsi + 1]
movzx eax, word [r13 + 2]
add dword [r15 + rax*4 + 0xd4], r11d
jmp 0x180029fe0
movsxd rcx, dword [r13 + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r12
mov rdx, rbx
call fcn.180030f70
jmp 0x18002847b
mov edx, dword [r13 + 8]
mov dword [rbp - 0x78], r10d
test edx, edx
je 0x1800284df
mov eax, dword [r12 + 0x30]
bt rax, 0x14
jb 0x18002dadb
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x1800285c3
lea r8, [rbp - 0x78]
mov rcx, rbx
call fcn.180018570
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x18002dae5
lea r11d, [rax + 1]
cmp dword [r13 + 8], r10d
je 0x1800285b9
lea eax, [r11 + 0x7f]
test byte [r15 + 0xc8], al
je 0x1800285b9
cmp byte [r12 + 0x5f], r10b
je 0x180028547
cmp dword [r12 + 0xcc], r11d
jle 0x1800285b9
mov r8d, dword [r15 + 0x40]
test r8d, r8d
jne 0x18002856c
add dword [r12 + 0x2a0], r11d
mov r8d, dword [r12 + 0x29c]
add r8d, dword [r12 + 0x2a0]
mov dword [r15 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, r12
call fcn.180060638
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x18002859b
mov edx, dword [r15 + 0x40]
mov rcx, rbx
call fcn.1800197cc
mov esi, eax
mov dword [rsp + 0x34], eax
xor r10d, r10d
mov rax, qword [r12 + 0x2a8]
mov r11d, 1
mov qword [r15 + 0x58], rax
mov rax, qword [r12 + 0x2b0]
mov qword [r15 + 0x60], rax
mov r9d, 8
lea r8d, [r9 - 6]
cmp word [r13 + 2], r10w
je 0x1800285f6
mov eax, dword [r13 + 0xc]
cmp dword [rbp - 0x78], eax
jne 0x18002db2a
mov rax, qword [r12 + 0x20]
movsxd rcx, dword [r13 + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [r13 + 0x10]
cmp dword [rcx + 4], eax
jne 0x18002db2a
test esi, esi
jne 0x1800289aa
mov ebx, dword [rsp + 0x30]
jmp 0x18002870a
mov r12d, dword [r13 + 4]
mov rsi, qword [r13 + 0x10]
test r12d, r12d
jne 0x18002871d
mov r12, qword [rsp + 0x50]
cmp dword [r12 + 0xd0], r10d
jg 0x18002dcd6
test rsi, rsi
jne 0x180028635
mov ebx, r10d
jmp 0x180028648
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rsi + rbx], r10b
jne 0x180028639
and ebx, 0x3fffffff
mov r8d, dword [r12 + 0x2a0]
xor edx, edx
add r8d, dword [r12 + 0x29c]
mov rcx, r12
call fcn.180060638
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1800289ae
mov edx, ebx
mov rcx, r12
add rdx, 0x21
call fcn.180006d78
xor r10d, r10d
mov rdi, rax
test rax, rax
je 0x1800286eb
lea rcx, [rax + 0x20]
mov rdx, rsi
lea r8d, [rbx + 1]
mov qword [rax], rcx
call fcn.18007d210
xor r10d, r10d
lea r11d, [r10 + 1]
cmp byte [r12 + 0x5f], r10b
je 0x1800286b7
mov byte [r12 + 0x5f], r10b
mov byte [r12 + 0x67], r11b
jmp 0x1800286bf
add dword [r12 + 0x29c], r11d
mov rax, qword [r12 + 0x290]
mov qword [rdi + 0x18], rax
mov rax, qword [r12 + 0x2a8]
mov qword [r12 + 0x290], rdi
mov qword [rdi + 8], rax
mov rax, qword [r12 + 0x2b0]
mov qword [rdi + 0x10], rax
mov esi, dword [rsp + 0x34]
mov rdi, qword [rsp + 0x48]
mov ebx, dword [rsp + 0x30]
mov r11d, 1
mov r9d, 8
mov r8d, 2
mov edx, 4
mov ecx, 0x2400
add r13, 0x18
jmp 0x1800283e3
mov rcx, qword [rsp + 0x50]
mov r14d, r10d
mov rdi, qword [rcx + 0x290]
test rdi, rdi
je 0x18002dd4d
mov rcx, qword [rdi]
mov rdx, rsi
call fcn.1800094f4
xor r10d, r10d
test eax, eax
je 0x180028750
mov rdi, qword [rdi + 0x18]
inc r14d
jmp 0x18002872c
mov r8, qword [rsp + 0x50]
mov ecx, 1
cmp dword [r8 + 0xd0], r10d
jle 0x18002876c
cmp r12d, ecx
je 0x18002dce2
lea rbx, [rdi + 0x18]
mov qword [rsp + 0x68], rbx
cmp qword [rbx], r10
jne 0x1800287dd
cmp byte [r8 + 0x67], r10b
je 0x1800287dd
mov r13d, ecx
cmp r12d, ecx
jne 0x1800287e0
mov edx, ecx
mov rcx, r15
call fcn.180024470
mov r15d, eax
test eax, eax
jne 0x18002e199
mov rcx, qword [rsp + 0x50]
lea eax, [r15 + 1]
mov r15, qword [rsp + 0x58]
mov byte [rcx + 0x5f], al
mov rcx, r15
call fcn.1800244c0
mov r8d, 5
cmp eax, r8d
je 0x18002dcfb
mov r8, qword [rsp + 0x50]
xor eax, eax
mov byte [r8 + 0x67], al
mov esi, dword [r15 + 0x38]
mov dword [rsp + 0x34], esi
jmp 0x1800288eb
mov r13d, r10d
mov eax, dword [r8 + 0x29c]
mov edx, 2
sub eax, r14d
mov r14d, eax
mov eax, dword [r8 + 0x28]
sub r14d, ecx
mov dword [rbp - 0x78], r14d
cmp r12d, edx
jne 0x18002885b
mov r15d, dword [r8 + 0x2c]
mov r14d, r10d
and r15d, ecx
test eax, eax
jle 0x180028855
mov esi, r15d
mov rbx, r10
xor esi, ecx
mov rcx, qword [r8 + 0x20]
mov edx, 0x204
mov r8d, esi
mov rcx, qword [rbx + rcx + 8]
call fcn.1800195d8
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x18002e18f
mov r8, qword [rsp + 0x50]
lea ecx, [rax + 1]
add r14d, ecx
add rbx, 0x20
mov eax, dword [r8 + 0x28]
cmp r14d, eax
jl 0x180028818
mov r14d, dword [rbp - 0x78]
jmp 0x18002885e
mov r15d, r10d
mov esi, r10d
test eax, eax
jle 0x18002889f
mov rbx, r10
mov rcx, qword [r8 + 0x20]
mov edx, r12d
mov r8d, r14d
mov rcx, qword [rbx + rcx + 8]
call fcn.18001983c
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x18002e18f
mov r8, qword [rsp + 0x50]
lea ecx, [rax + 1]
add esi, ecx
add rbx, 0x20
cmp esi, dword [r8 + 0x28]
jl 0x180028868
test r15d, r15d
je 0x1800288e2
mov rax, qword [r8 + 8]
jmp 0x1800288bb
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], ecx
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1800288aa
mov rcx, r8
call fcn.18003f140
mov r8, qword [rsp + 0x50]
mov r15d, 1
mov rbx, qword [rsp + 0x68]
mov esi, dword [rsp + 0x34]
or dword [r8 + 0x2c], r15d
jmp 0x1800288f1
mov rbx, qword [rsp + 0x68]
mov esi, dword [rsp + 0x34]
mov r15d, 1
mov rcx, qword [r8 + 0x290]
jmp 0x180028923
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r8
mov qword [r8 + 0x290], rax
call fcn.180006aac
mov r8, qword [rsp + 0x50]
mov rcx, qword [r8 + 0x290]
dec dword [r8 + 0x29c]
cmp rcx, rdi
jne 0x1800288fa
cmp r12d, r15d
jne 0x18002895b
mov rax, qword [rbx]
mov rdx, rdi
mov rcx, r8
mov qword [r8 + 0x290], rax
call fcn.180006aac
xor r10d, r10d
test r13d, r13d
jne 0x180028a9f
mov rcx, qword [rsp + 0x50]
dec dword [rcx + 0x29c]
jmp 0x180028986
mov rax, qword [rdi + 8]
xor r10d, r10d
mov qword [r8 + 0x2a8], rax
mov rax, qword [rdi + 0x10]
mov qword [r8 + 0x2b0], rax
test r13d, r13d
je 0x180028986
lea eax, [r10 + 2]
cmp r12d, eax
jne 0x180028a9f
mov edx, r12d
mov r8d, r14d
mov r12, qword [rsp + 0x50]
mov rcx, r12
call fcn.180060638
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
je 0x180028aa4
mov eax, dword [rsp + 0x34]
mov rsi, qword [rsp + 0x40]
mov edi, 1
mov ebx, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x30]
cmp byte [r12 + 0x61], r10b
mov ecx, 7
cmovne eax, ecx
mov rcx, qword [rsp + 0x58]
mov dword [rsp + 0x34], eax
cmp qword [rcx + 0xa8], r10
jne 0x180028a0b
cmp eax, 0xc0a
je 0x180028a0b
mov ecx, eax
call fcn.18007450c
mov rcx, qword [rsp + 0x58]
lea rdx, [0x1800951f0]
mov r8, rax
call fcn.18002204c
mov eax, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0x38], eax
mov edx, eax
mov rcx, r12
call fcn.18000932c
mov rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x48]
imul rcx
mov rcx, qword [rsp + 0x58]
sar rdx, 2
mov r8, rdx
shr r8, 0x3f
mov rax, qword [rcx + 0xa8]
add r8, rdx
mov r9, qword [rcx + 0xf0]
lea rdx, str.statement_aborts_at__d:___s___s
mov ecx, dword [rsp + 0x34]
mov qword [rsp + 0x20], rax
call fcn.1800089e4
mov rcx, qword [rsp + 0x58]
call fcn.1800244c0
cmp dword [rsp + 0x34], 0xc0a
jne 0x180028a7f
mov rcx, r12
call fcn.180007044
movzx eax, byte [rbp - 0x7f]
mov r15d, edi
test al, al
je 0x18002e1b1
mov edx, eax
mov rcx, r12
sub edx, edi
call fcn.18003f0c4
jmp 0x18002e1b1
mov r12, qword [rsp + 0x50]
test esi, esi
jne 0x1800289aa
mov r13, qword [rsp + 0x40]
mov r15, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
jmp 0x1800286ef
cmp esi, 0x65
jne 0x1800289aa
mov r11d, 1
mov dword [rsp + 0x34], r10d
mov byte [rbx + 2], r11b
mov esi, r10d
jmp 0x1800299c2
sub ebx, 6
je 0x180028d96
sub ebx, 1
je 0x180028c0e
sub ebx, 1
je 0x180028bcf
cmp ebx, 1
jne 0x18002bc10
movsxd rax, dword [r13 + 0xc]
mov r8, r10
movsxd rcx, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [r15 + 0x78]
add rdx, r14
mov r13, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x58]
lea r11, [rdx + 0x38]
movsxd r9, dword [r11]
mov edx, dword [rdx]
mov rdi, qword [r13 + 0x38]
mov rsi, qword [rcx + 0x70]
mov r15, qword [rdi]
mov r14, qword [r15]
test r9d, r9d
jle 0x180028b63
mov r12d, ebx
mov r10d, r12d
movsxd rax, r10d
add r10d, r12d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rsi + r8*8], rcx
add r8, r12
cmp r8, r9
jl 0x180028b45
mov r12, qword [rsp + 0x50]
mov qword [rsp + 0x20], rsi
mov rcx, rdi
mov rsi, qword [rsp + 0x40]
mov r8, qword [rsi + 0x10]
call qword [r14 + 0x40]
mov rdx, r15
mov r15, qword [rsp + 0x58]
mov rcx, r15
mov dword [rsp + 0x34], eax
call fcn.180025ea8
mov eax, dword [rsp + 0x34]
xor r10d, r10d
test eax, eax
jne 0x1800289b3
mov rcx, rdi
call qword [r14 + 0x50]
mov rdi, qword [rsp + 0x48]
xor r10d, r10d
mov byte [r13 + 2], r10b
test eax, eax
mov r13, rsi
mov esi, dword [rsp + 0x34]
lea r11d, [r10 + 1]
jne 0x1800297b9
mov r14, qword [rsp + 0x60]
mov ebx, dword [rsp + 0x30]
jmp 0x1800286fe
cmp dword [r13 + 8], r10d
je 0x180028be2
movsxd rax, dword [r13 + 8]
imul r9, rax, 0x38
add r9, r14
jmp 0x180028be5
mov r9, r10
mov r8d, dword [r13 + 4]
lea rcx, [r15 + 0xa8]
mov rdx, r12
call fcn.18005f0a4
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
mov esi, eax
jne 0x1800289aa
jmp 0x1800286f4
mov rdx, r13
mov rcx, r15
call fcn.180028298
movsxd rcx, dword [r13 + 4]
mov r14, rax
mov rax, qword [r12 + 0x20]
mov ebx, dword [r13 + 0xc]
shl rcx, 5
mov r15, qword [rcx + rax + 8]
mov rcx, r15
call fcn.18001ef4c
mov rcx, rax
mov rsi, rax
call fcn.18001301c
cmp ebx, 0xffffffff
mov rcx, rsi
mov edi, eax
cmove ebx, eax
call fcn.180013024
test eax, eax
mov edx, 1
mov rcx, rsi
cmove ebx, edi
call fcn.180012eec
mov edx, 5
cmp ebx, edx
jne 0x180028cf8
mov rcx, rax
call fcn.1800092c0
test eax, eax
je 0x180028c8e
mov rcx, rsi
call fcn.180013044
xor ecx, ecx
test eax, eax
jne 0x180028cfc
mov ebx, edi
mov eax, dword [rsp + 0x34]
test eax, eax
je 0x180028c9a
mov ebx, edi
mov edx, ebx
mov rcx, rsi
call fcn.180012f08
mov ecx, 0xa02
mov word [r14 + 8], cx
mov ecx, eax
call fcn.18004f09c
mov rcx, rax
mov qword [r14 + 0x10], rax
call fcn.1800092c0
movzx edx, byte [rsp + 0x3c]
mov edi, 1
mov rcx, r14
mov byte [r14 + 0xa], dil
mov dword [r14 + 0xc], eax
call fcn.180020a04
mov esi, dword [rsp + 0x34]
xor r10d, r10d
test esi, esi
je 0x180028ab1
mov rsi, qword [rsp + 0x40]
mov eax, dword [rsp + 0x34]
jmp 0x1800289b8
xor ecx, ecx
jmp 0x180028d01
mov edx, 5
cmp ebx, edi
je 0x180028c90
cmp edi, edx
je 0x180028d0d
cmp ebx, edx
jne 0x180028c90
cmp byte [r12 + 0x5f], cl
je 0x18002dd72
mov eax, 1
cmp dword [r12 + 0xcc], eax
jg 0x18002dd72
cmp edi, edx
jne 0x180028d54
mov rdx, r12
mov rcx, rsi
call fcn.180013164
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180028c98
mov edx, ebx
mov rcx, rsi
call fcn.180012f08
xor ecx, ecx
jmp 0x180028d74
mov eax, 4
cmp edi, eax
jne 0x180028d6a
lea edx, [rax - 2]
mov rcx, rsi
call fcn.180012f08
xor ecx, ecx
cmp dword [rsp + 0x34], ecx
jne 0x180028c98
mov edx, ecx
mov ecx, 5
cmp ebx, ecx
sete dl
lea eax, [rcx - 4]
mov rcx, r15
add edx, eax
call fcn.18001fde8
mov dword [rsp + 0x34], eax
jmp 0x180028c94
mov r8d, dword [r13 + 8]
lea rax, [rbp + 0x108]
mov edx, dword [r13 + 4]
lea r9, [rbp + 0x104]
or dword [rbp + 0x108], 0xffffffff
mov rcx, r12
or dword [rbp + 0x104], 0xffffffff
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x100], r10d
call fcn.180075324
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
je 0x180028df8
lea ecx, [r10 + 5]
cmp eax, ecx
jne 0x1800289aa
lea eax, [rcx - 4]
mov dword [rsp + 0x34], r10d
mov dword [rbp + 0x100], eax
mov esi, r10d
movsxd rax, dword [r13 + 0xc]
mov rdi, r10
imul rbx, rax, 0x38
add rbx, r14
movsxd rdx, dword [rbp + rdi*4 + 0x100]
mov rcx, rbx
call fcn.1800213a4
mov r11d, 1
add rbx, 0x38
add rdi, r11
cmp rdi, 3
jl 0x180028e06
mov rdi, qword [rsp + 0x48]
mov ebx, dword [rsp + 0x30]
xor r10d, r10d
jmp 0x1800286fe
cmp byte [r12 + 0x61], r10b
jne 0x18002e15b
mov rax, qword [r13 + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x18002ddc6
mov r10, qword [rbx]
xor r11d, r11d
test r10, r10
je 0x18002ddc6
movsxd rdx, dword [r13 + 8]
cmp qword [r10 + 0x68], r11
je 0x18002dac7
movsxd rax, dword [r13 + 0xc]
mov dil, byte [r12 + 0x66]
mov r8, qword [r15 + 0x70]
imul rcx, rax, 0x38
mov eax, r11d
add rcx, r14
test edx, edx
jle 0x180028ea2
lea r11d, [rax + 1]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
add rax, r11
cmp rax, rdx
jl 0x180028e92
mov al, byte [r13 + 2]
lea r9, [rbp + 0x48]
mov rcx, rbx
mov byte [r12 + 0x66], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r12 + 0x66], dil
mov rcx, r15
mov dword [rsp + 0x34], eax
mov esi, eax
call fcn.180025ea8
xor r10d, r10d
test esi, esi
jne 0x180028efe
cmp dword [r13 + 4], r10d
je 0x180028ee2
mov rax, qword [rbp + 0x48]
mov qword [r12 + 0x38], rax
mov r11d, 1
add dword [r15 + 0x3c], r11d
test esi, esi
jne 0x18002d482
mov rdi, qword [rsp + 0x48]
jmp 0x180028bc6
cmp sil, 0x13
jne 0x180028ee2
mov rax, qword [r13 + 0x10]
cmp byte [rax + 0x1c], r10b
je 0x180028ee2
mov edx, 4
cmp word [r13 + 2], dx
jne 0x18002dda5
mov esi, r10d
mov dword [rsp + 0x34], r10d
mov rdi, qword [rsp + 0x48]
mov r11d, 1
mov ebx, dword [rsp + 0x30]
mov r8d, 2
mov r9d, 8
jmp 0x18002870f
sub ebx, 0xb
je 0x180029fe0
sub ebx, 1
je 0x1800291f6
sub ebx, 1
je 0x1800291c8
sub ebx, 1
je 0x180029181
sub ebx, 1
je 0x180029117
sub ebx, 1
je 0x1800290d0
sub ebx, 1
je 0x180029041
sub ebx, 1
je 0x180029017
cmp ebx, 1
jne 0x18002bc10
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rcx, r14
add rbx, r14
test byte [rcx + 8], r11b
jne 0x180028ff8
xor edx, edx
call fcn.18002104c
xor r10d, r10d
mov edx, 0x2400
test eax, eax
mov ecx, r10d
sete cl
test word [rbx + 8], dx
je 0x180028fe7
mov rdx, rcx
mov rcx, rbx
call fcn.18002136c
mov ebx, dword [rsp + 0x30]
xor r10d, r10d
jmp 0x1800286f8
mov edx, 4
mov qword [rbx], rcx
mov word [rbx + 8], dx
jmp 0x180028f2b
mov ecx, 0x2400
test word [rbx + 8], cx
je 0x18002900d
mov rcx, rbx
call fcn.180020ecc
jmp 0x180028fdb
mov word [rbx + 8], r11w
jmp 0x18002bc10
movsxd rax, dword [r13 + 4]
mov edx, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.18002104c
xor r10d, r10d
mov r11d, 1
test eax, eax
jne 0x1800297b9
jmp 0x180028bc6
mov r8, qword [r15 + 0x100]
test r8, r8
je 0x1800290a6
mov r9, qword [r8 + 0x30]
mov rcx, r13
sub rcx, qword [r15 + 0x88]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov ecx, edx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + r9]
bt eax, edx
jb 0x1800297b9
bts eax, edx
mov edx, 4
mov byte [rcx + r9], al
mov rcx, qword [r15 + 0x88]
lea r9d, [rdx + 4]
jmp 0x1800290ba
mov rcx, qword [r15 + 0x88]
mov eax, dword [r13 + 4]
cmp dword [rcx + 4], eax
je 0x1800297b9
mov eax, dword [rcx + 4]
mov dword [r13 + 4], eax
mov ebx, dword [rsp + 0x30]
mov r8d, 2
jmp 0x18002870f
mov r9d, dword [rbp - 0x6c]
mov ebx, dword [rsp + 0x30]
test r9d, r9d
jns 0x1800290f3
mov eax, dword [r13 + 4]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea r13, [rdi + rcx*8]
jmp 0x180028f3b
mov r9d, 8
jne 0x180029111
mov eax, dword [r13 + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea r13, [rdi + rcx*8]
jmp 0x18002870f
mov eax, dword [r13 + 0xc]
jmp 0x1800290ff
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r14
movzx eax, word [rbx + 8]
test dl, al
jne 0x180029171
mov r8b, byte [rsp + 0x3c]
mov dl, 0x43
mov rcx, rbx
call fcn.180028110
movzx eax, word [rbx + 8]
mov edx, 4
xor r10d, r10d
test dl, al
jne 0x18002915e
cmp dword [r13 + 8], r10d
je 0x18002ddd3
mov r11d, 1
jmp 0x1800297b9
mov r11d, 1
mov ecx, 0x2400
lea r8d, [r11 + 1]
lea r9d, [r11 + 7]
and ax, word [rbp + 0x20]
or ax, dx
mov word [rbx + 8], ax
jmp 0x18002bc10
movsxd rax, dword [r13 + 4]
sub r13, rdi
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
movsxd rcx, dword [r8 + r14]
mov word [r8 + r14 + 8], dx
imul r13
lea rcx, [rcx + rcx*2]
sar rdx, 2
lea r13, [rdi + rcx*8]
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r14], rax
mov ebx, dword [rsp + 0x30]
jmp 0x180028704
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, dword [r13 + 0xc]
sub eax, r11d
cdqe
mov qword [rcx + r14], rax
mov word [rcx + r14 + 8], dx
cmp dword [r13 + 8], r10d
jne 0x1800297b9
mov ebx, dword [rsp + 0x30]
jmp 0x18002870f
movsxd rax, dword [r13 + 4]
mov rcx, r13
imul r8, rax, 0x38
sub rcx, rdi
movabs rax, 0x2aaaaaaaaaaaaaab
mov word [r8 + r14 + 8], dx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r14], rax
jmp 0x1800297b9
cmp dword [r13 + 0xc], r10d
mov edx, r10d
movsxd rax, dword [r13 + 4]
sete dl
imul rcx, rax, 0x38
add rcx, r14
call fcn.18002104c
xor r10d, r10d
lea r11d, [r10 + 1]
test eax, eax
je 0x1800297b9
jmp 0x180028bc6
cmp ebx, 0x1f
ja 0x1800297dc
je 0x18002974c
cmp ebx, 0x1a
ja 0x1800295af
je 0x180029557
mov ecx, ebx
sub ecx, 0x15
je 0x180029514
sub ecx, 1
je 0x18002929f
sub ecx, 1
je 0x18002929f
sub ecx, 1
je 0x18002929f
cmp ecx, 1
jne 0x1800291ed
movsxd rcx, dword [r13 + 4]
mov r12d, r10d
mov rax, qword [r15 + 0x78]
mov r14, qword [rax + rcx*8]
and word [r14 + 2], 0
mov dword [r14 + 0x28], r10d
cmp byte [r14 + 4], r10b
je 0x180029406
movsxd rax, dword [r13 + 0xc]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x60]
movzx esi, word [rdi + 8]
mov al, sil
and al, 0x2e
cmp al, r8b
jne 0x1800292e7
xor edx, edx
mov rcx, rdi
call fcn.180028074
mov rcx, rdi
call fcn.180020fc8
movzx ecx, word [rdi + 8]
mov r15, rax
mov word [rdi + 8], si
test cl, 0x24
jne 0x1800293c3
mov edx, 8
test dl, cl
jne 0x180029394
lea r11d, [rdx - 7]
test r11b, cl
jne 0x18002cbdc
cmp ebx, 0x18
jae 0x18002cbdc
mov rcx, qword [r14 + 0x38]
lea rdx, [rbp - 0x7c]
call fcn.18001a320
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x18002e18b
mov r11d, 1
cmp dword [rbp - 0x7c], r10d
jne 0x18002cbfb
mov r15, qword [rsp + 0x58]
mov edx, 4
mov r14, qword [rsp + 0x60]
test r12d, r12d
mov rdi, qword [rsp + 0x48]
mov ecx, 0x2400
mov ebx, dword [rsp + 0x30]
mov r12, qword [rsp + 0x50]
lea r11d, [rdx - 3]
lea r8d, [rdx - 2]
lea r9d, [rdx + 4]
je 0x180028714
add r13, 0x18
jmp 0x180028714
movsd xmm1, qword [rdi]
xorps xmm0, xmm0
cvtsi2sd xmm0, r15
mov edi, 1
comisd xmm0, xmm1
jbe 0x1800293b4
test dil, bl
je 0x1800293c8
sub ebx, edi
jmp 0x1800293c8
comisd xmm1, xmm0
jbe 0x1800293c8
test dil, bl
jne 0x1800293c8
add ebx, edi
jmp 0x1800293c8
mov edi, 1
mov rcx, qword [r14 + 0x38]
lea rax, [rbp - 0x7c]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, r15
xor edx, edx
call fcn.18001a388
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov qword [r14 + 0x58], r15
mov esi, eax
test eax, eax
je 0x180029489
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x50]
jmp 0x1800289b8
mov rax, qword [r14 + 0x38]
lea rdx, [rbp - 0x40]
mov dil, byte [rax + 3]
mov rax, qword [r14 + 0x40]
and dil, r8b
mov qword [rbp - 0x40], rax
movzx eax, word [r13 + 0x10]
setne r12b
mov word [rbp - 0x30], ax
mov eax, ebx
and al, r11b
mov byte [rbp - 0x2a], r10b
neg al
movsxd rax, dword [r13 + 0xc]
sbb cl, cl
xor r9d, r9d
and cl, 0xfe
xor r8d, r8d
add cl, r11b
mov byte [rbp - 0x2e], cl
imul rcx, rax, 0x38
lea rax, [rbp - 0x7c]
add rcx, qword [rsp + 0x60]
mov qword [rbp - 0x38], rcx
mov rcx, qword [r14 + 0x38]
mov qword [rsp + 0x20], rax
call fcn.18001a388
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x18002e18b
test dil, dil
je 0x180029489
cmp byte [rbp - 0x2a], r10b
je 0x180029344
mov eax, dword [rbp - 0x7c]
cmp ebx, 0x18
jl 0x1800294e3
test eax, eax
js 0x1800294a5
jne 0x18002949c
cmp ebx, 0x19
je 0x1800294a5
mov dword [rbp - 0x7c], r10d
jmp 0x180029354
mov dword [rbp - 0x7c], r10d
xor edx, edx
mov rcx, qword [r14 + 0x38]
call fcn.18001a930
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
je 0x180029344
cmp eax, 0x65
jne 0x18002e18b
lea r11d, [r10 + 1]
mov dword [rsp + 0x34], r10d
mov dword [rbp - 0x7c], r11d
mov esi, r10d
jmp 0x18002934a
test eax, eax
jg 0x180029503
jne 0x1800294ee
cmp ebx, 0x16
je 0x180029503
mov rax, qword [r14 + 0x38]
mov ecx, r10d
cmp byte [rax], r10b
setne cl
mov dword [rbp - 0x7c], ecx
jmp 0x180029344
mov dword [rbp - 0x7c], r10d
xor edx, edx
mov rcx, qword [r14 + 0x38]
call fcn.18001aa64
jmp 0x1800294b4
movsxd rcx, dword [r13 + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], r10b
je 0x1800291ed
movsxd rax, dword [r13 + 0xc]
mov edx, 0x2400
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], dx
je 0x18002954d
call fcn.180020ecc
xor r10d, r10d
jmp 0x180029153
mov word [rcx + 8], r11w
jmp 0x1800297b9
movsxd rcx, dword [r13 + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
test byte [rcx + 8], r9b
jne 0x1800291ed
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rsi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rbx, rax, 0x38
add rbx, r14
cmp dword [r13 + 0x10], r10d
jle 0x18002963a
mov rax, qword [rsi + 0x40]
lea rdi, [rbp - 0x40]
mov qword [rbp - 0x40], rax
mov r14, r10
movzx eax, word [r13 + 0x10]
mov word [rbp - 0x30], ax
mov qword [rbp - 0x38], rbx
jmp 0x18002968b
sub ebx, 0x1b
je 0x18002956d
sub ebx, 1
je 0x18002956d
sub ebx, 1
je 0x18002956d
cmp ebx, 1
jne 0x18002bc10
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 8], 0x24
jne 0x18002974c
movups xmm0, xmmword [rcx]
mov r8b, byte [rsp + 0x3c]
mov dl, 0x43
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp + 0xc8], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp + 0xd8], xmm1
movsd xmm1, qword [rcx + 0x30]
lea rcx, [rbp + 0xc8]
movups xmmword [rbp + 0xe8], xmm0
movsd qword [rbp + 0xf8], xmm1
call fcn.180028110
lea eax, [rbx + 3]
xor r10d, r10d
test byte [rbp + 0xd0], al
je 0x180029153
mov rdi, qword [rbp + 0xc8]
jmp 0x180029758
mov eax, 0x4000
test word [rbx + 8], ax
je 0x180029655
mov rcx, rbx
call fcn.180020c30
test eax, eax
jne 0x18002e15b
mov rcx, qword [rsi + 0x40]
call fcn.180024f18
mov rdi, rax
mov r14, rax
test rax, rax
je 0x18002e15b
mov r8, qword [rbx + 0x10]
mov r9, rax
mov edx, dword [rbx + 0xc]
mov rcx, qword [rsi + 0x40]
call fcn.180024f70
xor r10d, r10d
lea r11d, [r10 + 1]
lea r9d, [r10 + 8]
mov byte [rdi + 0x12], r10b
mov ebx, r10d
cmp byte [r13], 0x1b
jne 0x1800296c0
movzx edx, word [rdi + 0x10]
mov ecx, r10d
test edx, edx
je 0x1800296c0
mov rax, qword [rdi + 8]
add rax, r9
test byte [rax], r11b
jne 0x1800296bd
add ecx, r11d
add rax, 0x38
cmp ecx, edx
jl 0x1800296ab
jmp 0x1800296c0
mov ebx, r11d
mov rcx, qword [rsi + 0x38]
lea rax, [rbp - 8]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rdi
call fcn.18001a388
xor r10d, r10d
mov dword [rsp + 0x34], eax
test r14, r14
je 0x1800296f9
mov rdx, r14
mov rcx, r12
call fcn.180006aac
mov eax, dword [rsp + 0x34]
xor r10d, r10d
test eax, eax
jne 0x1800289ae
mov eax, dword [rbp - 8]
mov ecx, r10d
mov rdi, qword [rsp + 0x48]
mov r11d, 1
mov dword [rsi + 0x2c], eax
mov eax, dword [rbp - 8]
test eax, eax
mov byte [rsi + 3], r10b
sete cl
mov dword [rsi + 0x28], r10d
test eax, eax
setne al
mov byte [rsi + 2], al
cmp byte [r13], 0x1d
mov esi, dword [rsp + 0x34]
jne 0x18002973f
test ecx, ecx
jmp 0x180028bbb
test ebx, ebx
jne 0x1800297b9
test ecx, ecx
je 0x1800297b9
jmp 0x180028bc1
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + r14]
movsxd rcx, dword [r13 + 4]
xor r9d, r9d
mov rax, qword [r15 + 0x78]
mov r8, rdi
xor edx, edx
mov rbx, qword [rax + rcx*8]
lea rax, [rbp - 0x54]
mov qword [rsp + 0x20], rax
mov rcx, qword [rbx + 0x38]
mov dword [rbp - 0x54], r10d
call fcn.18001a388
xor r10d, r10d
mov qword [rbx + 0x58], rdi
mov word [rbx + 2], r10w
mov esi, eax
mov dword [rbx + 0x28], r10d
mov dword [rsp + 0x34], eax
mov eax, dword [rbp - 0x54]
mov dword [rbx + 0x2c], eax
cmp dword [rbp - 0x54], r10d
je 0x1800297cf
cmp dword [r13 + 8], r10d
je 0x18002dde0
mov r11d, 1
mov rdi, qword [rsp + 0x48]
mov eax, dword [r13 + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea r13, [rdi + rcx*8]
jmp 0x180028bc1
test esi, esi
jne 0x1800289aa
jmp 0x1800286ef
mov ecx, ebx
sub ecx, 0x20
je 0x18002cb75
sub ecx, 1
je 0x180029903
sub ecx, 1
je 0x1800298a1
sub ecx, 1
je 0x1800298a1
sub ecx, 1
je 0x1800298a8
sub ecx, 1
je 0x180029823
sub ecx, 1
je 0x180029823
sub ecx, 1
je 0x180029823
cmp ecx, 1
jne 0x1800291ed
movsxd rcx, dword [r13 + 4]
lea r9, [rbp - 0x60]
mov rax, qword [r15 + 0x78]
lea r8, [rbp - 0x40]
cmp bl, 0x27
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x40]
mov qword [rbp - 0x40], rax
movzx eax, word [r13 + 0x10]
mov word [rbp - 0x30], ax
sbb al, al
mov byte [rbp - 0x2e], al
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov dword [rbp - 0x60], r10d
add rcx, r14
mov qword [rbp - 0x38], rcx
mov rcx, r12
call fcn.180025d0c
mov r11d, 1
mov dword [rsp + 0x34], eax
mov esi, eax
mov eax, dword [rbp - 0x60]
test byte [r13], r11b
je 0x180029884
neg eax
jmp 0x180029886
inc eax
xor r10d, r10d
mov dword [rbp - 0x60], eax
test esi, esi
jne 0x18002d482
test eax, eax
jg 0x1800297b9
jmp 0x180028bc6
add dword [r15 + 0xdc], r11d
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp - 0x5c]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
mov dword [rbp - 0x5c], r11d
cmp byte [rbx], r11b
jne 0x1800298ce
mov rcx, rbx
call fcn.180030f00
xor r10d, r10d
jmp 0x1800298e2
mov rcx, qword [rbx + 0x38]
call fcn.18001a2e0
xor r10d, r10d
mov byte [rbx + 3], r10b
mov dword [rbx + 0x28], r10d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x1800289aa
mov al, byte [rbp - 0x5c]
lea r11d, [rsi + 1]
mov byte [rbx + 2], al
cmp dword [rbp - 0x5c], r10d
jmp 0x180029036
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp - 0x58]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.18001a2e0
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x1800289aa
cmp dword [rbp - 0x58], r10d
jne 0x180029153
mov rcx, rbx
call fcn.18001a800
xor r10d, r10d
test rax, rax
js 0x18002996f
mov rcx, rax
call fcn.18000a420
movsx ecx, ax
lea r11d, [rsi + 1]
cmp ecx, dword [r13 + 0xc]
mov eax, dword [rbp - 0x58]
cmovl eax, r11d
xor r10d, r10d
mov dword [rbp - 0x58], eax
jmp 0x180029034
mov eax, dword [rbp - 0x58]
jmp 0x18002902e
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
mov eax, 0x10
add rbx, r14
test byte [rbx + 8], al
je 0x180029a26
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0x50]
call fcn.18000ef88
test eax, eax
je 0x180029a26
movsxd rax, dword [r13 + 0xc]
mov rdx, qword [rbp + 0x50]
imul rcx, rax, 0x38
add rcx, r14
call fcn.1800213a4
xor r10d, r10d
mov r11d, 1
mov eax, dword [r12 + 0x170]
test eax, eax
jne 0x18002e118
mov r8d, dword [rsp + 0x38]
mov ebx, dword [rsp + 0x30]
cmp ebx, r8d
jb 0x1800286fe
mov rax, qword [r12 + 0x1c0]
test rax, rax
je 0x1800286f8
add r8d, dword [r12 + 0x1d0]
mov rcx, qword [r12 + 0x1c8]
mov dword [rsp + 0x38], r8d
call rax
xor r10d, r10d
test eax, eax
jne 0x18002de2e
mov r8d, dword [rsp + 0x38]
cmp ebx, r8d
jae 0x1800299e4
jmp 0x1800286f8
mov rcx, rbx
call fcn.180021300
xor r10d, r10d
jmp 0x180029fda
cmp ebx, 0x3e
ja 0x18002a2c6
je 0x18002a362
cmp ebx, 0x34
ja 0x180029ebc
je 0x18002a048
cmp ebx, 0x2f
ja 0x180029e2c
je 0x180029e07
sub ebx, 0x2a
je 0x180029d95
sub ebx, 1
je 0x180029d02
sub ebx, 1
je 0x180029d02
sub ebx, 1
je 0x180029ab9
cmp ebx, 1
jne 0x18002bc10
cmp dword [r13 + 4], r10d
je 0x180029a9c
cmp qword [r12 + 0x2a8], r10
jmp 0x180029aa0
cmp qword [r15 + 0x50], r10
jne 0x18002bc10
cmp qword [r12 + 0x2b0], r10
je 0x1800297b9
jmp 0x18002bc10
movsxd rax, dword [r13 + 0xc]
mov r15, qword [r13 + 0x10]
mov r8, qword [rsp + 0x58]
imul rdi, rax, 0x38
add rdi, r14
cmp word [r13 + 2], r10w
je 0x180029af4
mov rcx, qword [r15 + 0x20]
mov rax, qword [r8 + 0x100]
jmp 0x180029aef
cmp qword [rax + 0x38], rcx
je 0x18002dab0
mov rax, qword [rax + 8]
test rax, rax
jne 0x180029ae1
mov eax, dword [r8 + 0x110]
cmp eax, dword [r12 + 0xa4]
jge 0x18002de15
mov ecx, 0x10
test byte [rdi + 8], cl
jne 0x180029c31
mov edx, dword [r15 + 0x10]
mov ecx, dword [r15 + 0xc]
add ecx, edx
test edx, edx
lea r14d, [rcx + 1]
cmovne r14d, ecx
lea eax, [r14 + 2]
imul ecx, eax, 7
mov eax, dword [r15 + 8]
add ecx, edx
mov edx, 7
add eax, edx
jns 0x180029b43
add eax, edx
sar eax, 3
lea esi, [rax + rcx*8]
mov rcx, r12
movsxd rdx, esi
call fcn.180006d08
mov rbx, rax
test rax, rax
je 0x18002e15b
mov rcx, rdi
call fcn.180020f48
mov r8, qword [rsp + 0x58]
mov eax, 0x410
sub r13, qword [rsp + 0x48]
mov word [rdi + 8], ax
lea rax, [0x1800232d0]
mov qword [rdi + 0x30], rax
mov qword [rdi + 0x10], rbx
mov dword [rdi + 0xc], esi
mov qword [rbx], r8
mov dword [rbx + 0x60], r14d
mov eax, dword [r15 + 0x10]
mov dword [rbx + 0x64], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul r13
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x54], edx
mov rax, qword [r8 + 0x68]
mov qword [rbx + 0x20], rax
mov eax, dword [r8 + 0x28]
mov dword [rbx + 0x5c], eax
mov rax, qword [r8 + 0x78]
mov qword [rbx + 0x28], rax
mov eax, dword [r8 + 0x2c]
mov dword [rbx + 0x50], eax
mov rax, qword [r8 + 0x88]
mov qword [rbx + 0x10], rax
mov eax, dword [r8 + 0x90]
mov dword [rbx + 0x58], eax
mov rax, qword [r15 + 0x20]
mov qword [rbx + 0x38], rax
movsxd rax, r14d
add rax, 2
imul rcx, rax, 0x38
lea rax, [rbx + 0x70]
add rcx, rbx
cmp rax, rcx
je 0x180029c21
mov edx, 0x80
mov word [rax + 8], dx
mov qword [rax + 0x28], r12
add rax, 0x38
cmp rax, rcx
jne 0x180029c10
mov eax, dword [r8 + 0x110]
xor r10d, r10d
mov esi, dword [rsp + 0x34]
jmp 0x180029c35
mov rbx, qword [rdi + 0x10]
inc eax
lea r14, [rbx + 0x70]
mov dword [r8 + 0x110], eax
mov rax, qword [r8 + 0x100]
mov qword [rbx + 8], rax
mov rax, qword [r12 + 0x38]
mov qword [rbx + 0x40], rax
mov eax, dword [r8 + 0x3c]
mov dword [rbx + 0x68], eax
mov rax, qword [r8]
mov qword [rsp + 0x60], r14
mov ecx, dword [rax + 0x74]
mov dword [rbx + 0x6c], ecx
mov rax, qword [r8 + 0x120]
mov qword [rbx + 0x48], rax
mov qword [r8 + 0x120], r10
mov dword [r8 + 0x3c], r10d
mov qword [r8 + 0x100], rbx
mov qword [r8 + 0x68], r14
movsxd rcx, dword [rbx + 0x60]
mov dword [r8 + 0x28], ecx
movzx eax, word [rbx + 0x64]
mov dword [r8 + 0x2c], eax
imul rdx, rcx, 0x38
add rdx, r14
mov qword [r8 + 0x78], rdx
mov r8d, 7
movsxd rax, dword [r15 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [rbx + 0x30], rcx
mov eax, dword [r15 + 8]
add eax, r8d
cdq
and edx, r8d
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.180079910
mov rdi, qword [r15]
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x48], rdi
lea r13, [rdi - 0x18]
mov qword [rcx + 0x88], rdi
mov eax, dword [r15 + 8]
mov r15, rcx
mov dword [rcx + 0x90], eax
mov qword [rsp + 0x40], r13
jmp 0x1800299b9
movsxd rax, dword [r13 + 4]
mov edx, r8d
imul rcx, rax, 0x38
add rcx, r14
call fcn.18002104c
mov ebx, eax
mov edx, 2
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
add rcx, r14
call fcn.18002104c
lea eax, [rax + rbx*2]
add eax, ebx
cmp byte [r13], 0x2c
movsxd rcx, eax
lea rax, [0x180000000]
jne 0x180029d4c
mov r8b, byte [rcx + rax + 0x9a5b8]
jmp 0x180029d54
mov r8b, byte [rcx + rax + 0x9a538]
movsxd rax, dword [r13 + 0xc]
imul rdx, rax, 0x38
mov eax, 0x3e40
movzx ecx, word [rdx + r14 + 8]
and cx, ax
mov eax, 2
lea r11d, [rax - 1]
cmp r8b, al
jne 0x180029d7e
or cx, r11w
jmp 0x180029d8a
movzx eax, r8b
or cx, 4
mov qword [rdx + r14], rax
mov word [rdx + r14 + 8], cx
jmp 0x180028e2e
movsxd rax, dword [r13 + 4]
mov edi, dword [r13 + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
imul rsi, rax, 0x38
add rbx, r14
mov eax, 0x10
test byte [rbx + 8], al
jne 0x180029dc6
mov rcx, rbx
call fcn.180021438
test eax, eax
jne 0x18002e15b
test edi, edi
je 0x180029dec
mov r8, qword [rsi + r14]
mov edx, edi
mov rcx, qword [rbx + 0x10]
call fcn.18000eff8
xor r10d, r10d
test eax, eax
jne 0x18002cbf2
test edi, edi
js 0x1800286eb
mov rdx, qword [rsi + r14]
mov rcx, qword [rbx + 0x10]
call fcn.18000ecf4
mov esi, dword [rsp + 0x34]
mov rdi, qword [rsp + 0x48]
jmp 0x180028fdb
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r14]
test rdx, rdx
jle 0x1800285fe
movsxd rax, dword [r13 + 0xc]
sub rdx, rax
mov qword [rcx + r14], rdx
jmp 0x1800297b9
sub ebx, 0x30
je 0x180029e95
sub ebx, 1
je 0x180029e6e
sub ebx, 1
je 0x180029e5c
cmp ebx, 1
jne 0x18002bc10
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], r11b
je 0x1800297b9
jmp 0x1800291ed
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], r11b
jmp 0x1800291e7
movsxd rax, dword [r13 + 4]
movabs rbx, 0x8000000000000000
imul rcx, rax, 0x38
mov rax, qword [rcx + r14]
cmp rax, rbx
jle 0x180029e90
dec rax
mov qword [rcx + r14], rax
test rax, rax
jmp 0x180029e51
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r14]
test rax, rax
je 0x1800291ed
jle 0x1800297b9
dec rax
mov qword [rcx + r14], rax
jmp 0x1800297b9
sub ebx, 0x35
je 0x18002a048
sub ebx, 1
je 0x18002a048
sub ebx, 1
je 0x18002a048
sub ebx, 1
je 0x18002a048
sub ebx, 1
je 0x18002a048
sub ebx, 1
je 0x18002a039
sub ebx, 1
je 0x180029ffb
sub ebx, 1
je 0x180029f7e
cmp ebx, 1
jne 0x18002bc10
mov al, byte [r12 + 0x68]
test al, 0x41
je 0x18002d722
mov ebx, 0x10
test byte [r15 + 0xc8], bl
jne 0x18002d722
mov r9, qword [r13 + 0x10]
test r9, r9
jne 0x180029f41
mov r9, qword [r15 + 0xf0]
test r9, r9
je 0x18002d71c
test al, 0x40
je 0x18002d6a9
mov rdi, qword [r12 + 0xe8]
mov rdx, r9
mov rcx, r15
call fcn.180027bd0
mov rcx, qword [r12 + 0xf0]
mov rdx, rax
mov rbx, rax
call rdi
mov rcx, rbx
call fcn.180006a24
mov rdi, qword [rsp + 0x48]
jmp 0x18002d706
movsxd rcx, dword [r13 + 4]
mov rax, qword [r15 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], r10b
jne 0x18002ba33
mov rcx, qword [rdi + 0x38]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r15
mov dword [rsp + 0x34], eax
call fcn.180025ea8
mov eax, dword [rsp + 0x34]
xor r10d, r10d
test eax, eax
jne 0x1800289ae
mov rcx, qword [rdi + 0x38]
call qword [rsi + 0x50]
mov esi, dword [rsp + 0x34]
xor r10d, r10d
mov rdi, qword [rsp + 0x48]
test eax, eax
jne 0x1800299bc
mov r11d, 1
mov eax, dword [r13 + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea r13, [rdi + rcx*8]
mov qword [rsp + 0x40], r13
jmp 0x1800299c2
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.18001908c
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
je 0x1800286f4
cmp eax, 0x65
jne 0x1800289aa
mov esi, r10d
mov dword [rsp + 0x34], r10d
jmp 0x180029153
cmp dword [rbp - 0x6c], r10d
jne 0x1800297b9
jmp 0x18002bc10
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 0xc]
add rdi, r14
imul rcx, rax, 0x38
movzx esi, word [rdi + 8]
add r14, rcx
movzx ebx, word [r14 + 8]
movzx edx, bx
or dx, si
test r11b, dl
je 0x18002a103
mov eax, 0x80
test byte [r13 + 2], al
je 0x18002a0b2
mov al, bl
and al, sil
test r11b, al
je 0x18002a09d
mov eax, 0x100
test ax, bx
jne 0x18002a09d
mov ecx, r10d
jmp 0x18002a20d
movzx eax, bx
not ax
and eax, r11d
lea ecx, [rax*2 - 1]
jmp 0x18002a20d
mov esi, dword [rsp + 0x34]
mov eax, 0x20
test byte [r13 + 2], al
je 0x18002a0ed
movsxd rax, dword [r13 + 8]
mov r14, qword [rsp + 0x60]
imul rcx, rax, 0x38
mov eax, 0x3e40
mov dword [rbp - 0x6c], r11d
add rcx, r14
and word [rcx + 8], ax
or word [rcx + 8], r11w
mov rdi, qword [rsp + 0x48]
jmp 0x1800285fe
mov eax, 0x10
test byte [r13 + 2], al
jne 0x1800297b4
mov r14, qword [rsp + 0x60]
jmp 0x18002a0e3
mov al, byte [r13 + 2]
and al, 0x47
cmp al, 0x43
jb 0x18002a18b
movzx ecx, bx
test r8b, dl
je 0x18002a14f
mov al, sil
and al, 0x2e
cmp al, r8b
jne 0x18002a134
xor edx, edx
mov rcx, rdi
call fcn.180028074
movzx ebx, word [r14 + 8]
mov r8d, 2
mov al, bl
movzx ecx, bx
and al, 0x2e
cmp al, r8b
jne 0x18002a14f
xor edx, edx
mov rcx, r14
call fcn.180028074
movzx ecx, word [r14 + 8]
and cl, byte [rdi + 8]
mov edx, 4
test dl, cl
je 0x18002a1f1
mov rax, qword [rdi]
lea r11d, [rdx - 3]
xor r10d, r10d
lea r9d, [rdx + 4]
cmp qword [r14], rax
jle 0x18002a17a
mov ecx, r11d
jmp 0x18002a212
cmp qword [r14], rax
mov ecx, r10d
setge cl
sub ecx, r11d
jmp 0x18002a212
cmp al, 0x42
jne 0x18002a1f1
test r8b, sil
jne 0x18002a1c5
test sil, 0x2c
je 0x18002a1c5
mov dl, byte [rsp + 0x3c]
mov r8b, r11b
mov rcx, rdi
call fcn.180020c8c
movzx eax, si
mov r11d, 1
xor ax, word [rdi + 8]
mov ecx, 0x3e40
and ax, cx
xor si, ax
lea r8d, [r11 + 1]
test r8b, bl
jne 0x18002a1f1
test bl, 0x2c
je 0x18002a1f1
mov dl, byte [rsp + 0x3c]
mov r8b, r11b
mov rcx, r14
call fcn.180020c8c
movzx eax, bx
mov ecx, 0x3e40
xor ax, word [r14 + 8]
and ax, cx
xor bx, ax
mov r8, qword [r13 + 0x10]
mov rdx, rdi
mov rcx, r14
call fcn.1800252b8
xor r10d, r10d
mov ecx, eax
lea r11d, [r10 + 1]
lea r9d, [r10 + 8]
mov edx, 4
movzx eax, byte [r13]
lea r8, [0x180000000]
test ecx, ecx
jns 0x18002a22c
mov al, byte [rax + r8 + 0x9f264]
jmp 0x18002a240
jne 0x18002a238
mov al, byte [rax + r8 + 0x9ae00]
jmp 0x18002a240
mov al, byte [rax + r8 + 0x9a474]
mov word [rdi + 8], si
movzx r8d, al
mov eax, 0x20
mov word [r14 + 8], bx
test byte [r13 + 2], al
je 0x18002a2aa
movsxd rax, dword [r13 + 8]
mov r14, qword [rsp + 0x60]
imul rdx, rax, 0x38
mov dword [rbp - 0x6c], ecx
add rdx, r14
test byte [r13 + 2], r9b
je 0x18002a285
cmp byte [r13], 0x35
mov eax, r10d
sete al
cmp eax, r8d
je 0x18002b06f
mov esi, dword [rsp + 0x34]
mov eax, 0x3e40
and word [rdx + 8], ax
mov eax, 4
or word [rdx + 8], ax
mov rdi, qword [rsp + 0x48]
mov qword [rdx], r8
mov edx, eax
jmp 0x1800290c1
mov esi, dword [rsp + 0x34]
mov rdi, qword [rsp + 0x48]
test r8d, r8d
jne 0x1800297b9
mov r14, qword [rsp + 0x60]
jmp 0x1800290c1
cmp ebx, 0x49
ja 0x18002a67b
je 0x18002a5e7
cmp ebx, 0x44
ja 0x18002a58f
je 0x18002a4d1
sub ebx, 0x3f
je 0x18002a362
sub ebx, 1
je 0x18002a3d7
sub ebx, 1
je 0x18002a3d7
sub ebx, 1
je 0x18002a33e
cmp ebx, 1
mov ebx, dword [rsp + 0x30]
jne 0x180028714
movsxd rax, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r14]
lea rcx, [rax + rax*2]
mov eax, dword [rdi + rcx*8 + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
mov eax, 0x80
mov word [rdx + r14 + 8], ax
lea r13, [rdi + rcx*8]
jmp 0x18002870a
movsxd rax, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r14]
lea rcx, [rax + rax*2]
mov eax, 0x80
mov word [rdx + r14 + 8], ax
lea r13, [rdi + rcx*8]
jmp 0x1800285fe
movzx ebx, word [r13 + 2]
mov rcx, r12
lea rdx, [rbx*8 + 0x30]
call fcn.180006d78
xor r10d, r10d
mov r8, rax
test rax, rax
je 0x18002e15b
mov qword [rax], r10
lea r11d, [r10 + 1]
mov rax, qword [r13 + 0x10]
mov rcx, r13
mov qword [r8 + 8], rax
sub rcx, rdi
mov qword [r8 + 0x18], r15
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov dword [r8 + 0x24], r10d
sar rdx, 2
mov byte [r8 + 0x29], bl
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea eax, [r10 + 2]
mov dword [r8 + 0x20], edx
add byte [r13], al
mov byte [r13 + 1], 0xf0
mov qword [r13 + 0x10], r8
movsxd rax, dword [r13 + 0xc]
mov rbx, qword [r13 + 0x10]
imul rdi, rax, 0x38
add rdi, r14
cmp qword [rbx], rdi
je 0x18002a42f
movzx eax, byte [rbx + 0x29]
mov edx, eax
mov qword [rbx], rdi
sub rdx, 1
lea r9d, [rax - 1]
js 0x18002a42f
lea r8, [rdx + 6]
mov r12d, 8
lea r8, [rbx + r8*8]
mov eax, dword [r13 + 8]
add eax, r9d
sub r9d, r11d
cdqe
imul rcx, rax, 0x38
add rcx, r14
mov qword [r8], rcx
sub r8, r12
sub rdx, r11
jns 0x18002a40c
mov r12, qword [rsp + 0x50]
mov eax, 0x3e40
lea r8, [rbx + 0x30]
and word [rdi + 8], ax
mov rcx, rbx
or word [rdi + 8], r11w
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
xor r10d, r10d
test eax, eax
je 0x18002a4a2
jle 0x18002a47c
mov rcx, rdi
call fcn.18002631c
mov r8, rax
lea rdx, [0x1800951f0]
mov rcx, r15
call fcn.18002204c
mov esi, dword [rbx + 0x24]
mov dword [rsp + 0x34], esi
mov r9d, dword [r13 + 4]
lea rdx, [r15 + 0x120]
mov r8d, dword [rbx + 0x20]
mov rcx, r12
call fcn.1800249ac
xor r10d, r10d
mov dword [rbx + 0x24], r10d
test esi, esi
jne 0x1800289aa
test byte [rdi + 8], 0x12
je 0x1800286ef
movzx edx, byte [rsp + 0x3c]
mov rcx, rdi
call fcn.180020a04
mov rcx, rdi
call fcn.180021500
xor r10d, r10d
test eax, eax
jne 0x18002e0f7
jmp 0x1800286ef
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], r11b
je 0x1800291ed
mov rcx, r13
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rdi
imul rcx
mov ecx, dword [r13 + 4]
mov rbx, rdx
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
add rbx, rax
test ecx, ecx
jne 0x18002de4c
mov rdx, qword [r15 + 0x100]
test rdx, rdx
je 0x18002de4c
mov rax, qword [rdx + 8]
mov rcx, rdx
dec dword [r15 + 0x110]
mov qword [r15 + 0x100], rax
mov eax, dword [r15 + 0x3c]
add dword [r12 + 0x78], eax
mov dword [r12 + 0x74], eax
call fcn.180023b90
mov rdi, qword [r15 + 0x88]
mov edx, 4
mov qword [rsp + 0x48], rdi
lea r11d, [rdx - 3]
cmp dword [r13 + 8], edx
jne 0x18002a574
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [rdi + rcx*8 + 8]
sub eax, r11d
mov r14, qword [r15 + 0x68]
xor r10d, r10d
cdqe
mov qword [rsp + 0x60], r14
lea rcx, [rax + rax*2]
lea r13, [rdi + rcx*8]
jmp 0x180028f31
sub ebx, 0x45
je 0x18002a4e4
sub ebx, 1
je 0x18002a5cd
sub ebx, 1
je 0x18002a5b0
cmp ebx, 1
je 0x18002c2c3
jmp 0x18002bc10
mov rdx, r13
mov rcx, r15
call fcn.180028298
mov rdx, rax
mov rax, qword [r13 + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x180028fdb
mov rdx, r13
mov rcx, r15
call fcn.180028298
mov rcx, rax
movsxd rax, dword [r13 + 4]
mov qword [rcx], rax
jmp 0x180028fdb
mov rdx, r13
mov rcx, r15
call fcn.180028298
mov edi, dword [r13 + 0xc]
mov rcx, rax
mov eax, dword [r13 + 4]
mov r11d, 1
mov edx, dword [r13 + 8]
neg eax
mov eax, 0x100
sbb si, si
lea rbx, [rcx + 8]
and si, ax
xor r10d, r10d
add si, r11w
mov dword [rcx + 0xc], r10d
sub edi, edx
mov ecx, 0x2400
jmp 0x18002a651
lea rbx, [rbx + 0x38]
test word [rbx], cx
je 0x18002a64a
lea rcx, [rbx - 8]
call fcn.180020ecc
xor r10d, r10d
mov ecx, 0x2400
lea r11d, [r10 + 1]
mov dword [rbx + 4], r10d
sub edi, r11d
mov word [rbx], si
test edi, edi
jg 0x18002a62c
mov rdi, qword [rsp + 0x48]
mov edx, 4
mov esi, dword [rsp + 0x34]
mov ebx, dword [rsp + 0x30]
mov r8d, 2
mov r9d, 8
jmp 0x180028714
sub ebx, 0x4a
je 0x18002a8d7
sub ebx, 1
je 0x18002a8a3
sub ebx, 1
je 0x18002a831
sub ebx, 1
je 0x18002a7cd
sub ebx, 1
je 0x18002a766
sub ebx, 1
je 0x18002a740
sub ebx, 1
je 0x18002a701
sub ebx, 1
je 0x18002df36
cmp ebx, 1
jne 0x18002bc10
cmp dword [r13 + 4], r10d
je 0x18002bc10
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r14
test word [rcx + 8], ax
je 0x18002a6ef
xor edx, edx
jmp 0x180028fd6
mov ebx, dword [rsp + 0x30]
mov qword [rcx], r10
mov word [rcx + 8], dx
mov ecx, eax
jmp 0x180028714
movsxd rax, dword [r13 + 8]
imul r8, rax, 0x38
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add r8, r14
mov rax, qword [rcx + r14]
mov ecx, 0x2400
test word [r8 + 8], cx
je 0x18002a72f
mov rdx, rax
mov rcx, r8
jmp 0x180028fd6
mov qword [r8], rax
mov word [r8 + 8], dx
mov ebx, dword [rsp + 0x30]
jmp 0x18002c332
movsxd rax, dword [r13 + 4]
imul rdx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
add rdx, r14
add rcx, r14
mov r8d, 0x1000
call fcn.180021564
jmp 0x180028fdb
movsxd rax, dword [r13 + 4]
mov esi, dword [r13 + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rdi, r14
add rbx, r14
mov r8d, 0x1000
mov rdx, rdi
mov rcx, rbx
call fcn.180021564
mov eax, 0x1000
test word [rbx + 8], ax
je 0x18002a7b1
mov rcx, rbx
call fcn.180020bd8
xor r10d, r10d
test eax, eax
jne 0x18002e15b
jmp 0x18002a7b4
xor r10d, r10d
mov eax, esi
mov r11d, 1
sub esi, r11d
test eax, eax
je 0x18002a828
add rbx, 0x38
add rdi, 0x38
jmp 0x18002a780
movsxd rax, dword [r13 + 4]
mov esi, dword [r13 + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rdi, r14
add rbx, r14
mov rdx, rdi
mov rcx, rbx
call fcn.180021628
mov eax, 0x1000
test word [rbx + 8], ax
je 0x18002a812
mov rcx, rbx
call fcn.180020bd8
xor r10d, r10d
test eax, eax
jne 0x18002e15b
jmp 0x18002a815
xor r10d, r10d
add rdi, 0x38
add rbx, 0x38
mov r11d, 1
sub esi, r11d
jne 0x18002a7e7
mov esi, dword [rsp + 0x34]
jmp 0x180028ef4
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, qword [r15 + 0x80]
lea rcx, [rdi - 0x38]
call fcn.180021500
xor r10d, r10d
test eax, eax
jne 0x18002e0f7
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
mov eax, 0x2400
add rbx, r14
test word [rbx + 8], ax
je 0x18002a875
mov rcx, rbx
call fcn.180020ecc
xor r10d, r10d
movups xmm0, xmmword [rdi - 0x38]
mov ecx, 0xebff
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi - 0x28]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [rbx + 8]
and ax, cx
mov ecx, 0x840
or ax, cx
mov word [rbx + 8], ax
jmp 0x1800286ef
mov rdx, r13
mov rcx, r15
call fcn.180028298
mov r8d, dword [r13 + 4]
mov rbx, rax
mov rdx, qword [r13 + 0x10]
xor eax, eax
mov rcx, rbx
mov qword [rsp + 0x20], rax
xor r9d, r9d
call fcn.180021688
mov al, byte [rsp + 0x3c]
mov byte [rbx + 0xa], al
jmp 0x180028fdb
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, 0xff41
add rcx, r14
and word [rcx + 8], ax
or word [rcx + 8], r11w
jmp 0x1800291ed
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.1800210d4
movsxd rax, dword [r13 + 8]
add qword [rbx], rax
jmp 0x180028fdb
mov eax, 0x80
cmp ebx, eax
ja 0x18002c9c1
je 0x18002c8e2
cmp ebx, 0x6a
ja 0x18002ba3d
je 0x18002b790
cmp ebx, 0x60
ja 0x18002b74d
je 0x18002b6c1
cmp ebx, 0x5b
ja 0x18002b1ee
je 0x18002b154
sub ebx, 0x54
je 0x18002b135
sub ebx, 1
je 0x18002b0ec
sub ebx, r8d
je 0x18002afa9
sub ebx, 1
je 0x18002af57
cmp ebx, r8d
jne 0x18002bc10
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp - 0x70]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
mov qword [rsp + 0x78], rcx
lea rcx, [rsp + 0x78]
mov eax, dword [r13 + 8]
mov dword [rbp - 0x70], eax
call fcn.180024c44
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1800289aa
movsxd rax, dword [r13 + 0xc]
mov r10, qword [rsp + 0x78]
imul rsi, rax, 0x38
mov rbx, qword [r10 + 0x60]
mov eax, dword [r15 + 0x30]
add rsi, r14
mov qword [rbp - 0x78], rsi
mov qword [rsp + 0x68], rbx
cmp dword [r10 + 0x28], eax
je 0x18002ab3c
xor eax, eax
cmp byte [r10 + 2], al
je 0x18002aa4c
cmp byte [r10], 3
jne 0x18002aa1d
movsxd rax, dword [r10 + 0x2c]
imul rdx, rax, 0x38
mov ecx, dword [rdx + r14 + 0xc]
mov dword [r10 + 0x74], ecx
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x70], ecx
mov rcx, qword [rdx + r14 + 0x10]
mov rax, qword [rsp + 0x78]
mov qword [rax + 0x68], rcx
mov rcx, qword [rsp + 0x78]
jmp 0x18002aa98
mov ecx, 0x2400
test word [rsi + 8], cx
je 0x18002aa39
mov rcx, rsi
call fcn.180020ecc
mov esi, dword [rsp + 0x34]
jmp 0x180028fdb
mov r11d, 1
mov word [rsi + 8], r11w
xor r10d, r10d
jmp 0x18002a65d
mov rbx, qword [r10 + 0x38]
mov rcx, rbx
call fcn.180019b1c
mov ecx, dword [rbx + 0x40]
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x70], ecx
mov rcx, rbx
mov rdx, qword [rsp + 0x78]
add rdx, 0x74
call fcn.180019fe4
mov rcx, rax
mov rax, qword [rsp + 0x78]
mov qword [rax + 0x68], rcx
mov rcx, qword [rsp + 0x78]
mov eax, dword [r12 + 0x7c]
cmp dword [rcx + 0x70], eax
ja 0x18002e0f7
mov rbx, qword [rsp + 0x68]
mov eax, dword [r15 + 0x30]
mov dword [rcx + 0x28], eax
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + 0x68]
mov eax, 0x80
cmp byte [rcx], al
jae 0x18002aabd
movzx eax, byte [rcx]
mov dword [rbx], eax
mov eax, 1
jmp 0x18002aac5
mov rdx, rbx
call fcn.18000a0dc
movzx ecx, al
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x48], ecx
xor ecx, ecx
mov rax, qword [rsp + 0x78]
mov word [rax + 0x52], cx
mov r10, qword [rsp + 0x78]
mov eax, dword [rbx]
cmp dword [r10 + 0x74], eax
jae 0x18002ab36
mov qword [r10 + 0x68], rcx
xor r10d, r10d
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x74], r10d
mov eax, dword [rbx]
cmp eax, 0x18003
ja 0x18002ab0f
mov r10, qword [rsp + 0x78]
cmp eax, dword [r10 + 0x70]
jbe 0x18002ab3c
xor r10d, r10d
mov r11d, 1
mov eax, dword [rdi + 0xc]
test eax, eax
jle 0x18002e051
mov esi, dword [rsp + 0x34]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r13, [rdi + rax*8]
jmp 0x180028bc6
mov r13, qword [r10 + 0x68]
jmp 0x18002abab
movzx eax, word [r10 + 0x52]
movsxd r8, dword [rbp - 0x70]
cmp eax, r8d
jg 0x18002adcb
mov eax, dword [rbx]
cmp dword [r10 + 0x48], eax
jae 0x18002ad81
mov r13, qword [r10 + 0x68]
mov qword [rbp - 0x68], r13
test r13, r13
jne 0x18002abaf
xorps xmm0, xmm0
lea r9, [rbp + 0x58]
movups xmmword [rbp + 0x58], xmm0
xor eax, eax
xor edx, edx
movups xmmword [rbp + 0x68], xmm0
mov qword [rbp + 0x88], rax
movups xmmword [rbp + 0x78], xmm0
mov r8d, dword [rbx]
mov rcx, qword [r10 + 0x38]
call fcn.1800219d8
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1800289ae
mov r13, qword [rbp + 0x68]
mov eax, dword [rbx]
mov r10, qword [rsp + 0x78]
mov qword [rbp - 0x68], r13
movzx r15d, word [r10 + 0x52]
mov esi, 0x80
mov rdx, qword [rsp + 0x68]
mov edi, r15d
mov r12d, eax
mov r14d, dword [rbx + r15*4]
lea r11d, [rsi - 0x7f]
mov ebx, dword [r10 + 0x48]
add rbx, r13
add r12, r13
lea r13, [0x180000000]
movzx eax, byte [rbx]
mov dword [rsp + 0x70], eax
mov dword [r10 + rdi*4 + 0x78], eax
cmp dword [rsp + 0x70], esi
jae 0x18002ac02
movzx eax, byte [rsp + 0x70]
add rbx, r11
movzx eax, byte [rax + r13 + 0x9bec0]
jmp 0x18002ac45
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.18000a0dc
mov rcx, qword [rsp + 0x78]
movzx eax, al
add rbx, rax
mov eax, dword [rsp + 0x70]
mov dword [rcx + rdi*4 + 0x78], eax
mov eax, dword [rsp + 0x70]
cmp eax, esi
jb 0x18002ac31
add eax, 0xfffffff4
shr eax, 1
jmp 0x18002ac3a
movzx eax, byte [rax + r13 + 0x9bec0]
mov rdx, qword [rsp + 0x68]
mov r11d, 1
add r15d, r11d
add r14, rax
movsxd rdi, r15d
mov dword [rdx + rdi*4], r14d
cmp r15d, dword [rbp - 0x70]
jg 0x18002ac67
cmp rbx, r12
jae 0x18002ac67
mov r10, qword [rsp + 0x78]
jmp 0x18002abdd
mov rcx, qword [rsp + 0x78]
mov rsi, qword [rbp - 0x78]
mov r13, qword [rbp - 0x68]
cmp rbx, r12
jb 0x18002ac83
ja 0x18002ac8b
mov eax, dword [rcx + 0x70]
cmp r14, rax
jne 0x18002ac8b
mov eax, dword [rcx + 0x70]
cmp r14, rax
jbe 0x18002ac99
xor r10d, r10d
cmp dword [rdx], r10d
jne 0x18002ad07
mov r15d, r10d
mov rbx, r12
mov word [rcx + 0x52], r15w
sub ebx, r13d
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x48], ebx
xor eax, eax
mov r10, qword [rsp + 0x78]
cmp qword [r10 + 0x68], rax
jne 0x18002ad59
mov edx, 0x2400
test word [rbp + 0x60], dx
jne 0x18002acce
cmp dword [rbp + 0x78], eax
je 0x18002ad59
lea rcx, [rbp + 0x58]
call fcn.180020f0c
mov r10, qword [rsp + 0x78]
mov r8d, dword [rbp - 0x70]
mov edx, dword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x40]
mov r15, qword [rsp + 0x58]
mov r12, qword [rsp + 0x50]
mov r14, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x48]
jmp 0x18002ad89
cmp qword [rcx + 0x68], r10
jne 0x18002ad40
mov eax, 0x2400
test word [rbp + 0x60], ax
jne 0x18002ad1e
cmp dword [rbp + 0x78], r10d
je 0x18002ad40
lea rcx, [rbp + 0x58]
call fcn.180020f0c
mov r15, qword [rsp + 0x58]
mov r12, qword [rsp + 0x50]
mov r14, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x48]
jmp 0x18002ab0c
mov r15, qword [rsp + 0x58]
mov r12, qword [rsp + 0x50]
mov r14, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x48]
jmp 0x18002ab15
mov r8d, dword [rbp - 0x70]
mov edx, dword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x40]
mov r15, qword [rsp + 0x58]
mov r12, qword [rsp + 0x50]
mov r14, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x48]
jmp 0x18002ad8f
xor eax, eax
mov edx, eax
mov dword [rsp + 0x70], eax
mov r11d, 1
movzx eax, word [r10 + 0x52]
cmp eax, r8d
jg 0x18002add4
cmp byte [r13 + 1], 0xf5
jne 0x18002adb7
mov rdx, qword [r13 + 0x10]
mov r8d, 0x800
mov rcx, rsi
call fcn.180021564
jmp 0x18002aa30
mov ecx, 0x2400
test word [rsi + 8], cx
je 0x18002aa3f
jmp 0x18002aa28
mov edx, dword [r10 + r8*4 + 0x78]
mov dword [rsp + 0x70], edx
mov eax, 0x2400
test word [rsi + 8], ax
je 0x18002adf4
mov rcx, rsi
call fcn.180020ecc
mov r10, qword [rsp + 0x78]
mov r8d, dword [rbp - 0x70]
mov edx, dword [rsp + 0x70]
lea eax, [r8 + 1]
movsxd rcx, eax
mov eax, dword [rbx + rcx*4]
cmp dword [r10 + 0x74], eax
jb 0x18002aeaa
movsxd rax, r8d
mov edi, dword [rbx + rax*4]
add rdi, qword [r10 + 0x68]
cmp edx, 0xc
jae 0x18002ae27
mov r8, rsi
mov rcx, rdi
call fcn.180024cec
jmp 0x180029df9
mov al, byte [rsp + 0x3c]
lea ebx, [rdx - 0xc]
shr ebx, 1
mov dword [rsi + 0xc], ebx
mov byte [rsi + 0xa], al
lea edx, [rbx + 2]
cmp dword [rsi + 0x20], edx
jge 0x18002ae60
mov eax, 1
xor r8d, r8d
mov rcx, rsi
mov word [rsi + 8], ax
call fcn.180020a1c
test eax, eax
jne 0x18002e15b
mov rcx, qword [rsi + 0x10]
jmp 0x18002ae68
mov rcx, qword [rsi + 0x18]
mov qword [rsi + 0x10], rcx
mov r8d, ebx
mov rdx, rdi
call fcn.18007d210
mov rax, qword [rsi + 0x10]
lea rcx, [0x180000000]
xor r10d, r10d
mov byte [rbx + rax], r10b
mov rax, qword [rsi + 0x10]
lea r11d, [r10 + 1]
mov byte [rbx + rax + 1], r10b
mov eax, dword [rsp + 0x70]
and rax, r11
movzx eax, word [rcx + rax*2 + 0x9a958]
mov word [rsi + 8], ax
jmp 0x18002a828
mov al, byte [rsp + 0x3c]
mov byte [rsi + 0xa], al
test byte [r13 + 2], 0xc0
mov edx, dword [rsp + 0x70]
je 0x18002aed7
cmp edx, 0xc
jb 0x18002aeca
mov eax, 1
test al, dl
je 0x18002aefe
mov eax, 0x80
test byte [r13 + 2], al
jne 0x18002aefe
jmp 0x18002aedc
mov eax, 0x80
cmp edx, eax
jb 0x18002aee9
lea r8d, [rdx - 0xc]
shr r8d, 1
jmp 0x18002aef9
lea rcx, [0x180000000]
movzx r8d, byte [rdx + rcx + 0x9bec0]
test r8d, r8d
jne 0x18002af12
mov r8, rsi
lea rcx, [0x1800aaed0]
call fcn.180024cec
jmp 0x18002aa30
movsxd rax, dword [rbp - 0x70]
mov r9, rsi
mov rcx, qword [rsp + 0x78]
mov edx, dword [rbx + rax*4]
mov rcx, qword [rcx + 0x38]
call fcn.1800219d8
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1800289ae
mov edx, dword [rsp + 0x70]
mov r8, rsi
mov rcx, qword [rsi + 0x10]
call fcn.180024cec
mov eax, 0xefff
and word [rsi + 8], ax
jmp 0x18002aa30
movsxd rax, dword [r13 + 4]
mov edx, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.18002104c
movsxd rdx, dword [r13 + 0x10]
movsxd rcx, eax
movsxd rax, dword [r13 + 8]
xor rdx, rcx
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r14
test word [rcx + 8], ax
jne 0x180028fd6
mov qword [rcx], rdx
xor r10d, r10d
mov edx, 4
mov word [rcx + 8], dx
mov ecx, eax
lea r11d, [rdx - 3]
jmp 0x18002a666
test byte [r13 + 2], r11b
jne 0x18002afb4
mov rdi, r10
jmp 0x18002afbb
mov rdi, qword [r13 - 8]
add rdi, rdx
mov rsi, qword [rsp + 0x40]
mov r14d, r10d
mov r13, qword [r13 + 0x10]
mov rbx, r10
movsxd rax, dword [rsi + 0xc]
mov edx, dword [rsi + 4]
mov r8d, dword [rsi + 8]
mov dword [rbp - 0x78], edx
mov dword [rbp - 0x68], r8d
mov qword [rbp + 8], rax
test rax, rax
jle 0x18002da83
lea r15, [r13 + 0x20]
test rdi, rdi
je 0x18002aff7
mov ecx, dword [rdi + rbx*4]
jmp 0x18002affa
mov ecx, r14d
mov rax, qword [r13 + 0x18]
movzx eax, byte [rbx + rax]
and eax, r11d
mov dword [rsp + 0x68], eax
lea eax, [rcx + r8]
mov r8, qword [r15]
movsxd r12, eax
lea eax, [rcx + rdx]
movsxd rsi, eax
imul rcx, rsi, 0x38
imul rdx, r12, 0x38
add rcx, qword [rsp + 0x60]
add rdx, qword [rsp + 0x60]
call fcn.1800252b8
xor r10d, r10d
mov dword [rbp - 0x6c], eax
mov r9d, eax
lea r11d, [r10 + 1]
test eax, eax
jne 0x18002b07d
mov edx, dword [rbp - 0x78]
lea r9d, [rax + 8]
mov r8d, dword [rbp - 0x68]
add r15, r9
add r14d, r11d
add rbx, r11
cmp rbx, qword [rbp + 8]
jl 0x18002afed
mov r13, qword [rsp + 0x40]
mov r15, qword [rsp + 0x58]
mov r12, qword [rsp + 0x50]
mov r14, qword [rsp + 0x60]
mov esi, dword [rsp + 0x34]
mov rdi, qword [rsp + 0x48]
jmp 0x1800291bf
mov rax, qword [r13 + 0x18]
mov r8d, 2
mov r14, qword [rsp + 0x60]
test byte [rbx + rax], r8b
je 0x18002b0af
imul rax, rsi, 0x38
test byte [rax + r14 + 8], r11b
jne 0x18002b0a8
imul rax, r12, 0x38
test byte [rax + r14 + 8], r11b
je 0x18002b0af
neg r9d
mov dword [rbp - 0x6c], r9d
mov edx, 4
mov r13, qword [rsp + 0x40]
mov ecx, 0x2400
mov esi, dword [rsp + 0x34]
mov r15, qword [rsp + 0x58]
mov r12, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
mov ebx, dword [rsp + 0x30]
cmp dword [rsp + 0x68], r10d
je 0x18002a670
neg r9d
mov dword [rbp - 0x6c], r9d
jmp 0x18002a670
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r14
test word [rbx + 8], ax
je 0x18002b112
mov rcx, rbx
call fcn.180020c30
mov esi, eax
mov dword [rsp + 0x34], eax
jmp 0x18002b11a
mov esi, r10d
mov dword [rsp + 0x34], r10d
mov r8b, byte [rsp + 0x3c]
mov rcx, rbx
mov dl, byte [r13 + 8]
call fcn.180021210
xor r10d, r10d
test esi, esi
jmp 0x180028c03
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 8], 0x24
je 0x1800291ed
call fcn.1800210fc
jmp 0x180028fdb
movsxd rax, dword [r13 + 4]
mov rdi, qword [r13 + 0x10]
imul rbx, rax, 0x38
mov al, byte [rdi]
add rbx, r14
mov r8b, byte [rsp + 0x3c]
mov dl, al
mov rcx, rbx
call fcn.180028110
cmp byte [rdi], 0x45
mov edx, 4
jne 0x18002b1cf
movzx ecx, word [rbx + 8]
test dl, cl
je 0x18002b1cf
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov eax, 0xfffb
ja 0x18002b1b3
and cx, ax
or cx, 0x20
jmp 0x18002b1c6
xorps xmm0, xmm0
and cx, ax
cvtsi2sd xmm0, rdx
or cx, 8
movsd qword [rbx], xmm0
mov edx, 4
mov word [rbx + 8], cx
mov r11d, 1
xor r10d, r10d
add rdi, r11
mov al, byte [rdi]
test al, al
je 0x18002dabd
add rbx, 0x38
jmp 0x18002b165
sub ebx, 0x5c
je 0x18002b323
sub ebx, 1
je 0x18002b2e4
sub ebx, 1
je 0x18002b2ae
cmp ebx, 1
jne 0x18002bc10
movsxd rbx, dword [r13 + 4]
mov r8d, dword [r13 + 0xc]
mov edx, dword [r13 + 8]
shl rbx, 5
add rbx, qword [r12 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.18001edcc
mov r11d, 1
mov dword [rsp + 0x34], eax
mov esi, eax
lea r8d, [r11 + 1]
cmp dword [r13 + 8], r11d
jne 0x18002b257
mov rcx, qword [rbx + 0x18]
mov eax, dword [r13 + 0xc]
mov dword [rcx], eax
or dword [r12 + 0x2c], r11d
jmp 0x18002b268
cmp dword [r13 + 8], r8d
jne 0x18002b268
mov rcx, qword [rbx + 0x18]
mov al, byte [r13 + 0xc]
mov byte [rcx + 0x70], al
xor r10d, r10d
cmp dword [r13 + 4], r11d
jne 0x18002b297
mov rax, qword [r12 + 8]
jmp 0x18002b28a
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], r11d
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x18002b278
and dword [r15 + 0xc8], 0xfffffffc
test esi, esi
jne 0x18002d482
mov ebx, dword [rsp + 0x30]
mov r9d, 8
jmp 0x18002870a
movsxd rax, dword [r13 + 4]
lea r8, [rbp + 0x30]
mov rcx, qword [r12 + 0x20]
mov edx, dword [r13 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.18001ed3c
mov rdx, r13
mov rcx, r15
call fcn.180028298
movsxd rcx, dword [rbp + 0x30]
mov qword [rax], rcx
jmp 0x180028fdb
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp + 0x38]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x38]
mov qword [rbp + 0x38], r10
call fcn.18001ee6c
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x1800289aa
mov rdx, r13
mov rcx, r15
call fcn.180028298
mov rcx, qword [rbp + 0x38]
jmp 0x18002b2dc
movsxd rax, dword [r13 + 4]
mov rdx, r10
mov rcx, qword [rsp + 0x58]
mov r12, r10
mov rdi, qword [r13 + 0x10]
mov r15d, r10d
imul r8, rax, 0x38
mov r9b, byte [rcx + 0xc3]
mov eax, dword [r13 + 8]
add r8, r14
sub eax, r11d
mov qword [rsp + 0x68], rdx
cdqe
imul rsi, rax, 0x38
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rsi, r8
mov qword [rbp - 0x68], r8
add rcx, r14
mov qword [rbp - 0x78], rsi
mov byte [rbp - 0x80], r9b
mov qword [rbp + 8], rcx
test rdi, rdi
je 0x18002b3e4
mov al, byte [rdi]
lea rbx, [r8 + 8]
mov sil, byte [rsp + 0x3c]
mov r14d, 0x20
mov r13d, 0xfffb
lea rcx, [rbx - 8]
mov r8b, sil
mov dl, al
call fcn.180028110
cmp byte [rdi], 0x45
jne 0x18002b3b8
movzx eax, word [rbx]
test al, 4
je 0x18002b3b8
and ax, r13w
or ax, r14w
mov word [rbx], ax
mov r11d, 1
add rbx, 0x38
add rdi, r11
xor r10d, r10d
mov al, byte [rdi]
test al, al
jne 0x18002b393
mov r13, qword [rsp + 0x40]
mov r9b, byte [rbp - 0x80]
mov rdx, qword [rsp + 0x68]
mov r8, qword [rbp - 0x68]
mov rsi, qword [rbp - 0x78]
lea r14, [rsi + 0x24]
movzx ecx, word [r14 - 0x1c]
test r11b, cl
je 0x18002b40d
mov eax, 0x4000
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
mov dword [r14], eax
add r15d, r11d
jmp 0x18002b56b
test cl, 0x24
je 0x18002b4e6
mov r8, qword [r14 - 0x24]
mov rdx, r8
test r8, r8
jns 0x18002b425
not rdx
add r15d, r11d
cmp rdx, 0x7f
ja 0x18002b456
mov rax, r8
and rax, r11
cmp rax, r8
jne 0x18002b44b
mov eax, 4
cmp r9b, al
jb 0x18002b44b
lea eax, [rdx + 8]
jmp 0x18002b4de
add r12, r11
mov eax, r11d
jmp 0x18002b4de
cmp rdx, 0x7fff
ja 0x18002b466
mov eax, 2
jmp 0x18002b488
cmp rdx, 0x7fffff
ja 0x18002b47a
add r12, 3
mov eax, 3
jmp 0x18002b4de
cmp rdx, 0x7fffffff
ja 0x18002b48d
mov eax, 4
add r12, rax
jmp 0x18002b4de
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x18002b4a7
add r12, 6
mov eax, 5
jmp 0x18002b4de
mov edx, 8
add r12, rdx
lea eax, [rdx + 0x18]
test al, cl
je 0x18002b4d9
mov eax, 0xffdf
xorps xmm0, xmm0
and cx, ax
lea eax, [rdx - 1]
cvtsi2sd xmm0, r8
or cx, dx
mov word [r14 - 0x1c], cx
movsd qword [r14 - 0x24], xmm0
jmp 0x18002b4de
mov eax, 6
mov dword [r14], eax
jmp 0x18002b567
mov eax, 8
test al, cl
je 0x18002b4ff
add r15d, r11d
add r12, rax
mov eax, 7
mov dword [r14], eax
jmp 0x18002b56b
mov edi, dword [r14 - 0x18]
mov eax, ecx
shr eax, 1
and eax, r11d
bt cx, 0xe
lea esi, [rdi + 6]
lea esi, [rax + rsi*2]
jae 0x18002b549
lea rbx, [r14 - 0x24]
movsxd rax, dword [rbx]
lea esi, [rsi + rax*2]
test r12, r12
je 0x18002b541
mov rcx, rbx
call fcn.180020c30
xor r10d, r10d
test eax, eax
jne 0x18002e156
add edi, dword [rbx]
lea r11d, [r10 + 1]
jmp 0x18002b549
add rdx, rax
mov qword [rsp + 0x68], rdx
mov eax, edi
mov ecx, r11d
add r12, rax
mov eax, esi
jmp 0x18002b558
add ecx, r11d
shr rax, 7
test rax, rax
jne 0x18002b555
add r15d, ecx
mov dword [r14], esi
mov r8, qword [rbp - 0x68]
lea rax, [r14 - 0x24]
cmp rax, r8
je 0x18002b586
mov r9b, byte [rbp - 0x80]
sub r14, 0x38
mov rdx, qword [rsp + 0x68]
jmp 0x18002b3e8
cmp r15d, 0x7e
jle 0x18002b5bb
mov edx, r11d
movsxd rax, r15d
jmp 0x18002b597
add edx, r11d
shr rax, 7
test rax, rax
jne 0x18002b594
add r15d, edx
mov ecx, r11d
movsxd rax, r15d
jmp 0x18002b5ae
add ecx, r11d
shr rax, 7
test rax, rax
jne 0x18002b5ab
cmp edx, ecx
jge 0x18002b5be
add r15d, r11d
mov r14, qword [rsp + 0x68]
mov rsi, qword [rbp + 8]
movsxd rdi, r15d
movsxd rax, dword [rsi + 0x20]
lea rbx, [rdi + r12]
lea rcx, [rbx + r14]
cmp rcx, rax
jg 0x18002b5e5
mov rax, qword [rsi + 0x18]
mov qword [rsi + 0x10], rax
jmp 0x18002b60e
mov r12, qword [rsp + 0x50]
movsxd rax, dword [r12 + 0x7c]
cmp rcx, rax
jg 0x18002e0f2
mov edx, ebx
mov rcx, rsi
call fcn.180020b58
test eax, eax
jne 0x18002e15b
lea r11d, [rax + 1]
mov dword [rsi + 0xc], ebx
mov eax, 0x10
mov word [rsi + 8], ax
test r14, r14
je 0x18002b62b
mov eax, 0x4010
mov dword [rsi], r14d
mov word [rsi + 8], ax
mov rbx, qword [rsi + 0x10]
mov r12d, 0x80
lea rsi, [rbx + rdi]
cmp r15d, r12d
jae 0x18002b646
mov byte [rbx], r15b
mov eax, r11d
jmp 0x18002b657
mov rdx, rdi
mov rcx, rbx
call fcn.180009ee8
mov r11d, 1
mov r14, qword [rbp - 0x68]
mov r15, qword [rbp - 0x78]
movzx eax, al
add rbx, rax
mov edi, dword [r14 + 0x24]
cmp edi, r12d
jae 0x18002b676
mov byte [rbx], dil
mov eax, r11d
jmp 0x18002b681
mov rdx, rdi
mov rcx, rbx
call fcn.180009ee8
movzx eax, al
mov r8d, edi
mov rdx, r14
mov rcx, rsi
add rbx, rax
call fcn.180024c8c
mov eax, eax
add r14, 0x38
add rsi, rax
mov r11d, 1
cmp r14, r15
jbe 0x18002b665
mov r15, qword [rsp + 0x58]
mov r12, qword [rsp + 0x50]
mov esi, dword [rsp + 0x34]
mov r14, qword [rsp + 0x60]
jmp 0x180028e29
movsxd rcx, dword [r13 + 4]
mov rax, qword [r15 + 0x78]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
je 0x18002b6df
mov eax, dword [r13 + 8]
cmp dword [rdi + 0x4c], eax
je 0x18002ba1d
mov eax, dword [r15 + 0xc8]
and al, 3
cmp al, r11b
je 0x18002e05c
movsxd r12, dword [r13 + 0xc]
mov edi, r10d
mov rcx, qword [rsp + 0x50]
mov rax, r12
movsxd r15, dword [r13 + 8]
mov r14, r10
shl rax, 5
add rax, qword [rcx + 0x20]
cmp bl, 0x62
mov rbx, qword [rsp + 0x40]
mov r13, qword [rax + 8]
jne 0x18002b94d
mov rax, qword [rax + 0x18]
movzx esi, word [rbx + 2]
and esi, r9d
or esi, edx
mov cl, byte [rax + 0x70]
mov rax, qword [rsp + 0x58]
cmp cl, byte [rax + 0xc3]
jae 0x18002b950
mov byte [rax + 0xc3], cl
jmp 0x18002b950
mov ecx, ebx
sub ecx, 0x61
je 0x18002b6df
sub ecx, 1
je 0x18002b6df
sub ecx, 1
je 0x18002b837
sub ecx, 1
je 0x18002b837
sub ecx, 1
je 0x18002b837
sub ecx, 1
je 0x18002b837
sub ecx, 1
je 0x18002b790
sub ecx, 1
je 0x18002b790
cmp ecx, 1
jne 0x1800291ed
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, r14
mov rcx, rdi
call fcn.180028254
movsxd rcx, dword [r13 + 8]
movzx ebx, ax
imul rsi, rcx, 0x38
add rsi, r14
mov rcx, rsi
call fcn.180028254
movsxd rcx, dword [r13 + 0xc]
and al, bl
imul rdx, rcx, 0x38
movzx ecx, word [rsi + 8]
or cx, word [rdi + 8]
add r14, rdx
mov edx, 4
test dl, al
je 0x18002be53
movzx ecx, byte [r13]
mov rdx, qword [rsi]
mov r8, qword [rdi]
mov qword [rbp - 0x48], rdx
sub ecx, 0x67
je 0x18002bdf1
sub ecx, 1
je 0x18002bddf
sub ecx, 1
je 0x18002bdd1
xor r10d, r10d
cmp ecx, 1
je 0x18002bda5
test r8, r8
je 0x18002bf5b
cmp r8, 0xffffffffffffffff
lea eax, [r10 + 1]
cmove r8, rax
mov rax, rdx
cqo
idiv r8
mov qword [rbp - 0x48], rdx
jmp 0x18002be32
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
add rdi, r14
imul rsi, rax, 0x38
add rcx, r14
add rsi, r14
mov al, byte [rcx + 8]
or al, byte [rdi + 8]
test r11b, al
je 0x18002b889
mov ecx, 0x2400
test word [rsi + 8], cx
je 0x18002b87b
mov rcx, rsi
call fcn.180020ecc
jmp 0x180029df9
mov word [rsi + 8], r11w
mov esi, dword [rsp + 0x34]
jmp 0x18002bc0b
call fcn.180020fc8
mov rcx, rdi
mov rbx, rax
call fcn.180020fc8
mov r8b, byte [r13]
mov rdx, rax
cmp r8b, 0x63
jne 0x18002b8ab
and rbx, rax
jmp 0x18002b8b4
cmp r8b, 0x64
jne 0x18002b8b9
or rbx, rdx
xor r10d, r10d
jmp 0x18002b92f
xor r10d, r10d
test rdx, rdx
je 0x18002b92f
jns 0x18002b8e3
mov rcx, rdx
mov eax, 0xcb
sub al, r8b
neg rcx
mov r8b, al
mov rax, rdx
cmp rax, 0xffffffffffffffc0
lea edx, [r10 + 0x40]
cmovg rdx, rcx
cmp rdx, 0x40
jl 0x18002b8ff
test rbx, rbx
jns 0x18002b8fa
cmp r8b, 0x65
je 0x18002b8fa
or rbx, 0xffffffffffffffff
jmp 0x18002b92f
mov rbx, r10
jmp 0x18002b92f
mov rcx, rdx
cmp r8b, 0x65
jne 0x18002b910
shl rbx, cl
mov r8, rbx
jmp 0x18002b92c
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x18002b92c
mov ecx, 0x40
sub cl, dl
or rdx, 0xffffffffffffffff
shl rdx, cl
or r8, rdx
mov rbx, r8
mov eax, 0x3e40
mov qword [rsi], rbx
and word [rsi + 8], ax
mov edx, 4
or word [rsi + 8], dx
mov esi, dword [rsp + 0x34]
jmp 0x180028f26
mov esi, r10d
mov eax, 0x10
test byte [rbx + 2], al
je 0x18002b976
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.1800210d4
mov r15d, dword [rbx]
xor r10d, r10d
mov rbx, qword [rsp + 0x40]
mov al, byte [rbx + 1]
cmp al, 0xf7
jne 0x18002b988
mov r14, qword [rbx + 0x10]
movzx edi, word [r14 + 8]
jmp 0x18002b98f
cmp al, 0xfd
jne 0x18002b98f
mov edi, dword [rbx + 0x10]
mov edx, dword [rbx + 4]
mov r9d, r12d
mov rcx, qword [rsp + 0x58]
mov r8d, edi
mov byte [rsp + 0x20], r10b
call fcn.180027f50
mov rdi, rax
test rax, rax
je 0x18002e156
mov rcx, qword [rdi + 0x38]
mov eax, 1
mov byte [rdi + 2], al
mov r9, r14
mov eax, 4
mov qword [rsp + 0x20], rcx
or dword [rdi + 8], eax
mov r8d, esi
mov edx, r15d
mov dword [rdi + 0x4c], r15d
mov rcx, r13
call fcn.180019920
mov r13, qword [rsp + 0x40]
mov esi, eax
mov r15, qword [rsp + 0x58]
mov r12, qword [rsp + 0x50]
mov qword [rdi + 0x40], r14
cmp byte [r13 + 1], 0xf7
mov r14, qword [rsp + 0x60]
mov dword [rsp + 0x34], eax
setne al
xor r10d, r10d
mov byte [rdi + 4], al
lea edx, [r10 + 4]
lea r11d, [r10 + 1]
lea r8d, [r10 + 2]
lea r9d, [r10 + 8]
mov cl, byte [r13 + 2]
mov rax, qword [rdi + 0x38]
and cl, 3
mov byte [rax + 3], cl
test esi, esi
jne 0x1800289aa
mov rdi, qword [rsp + 0x48]
jmp 0x1800291ed
cmp ebx, 0x75
ja 0x18002c365
je 0x18002c33d
cmp ebx, 0x70
ja 0x18002c125
je 0x18002ba80
sub ebx, 0x6b
je 0x18002b790
sub ebx, 1
je 0x18002bbae
sub ebx, 1
je 0x18002bb31
sub ebx, 1
je 0x18002bacd
cmp ebx, 1
jne 0x18002bc10
movsxd rdx, dword [r13 + 4]
mov rax, qword [r15 + 0x78]
mov rsi, qword [rax + rdx*8]
test rsi, rsi
je 0x18002bf9c
mov rcx, qword [rsi + 0x10]
mov qword [rsi + 0x18], r10
mov dword [rsi + 0x28], r10d
test rcx, rcx
je 0x18002c107
mov edx, dword [rsi + 0x4c]
xor r8d, r8d
call fcn.18001ea0c
xor r10d, r10d
mov dword [rsp + 0x34], eax
lea r11d, [r10 + 1]
lea r8d, [r10 + 2]
lea r9d, [r10 + 8]
jmp 0x18002c10b
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rdi, r14
add rbx, r14
test word [rbx + 8], cx
je 0x18002bb0b
mov rcx, rbx
call fcn.180020ecc
xor r10d, r10d
mov ecx, 0x2400
lea edx, [r10 + 4]
lea r11d, [r10 + 1]
lea r8d, [r10 + 2]
lea r9d, [r10 + 8]
jmp 0x18002bb10
mov word [rbx + 8], r11w
test byte [rdi + 8], r11b
jne 0x18002bc0b
mov rcx, rdi
mov word [rbx + 8], dx
call fcn.180020fc8
not rax
mov qword [rbx], rax
jmp 0x180029dfd
movsxd rcx, dword [r13 + 8]
or r9d, 0xffffffff
mov rax, qword [r15 + 0x78]
mov edx, dword [r13 + 4]
mov byte [rsp + 0x20], r10b
mov rbx, qword [rax + rcx*8]
mov rcx, r15
movsx r8d, word [rbx + 0x50]
call fcn.180027f50
test rax, rax
je 0x18002e15b
mov ecx, 1
mov r8d, 4
or dword [rax + 8], ecx
mov byte [rax + 2], cl
mov r9, qword [rbx + 0x40]
mov qword [rax + 0x40], r9
mov cl, byte [rbx + 4]
mov byte [rax + 4], cl
mov ecx, dword [rax + 8]
mov edx, dword [rbx + 0x4c]
mov dword [rax + 0x4c], edx
xor ecx, dword [rbx + 8]
and ecx, r8d
xor dword [rax + 8], ecx
mov rax, qword [rax + 0x38]
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.180019920
mov esi, eax
mov dword [rsp + 0x34], eax
jmp 0x180028fdb
movsxd rax, dword [r13 + 4]
imul r15, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 0xc]
add r15, r14
imul rbx, rax, 0x38
add rdi, r14
add rbx, r14
movzx r14d, word [r15 + 8]
mov al, r14b
or al, byte [rdi + 8]
test r11b, al
je 0x18002bc19
test word [rbx + 8], cx
je 0x18002bbfc
mov rcx, rbx
call fcn.180020ecc
mov r15, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
jmp 0x180029dfd
mov r15, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
mov word [rbx + 8], r11w
mov rdi, qword [rsp + 0x48]
mov ebx, dword [rsp + 0x30]
jmp 0x180028714
test r14b, 0x12
jne 0x18002bc4f
mov r13b, byte [rsp + 0x3c]
xor r8d, r8d
mov dl, r13b
mov rcx, r15
call fcn.180020c8c
test eax, eax
jne 0x18002e15b
movzx r14d, word [r15 + 8]
mov eax, 0xfffd
and r14w, ax
mov eax, 0x4000
jmp 0x18002bc82
mov eax, 0x4000
test ax, r14w
je 0x18002bc7d
mov rcx, r15
call fcn.180020c30
test eax, eax
jne 0x18002e15b
movzx r14d, word [r15 + 8]
mov eax, 0xfffd
and r14w, ax
mov eax, 0x4000
mov r13b, byte [rsp + 0x3c]
movzx esi, word [rdi + 8]
test sil, 0x12
jne 0x18002bcb2
xor r8d, r8d
mov dl, r13b
mov rcx, rdi
call fcn.180020c8c
xor edx, edx
test eax, eax
jne 0x18002e15b
movzx esi, word [rdi + 8]
mov eax, 0xfffd
and si, ax
jmp 0x18002bcc3
test ax, si
je 0x18002bcc1
mov rcx, rdi
call fcn.180020c30
jmp 0x18002bc9a
xor edx, edx
mov rcx, qword [rsp + 0x50]
mov r13d, dword [r15 + 0xc]
add r13d, dword [rdi + 0xc]
movsxd r12, r13d
movsxd rax, dword [rcx + 0x7c]
cmp r12, rax
jg 0x18002e0ef
mov r8d, edx
cmp rbx, rdi
lea edx, [r13 + 3]
mov rcx, rbx
sete r8b
call fcn.180020a1c
test eax, eax
jne 0x18002e156
mov eax, 0x3e40
and word [rbx + 8], ax
mov eax, 2
or word [rbx + 8], ax
cmp rbx, rdi
je 0x18002bd2a
movsxd r8, dword [rdi + 0xc]
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rbx + 0x10]
call fcn.18007d210
mov word [rdi + 8], si
movsxd rcx, dword [rdi + 0xc]
add rcx, qword [rbx + 0x10]
movsxd r8, dword [r15 + 0xc]
mov rdx, qword [r15 + 0x10]
call fcn.18007d210
xor r10d, r10d
mov word [r15 + 8], r14w
mov rax, qword [rbx + 0x10]
mov edx, r10d
lea r11d, [r10 + 1]
mov byte [r12 + rax], r10b
lea r8d, [r10 + 2]
mov rax, qword [rbx + 0x10]
lea rcx, [rdx + r12]
add rdx, r11
mov byte [rcx + rax + 1], r10b
cmp rdx, r8
jl 0x18002bd5a
mov esi, dword [rsp + 0x34]
mov eax, 0x200
or word [rbx + 8], ax
mov al, byte [rsp + 0x3c]
mov r15, qword [rsp + 0x58]
mov r12, qword [rsp + 0x50]
mov r14, qword [rsp + 0x60]
mov dword [rbx + 0xc], r13d
mov r13, qword [rsp + 0x40]
mov byte [rbx + 0xa], al
mov rdi, qword [rsp + 0x48]
jmp 0x18002b29f
test r8, r8
je 0x18002bf5b
cmp r8, 0xffffffffffffffff
jne 0x18002bdc7
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x18002be62
mov rax, rdx
cqo
idiv r8
jmp 0x18002be2e
mov rdx, r8
lea rcx, [rbp - 0x48]
call fcn.18000a314
jmp 0x18002bdeb
mov rdx, r8
lea rcx, [rbp - 0x48]
call fcn.18000a2e4
test eax, eax
jne 0x18002be62
jmp 0x18002be32
test r8, r8
js 0x18002be0f
test rdx, rdx
jle 0x18002be2a
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, r8
jge 0x18002be2a
jmp 0x18002be62
test rdx, rdx
jns 0x18002be2a
movabs rcx, 0x8000000000000001
lea rax, [r8 + 1]
sub rcx, rdx
cmp rcx, rax
jg 0x18002be62
lea rax, [rdx + r8]
mov qword [rbp - 0x48], rax
mov rax, qword [rbp - 0x48]
mov ecx, 0x3e40
mov qword [r14], rax
mov edx, 4
movzx eax, word [r14 + 8]
and ax, cx
or ax, dx
jmp 0x18002bf42
mov r11d, 1
test r11b, cl
jne 0x18002bf83
mov rcx, rdi
call fcn.180021020
mov rcx, rsi
movaps xmm6, xmm0
call fcn.180021020
movzx ecx, byte [r13]
sub ecx, 0x67
je 0x18002beea
sub ecx, 1
je 0x18002bee4
sub ecx, 1
je 0x18002bede
cmp ecx, 1
je 0x18002becc
mov rcx, rdi
call fcn.180020fc8
mov rcx, rsi
mov rbx, rax
call fcn.180020fc8
xor r10d, r10d
mov qword [rbp - 0x48], rax
lea r11d, [r10 + 1]
test rbx, rbx
je 0x18002bf61
cmp rbx, 0xffffffffffffffff
cqo
xorps xmm0, xmm0
cmove rbx, r11
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x18002bef7
ucomisd xmm6, xmm7
jp 0x18002bed8
je 0x18002bf58
divsd xmm0, xmm6
jmp 0x18002beee
mulsd xmm0, xmm6
jmp 0x18002beee
subsd xmm0, xmm6
jmp 0x18002beee
addsd xmm0, xmm6
mov r11d, 1
xor r10d, r10d
movabs rdx, 0x7ff0000000000000
movsd qword [rbp + 8], xmm0
mov rax, qword [rbp + 8]
movabs rcx, 0xfffffffffffff
test rcx, rax
setne cl
and rax, rdx
cmp rax, rdx
mov edx, 4
sete al
test al, cl
jne 0x18002bf66
movzx eax, word [r14 + 8]
mov ecx, 0x3e40
and ax, cx
movsd qword [r14], xmm0
or ax, 8
mov esi, dword [rsp + 0x34]
xor r10d, r10d
mov word [r14 + 8], ax
mov r14, qword [rsp + 0x60]
jmp 0x180028f26
xor r10d, r10d
mov r11d, 1
mov edx, 4
mov ecx, 0x2400
test word [r14 + 8], cx
je 0x18002bf88
mov rcx, r14
call fcn.180020ecc
mov esi, dword [rsp + 0x34]
jmp 0x18002bbf2
xor r10d, r10d
jmp 0x18002bf66
mov rdi, qword [rsp + 0x48]
mov word [r14 + 8], r11w
mov r14, qword [rsp + 0x60]
jmp 0x18002a662
mov r8d, dword [r13 + 8]
or r9d, 0xffffffff
mov rcx, r15
mov byte [rsp + 0x20], r10b
call fcn.180027f50
mov rsi, rax
test rax, rax
je 0x18002e15b
lea r14, [rax + 0x10]
mov dword [rsp + 0x28], 0x41e
mov ebx, 1
mov r9, r14
or dword [rax + 8], ebx
mov r8, r12
movzx ecx, word [r13 + 2]
xor edx, edx
or ecx, 5
mov dword [rsp + 0x20], ecx
mov rcx, qword [r12]
call fcn.180017534
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x18002c0d0
mov rcx, qword [r14]
xor r8d, r8d
mov edx, ebx
call fcn.180018570
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x18002c0d0
mov r15, qword [r13 + 0x10]
lea r12, [rsi + 0x4c]
mov qword [rsi + 0x40], r15
test r15, r15
je 0x18002c09e
mov rdi, qword [r14]
movzx ebx, word [r13 + 2]
mov rcx, rdi
or ebx, 2
call fcn.180015c50
mov r8d, ebx
mov rdx, r12
mov rcx, rdi
call fcn.18001e59c
mov rcx, rdi
mov dword [rsp + 0x34], eax
mov ebx, eax
call fcn.180015d00
xor r10d, r10d
test ebx, ebx
jne 0x18002c083
mov rax, qword [rsi + 0x38]
lea r8d, [rbx + 4]
mov edx, dword [r12]
mov r9, r15
mov rcx, qword [r14]
mov qword [rsp + 0x20], rax
call fcn.180019920
mov dword [rsp + 0x34], eax
xor r10d, r10d
mov r15, qword [rsp + 0x58]
mov r11d, 1
mov r12, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
mov byte [rsi + 4], r10b
jmp 0x18002c0d3
mov rax, qword [rsi + 0x38]
xor r9d, r9d
mov rcx, qword [r14]
mov edx, ebx
mov dword [r12], ebx
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.180019920
mov r15, qword [rsp + 0x58]
xor r10d, r10d
mov r12, qword [rsp + 0x50]
mov dword [rsp + 0x34], eax
mov byte [rsi + 4], bl
mov r11, rbx
movzx eax, word [r13 + 2]
mov r9d, 8
mov r14, qword [rsp + 0x60]
sub ax, r9w
neg ax
mov eax, dword [rsi + 8]
sbb ecx, ecx
lea edx, [r9 - 4]
and eax, 0xfffffffb
lea r8d, [r9 - 6]
and ecx, edx
or ecx, eax
mov eax, dword [rsp + 0x34]
mov dword [rsi + 8], ecx
jmp 0x18002c110
mov eax, dword [rsp + 0x34]
mov edx, 4
test eax, eax
jne 0x1800289ae
mov byte [rsi + 2], r11b
mov esi, dword [rsp + 0x34]
jmp 0x1800291ed
sub ebx, 0x71
je 0x18002c1ec
sub ebx, 1
je 0x18002c1ae
sub ebx, 1
je 0x18002c188
cmp ebx, 1
jne 0x18002bc10
mov r8d, dword [r13 + 0xc]
or r9d, 0xffffffff
mov edx, dword [r13 + 4]
mov rcx, r15
mov byte [rsp + 0x20], 3
call fcn.180027f50
xor r10d, r10d
test rax, rax
je 0x18002e15b
mov r11d, ebx
mov byte [rax + 2], r11b
mov ecx, dword [r13 + 8]
mov dword [rax + 0x2c], ecx
lea rcx, [0x1800aac4c]
mov qword [rax + 0x38], rcx
mov byte [rax + 4], r11b
jmp 0x180028bc6
movsxd rcx, dword [r13 + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
je 0x1800297b9
jmp 0x1800285fe
mov r8d, dword [r13 + 8]
or r9d, 0xffffffff
mov edx, dword [r13 + 4]
mov rcx, r15
mov byte [rsp + 0x20], r11b
call fcn.180027f50
test rax, rax
je 0x18002e15b
mov rcx, qword [r13 + 0x10]
mov r8, rax
mov qword [rax + 0x40], rcx
mov rcx, r12
mov edx, dword [r13 + 0xc]
call fcn.18002f3a8
jmp 0x180028bf8
mov rdx, r13
mov rcx, r15
call fcn.180028298
mov rdx, qword [r13 + 0x10]
mov rbx, rax
xor eax, eax
test rdx, rdx
jne 0x18002c209
mov ecx, eax
jmp 0x18002c21b
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdx + rcx], al
jne 0x18002c20d
and ecx, 0x3fffffff
mov r8d, 1
mov dword [r13 + 4], ecx
cmp byte [rsp + 0x3c], r8b
je 0x18002c2b3
mov r9b, r8b
mov qword [rsp + 0x20], rax
or r8d, 0xffffffff
mov rcx, rbx
call fcn.180021688
xor ecx, ecx
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x18002e0f7
lea eax, [rsi + 2]
test byte [rbx + 8], al
je 0x18002c279
mov al, byte [rsp + 0x3c]
cmp byte [rbx + 0xa], al
je 0x18002c279
mov dl, al
mov rcx, rbx
call fcn.180008d04
xor ecx, ecx
test eax, eax
jne 0x18002e15b
mov eax, 0x800
mov dword [rbx + 0x20], ecx
or word [rbx + 8], ax
cmp byte [r13 + 1], 0xf9
jne 0x18002c29d
mov rdx, qword [r13 + 0x10]
test rdx, rdx
je 0x18002c29d
mov rcx, r12
call fcn.180006aac
mov byte [r13 + 1], 0xf9
mov rax, qword [rbx + 0x10]
mov qword [r13 + 0x10], rax
mov eax, dword [rbx + 0xc]
mov ecx, eax
mov dword [r13 + 4], eax
cmp ecx, dword [r12 + 0x7c]
jg 0x18002e0f7
mov byte [r13], 0x48
mov rdx, r13
mov rcx, r15
call fcn.180028298
mov r8, rax
xor r10d, r10d
mov eax, 0xa02
mov word [r8 + 8], ax
mov rcx, qword [r13 + 0x10]
mov al, byte [rsp + 0x3c]
mov qword [r8 + 0x10], rcx
mov ecx, dword [r13 + 4]
mov dword [r8 + 0xc], ecx
mov byte [r8 + 0xa], al
cmp dword [r13 + 0xc], r10d
jle 0x1800286f4
movsxd rcx, dword [r13 + 0xc]
lea r11d, [r10 + 1]
movzx eax, word [r13 + 2]
lea r9d, [r10 + 8]
mov ebx, dword [rsp + 0x30]
imul rdx, rcx, 0x38
mov ecx, 0x2400
cmp qword [rdx + r14], rax
lea edx, [r10 + 4]
jne 0x18002c332
mov eax, 0xa10
mov word [r8 + 8], ax
mov r8d, 2
jmp 0x180028714
movsxd rax, dword [r13 + 4]
mov rcx, r15
mov rdx, qword [r15 + 0x78]
mov rdx, qword [rdx + rax*8]
call fcn.180023a94
movsxd rcx, dword [r13 + 4]
xor r10d, r10d
mov rax, qword [r15 + 0x78]
mov qword [rax + rcx*8], r10
jmp 0x1800286f4
sub ebx, 0x77
je 0x18002c8c1
sub ebx, 1
je 0x18002c888
sub ebx, 1
je 0x18002c6d3
sub ebx, 1
je 0x18002c5b4
sub ebx, 1
je 0x18002c4d9
sub ebx, 1
je 0x18002c4c2
sub ebx, 1
je 0x18002c47c
sub ebx, 1
je 0x18002c43a
cmp ebx, 1
jne 0x18002bc10
mov rdx, r13
mov rcx, r15
call fcn.180028298
mov rcx, qword [r15 + 0x78]
mov rdi, rax
movsxd rdx, dword [r13 + 4]
mov rdx, qword [rcx + rdx*8]
mov rbx, qword [rdx + 0x38]
mov rcx, rbx
call fcn.180019b1c
mov r8d, dword [rbx + 0x40]
cmp r8d, dword [r12 + 0x7c]
ja 0x18002e0f7
mov r9, rdi
xor edx, edx
mov rcx, rbx
call fcn.1800219d8
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x1800289aa
cmp dword [r13 + 0xc], r10d
jne 0x1800286ef
mov eax, 0x1000
test word [rdi + 8], ax
je 0x1800286ef
mov rcx, rdi
call fcn.180020bd8
xor r10d, r10d
test eax, eax
jne 0x18002e15b
jmp 0x1800286ef
movsxd rax, dword [r13 + 8]
movsxd rcx, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [r15 + 0x78]
add rdx, r14
mov rcx, qword [rax + rcx*8]
call fcn.180031020
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x1800289aa
movsxd rcx, dword [r13 + 0xc]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], r10d
jmp 0x1800286f4
mov rax, qword [r15 + 0x78]
lea r9, [rbp]
movsxd rcx, dword [r13 + 4]
mov r8d, dword [r13 + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rdx, rax, 0x38
mov dword [rbp], r10d
add rdx, r14
call fcn.1800310d4
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x1800289aa
cmp dword [rbp], r10d
lea r11d, [rax + 1]
jmp 0x180029036
mov eax, dword [r15 + 0x3c]
add dword [r12 + 0x78], eax
mov dword [r12 + 0x74], eax
mov dword [r15 + 0x3c], r10d
jmp 0x18002bc10
cmp byte [r13 + 1], 0xfa
mov rax, qword [rsp + 0x58]
movsxd rcx, dword [r13 + 4]
mov r15d, dword [r13 + 8]
mov rax, qword [rax + 0x78]
mov rdi, qword [rax + rcx*8]
jne 0x18002c537
cmp qword [r12 + 0x130], r10
je 0x18002c537
movsx rcx, byte [rdi + 1]
mov rax, qword [r12 + 0x20]
mov rsi, qword [r13 + 0x10]
shl rcx, 5
mov r14, qword [rcx + rax]
test byte [r13 + 2], r8b
je 0x18002c53d
cmp byte [rdi + 4], r10b
je 0x18002c53d
mov rbx, qword [rdi + 0x38]
mov rcx, rbx
call fcn.180019b1c
mov rax, qword [rbx + 0x30]
mov qword [rdi + 0x58], rax
jmp 0x18002c53d
mov r14, r10
mov rsi, r10
mov dl, byte [r13 + 2]
mov rcx, qword [rdi + 0x38]
call fcn.18001e1bc
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov qword [rdi + 0x28], r10
test eax, eax
jne 0x1800289ae
lea r11d, [rax + 1]
test r11b, r15b
mov r15, qword [rsp + 0x58]
je 0x18002daa2
add dword [r15 + 0x3c], r11d
mov r10, qword [r12 + 0x130]
test r10, r10
je 0x18002b6b3
lea eax, [r11 + 0x1f]
test byte [rsi + 0x40], al
jne 0x18002b6b3
mov rax, qword [rdi + 0x58]
lea edx, [r11 + 8]
mov r9, qword [rsi]
mov r8, r14
mov rcx, qword [r12 + 0x128]
mov qword [rsp + 0x20], rax
call r10
jmp 0x18002bf7a
movsxd rax, dword [r13 + 8]
movsxd rcx, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [r15 + 0x78]
add rdx, r14
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
cmp byte [r13 + 1], 0xfa
mov r8, qword [rcx + r14]
mov qword [rbp - 0x38], r8
jne 0x18002c604
cmp qword [r12 + 0x130], r10
je 0x18002c604
movsx rcx, byte [rbx + 1]
mov rax, qword [r12 + 0x20]
mov rdi, qword [r13 + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
jmp 0x18002c60a
mov rdi, r10
mov rsi, r10
movzx ecx, word [r13 + 2]
test r11b, cl
je 0x18002c61d
add dword [r15 + 0x3c], r11d
movzx ecx, word [r13 + 2]
mov eax, 0x20
test al, cl
je 0x18002c630
mov qword [r12 + 0x38], r8
movzx ecx, word [r13 + 2]
mov rax, qword [rdx + 0x10]
mov qword [rbp - 0x30], rax
mov eax, dword [rdx + 0xc]
mov dword [rbp - 0x1c], eax
mov eax, 0x10
test al, cl
je 0x18002c64d
mov r9d, dword [rbx + 0x2c]
jmp 0x18002c650
mov r9d, r10d
mov eax, 0x4000
test word [rdx + 8], ax
je 0x18002c662
mov eax, dword [rdx]
mov dword [rbp - 0x18], eax
jmp 0x18002c666
mov dword [rbp - 0x18], r10d
movzx r8d, cx
lea rdx, [rbp - 0x40]
mov qword [rbp - 0x40], r10
and r8d, 0xa
mov rcx, qword [rbx + 0x38]
call fcn.18001ddbc
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov byte [rbx + 3], r10b
mov dword [rbx + 0x28], r10d
test eax, eax
jne 0x1800289ae
test rdi, rdi
je 0x1800286eb
mov al, byte [r13 + 2]
mov r8, rsi
mov r9, qword [rdi]
and al, 4
mov rcx, qword [r12 + 0x128]
neg al
mov rax, qword [rbp - 0x38]
sbb edx, edx
mov qword [rsp + 0x20], rax
and edx, 5
add edx, 0x12
call qword [r12 + 0x130]
jmp 0x180029df9
mov rdx, r13
mov qword [rsp + 0x68], r10
mov rcx, r15
mov dword [rbp - 0x78], r10d
call fcn.180028298
movsxd rdx, dword [r13 + 4]
mov r8d, 2
mov rcx, qword [r15 + 0x78]
mov rsi, rax
mov rdi, qword [rcx + rdx*8]
test byte [rdi + 8], r8b
jne 0x18002c76b
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp - 0x78]
call fcn.18001a320
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1800289ae
cmp dword [rbp - 0x78], r10d
je 0x18002c733
lea eax, [r10 + 1]
mov qword [rsp + 0x68], rax
lea r8d, [r10 + 2]
jmp 0x18002c76e
mov rbx, qword [rdi + 0x38]
mov rcx, rbx
call fcn.180019b1c
mov rax, qword [rbx + 0x30]
movabs rcx, 0x7fffffffffffffff
mov qword [rsp + 0x68], rax
mov r8d, 2
cmp rax, rcx
jl 0x18002c763
or dword [rdi + 8], r8d
jmp 0x18002c76b
inc rax
mov qword [rsp + 0x68], rax
xor r10d, r10d
movsxd rdx, dword [r13 + 0xc]
test edx, edx
je 0x18002c7ed
mov rcx, qword [r15 + 0x100]
test rcx, rcx
je 0x18002c79e
mov rax, qword [rcx + 8]
jmp 0x18002c78f
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x18002c788
imul rbx, rdx, 0x38
add rbx, qword [rcx + 0x20]
jmp 0x18002c7a5
imul rbx, rdx, 0x38
add rbx, r14
mov rcx, rbx
call fcn.1800210d4
mov rax, qword [rbx]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x18002e069
mov r8d, 2
test byte [rdi + 8], r8b
jne 0x18002e069
mov rcx, qword [rsp + 0x68]
inc rax
cmp rcx, rax
cmovl rcx, rax
xor r10d, r10d
mov qword [rsp + 0x68], rcx
mov qword [rbx], rcx
test byte [rdi + 8], r8b
je 0x18002c864
mov ebx, r10d
lea rdx, [rsp + 0x68]
mov ecx, 8
call fcn.180008aa0
mov r8, qword [rsp + 0x68]
movabs rax, 0x3fffffffffffffff
and r8, rax
xor r9d, r9d
inc r8
lea rax, [rbp - 0x78]
mov qword [rsp + 0x68], r8
xor edx, edx
mov rcx, qword [rdi + 0x38]
mov qword [rsp + 0x20], rax
call fcn.18001a388
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1800289ae
cmp dword [rbp - 0x78], r10d
jne 0x18002c85e
inc ebx
cmp ebx, 0x64
jl 0x18002c7f6
lea esi, [rax + 0xd]
mov dword [rsp + 0x34], esi
jmp 0x1800289aa
mov r8d, 2
mov byte [rdi + 3], r10b
mov r11d, 1
mov dword [rdi + 0x28], r10d
mov rax, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x48]
mov qword [rsi], rax
mov esi, dword [rsp + 0x34]
jmp 0x18002b29f
mov rdx, r13
mov rcx, r15
call fcn.180028298
mov rcx, qword [r15 + 0x78]
mov r11d, 1
movsxd rdx, dword [r13 + 4]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [r13 + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x18], r11
jmp 0x180028e2e
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdx, qword [rax + rcx*8]
mov eax, dword [r13 + 8]
shl eax, 3
xor eax, dword [rdx + 8]
and eax, r9d
xor dword [rdx + 8], eax
jmp 0x1800285fe
mov rdx, r13
mov rcx, r15
call fcn.180028298
movsxd rdx, dword [r13 + 4]
xor r10d, r10d
mov rcx, qword [r15 + 0x78]
mov rdi, rax
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], r10b
je 0x18002c913
lea r11d, [r10 + 1]
mov word [rax + 8], r11w
jmp 0x180028ef4
cmp byte [rbx + 3], r10b
je 0x18002c922
mov rax, qword [rbx + 0x58]
jmp 0x18002c9b5
mov rcx, qword [rbx + 0x38]
mov r8d, 2
cmp byte [rbx], r8b
jne 0x18002c960
mov rbx, qword [rcx]
lea rdx, [rbp + 0x18]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r15
mov esi, eax
mov dword [rsp + 0x34], eax
call fcn.180025ea8
xor r10d, r10d
test esi, esi
jne 0x1800289aa
mov rax, qword [rbp + 0x18]
jmp 0x18002c9b9
cmp byte [rcx], r10b
je 0x18002c984
mov rcx, rbx
call fcn.180024be8
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x18002e073
lea r8d, [rax + 2]
jmp 0x18002c98c
mov esi, r10d
mov dword [rsp + 0x34], r10d
cmp byte [rbx + 2], r10b
je 0x18002c9a2
mov r11d, 1
mov word [rdi + 8], r11w
jmp 0x18002bd9b
mov rbx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.180019b1c
mov rax, qword [rbx + 0x30]
xor r10d, r10d
mov qword [rbp + 0x18], rax
mov qword [rdi], rax
jmp 0x1800286ef
mov eax, 0x95
cmp ebx, eax
ja 0x18002d1d7
je 0x18002d19d
mov eax, 0x8b
cmp ebx, eax
ja 0x18002cea0
je 0x18002ce52
mov eax, 0x86
cmp ebx, eax
ja 0x18002cc47
je 0x18002cda1
mov ecx, ebx
sub ecx, 0x81
je 0x18002cc0a
sub ecx, 1
je 0x18002cb75
sub ecx, 1
je 0x18002cab8
sub ecx, 1
je 0x18002cab8
cmp ecx, 1
jne 0x1800291ed
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp - 0x40]
mov rax, qword [r15 + 0x78]
xor r9d, r9d
xor r8d, r8d
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x40]
mov rdi, qword [rbx + 0x38]
mov qword [rbp - 0x40], rax
movzx eax, word [r13 + 0xc]
mov word [rbp - 0x30], ax
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
lea rax, [rbp + 0x14]
mov byte [rbp - 0x2e], r10b
add rcx, r14
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x38], rcx
mov rcx, rdi
call fcn.18001a388
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x1800289aa
cmp dword [rbp + 0x14], r10d
jne 0x18002caae
lea edx, [rax + 4]
mov rcx, rdi
call fcn.18001e1bc
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x1800289aa
and qword [rbx + 0x28], 0
jmp 0x1800286ef
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rbx, r14
test byte [r13 + 2], r11b
je 0x18002cad9
add dword [r15 + 0x3c], r11d
mov eax, 0x4000
test word [rbx + 8], ax
je 0x18002cafb
mov rcx, rbx
call fcn.180020c30
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1800289aa
cmp byte [r13], 0x83
jne 0x18002cb12
mov rdx, rbx
mov rcx, rdi
call fcn.180030358
xor r10d, r10d
jmp 0x18002cb6a
movsxd rax, dword [rbx + 0xc]
movzx r8d, word [r13 + 2]
mov qword [rbp - 0x38], rax
mov rax, qword [rbx + 0x10]
mov qword [rbp - 0x40], rax
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r13 + 0x10]
add rcx, r14
mov word [rbp - 0x20], ax
mov eax, 0x10
mov qword [rbp - 0x28], rcx
test al, r8b
je 0x18002cb4f
mov r9d, dword [rdi + 0x2c]
jmp 0x18002cb52
mov r9d, r10d
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp - 0x40]
and r8d, 0xa
call fcn.18001ddbc
xor r10d, r10d
mov dword [rdi + 0x28], r10d
mov dword [rsp + 0x34], eax
mov esi, eax
jmp 0x1800297cf
movsxd rcx, dword [r13 + 4]
mov rax, qword [r15 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rdi + 0x38]
mov dword [rbp - 0x50], r10d
cmp bl, 0x82
jne 0x18002cb9b
or dword [rdi + 0x2c], 0xffffffff
cmp byte [rcx], r10b
je 0x18002ba33
lea rdx, [rbp - 0x50]
call fcn.18001a320
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov esi, eax
mov al, byte [rbp - 0x50]
mov byte [rdi + 2], al
mov byte [rdi + 3], r10b
mov dword [rdi + 0x28], r10d
test esi, esi
jne 0x1800289aa
cmp dword [r13 + 8], r10d
jle 0x1800286ef
cmp dword [rbp - 0x50], r10d
je 0x1800286ef
jmp 0x1800297ae
mov esi, dword [rsp + 0x34]
xor r10d, r10d
mov r15, qword [rsp + 0x58]
mov r12, qword [rsp + 0x50]
jmp 0x1800297b4
mov esi, dword [rsp + 0x34]
jmp 0x1800297ae
mov r15, qword [rsp + 0x58]
mov r12, qword [rsp + 0x50]
jmp 0x1800297b4
movsxd rcx, dword [r13 + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
mov byte [rbx + 2], r11b
mov dword [rbx + 0x28], r10d
cmp byte [rbx], r10b
jne 0x1800291ed
mov rbx, qword [rbx + 0x38]
mov rcx, qword [rbx + 0x18]
call fcn.180006a24
xor r10d, r10d
mov qword [rbx + 0x18], r10
lea r11d, [r10 + 1]
mov byte [rbx], r11b
jmp 0x180028bc6
sub ebx, 0x87
je 0x18002cda1
sub ebx, 1
je 0x18002ccff
sub ebx, 1
je 0x18002cc9a
cmp ebx, 1
jne 0x18002bc10
movsxd rcx, dword [r13 + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], r11b
jne 0x18002cc8c
mov rdx, qword [rcx + 0x38]
mov rcx, r12
call fcn.18002f83c
jmp 0x180028fdb
mov rcx, qword [rcx + 0x38]
call fcn.18001eac8
jmp 0x180028bf8
mov eax, dword [r13 + 0xc]
mov rcx, qword [r12 + 0x20]
neg eax
mov edx, dword [r13 + 4]
lea rax, [rbp - 0x78]
sbb r8, r8
mov dword [rbp - 0x78], r10d
and r8, rax
movsxd rax, dword [r13 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.18001ea0c
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov esi, eax
cmp dword [r13 + 0xc], r10d
je 0x18002b12e
movsxd rdx, dword [rbp - 0x78]
add dword [r15 + 0x3c], edx
cmp dword [r13 + 0xc], r10d
jle 0x18002b12e
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add qword [rcx + r14], rdx
jmp 0x18002b12e
mov rdx, r13
mov rcx, r15
call fcn.180028298
mov edi, 1
mov rbx, rax
mov word [rax + 8], di
mov ecx, dword [r12 + 0xd8]
add ecx, edi
cmp dword [r12 + 0xcc], ecx
jg 0x18002e07c
movsxd rdi, dword [r13 + 0xc]
lea r8, [rbp - 0x4c]
mov rcx, qword [r12 + 0x20]
xor eax, eax
mov edx, dword [r13 + 4]
mov r9, rdi
shl r9, 5
mov dword [rbp - 0x4c], eax
mov rcx, qword [r9 + rcx + 8]
call fcn.18001ecdc
mov esi, eax
mov dword [rsp + 0x34], eax
mov edx, 4
xor r10d, r10d
mov word [rbx + 8], dx
movsxd rax, dword [rbp - 0x4c]
mov qword [rbx], rax
test esi, esi
jne 0x1800289aa
mov r8d, dword [rbp - 0x4c]
test r8d, r8d
je 0x180028f26
mov r9d, dword [r13 + 4]
mov edx, edi
mov rcx, r12
call fcn.180041948
lea r11d, [rsi + 1]
lea eax, [r11 + rdi]
mov byte [rbp - 0x7f], al
jmp 0x180028e29
movsxd rcx, dword [r13 + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, rbx
call fcn.180024c34
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x1800289aa
cmp byte [rbx + 2], r10b
jne 0x18002ce3d
mov qword [rbp + 0x28], r10
lea r8, [rbp + 0x28]
mov rdx, qword [rbx + 0x38]
mov rcx, r12
call fcn.180025bd4
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x1800289aa
cmp byte [r13], 0x86
jne 0x18002ce29
mov rax, qword [r15 + 0x78]
lea r11d, [rsi + 1]
movsxd rcx, dword [r13 + 0xc]
mov rdx, qword [rax + rcx*8]
mov byte [rdx + 2], r10b
mov rax, qword [rbp + 0x28]
mov qword [rdx + 0x58], rax
mov byte [rdx + 3], r11b
mov rax, qword [r13 + 0x10]
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x30], rbx
jmp 0x180028bc6
mov rdx, r13
mov rcx, r15
call fcn.180028298
mov rcx, qword [rbp + 0x28]
jmp 0x18002b2dc
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
add rcx, r14
call fcn.180021300
jmp 0x180028fdb
mov rdx, r13
mov rcx, r15
call fcn.180028298
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp - 4]
mov r8d, dword [r13 + 0xc]
mov rbx, rax
shl rcx, 5
xor eax, eax
add rcx, qword [r12 + 0x20]
mov dword [rbp - 4], eax
mov rcx, qword [rcx + 8]
call fcn.18001e808
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x1800289aa
movsxd rax, dword [rbp - 4]
mov qword [rbx], rax
jmp 0x1800286f4
sub ebx, 0x8c
je 0x18002d177
sub ebx, 1
je 0x18002d047
sub ebx, 1
je 0x18002d036
sub ebx, 1
je 0x18002d021
sub ebx, 1
je 0x18002d00c
sub ebx, 1
je 0x18002cff7
sub ebx, 1
je 0x18002cf59
sub ebx, 1
je 0x18002cf1a
cmp ebx, 1
jne 0x18002bc10
mov rdx, r13
mov rcx, r15
call fcn.180028298
lea r9d, [rbx + 7]
xor r10d, r10d
mov ebx, dword [rsp + 0x30]
mov word [rax + 8], r9w
lea r11d, [r9 - 7]
mov rcx, qword [r13 + 0x10]
mov rdx, qword [rcx]
mov qword [rax], rdx
jmp 0x180028704
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rdi, rax, 0x38
add rbx, r14
mov eax, 0x10
test byte [rbx + 8], al
jne 0x18002cf47
mov rcx, rbx
call fcn.180021438
test eax, eax
jne 0x18002e15b
mov rdx, qword [rdi + r14]
mov rcx, qword [rbx + 0x10]
call fcn.18000ecf4
jmp 0x180029dfd
movsxd rax, dword [r13 + 0xc]
lea r8, [rbp + 0x10]
mov rcx, qword [r12 + 0x20]
mov rdx, qword [r13 + 0x10]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 4]
add rdx, 4
imul rbx, rax, 0x38
movzx eax, word [r13 + 2]
mov r9d, dword [rdi + r14]
add rbx, r14
shl rax, 5
add r9d, r11d
mov qword [rsp + 0x20], r8
mov r8d, dword [r13 + 8]
mov rcx, qword [rax + rcx + 8]
call fcn.18001f89c
mov rcx, rbx
mov rsi, rax
call fcn.180021300
mov ecx, dword [rbp + 0x10]
test ecx, ecx
je 0x18002cfe5
test rsi, rsi
je 0x18002e15b
dec ecx
lea rax, [fcn.180006a24]
movsxd rdx, ecx
mov r9d, 1
sub qword [rdi + r14], rdx
or r8d, 0xffffffff
mov rdx, rsi
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.180021688
movzx edx, byte [rsp + 0x3c]
mov rcx, rbx
call fcn.180020a04
jmp 0x180029df9
mov r8, qword [r13 + 0x10]
mov rcx, r12
mov edx, dword [r13 + 4]
call fcn.18005c594
jmp 0x180028fdb
mov r8, qword [r13 + 0x10]
mov rcx, r12
mov edx, dword [r13 + 4]
call fcn.18003ef48
jmp 0x180028fdb
mov r8, qword [r13 + 0x10]
mov rcx, r12
mov edx, dword [r13 + 4]
call fcn.18003f454
jmp 0x180028fdb
mov edx, dword [r13 + 4]
mov rcx, r12
call fcn.18003d7f4
jmp 0x180028bf8
mov rcx, qword [r13 + 0x10]
movsxd rbx, dword [r13 + 4]
test rcx, rcx
jne 0x18002d0a8
mov rcx, qword [r12 + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.1800453a4
and dword [r12 + 0x2c], 0xffffffef
lea r8, [r15 + 0xa8]
mov r9d, 1
mov edx, ebx
mov rcx, r12
call fcn.180052660
mov r11d, 1
mov dword [rsp + 0x34], eax
or dword [r12 + 0x2c], r11d
mov esi, eax
and dword [r15 + 0xc8], 0xfffffffc
xor r10d, r10d
jmp 0x18002d16a
mov r8, qword [r12 + 0x20]
lea rax, [r15 + 0xa8]
mov qword [rbp - 0x38], rax
lea r9, str.sqlite_master
mov qword [rbp - 0x40], r12
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov dword [rbp - 0x30], ebx
mov rax, rbx
shl rax, 5
mov dword [rbp - 0x28], r10d
mov qword [rsp + 0x20], rcx
mov rcx, r12
mov r8, qword [rax + r8]
call fcn.180008884
mov rbx, rax
xor eax, eax
test rbx, rbx
je 0x18002e095
lea r11d, [rax + 1]
mov dword [rbp - 0x2c], eax
lea r9, [rbp - 0x40]
mov byte [r12 + 0xb5], r11b
lea r8, [fcn.180052470]
mov dword [rbp - 0x24], eax
mov rdx, rbx
mov qword [rsp + 0x20], rax
mov rcx, r12
call fcn.18004e358
mov esi, eax
mov dword [rsp + 0x34], eax
xor eax, eax
test esi, esi
jne 0x18002d150
mov esi, dword [rbp - 0x2c]
mov dword [rsp + 0x34], esi
test esi, esi
jne 0x18002d150
cmp dword [rbp - 0x24], eax
jne 0x18002d150
mov ecx, 0x15f51
call fcn.1800765e0
mov esi, eax
mov dword [rsp + 0x34], eax
mov rdx, rbx
mov rcx, r12
call fcn.180006aac
xor r10d, r10d
mov byte [r12 + 0xb5], r10b
lea r11d, [r10 + 1]
test esi, esi
jne 0x18002e0a0
jmp 0x180028bc6
add byte [r12 + 0x6a], r11b
xor r9d, r9d
mov rdx, qword [r13 + 0x10]
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x20], r10
call fcn.18004e358
dec byte [r12 + 0x6a]
jmp 0x180028bf8
mov rdx, r13
mov rcx, r15
call fcn.180028298
mov r9, qword [r15 + 0x100]
movsxd rcx, dword [r9 + 0x54]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r9 + 0x10]
mov r8d, dword [rcx + rdx*8 + 4]
add r8d, dword [r13 + 4]
movsxd rcx, r8d
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x20]
jmp 0x18002a756
mov eax, 0x9f
cmp ebx, eax
ja 0x18002d60e
je 0x18002d5b1
sub ebx, 0x96
je 0x18002d574
sub ebx, 1
je 0x18002d4f1
sub ebx, 1
je 0x18002d493
sub ebx, 1
je 0x18002d2e1
sub ebx, 1
je 0x18002d2e1
sub ebx, 1
je 0x18002d376
sub ebx, 1
je 0x18002d26a
sub ebx, 1
je 0x18002d26a
cmp ebx, 1
jne 0x18002bc10
cmp dword [r13 + 4], r10d
jne 0x18002d24d
mov edx, dword [r13 + 8]
mov rcx, r12
call fcn.180025dcc
jmp 0x180028fdb
mov eax, dword [r13 + 8]
add eax, r11d
xor eax, dword [r15 + 0xc8]
and eax, 3
xor dword [r15 + 0xc8], eax
jmp 0x18002bc10
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
cmp dword [r13 + 0xc], r10d
je 0x18002d2a5
movsxd rax, dword [r13 + 0xc]
mov r8, qword [r13 + 0x10]
imul rdx, rax, 0x38
add rdx, r14
call fcn.180020e58
mov esi, eax
mov dword [rsp + 0x34], eax
movsxd rax, dword [r13 + 0xc]
imul rbx, rax, 0x38
add rbx, r14
jmp 0x18002d2b4
mov rdx, qword [r13 + 0x10]
call fcn.180020db0
mov esi, eax
mov dword [rsp + 0x34], eax
mov rcx, rbx
test esi, esi
jne 0x18002e0d3
movzx edx, byte [rsp + 0x3c]
call fcn.180020a04
mov rcx, rbx
call fcn.180021500
xor r10d, r10d
test eax, eax
jne 0x18002e0f7
jmp 0x1800286f4
movzx edi, word [r13 + 2]
mov rcx, r12
lea rdx, [rdi*8 + 0x68]
call fcn.180006d78
mov rbx, rax
xor eax, eax
test rbx, rbx
je 0x18002e15b
lea rcx, [rdi + 6]
mov qword [rbx + 0x10], rax
lea rcx, [rbx + rcx*8]
mov rdx, r12
lea r8d, [rax + 1]
mov qword [rbx], rcx
call fcn.1800212f0
mov rcx, qword [r13 + 0x10]
movabs rax, 0x2aaaaaaaaaaaaaab
mov esi, dword [rsp + 0x34]
mov qword [rbx + 8], rcx
mov rcx, r13
sub rcx, qword [rsp + 0x48]
imul rcx
mov byte [rbx + 0x29], dil
mov rdi, qword [rsp + 0x48]
sar rdx, 2
mov rax, rdx
mov qword [rbx + 0x18], r15
shr rax, 0x3f
add rdx, rax
xor r11d, r11d
mov dword [rbx + 0x20], edx
mov byte [rbx + 0x28], r11b
mov dword [rbx + 0x24], r11d
mov word [r13], 0xf09b
mov qword [r13 + 0x10], rbx
jmp 0x18002d379
xor r11d, r11d
movsxd rax, dword [r13 + 0xc]
mov rbx, qword [r13 + 0x10]
imul rdx, rax, 0x38
add rdx, r14
cmp qword [rbx + 0x10], rdx
je 0x18002d3dc
movzx eax, byte [rbx + 0x29]
mov r8d, eax
mov qword [rbx + 0x10], rdx
sub r8, 1
lea r10d, [rax - 1]
js 0x18002d3dc
mov edi, 8
lea r9, [r8 + 6]
lea r9, [rbx + r9*8]
lea r12d, [rdi - 7]
mov eax, dword [r13 + 8]
add eax, r10d
sub r10d, r12d
cdqe
imul rcx, rax, 0x38
add rcx, r14
mov qword [r9], rcx
sub r9, rdi
sub r8, r12
jns 0x18002d3b4
mov r12, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
mov eax, 1
lea r8, [rbx + 0x30]
add dword [rdx + 0xc], eax
mov rcx, rbx
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
cmp dword [r13 + 4], r11d
je 0x18002d3fe
call qword [rax + 0x30]
jmp 0x18002d401
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
xor r10d, r10d
test eax, eax
je 0x1800286f4
jle 0x18002d435
mov rcx, qword [rbx]
call fcn.18002631c
mov r8, rax
lea rdx, [0x1800951f0]
mov rcx, r15
call fcn.18002204c
mov esi, dword [rbx + 0x24]
xor r10d, r10d
mov dword [rsp + 0x34], esi
cmp byte [rbx + 0x28], r10b
je 0x18002d45d
cmp dword [r13 - 0x14], r10d
je 0x18002d459
movsxd rax, dword [r13 - 0x14]
mov edx, 1
imul rcx, rax, 0x38
add rcx, r14
call fcn.1800213a4
xor r10d, r10d
mov byte [rbx + 0x28], r10b
mov rcx, qword [rbx]
call fcn.180020f48
mov rax, qword [rbx]
xor r10d, r10d
mov r11d, 1
mov word [rax + 8], r11w
mov dword [rbx + 0x24], r10d
test esi, esi
je 0x180028bc6
mov rsi, qword [rsp + 0x40]
mov rdi, r11
mov eax, dword [rsp + 0x34]
jmp 0x1800289b8
movsxd rax, dword [r13 + 4]
mov rdx, r13
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
mov rcx, r15
imul rdi, rax, 0x38
call fcn.180028298
mov rcx, qword [rbx + r14]
xor r10d, r10d
mov qword [rbp + 0x40], rcx
mov rsi, rax
test rcx, rcx
jle 0x18002d4e8
mov rdx, qword [rdi + r14]
lea rcx, [rbp + 0x40]
test rdx, rdx
cmovle rdx, r10
call fcn.18000a294
xor r10d, r10d
test eax, eax
jne 0x18002d4e8
mov rax, qword [rbp + 0x40]
mov qword [rsi], rax
jmp 0x1800286eb
or qword [rsi], 0xffffffffffffffff
jmp 0x1800286eb
mov rcx, qword [r15 + 0x100]
test rcx, rcx
je 0x18002d51d
mov rax, qword [rcx + 8]
jmp 0x18002d50a
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x18002d503
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x18002d528
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, r14
mov rcx, rdi
call fcn.1800210d4
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.1800210d4
mov rax, qword [rbx]
xor r10d, r10d
mov ecx, 0x2400
mov ebx, dword [rsp + 0x30]
lea edx, [r10 + 4]
lea r11d, [r10 + 1]
lea r8d, [r10 + 2]
lea r9d, [r10 + 8]
cmp qword [rdi], rax
jge 0x18002d56a
mov qword [rdi], rax
mov rdi, qword [rsp + 0x48]
jmp 0x180028714
mov eax, dword [r12 + 0x30]
bt rax, 0x13
movsxd rax, dword [r13 + 8]
jae 0x18002d591
add qword [r12 + 0x2b0], rax
jmp 0x18002bc10
mov ebx, dword [rsp + 0x30]
cmp dword [r13 + 4], r10d
je 0x18002d5a8
add qword [r12 + 0x2a8], rax
jmp 0x180028714
add qword [r15 + 0x50], rax
jmp 0x180028714
mov r8b, byte [r13 + 0xc]
test r8b, r8b
jne 0x18002d5ca
mov eax, dword [r12 + 0x30]
bt rax, 0xa
jb 0x18002a737
movsxd rax, dword [r13 + 4]
mov rcx, qword [r12 + 0x20]
mov edx, dword [r13 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.18001fc98
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
je 0x1800286f4
cmp al, 6
jne 0x1800289aa
mov r8, qword [r13 + 0x10]
lea rdx, str.database_table_is_locked:__s
jmp 0x18002e0e2
sub ebx, 0xa0
je 0x18002da51
sub ebx, 1
je 0x18002d9ce
sub ebx, 1
je 0x18002d9a9
sub ebx, 1
je 0x18002d91c
sub ebx, 1
je 0x18002d828
sub ebx, 1
je 0x18002d7b0
sub ebx, 1
je 0x18002d781
sub ebx, 1
jne 0x180029f00
mov rdx, r13
mov rcx, r15
call fcn.180028298
mov rcx, qword [r12 + 0x20]
mov rdi, rax
movsxd rdx, dword [r13 + 4]
shl rdx, 5
mov rbx, qword [rdx + rcx + 8]
xor ecx, ecx
mov eax, ecx
cmp dword [r13 + 0xc], ecx
je 0x18002d694
mov rcx, rbx
call fcn.180017318
cmp eax, dword [r13 + 0xc]
cmovb eax, dword [r13 + 0xc]
mov edx, eax
mov rcx, rbx
call fcn.18001807c
movsxd rcx, eax
mov qword [rdi], rcx
jmp 0x180029dfd
cmp dword [r12 + 0xd4], r11d
jle 0x18002d6f0
mov r8, r9
lea rdx, str.____s
mov rcx, r12
call fcn.180008884
mov rdx, qword [r12 + 0xf0]
mov r9, rax
mov r8, r15
mov ecx, 1
mov rbx, rax
call qword [r12 + 0xe8]
mov rdx, rbx
mov rcx, r12
call fcn.180006aec
jmp 0x18002d706
mov rdx, qword [r12 + 0xf0]
mov r8, r15
mov ecx, r11d
call qword [r12 + 0xe8]
mov r8d, 2
mov ecx, 0x2400
xor r10d, r10d
lea r11d, [r8 - 1]
lea edx, [r8 + 2]
mov r9d, 8
mov eax, dword [r13 + 4]
cmp eax, dword [0x1800a6dd8]
jl 0x18002d76f
cmp byte [r13], 0xa8
je 0x18002bc10
mov edx, r11d
cmp dword [r15 + 0x90], r11d
jle 0x18002d76c
mov eax, 0x18
mov rcx, qword [r15 + 0x88]
cmp byte [rax + rcx], 0x11
jne 0x18002d75c
mov dword [rax + rcx + 4], r10d
add edx, r11d
add rax, 0x18
cmp edx, dword [r15 + 0x90]
jl 0x18002d74a
mov eax, r10d
inc eax
mov dword [r13 + 4], eax
add dword [r15 + 0xec], r11d
jmp 0x1800297b9
mov rdx, r13
mov rcx, r15
call fcn.180028298
movsxd rdx, dword [r13 + 4]
mov rbx, rax
mov rcx, qword [r12 + 0x20]
shl rdx, 5
mov rcx, qword [rdx + rcx + 8]
call fcn.180017318
mov ecx, eax
mov qword [rbx], rcx
jmp 0x180028fdb
mov edi, dword [r12 + 0x30]
mov eax, 0x4000000
or qword [r12 + 0x30], rax
and edi, eax
mov rax, qword [r13 + 0x10]
mov edx, r11d
mov rsi, qword [rax + 0x10]
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.180020a04
xor r10d, r10d
test eax, eax
jne 0x1800289ae
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 0x10]
call qword [rax + 0x98]
mov dword [rsp + 0x34], eax
test edi, edi
jne 0x18002d809
btr qword [r12 + 0x30], 0x1a
mov rdx, rsi
mov rcx, r15
call fcn.180025ea8
and dword [r15 + 0xc8], 0xfffffffc
mov esi, dword [rsp + 0x34]
xor r10d, r10d
jmp 0x1800297cf
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rbx, rax, 0x38
add rbx, r14
cmp byte [rdi + 2], r10b
je 0x18002d852
mov rcx, rbx
call fcn.180021300
jmp 0x180029dfd
mov rax, qword [rdi + 0x38]
xorps xmm0, xmm0
mov rsi, qword [rax]
xor eax, eax
mov r14, qword [rsi]
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x40], rbx
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x10], rax
movups xmmword [rbp - 0x20], xmm0
test byte [r13 + 2], r11b
je 0x18002d88e
mov rcx, rbx
call fcn.180021300
xor eax, eax
mov dword [rbx], eax
mov eax, 0x4001
jmp 0x18002d89e
movzx eax, word [rbx + 8]
mov ecx, 0x3e40
and ax, cx
or ax, r11w
mov word [rbx + 8], ax
lea rdx, [rbp - 0x40]
mov r8d, dword [r13 + 8]
mov rcx, qword [rdi + 0x38]
call qword [r14 + 0x58]
mov rdx, rsi
mov rcx, r15
mov dword [rsp + 0x34], eax
call fcn.180025ea8
xor eax, eax
cmp dword [rbp - 0x1c], eax
jle 0x18002d8eb
mov rcx, rbx
call fcn.18002631c
mov r8, rax
lea rdx, [0x1800951f0]
mov rcx, r15
call fcn.18002204c
mov esi, dword [rbp - 0x1c]
mov dword [rsp + 0x34], esi
jmp 0x18002d8ef
mov esi, dword [rsp + 0x34]
movzx edx, byte [rsp + 0x3c]
mov rcx, rbx
call fcn.180020a04
mov rcx, rbx
call fcn.180021500
xor r10d, r10d
test eax, eax
jne 0x18002e0f7
test esi, esi
jne 0x1800289aa
jmp 0x180028ab6
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x68], r10
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x18002ddc6
mov rdi, qword [rbx]
test rdi, rdi
je 0x18002ddc6
lea rdx, [rsp + 0x68]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r15
mov esi, eax
mov dword [rsp + 0x34], eax
call fcn.180025ea8
xor r10d, r10d
test esi, esi
jne 0x1800289aa
mov rax, qword [rsp + 0x68]
or r9d, 0xffffffff
xor r8d, r8d
mov rcx, r15
mov qword [rax], rbx
lea eax, [rsi + 2]
mov edx, dword [r13 + 4]
mov byte [rsp + 0x20], al
call fcn.180027f50
mov rcx, qword [rsp + 0x68]
xor r10d, r10d
test rax, rax
je 0x18002e113
lea r11d, [rsi + 1]
mov qword [rax + 0x38], rcx
add dword [rbx + 8], r11d
jmp 0x180028ef4
add dword [r12 + 0xd8], r11d
mov rcx, r12
mov r8, qword [r13 + 0x10]
mov edx, dword [r13 + 4]
call fcn.1800603ac
dec dword [r12 + 0xd8]
jmp 0x180028bf8
xorps xmm0, xmm0
lea rcx, [rbp + 0x90]
xor eax, eax
mov qword [rbp + 0xc0], rax
movsxd rax, dword [r13 + 8]
imul rdx, rax, 0x38
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0x90], xmm0
movups xmmword [rbp + 0xa0], xmm0
add rdx, r14
mov qword [rbp + 0xb8], r12
call fcn.1800215a0
lea rcx, [rbp + 0x90]
mov dword [rsp + 0x34], eax
mov esi, eax
call fcn.18002631c
test rax, rax
je 0x18002da40
mov edx, dword [r13 + 4]
lea r9, [r15 + 0xa8]
mov r8, rax
mov rcx, r12
call fcn.180060058
mov esi, eax
mov dword [rsp + 0x34], eax
lea rcx, [rbp + 0x90]
call fcn.180020f48
jmp 0x18002b12b
mov rbx, qword [r13 + 0x10]
mov rcx, r12
mov rdx, rbx
call fcn.180060554
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov esi, eax
test rbx, rbx
je 0x18002b12e
mov rdx, qword [rbx + 0x10]
mov rcx, r15
call fcn.180025ea8
jmp 0x18002b12b
mov r14, qword [rsp + 0x60]
mov r13, rsi
mov esi, dword [rsp + 0x34]
mov edx, 4
mov rdi, qword [rsp + 0x48]
mov ebx, dword [rsp + 0x30]
jmp 0x18002c332
mov esi, dword [rsp + 0x34]
mov r14, qword [rsp + 0x60]
jmp 0x180028ef4
mov rdi, qword [rsp + 0x48]
mov r15, r8
jmp 0x1800290c1
mov rdi, qword [rsp + 0x48]
jmp 0x180028f31
mov ebx, dword [rsp + 0x30]
xor r10d, r10d
lea edx, [r10 + 4]
lea r11d, [r10 + 1]
jmp 0x180028714
mov dword [rsp + 0x34], r9d
jmp 0x1800289aa
mov ebx, dword [rsp + 0x38]
mov eax, 5
cmp sil, al
jne 0x18002de39
mov rcx, r13
mov dword [r15 + 0x38], esi
sub rcx, rdi
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r15 + 0x34], edx
mov r15d, dword [rsp + 0x34]
jmp 0x18002e1a2
mov rdx, qword [r15 + 0xa8]
test rdx, rdx
je 0x18002db3e
mov rcx, r12
call fcn.180006aac
lea rdx, str.database_schema_has_changed
mov rcx, r12
call fcn.180006ef4
mov qword [r15 + 0xa8], rax
mov rax, qword [r12 + 0x20]
movsxd rdx, dword [r13 + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp - 0x78]
cmp dword [rcx], eax
je 0x18002db78
mov rcx, r12
call fcn.18003f0c4
and dword [r15 + 0xc8], 0xfffffffd
mov edi, 1
or dword [r15 + 0xc8], edi
mov dword [rsp + 0x34], 0x11
mov eax, dword [rsp + 0x34]
xor r10d, r10d
mov rsi, qword [rsp + 0x40]
jmp 0x1800289b8
movzx eax, byte [r12 + 0x5f]
mov ebx, dword [r13 + 4]
mov ecx, dword [r13 + 8]
cmp ebx, eax
je 0x18002dc9f
test ecx, ecx
je 0x18002dbd3
mov edx, 0x204
mov rcx, r12
call fcn.1800743cc
mov eax, 1
jmp 0x18002dc22
test ebx, ebx
je 0x18002dc05
cmp dword [r12 + 0xd0], r10d
jle 0x18002dc05
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r15
call fcn.18002204c
mov eax, 5
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x34]
xor r10d, r10d
jmp 0x1800289ae
mov edx, r11d
mov rcx, r15
call fcn.180024470
mov r15d, eax
test eax, eax
jne 0x18002e19e
mov r15, qword [rsp + 0x58]
mov al, bl
mov rcx, r15
mov byte [r12 + 0x5f], al
call fcn.1800244c0
mov r8d, 5
cmp eax, r8d
jne 0x18002dc81
mov rcx, r13
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rdi
lea edi, [r8 - 4]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, edi
sub al, bl
mov dword [r15 + 0x34], edx
mov byte [r12 + 0x5f], al
mov r15d, r8d
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x38], r8d
mov ebx, dword [rsp + 0x38]
jmp 0x18002e1a7
mov rcx, r12
call fcn.180073edc
mov eax, dword [r15 + 0x38]
neg eax
sbb r15d, r15d
and r15d, 0xffffff9c
add r15d, 0x65
jmp 0x18002e19e
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
mov rcx, r15
cmovne rdx, rax
test ebx, ebx
lea rax, str.cannot_start_a_transaction_within_a_transaction
cmove rdx, rax
call fcn.18002204c
mov edi, 1
mov dword [rsp + 0x34], edi
jmp 0x18002db94
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
jmp 0x18002dbe8
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r15
call fcn.18002204c
mov r12, qword [rsp + 0x50]
jmp 0x18002dbf0
mov rsi, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
mov r12, qword [rsp + 0x50]
mov rcx, rsi
sub rcx, qword [rsp + 0x48]
mov ebx, dword [rsp + 0x38]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [rsp + 0x58]
xor r10d, r10d
mov dword [r15 + 0x34], edx
mov byte [r12 + 0x5f], r10b
mov r15d, r8d
mov dword [rax + 0x38], r8d
lea edi, [r10 + 1]
jmp 0x18002e1ac
mov r8, rsi
lea rdx, str.no_such_savepoint:__s
mov rcx, r15
call fcn.18002204c
mov r12, qword [rsp + 0x50]
mov edi, 1
mov dword [rsp + 0x34], edi
jmp 0x18002db94
mov rcx, qword [rsp + 0x58]
lea rax, str.into
cmp ebx, edx
lea r8, str.out_of
mov edi, 1
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
cmove r8, rax
mov dword [rsp + 0x34], edi
call fcn.18002204c
jmp 0x18002db94
movzx eax, byte [r13 + 2]
mov ecx, 5
cmp word [r13 + 2], cx
lea edx, [rcx - 3]
cmove eax, edx
mov byte [r15 + 0xc2], al
jmp 0x1800289aa
mov dword [rsp + 0x34], 6
jmp 0x1800289aa
mov dword [rsp + 0x34], 0x14
jmp 0x1800289aa
mov r9d, 0x159cf
lea rax, [0x18009a354]
mov ebx, 0xb
mov ecx, ebx
mov qword [rsp + 0x20], rax
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.1800089e4
mov dword [rsp + 0x34], ebx
jmp 0x18002dbf9
lea rdx, str.too_many_levels_of_trigger_recursion
mov dword [rsp + 0x34], r11d
mov rcx, r8
call fcn.18002204c
jmp 0x18002dbf9
or ebx, 0xffffffff
mov dword [rsp + 0x34], 9
mov rsi, qword [rsp + 0x40]
mov edi, 1
mov eax, dword [rsp + 0x34]
jmp 0x1800289bc
mov dword [r15 + 0x38], ecx
mov al, byte [r13 + 8]
mov byte [r15 + 0xc2], al
mov dword [r15 + 0x34], ebx
test ecx, ecx
je 0x18002deef
mov rcx, r15
cmp word [r13 + 2], r10w
je 0x18002deb9
movzx r8d, word [r13 + 2]
lea rax, [0x180000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0x9adf0]
call fcn.18002204c
mov r9, qword [r13 + 0x10]
test r9, r9
je 0x18002dec9
mov r8, qword [r15 + 0xa8]
lea rdx, str._z:__s
mov rcx, r12
call fcn.180008884
mov qword [r15 + 0xa8], rax
jmp 0x18002dec9
mov r8, qword [r13 + 0x10]
lea rdx, [0x1800951f0]
call fcn.18002204c
mov rax, qword [r15 + 0xa8]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [r15 + 0xf0]
mov r8d, ebx
mov ecx, dword [r13 + 4]
mov qword [rsp + 0x20], rax
call fcn.1800089e4
mov rcx, r15
call fcn.1800244c0
mov rsi, qword [rsp + 0x40]
mov ecx, 5
mov ebx, dword [rsp + 0x38]
mov r15d, eax
mov r13d, dword [rsp + 0x30]
cmp eax, ecx
mov rax, qword [rsp + 0x58]
lea edi, [rcx - 4]
jne 0x18002df21
mov dword [rax + 0x38], ecx
jmp 0x18002e1b1
mov eax, dword [rax + 0x38]
neg eax
sbb r15d, r15d
and r15d, 0xffffff9c
add r15d, 0x65
jmp 0x18002e1b1
xor edx, edx
mov rcx, r15
call fcn.180024470
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1800289aa
mov rax, qword [r15]
cmp dword [rax + 0x2a0], r10d
je 0x18002df70
cmp dword [r15 + 0x40], r10d
je 0x18002df70
lea edx, [r10 + 1]
mov rcx, r15
call fcn.18002437c
xor r10d, r10d
mov eax, dword [r15 + 0x30]
mov edi, r10d
add eax, 2
or eax, 1
mov dword [r15 + 0x30], eax
movsxd rax, dword [r13 + 4]
imul rsi, rax, 0x38
add rsi, r14
mov qword [r15 + 0xa0], rsi
cmp dword [r13 + 8], r10d
jle 0x18002dfeb
lea rbx, [rsi + 8]
mov eax, 0x1000
test word [rbx], ax
je 0x18002dfbe
movsxd rax, edi
imul rcx, rax, 0x38
add rcx, rsi
call fcn.180020bd8
test eax, eax
jne 0x18002e15b
movzx eax, word [rbx]
mov ecx, 0x202
and ax, cx
mov ecx, 2
cmp ax, cx
jne 0x18002dfdc
lea rcx, [rbx - 8]
call fcn.180020b78
inc edi
add rbx, 0x38
cmp edi, dword [r13 + 8]
jl 0x18002df9d
xor r10d, r10d
cmp byte [r12 + 0x61], r10b
jne 0x18002e15b
mov eax, 4
test byte [r12 + 0x68], al
je 0x18002e01a
mov rdx, qword [r12 + 0xf0]
xor r9d, r9d
mov r8, r15
mov ecx, eax
call qword [r12 + 0xe8]
mov edi, 1
mov rcx, r13
sub rcx, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
add edx, edi
mov dword [r15 + 0x34], edx
lea r15d, [rdi + 0x63]
jmp 0x18002dc78
mov r9d, 0x152d5
jmp 0x18002dde6
mov dword [rsp + 0x34], 0x204
jmp 0x1800289aa
mov eax, 0xd
jmp 0x18002dbfd
mov dword [rsp + 0x34], eax
jmp 0x1800289aa
mov eax, 2
mov dword [rsp + 0x34], 6
mov byte [r15 + 0xc2], al
jmp 0x18002db94
mov eax, 7
mov esi, eax
mov dword [rsp + 0x34], eax
mov rcx, r12
call fcn.18003f140
mov ebx, dword [rsp + 0x38]
mov eax, 7
mov r13d, dword [rsp + 0x30]
cmp esi, eax
je 0x18002e164
mov rsi, qword [rsp + 0x40]
xor r10d, r10d
mov eax, dword [rsp + 0x34]
lea edi, [r10 + 1]
jmp 0x1800289c1
call fcn.18002631c
mov r8, rax
lea rdx, [0x1800951f0]
mov rcx, r15
call fcn.18002204c
jmp 0x18002dbf9
mov r12, rcx
mov r15, qword [rsp + 0x58]
lea rdx, str.string_or_blob_too_big
mov rcx, r15
call fcn.18002204c
mov dword [rsp + 0x34], 0x12
jmp 0x18002dbf9
call qword [rdi + 0x38]
jmp 0x18002e15b
mov ebx, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x30]
mov al, byte [r12 + 0x61]
neg al
sbb eax, eax
and eax, 0xfffffffe
add eax, 9
mov ecx, eax
mov dword [rsp + 0x34], eax
mov dword [r15 + 0x38], eax
call fcn.18007450c
mov r8, rax
lea rdx, [0x1800951f0]
mov rcx, r15
call fcn.18002204c
jmp 0x18002e0be
mov r12, qword [rsp + 0x50]
mov ebx, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x30]
mov rcx, r12
call fcn.180007044
mov rcx, qword [rsp + 0x58]
lea rdx, [0x180095de0]
call fcn.18002204c
mov eax, 7
mov dword [rsp + 0x34], eax
jmp 0x18002e0be
mov eax, dword [rsp + 0x34]
mov r12, qword [rsp + 0x50]
jmp 0x1800289ae
mov r12, qword [rsp + 0x50]
mov ebx, dword [rsp + 0x38]
mov edi, 1
mov rsi, qword [rsp + 0x40]
mov r13d, dword [rsp + 0x30]
cmp r13d, ebx
jb 0x18002e1e8
mov rax, qword [r12 + 0x1c0]
test rax, rax
je 0x18002e1e8
mov rcx, qword [r12 + 0x1c8]
add ebx, dword [r12 + 0x1d0]
call rax
xor r10d, r10d
test eax, eax
je 0x18002e1b1
or ebx, 0xffffffff
lea eax, [r10 + 9]
jmp 0x1800289c1
mov rcx, qword [rsp + 0x58]
add dword [rcx + 0xe4], r13d
call fcn.180023200
mov eax, r15d
mov rcx, qword [rbp + 0x110]
xor rcx, rsp
call fcn.1800773b0
lea r11, [rsp + 0x240]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret