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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0x210]
sub rsp, 0x310
mov rax, qword [0x180185680]
xor rax, rsp
mov qword [rbp + 0x1e0], rax
mov rax, qword [rcx + 0x88]
xor r14d, r14d
mov r12, qword [rcx]
mov ebx, r14d
mov rsi, qword [rcx + 0x68]
mov r13, rcx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x30], rax
xor al, al
mov byte [rsp + 0x68], al
movzx eax, byte [r12 + 0x5e]
mov byte [rsp + 0x40], al
mov qword [rsp + 0x58], rcx
mov dword [rsp + 0x38], r14d
mov qword [rsp + 0x60], r12
mov dword [rsp + 0x78], r14d
mov dword [rsp + 0x7c], ebx
mov qword [rsp + 0x50], rsi
call fcn.1800735b0
mov eax, 0xffffffff
cmp qword [r12 + 0x1b8], rbx
je 0x18007ad6b
mov edi, dword [r12 + 0x1c8]
xor edx, edx
mov eax, dword [r13 + 0xe4]
div edi
sub edi, edx
jmp 0x18007ad6d
mov edi, eax
cmp dword [r13 + 0x38], 7
mov r10d, 1
mov qword [rsp + 0x348], r15
movaps xmmword [rsp + 0x300], xmm6
movaps xmmword [rsp + 0x2f0], xmm7
mov dword [rsp + 0x3c], edi
je 0x18007ca29
mov qword [r13 + 0x48], r14
mov qword [r13 + 0xa0], r14
mov eax, dword [r12 + 0x168]
mov dword [r12 + 0x240], r14d
test eax, eax
jne 0x1800805e9
movsxd rax, dword [r13 + 0x34]
lea rdx, [0x180000000]
mov rdi, qword [rsp + 0x48]
mov r9d, 0x2400
xorps xmm7, xmm7
lea rcx, [rax + rax*2]
lea r15, [rdi + rcx*8]
inc ebx
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x7c], ebx
mov r11d, 0x1000
movzx ebx, byte [r15]
mov r8d, 0x80
cmp ebx, 0xa8
ja case.0x18007ae11.86
mov ecx, dword [rdx + rbx*4 + 0x80700]
mov eax, ebx
add rcx, rdx
jmp rcx
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
sub rcx, rdi
imul r8, rax, 0x38
mov eax, 4
mov word [r8 + rsi + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + rsi], rax
jmp 0x18007c349
movsxd rax, dword [r15 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + rsi]
mov word [rdx + rsi + 8], r8w
lea rcx, [rax + rax*2]
lea r15, [rdi + rcx*8]
jmp 0x18007b5b6
movsxd rax, dword [r15 + 4]
imul rcx, rax, 0x38
mov eax, dword [r15 + 0xc]
dec eax
cdqe
mov qword [rcx + rsi], rax
mov eax, 4
mov word [rcx + rsi + 8], ax
cmp dword [r15 + 8], 0
jne 0x18007f8f4
jmp case.0x18007ae11.86
movsxd rax, dword [r15 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + rsi]
lea rcx, [rax + rax*2]
mov eax, dword [rdi + rcx*8 + 8]
dec eax
mov word [rdx + rsi + 8], r8w
cdqe
lea rcx, [rax + rax*2]
lea r15, [rdi + rcx*8]
jmp 0x18007b5b6
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
sub rbx, rdi
imul r8, rax, 0x38
mov eax, 4
movsxd rcx, dword [r8 + rsi]
mov word [r8 + rsi + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
lea rcx, [rcx + rcx*2]
sar rdx, 2
lea r15, [rdi + rcx*8]
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + rsi], rax
jmp 0x18007b5b6
movsxd rax, dword [r15 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + rsi + 8], 1
je case.0x18007ae11.86
mov rcx, r15
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rdi
imul rcx
mov rbx, rdx
mov rdx, qword [rsp + 0x30]
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
mov ecx, dword [rdx + 4]
add rbx, rax
test ecx, ecx
jne 0x18008004a
mov rdx, qword [r13 + 0x100]
test rdx, rdx
je 0x180080045
mov rax, qword [rdx + 8]
mov rcx, rdx
dec dword [r13 + 0x110]
mov qword [r13 + 0x100], rax
mov eax, dword [r13 + 0x3c]
add dword [r12 + 0x78], eax
mov dword [r12 + 0x74], eax
call fcn.180074290
mov r15, qword [rsp + 0x30]
mov rdi, qword [r13 + 0x88]
mov qword [rsp + 0x48], rdi
cmp dword [r15 + 8], 4
jne 0x18007afbc
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [rdi + rcx*8 + 8]
dec eax
mov rsi, qword [r13 + 0x68]
cdqe
mov qword [rsp + 0x50], rsi
lea rcx, [rax + rax*2]
lea r15, [rdi + rcx*8]
jmp 0x18007b5aa
movsxd rax, dword [r15 + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x68]
test word [rcx + 8], r9w
je 0x18007b00e
call fcn.18007ac60
mov rcx, rax
lea rdx, [0x180000000]
movsxd rax, dword [r15 + 4]
mov r10d, 1
mov r9d, 0x2400
mov qword [rcx], rax
jmp case.0x18007ae11.86
mov eax, 4
mov word [rcx + 8], ax
movsxd rax, dword [r15 + 4]
mov qword [rcx], rax
jmp case.0x18007ae11.86
movsxd rax, dword [r15 + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r9w
je 0x18007b05c
mov rcx, rdx
call fcn.18007ac60
mov rdx, rax
mov r10d, 1
mov rax, qword [r15 + 0x10]
mov r9d, 0x2400
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x18007b5b6
mov eax, 4
mov word [rdx + 8], ax
mov rax, qword [r15 + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x18007b5b6
movsxd rax, dword [r15 + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r9w
je 0x18007b09e
mov rcx, rdx
call fcn.18007ac60
mov rdx, rax
mov r10d, 1
mov r9d, 0x2400
mov eax, 8
mov word [rdx + 8], ax
mov rax, qword [r15 + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x18007b5b6
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, qword [r13 + 0x68]
test word [rbx + 8], r9w
je 0x18007b0e0
mov rcx, rbx
call fcn.18007ac60
mov rcx, qword [rsp + 0x30]
mov rbx, rax
jmp 0x18007b0e9
mov eax, 4
mov word [rbx + 8], ax
mov rdx, qword [rcx + 0x10]
mov byte [rcx], 0x48
test rdx, rdx
jne 0x18007b0fa
mov eax, r14d
jmp 0x18007b10f
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x18007b101
and eax, 0x3fffffff
movzx edi, byte [rsp + 0x40]
mov dword [rcx + 4], eax
cmp dil, 1
je 0x18007b1a3
mov r9b, 1
mov qword [rsp + 0x20], r14
mov r8d, 0xffffffff
mov rcx, rbx
call fcn.180070d20
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x180080386
test byte [rbx + 8], 2
je 0x18007b163
cmp byte [rbx + 0xa], dil
je 0x18007b163
movzx edx, dil
mov rcx, rbx
call fcn.18004fc70
test eax, eax
jne 0x18007ca25
mov rcx, qword [rsp + 0x30]
mov eax, 0x800
or word [rbx + 8], ax
mov dword [rbx + 0x20], r14d
cmp byte [rcx + 1], 0xf9
jne 0x18007b191
mov rdx, qword [rcx + 0x10]
test rdx, rdx
je 0x18007b191
mov rcx, r12
call fcn.18004ceb0
mov rcx, qword [rsp + 0x30]
mov byte [rcx + 1], 0xf9
mov rax, qword [rbx + 0x10]
mov qword [rcx + 0x10], rax
mov eax, dword [rbx + 0xc]
mov dword [rcx + 4], eax
cmp eax, dword [r12 + 0x7c]
jg 0x180080386
mov r15, qword [rsp + 0x30]
mov r9d, 0x2400
jmp 0x18007b1c0
movzx edi, byte [rsp + 0x40]
movsxd rax, dword [r15 + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x68]
test word [rdx + 8], r9w
je 0x18007b1e4
mov rcx, rdx
call fcn.18007ac60
mov rdx, rax
mov r9d, 0x2400
mov eax, 0xa02
mov word [rdx + 8], ax
mov rax, qword [r15 + 0x10]
mov qword [rdx + 0x10], rax
mov eax, dword [r15 + 4]
mov dword [rdx + 0xc], eax
mov byte [rdx + 0xa], dil
movsxd rax, dword [r15 + 0xc]
test eax, eax
jle 0x18007febe
imul rcx, rax, 0x38
movzx eax, word [r15 + 2]
cmp qword [rcx + rsi], rax
jne 0x18007febe
mov rdi, qword [rsp + 0x48]
mov eax, 0xa10
mov word [rdx + 8], ax
jmp 0x18007b5b0
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x68]
test word [rcx + 8], r9w
je 0x18007b260
call fcn.18007ac60
mov rcx, rax
mov r10d, 1
mov r9d, 0x2400
jmp 0x18007b269
mov eax, 4
mov word [rcx + 8], ax
cmp dword [rbx + 4], 0
mov esi, r10d
mov edi, dword [rbx + 0xc]
mov edx, 0x101
mov eax, dword [rbx + 8]
cmovne si, dx
sub edi, eax
mov word [rcx + 8], si
mov dword [rcx + 0xc], r14d
lea rbx, [rcx + 8]
test edi, edi
jle 0x18007feb4
test word [rbx + 0x38], r9w
lea rbx, [rbx + 0x38]
je 0x18007b2af
lea rcx, [rbx - 8]
call fcn.180070420
mov r9d, 0x2400
dec edi
mov word [rbx], si
mov dword [rbx + 4], r14d
test edi, edi
jg 0x18007b295
mov r15, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
jmp 0x18007b5b0
movsxd rax, dword [r15 + 4]
imul rcx, rax, 0x38
mov eax, 0xff61
add rcx, rsi
and word [rcx + 8], ax
or word [rcx + 8], 1
jmp case.0x18007ae11.86
movsxd rax, dword [r15 + 8]
imul rbx, rax, 0x38
add rbx, qword [r13 + 0x68]
test word [rbx + 8], r9w
je 0x18007b30e
mov rcx, rbx
call fcn.18007ac60
mov rbx, rax
jmp 0x18007b317
mov eax, 4
mov word [rbx + 8], ax
mov rax, qword [rsp + 0x30]
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x20], r14
mov r8d, dword [rax + 4]
mov rdx, qword [rax + 0x10]
call fcn.180070d20
movzx eax, byte [rsp + 0x40]
mov byte [rbx + 0xa], al
jmp 0x18007b5a5
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
add rdi, qword [r13 + 0x80]
lea rcx, [rdi - 0x38]
call fcn.180070bd0
test eax, eax
jne 0x180080386
movsxd rax, dword [rbx + 8]
mov r14d, 0x2400
imul rbx, rax, 0x38
add rbx, rsi
test word [rbx + 8], r14w
je 0x18007b386
mov rcx, rbx
call fcn.180070420
movups xmm0, xmmword [rdi - 0x38]
mov r15, qword [rsp + 0x30]
mov ecx, 0xebff
mov r9d, r14d
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi - 0x28]
mov rdi, qword [rsp + 0x48]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [rbx + 8]
and ax, cx
mov ecx, 0x820
or ax, cx
mov word [rbx + 8], ax
jmp 0x18007b5b0
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
add rdi, qword [rsp + 0x50]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x50]
test word [rbx + 8], r9w
jne 0x18007b3f0
cmp dword [rbx + 0x20], 0
je 0x18007b404
mov rcx, rbx
call fcn.180070470
mov r10d, 1
mov r11d, 0x1000
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rbx + 0x20], xmm0
movsd xmm1, qword [rdi + 0x30]
movsd qword [rbx + 0x30], xmm1
mov word [rdi + 8], r10w
mov dword [rdi + 0x20], r14d
test word [rbx + 8], r11w
je 0x18007b44e
mov rcx, rbx
call fcn.1800700d0
test eax, eax
jne 0x18007ca25
lea r10d, [rax + 1]
mov r11d, 0x1000
add rdi, 0x38
add rbx, 0x38
mov r9d, 0x2400
sub esi, 1
jne 0x18007b3e3
mov r15, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
jmp 0x18007b5b6
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
add rdi, qword [rsp + 0x50]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x50]
nop word [rax + rax]
mov r8d, r11d
mov rdx, rdi
mov rcx, rbx
call fcn.180070c40
mov r11d, 0x1000
test word [rbx + 8], r11w
je 0x18007b4d1
mov rcx, rbx
call fcn.1800700d0
test eax, eax
jne 0x18007ca25
mov r11d, 0x1000
mov eax, esi
dec esi
test eax, eax
je 0x18007feb4
add rbx, 0x38
add rdi, 0x38
jmp 0x18007b4a0
mov rcx, qword [rsp + 0x30]
mov r8d, r11d
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rdx, rsi
add rcx, rsi
call fcn.180070c40
jmp 0x18007b5a5
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
imul r8, rax, 0x38
movsxd rax, dword [rcx + 4]
imul rcx, rax, 0x38
add r8, rsi
mov rax, qword [rcx + rsi]
test word [r8 + 8], r9w
je 0x18007b53f
mov rdx, rax
mov rcx, r8
call fcn.1800709a0
jmp 0x18007b5a5
mov qword [r8], rax
mov eax, 4
mov word [r8 + 8], ax
mov r15, qword [rsp + 0x30]
jmp case.0x18007ae11.86
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x50]
movsxd rax, dword [rcx + 4]
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rsi, rdx
imul rbx, rax, 0x38
movzx ecx, word [rsi + 8]
add rdi, rdx
movzx eax, cl
add rbx, rdx
or al, byte [rdi + 8]
test al, 1
je 0x18007b5eb
test word [rbx + 8], r9w
je 0x18007b5d7
mov rcx, rbx
call fcn.180070420
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x30]
mov r9d, 0x2400
mov r10d, 1
lea rdx, [0x180000000]
mov r12, qword [rsp + 0x60]
add r15, 0x18
mov r13, qword [rsp + 0x58]
xor r14d, r14d
mov ebx, dword [rsp + 0x7c]
jmp 0x18007adde
mov r15, qword [rsp + 0x30]
mov rsi, rdx
mov rdi, qword [rsp + 0x48]
mov word [rbx + 8], r10w
jmp 0x18007b5b6
mov r14d, 0x4000
test r14w, cx
je 0x18007b607
mov rcx, rsi
call fcn.180070130
test eax, eax
jne 0x18007ca25
test word [rdi + 8], r14w
je 0x18007b61e
mov rcx, rdi
call fcn.180070130
test eax, eax
jne 0x18007ca25
test byte [rsi + 8], 0x12
movzx r14d, byte [rsp + 0x40]
jne 0x18007b641
xor r8d, r8d
movzx edx, r14b
mov rcx, rsi
call fcn.180070190
test eax, eax
jne 0x18007ca25
test byte [rdi + 8], 0x12
jne 0x18007b65e
xor r8d, r8d
movzx edx, r14b
mov rcx, rdi
call fcn.180070190
test eax, eax
jne 0x18007ca25
mov r14d, dword [rdi + 0xc]
add r14d, dword [rsi + 0xc]
movsxd rax, dword [r12 + 0x7c]
movsxd r15, r14d
cmp r15, rax
jg 0x180080386
xor r8d, r8d
lea edx, [r14 + 2]
cmp rbx, rdi
mov rcx, rbx
sete r8b
call fcn.18006fef0
test eax, eax
jne 0x18007ca25
mov eax, 0x3e20
and word [rbx + 8], ax
or word [rbx + 8], 2
cmp rbx, rdi
je 0x18007b6b9
movsxd r8, dword [rdi + 0xc]
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rbx + 0x10]
call fcn.180112cb0
movsxd rcx, dword [rdi + 0xc]
add rcx, qword [rbx + 0x10]
movsxd r8, dword [rsi + 0xc]
mov rdx, qword [rsi + 0x10]
call fcn.180112cb0
mov rax, qword [rbx + 0x10]
mov byte [r15 + rax], 0
mov rax, qword [rbx + 0x10]
mov byte [rax + r15 + 1], 0
mov eax, 0x200
or word [rbx + 8], ax
movzx eax, byte [rsp + 0x40]
mov byte [rbx + 0xa], al
mov dword [rbx + 0xc], r14d
jmp 0x18007b59b
movsxd rax, dword [r15 + 4]
imul rbx, rax, 0x38
add rbx, rsi
mov rcx, rbx
call fcn.18007ac40
mov r14, qword [rsp + 0x50]
movzx r12d, ax
movsxd rax, dword [r15 + 8]
imul rsi, rax, 0x38
add rsi, r14
mov rcx, rsi
call fcn.18007ac40
movzx ecx, word [rsi + 8]
movzx r15d, ax
mov rax, qword [rsp + 0x30]
or cx, word [rbx + 8]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
movzx eax, r15b
add rdi, r14
and al, r12b
test al, 4
je 0x18007b86b
mov rax, qword [rsp + 0x30]
mov r14b, 1
mov rdx, qword [rsi]
mov r8, qword [rbx]
mov qword [rbp + 0x160], rdx
movzx ecx, byte [rax]
sub ecx, 0x64
je 0x18007b80a
sub ecx, 1
je 0x18007b7f5
sub ecx, 1
je 0x18007b7dc
cmp ecx, 1
je 0x18007b7b0
test r8, r8
je 0x18007b960
cmp r8, 0xffffffffffffffff
mov rax, rdx
mov r9d, 1
cqo
cmove r8, r9
idiv r8
mov qword [rbp + 0x160], rdx
jmp 0x18007b84e
test r8, r8
je 0x18007b960
cmp r8, 0xffffffffffffffff
jne 0x18007b7d2
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x18007b877
mov rax, rdx
cqo
idiv r8
jmp 0x18007b847
mov rdx, r8
lea rcx, [rbp + 0x160]
call fcn.180051620
test eax, eax
jne 0x18007b877
jmp 0x18007b84e
mov rdx, r8
lea rcx, [rbp + 0x160]
call fcn.1800515b0
test eax, eax
jne 0x18007b877
jmp 0x18007b84e
test r8, r8
js 0x18007b828
test rdx, rdx
jle 0x18007b843
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, r8
jge 0x18007b843
jmp 0x18007b877
test rdx, rdx
jns 0x18007b843
movabs rax, 0x8000000000000001
lea rcx, [r8 + 1]
sub rax, rdx
cmp rax, rcx
jg 0x18007b877
lea rax, [rdx + r8]
mov qword [rbp + 0x160], rax
mov rax, qword [rbp + 0x160]
mov qword [rdi], rax
mov eax, 0x3e20
and word [rdi + 8], ax
or word [rdi + 8], 4
jmp 0x18007b59b
test cl, 1
jne 0x18007b960
xor r14b, r14b
mov rcx, rbx
call fcn.180070600
mov rcx, rsi
movaps xmm6, xmm0
call fcn.180070600
mov rax, qword [rsp + 0x30]
movaps xmm3, xmm0
movzx ecx, byte [rax]
sub ecx, 0x64
je 0x18007b903
sub ecx, 1
je 0x18007b8fd
sub ecx, 1
je 0x18007b8f7
cmp ecx, 1
je 0x18007b8e9
mov rcx, rbx
call fcn.1800705a0
mov rcx, rsi
mov rbx, rax
call fcn.1800705a0
mov qword [rbp + 0x160], rax
test rbx, rbx
je 0x18007b960
cmp rbx, 0xffffffffffffffff
mov r9d, 1
cqo
xorps xmm3, xmm3
cmove rbx, r9
idiv rbx
cvtsi2sd xmm3, rdx
jmp 0x18007b907
ucomisd xmm6, xmm7
jp 0x18007b8f1
je 0x18007b960
divsd xmm3, xmm6
jmp 0x18007b907
mulsd xmm3, xmm6
jmp 0x18007b907
subsd xmm3, xmm6
jmp 0x18007b907
addsd xmm3, xmm6
movsd qword [rsp + 0x70], xmm3
movsd xmm0, qword [rsp + 0x70]
movsd qword [rbp - 0x80], xmm0
movsd xmm2, qword [rsp + 0x70]
movsd xmm1, qword [rbp - 0x80]
ucomisd xmm2, xmm1
jp 0x18007b960
jne 0x18007b960
mov eax, 0x3e20
movsd qword [rdi], xmm3
and word [rdi + 8], ax
or r15b, r12b
or word [rdi + 8], 8
test r15b, 8
jne 0x18007feb4
test r14b, r14b
jne 0x18007feb4
mov rcx, rdi
call fcn.180070690
jmp 0x18007b59b
mov r9d, 0x2400
test word [rdi + 8], r9w
je 0x18007b975
mov rcx, rdi
jmp 0x18007b596
mov r15, qword [rsp + 0x30]
mov r10d, 1
mov rsi, qword [rsp + 0x50]
mov word [rdi + 8], r10w
mov rdi, qword [rsp + 0x48]
jmp 0x18007b5b6
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
test eax, eax
je 0x18007b54c
imul rcx, rax, 0x38
add rcx, rsi
test word [rcx + 8], r9w
je 0x18007b9bf
xor edx, edx
call fcn.1800709a0
jmp 0x18007b5a5
mov r15, qword [rsp + 0x30]
mov eax, 4
mov word [rcx + 8], ax
mov qword [rcx], r14
jmp case.0x18007ae11.86
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
add rdi, rsi
add rcx, rsi
movsxd rax, dword [rax + 0xc]
imul rsi, rax, 0x38
movzx eax, byte [rcx + 8]
add rsi, qword [rsp + 0x50]
or al, byte [rdi + 8]
test al, 1
je 0x18007ba35
test word [rsi + 8], r9w
je 0x18007ba1c
mov rcx, rsi
jmp 0x18007b596
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
mov word [rsi + 8], r10w
mov rsi, qword [rsp + 0x50]
jmp case.0x18007ae11.86
call fcn.1800705a0
mov rcx, rdi
mov rbx, rax
call fcn.1800705a0
mov r15, qword [rsp + 0x30]
mov rcx, rax
movzx edx, byte [r15]
cmp dl, 0x60
jne 0x18007ba5b
and rbx, rax
jmp 0x18007bacf
cmp dl, 0x61
jne 0x18007ba65
or rbx, rcx
jmp 0x18007bacf
test rcx, rcx
je 0x18007bacf
jns 0x18007ba7f
mov eax, 0xc5
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x18007ba85
neg rcx
cmp rcx, 0x40
jl 0x18007ba9d
test rbx, rbx
jns 0x18007ba98
cmp dl, 0x62
je 0x18007ba98
mov rbx, 0xffffffffffffffff
jmp 0x18007bacf
mov rbx, r14
jmp 0x18007bacf
cmp dl, 0x62
jne 0x18007baaa
shl rbx, cl
mov r8, rbx
jmp 0x18007bacc
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x18007bacc
mov eax, 0x40
mov rdx, 0xffffffffffffffff
sub al, cl
movzx ecx, al
shl rdx, cl
or r8, rdx
mov rbx, r8
mov rdi, qword [rsp + 0x48]
mov eax, 0x3e20
and word [rsi + 8], ax
or word [rsi + 8], 4
mov qword [rsi], rbx
mov rsi, qword [rsp + 0x50]
jmp 0x18007b5aa
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, rsi
mov rcx, rbx
call fcn.1800705a0
mov qword [rbx], rax
mov rcx, rax
mov eax, 0x3e20
and word [rbx + 8], ax
or word [rbx + 8], 4
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
add rax, rcx
mov qword [rbx], rax
jmp 0x18007b5a5
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, rsi
movzx eax, word [rbx + 8]
test al, 4
jne 0x18007bb8d
movzx r8d, byte [rsp + 0x40]
mov dl, 0x43
mov rcx, rbx
call fcn.18007aa80
movzx eax, word [rbx + 8]
test al, 4
jne 0x18007bb7a
mov r15, qword [rsp + 0x30]
cmp dword [r15 + 8], 0
je 0x180080138
mov r10d, 1
jmp 0x18007c34e
mov r10d, 1
lea rdx, [0x180000000]
mov r9d, 0x2400
mov r15, qword [rsp + 0x30]
mov ecx, 0x3e20
and ax, cx
or ax, 4
mov word [rbx + 8], ax
jmp case.0x18007ae11.86
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, rsi
test byte [rbx + 8], 4
je 0x18007b54c
mov rcx, rbx
call fcn.180070600
mov eax, 0x3e20
movsd qword [rbx], xmm0
and word [rbx + 8], ax
or word [rbx + 8], 8
jmp 0x18007b5a5
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, rsi
test word [rbx + 8], ax
je 0x18007bc09
mov rcx, rbx
call fcn.180070130
mov dword [rsp + 0x38], eax
jmp 0x18007bc0e
mov dword [rsp + 0x38], r14d
mov rax, qword [rsp + 0x30]
mov rcx, rbx
movzx r8d, byte [rsp + 0x40]
movzx edx, byte [rax + 8]
call fcn.180070890
mov eax, dword [rsp + 0x38]
test eax, eax
je 0x18007b5a5
mov r14d, 7
mov edi, dword [rsp + 0x3c]
mov ebx, 1
jmp 0x18007cfde
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
movzx ebx, word [rcx + rsi + 8]
lea r14, [rcx + rsi]
mov rax, qword [rsp + 0x30]
add rdi, rsi
movzx edx, bx
movzx esi, word [rdi + 8]
or dx, si
test dl, 1
je 0x18007bd08
movzx eax, word [rax + 2]
test al, al
jns 0x18007bcb6
movzx eax, bl
and al, sil
test al, 1
je 0x18007bca1
mov eax, 0x100
test ax, bx
jne 0x18007bca1
xor eax, eax
jmp 0x18007be11
movzx eax, bx
not ax
and eax, 1
lea eax, [rax*2 - 1]
jmp 0x18007be11
mov rdi, qword [rsp + 0x48]
test al, 0x20
je 0x18007bcf1
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x50]
mov r15, qword [rsp + 0x30]
mov dword [rsp + 0x78], r10d
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov eax, 0x3e20
add rcx, rsi
and word [rcx + 8], ax
or word [rcx + 8], 1
jmp 0x18007b5b6
test al, 0x10
jne 0x18007c349
mov r15, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x50]
jmp 0x18007b5b6
movzx eax, byte [rax + 2]
and al, 0x47
cmp al, 0x43
jb 0x18007bd88
movzx ecx, bx
test dl, 2
je 0x18007bd4e
movzx eax, sil
and al, 0xe
cmp al, 2
jne 0x18007bd33
xor edx, edx
mov rcx, rdi
call fcn.18007a9e0
movzx ebx, word [r14 + 8]
movzx eax, bl
movzx ecx, bx
and al, 0xe
cmp al, 2
jne 0x18007bd4e
xor edx, edx
mov rcx, r14
call fcn.18007a9e0
movzx ecx, word [r14 + 8]
and cl, byte [rdi + 8]
test cl, 4
je 0x18007bdf1
mov rcx, qword [r14]
mov r10d, 1
mov rdx, qword [rdi]
mov r9d, 0x2400
cmp rcx, rdx
jle 0x18007bd79
mov eax, r10d
jmp 0x18007be11
xor eax, eax
cmp rcx, rdx
setge al
dec eax
jmp 0x18007be11
cmp al, 0x42
jne 0x18007bdf1
movzx r15d, byte [rsp + 0x40]
test sil, 2
jne 0x18007bdc3
test sil, 0xc
je 0x18007bdc3
mov r8b, 1
movzx edx, r15b
mov rcx, rdi
call fcn.180070190
movzx eax, si
mov r12d, 0x3e20
xor ax, word [rdi + 8]
and ax, r12w
xor si, ax
jmp 0x18007bdc9
mov r12d, 0x3e20
test bl, 2
jne 0x18007bdf1
test bl, 0xc
je 0x18007bdf1
mov r8b, 1
movzx edx, r15b
mov rcx, r14
call fcn.180070190
movzx eax, bx
xor ax, word [r14 + 8]
and ax, r12w
xor bx, ax
mov rax, qword [rsp + 0x30]
mov rdx, rdi
mov rcx, r14
mov r8, qword [rax + 0x10]
call fcn.1800763c0
mov r10d, 1
mov r9d, 0x2400
mov r15, qword [rsp + 0x30]
lea r8, [0x180000000]
movzx ecx, byte [r15]
test eax, eax
jns 0x18007be30
movzx ecx, byte [rcx + r8 + 0x1537c4]
jmp 0x18007be46
jne 0x18007be3d
movzx ecx, byte [rcx + r8 + 0x150e90]
jmp 0x18007be46
movzx ecx, byte [rcx + r8 + 0x14e4c0]
mov word [rdi + 8], si
mov word [r14 + 8], bx
movzx edx, cl
movzx ecx, word [r15 + 2]
test cl, 0x20
je 0x18007bea1
mov dword [rsp + 0x78], eax
test cl, 8
je 0x18007be76
xor eax, eax
cmp byte [r15], 0x35
sete al
cmp eax, edx
je 0x18007feb9
movsxd rax, dword [r15 + 8]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
imul rcx, rax, 0x38
mov eax, 0x3e20
add rcx, rsi
and word [rcx + 8], ax
or word [rcx + 8], 4
mov qword [rcx], rdx
jmp 0x18007b5b6
test edx, edx
jne 0x18007f8f4
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
jmp 0x18007b5b6
cmp dword [rsp + 0x78], 0
jne 0x18007c34e
jmp case.0x18007ae11.86
mov r12, qword [rsp + 0x30]
test byte [r12 + 2], 1
je 0x18007bede
mov r14, qword [r12 - 8]
add r14, 4
mov r9d, dword [r12 + 4]
xor edi, edi
mov ecx, dword [r12 + 8]
xor ebx, ebx
mov r13, qword [r12 + 0x10]
movsxd r12, dword [r12 + 0xc]
mov dword [rbp - 0x78], r9d
mov dword [rsp + 0x70], ecx
test r12, r12
jle 0x180080021
lea rsi, [r13 + 0x20]
nop dword [rax + rax]
test r14, r14
je 0x18007bf1b
mov r8d, dword [r14 + rbx*4]
jmp 0x18007bf1e
mov r8d, edi
mov rax, qword [r13 + 0x18]
movzx r15d, byte [rbx + rax]
lea eax, [r8 + rcx]
movsxd rcx, eax
lea eax, [r8 + r9]
mov r8, qword [rsi]
imul rdx, rcx, 0x38
movsxd rcx, eax
add rdx, qword [rsp + 0x50]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
call fcn.1800763c0
mov dword [rsp + 0x78], eax
mov r8d, eax
test eax, eax
jne 0x18007bf75
mov r9d, dword [rbp - 0x78]
inc edi
mov ecx, dword [rsp + 0x70]
inc rbx
add rsi, 8
cmp rbx, r12
jl 0x18007bf10
jmp 0x18007b59b
mov rsi, qword [rsp + 0x50]
test r15b, r15b
mov r15, qword [rsp + 0x30]
je 0x18007febe
mov rdi, qword [rsp + 0x48]
neg r8d
mov dword [rsp + 0x78], r8d
jmp 0x18007b5aa
mov r8d, dword [rsp + 0x78]
mov rax, qword [rsp + 0x30]
test r8d, r8d
jns 0x18007bfbe
mov eax, dword [rax + 4]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r15, [rdi + rax*8]
jmp case.0x18007ae11.86
jne 0x18007bfd5
mov eax, dword [rax + 8]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r15, [rdi + rax*8]
jmp case.0x18007ae11.86
mov eax, dword [rax + 0xc]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r15, [rdi + rax*8]
jmp case.0x18007ae11.86
mov r12, qword [rsp + 0x30]
mov r14d, 2
mov edx, r14d
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, rsi
call fcn.180070630
movsxd rcx, dword [r12 + 8]
mov edx, r14d
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, rsi
call fcn.180070630
mov rdx, r12
lea r8, [0x180000000]
lea eax, [rax + rbx*2]
add eax, ebx
cmp byte [r12], 0x2c
cdqe
jne 0x18007c042
movzx r8d, byte [rax + r8 + 0x14e9c0]
jmp 0x18007c04b
movzx r8d, byte [rax + r8 + 0x150040]
movsxd rax, dword [r12 + 0xc]
mov r10d, 1
imul rcx, rax, 0x38
mov eax, 0x3e20
movzx edx, word [rcx + rsi + 8]
and dx, ax
cmp r8b, r14b
jne 0x18007c072
movzx eax, r10w
jmp 0x18007c07f
movzx eax, r8b
mov qword [rcx + rsi], rax
mov eax, 4
or dx, ax
mov r15, r12
mov word [rcx + rsi + 8], dx
mov r9d, 0x2400
jmp 0x18007b5b6
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
mov edx, dword [rbx + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
call fcn.180070630
movsxd rdx, dword [rbx + 0x10]
mov r9d, 0x2400
movsxd rcx, eax
movsxd rax, dword [rbx + 8]
xor rdx, rcx
imul rcx, rax, 0x38
add rcx, rsi
test word [rcx + 8], r9w
je 0x18007c0dc
call fcn.1800709a0
mov r15, rbx
jmp 0x18007b5aa
mov eax, 4
mov qword [rcx], rdx
mov word [rcx + 8], ax
mov r15, rbx
jmp 0x18007b5b0
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rcx, rsi
add rbx, rsi
test byte [rcx + 8], 1
jne 0x18007c153
xor edx, edx
call fcn.180070630
test eax, eax
mov rcx, r14
mov r9d, 0x2400
sete cl
test word [rbx + 8], r9w
je 0x18007c13d
mov rdx, rcx
mov rcx, rbx
call fcn.1800709a0
jmp 0x18007b5a5
mov r15, qword [rsp + 0x30]
mov eax, 4
mov word [rbx + 8], ax
mov qword [rbx], rcx
jmp 0x18007b5b0
test word [rbx + 8], r9w
je 0x18007c167
mov rcx, rbx
call fcn.180070420
jmp 0x18007b5a5
mov r15, qword [rsp + 0x30]
mov word [rbx + 8], r10w
jmp case.0x18007ae11.86
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rdi, rsi
add rbx, rsi
test word [rbx + 8], r9w
je 0x18007c1a2
mov rcx, rbx
call fcn.180070420
jmp 0x18007c1a7
mov word [rbx + 8], r10w
test byte [rdi + 8], 1
jne 0x18007fea5
mov eax, 4
mov rcx, rdi
mov word [rbx + 8], ax
call fcn.1800705a0
not rax
mov qword [rbx], rax
jmp 0x18007b5a0
mov r8, qword [r13 + 0x100]
test r8, r8
je 0x18007c247
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [r13 + 0x88]
mov r9, qword [r8 + 0x30]
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 0x18007c349
mov r15, qword [rsp + 0x30]
bts eax, edx
mov byte [rcx + r9], al
lea rdx, [0x180000000]
mov rcx, qword [r13 + 0x88]
mov r9d, 0x2400
mov eax, dword [rcx + 4]
mov dword [r15 + 4], eax
jmp case.0x18007ae11.86
mov rax, qword [rsp + 0x30]
mov rcx, qword [r13 + 0x88]
mov eax, dword [rax + 4]
cmp dword [rcx + 4], eax
je 0x18007c349
mov r15, qword [rsp + 0x30]
mov eax, dword [rcx + 4]
mov dword [r15 + 4], eax
jmp case.0x18007ae11.86
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
add rcx, rsi
mov edx, dword [rax + 0xc]
call fcn.180070630
mov r15, qword [rsp + 0x30]
test eax, eax
jne 0x18007f8f4
jmp 0x18007b5aa
mov rax, qword [rsp + 0x30]
mov edx, r14d
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 4]
sete dl
imul rcx, rax, 0x38
add rcx, rsi
call fcn.180070630
mov r15, qword [rsp + 0x30]
test eax, eax
je 0x18007f8f4
jmp 0x18007b5aa
mov rax, qword [rsp + 0x30]
mov r15, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + rsi + 8], 1
jne 0x18007c34e
jmp case.0x18007ae11.86
mov rax, qword [rsp + 0x30]
mov r15, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + rsi + 8], 1
je 0x18007c34e
jmp case.0x18007ae11.86
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], 0
je 0x18007b54c
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
test word [rcx + 8], r9w
je 0x18007c36e
call fcn.180070420
mov r10d, 1
mov r15, qword [rsp + 0x30]
mov eax, dword [r15 + 8]
mov r9d, 0x2400
mov rsi, qword [rsp + 0x50]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r15, [rdi + rcx*8]
jmp 0x18007b5b6
mov word [rcx + 8], r10w
jmp 0x18007c349
mov rax, qword [r13 + 0x78]
lea rdx, [rbp - 0x58]
mov rbx, qword [rsp + 0x30]
movsxd rcx, dword [rbx + 4]
mov rcx, qword [rax + rcx*8]
mov qword [rbp - 0x60], rcx
lea rcx, [rbp - 0x60]
mov eax, dword [rbx + 8]
mov dword [rbp - 0x58], eax
call fcn.180075a50
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007cfcf
movsxd rax, dword [rbx + 0xc]
mov r10, qword [rbp - 0x60]
mov rdi, qword [rsp + 0x58]
imul r13, rax, 0x38
mov eax, dword [rdi + 0x30]
mov r12, qword [r10 + 0x60]
add r13, rsi
cmp dword [r10 + 0x28], eax
je 0x18007c51b
cmp byte [r10 + 2], 0
je 0x18007c43f
cmp byte [r10], 3
jne 0x18007c405
movsxd rax, dword [r10 + 0x2c]
imul rdx, rax, 0x38
mov ecx, dword [rdx + rsi + 0xc]
mov dword [r10 + 0x74], ecx
mov rax, qword [rbp - 0x60]
mov dword [rax + 0x70], ecx
mov rcx, qword [rdx + rsi + 0x10]
mov rax, qword [rbp - 0x60]
mov qword [rax + 0x68], rcx
mov rcx, qword [rbp - 0x60]
jmp 0x18007c483
mov r9d, 0x2400
test word [r13 + 8], r9w
je 0x18007c427
mov rcx, r13
call fcn.180070420
mov rdi, qword [rsp + 0x48]
mov r15, rbx
jmp 0x18007b5aa
mov rdi, qword [rsp + 0x48]
mov r10d, 1
mov word [r13 + 8], r10w
mov r15, rbx
jmp 0x18007b5b6
mov rbx, qword [r10 + 0x38]
mov rcx, rbx
call fcn.180066360
mov ecx, dword [rbx + 0x40]
mov rax, qword [rbp - 0x60]
mov dword [rax + 0x70], ecx
mov rcx, rbx
mov rdx, qword [rbp - 0x60]
add rdx, 0x74
call fcn.180066a80
mov rcx, qword [rbp - 0x60]
mov r8, qword [rsp + 0x60]
mov qword [rcx + 0x68], rax
mov rcx, qword [rbp - 0x60]
mov eax, dword [r8 + 0x7c]
cmp dword [rcx + 0x70], eax
ja 0x180080380
mov eax, dword [rdi + 0x30]
mov dword [rcx + 0x28], eax
mov rax, qword [rbp - 0x60]
mov rcx, qword [rax + 0x68]
movzx eax, byte [rcx]
cmp al, 0x80
jae 0x18007c4a3
movzx eax, al
mov dword [r12], eax
mov al, 1
jmp 0x18007c4ab
mov rdx, r12
call fcn.180051410
movzx ecx, al
mov rax, qword [rbp - 0x60]
mov dword [rax + 0x48], ecx
mov rax, qword [rbp - 0x60]
mov word [rax + 0x52], r14w
mov r10, qword [rbp - 0x60]
mov eax, dword [r12]
cmp dword [r10 + 0x74], eax
jae 0x18007c515
mov qword [r10 + 0x68], r14
mov rax, qword [rbp - 0x60]
mov dword [rax + 0x74], r14d
mov eax, dword [r12]
cmp eax, 0x18003
ja 0x18007c4ed
mov r10, qword [rbp - 0x60]
cmp eax, dword [r10 + 0x70]
jbe 0x18007c51b
mov r9d, 0x2400
mov rdi, qword [rsp + 0x48]
mov eax, dword [rdi + 0xc]
test eax, eax
jle 0x180080142
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r15, [rdi + rax*8]
jmp 0x18007b5b0
mov rcx, qword [r10 + 0x68]
jmp 0x18007c592
movzx eax, word [r10 + 0x52]
movsxd r8, dword [rbp - 0x58]
cmp eax, r8d
jg 0x18007c769
mov eax, dword [r12]
cmp dword [r10 + 0x48], eax
jae 0x18007c6f7
mov rcx, qword [r10 + 0x68]
mov qword [rsp + 0x70], rcx
test rcx, rcx
jne 0x18007c597
xor eax, eax
lea r9, [rbp - 0x10]
mov qword [rbp - 0x10], rax
xor edx, edx
mov qword [rbp - 8], rax
mov qword [rbp], rax
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], rax
mov r8d, dword [r12]
mov rcx, qword [r10 + 0x38]
call fcn.1800710d0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x180080644
mov rcx, qword [rbp]
mov eax, dword [r12]
mov r10, qword [rbp - 0x60]
mov qword [rsp + 0x70], rcx
movzx esi, word [r10 + 0x52]
mov edx, 0x80
mov ebx, dword [r10 + 0x48]
mov edi, esi
add rbx, rcx
mov r15d, eax
add r15, rcx
mov r14d, dword [r12 + rsi*4]
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rbx]
mov dword [rbp - 0x68], eax
mov dword [r10 + rdi*4 + 0x78], eax
mov eax, dword [rbp - 0x68]
cmp eax, edx
jae 0x18007c5e9
movzx eax, al
lea rcx, [0x180000000]
inc rbx
movzx ecx, byte [rax + rcx + 0x150190]
jmp 0x18007c62f
lea rdx, [rbp - 0x68]
mov rcx, rbx
call fcn.180051410
mov rcx, qword [rbp - 0x60]
movzx eax, al
add rbx, rax
mov eax, dword [rbp - 0x68]
mov dword [rcx + rdi*4 + 0x78], eax
mov ecx, 0x80
mov eax, dword [rbp - 0x68]
cmp eax, ecx
jb 0x18007c619
add eax, 0xfffffff4
shr eax, 1
jmp 0x18007c628
lea rcx, [0x180000000]
movzx eax, byte [rax + rcx + 0x150190]
mov ecx, eax
mov edx, 0x80
inc esi
add r14, rcx
movsxd rdi, esi
mov dword [r12 + rdi*4], r14d
mov r10, qword [rbp - 0x60]
cmp esi, dword [rbp - 0x58]
jg 0x18007c64f
cmp rbx, r15
jb 0x18007c5c0
jmp 0x18007c654
cmp rbx, r15
jb 0x18007c662
cmp rbx, r15
ja 0x18007c66b
mov eax, dword [r10 + 0x70]
cmp r14, rax
jne 0x18007c66b
mov eax, dword [r10 + 0x70]
cmp r14, rax
jbe 0x18007c677
cmp dword [r12], 0
jne 0x18007c6c0
xor esi, esi
mov rbx, r15
sub ebx, dword [rsp + 0x70]
mov r14d, 0x2400
mov word [r10 + 0x52], si
mov rax, qword [rbp - 0x60]
mov dword [rax + 0x48], ebx
mov r10, qword [rbp - 0x60]
cmp qword [r10 + 0x68], 0
jne 0x18007c6b2
test word [rbp - 8], r14w
jne 0x18007c6a5
cmp dword [rbp + 0x10], 0
je 0x18007c6b2
lea rcx, [rbp - 0x10]
call fcn.180070470
mov r10, qword [rbp - 0x60]
mov r8d, dword [rbp - 0x58]
mov edx, dword [rbp - 0x68]
mov rsi, qword [rsp + 0x50]
jmp 0x18007c703
cmp qword [r10 + 0x68], 0
mov r9d, 0x2400
jne 0x18007c6ed
test word [rbp - 8], r9w
jne 0x18007c6da
cmp dword [rbp + 0x10], 0
je 0x18007c6ed
lea rcx, [rbp - 0x10]
call fcn.180070470
mov rsi, qword [rsp + 0x50]
jmp 0x18007c4ed
mov rsi, qword [rsp + 0x50]
jmp 0x18007c4f3
mov edx, r14d
mov r14d, 0x2400
mov dword [rbp - 0x68], edx
movzx eax, word [r10 + 0x52]
cmp eax, r8d
jg 0x18007c777
mov r15, qword [rsp + 0x30]
cmp byte [r15 + 1], 0xf5
jne 0x18007c735
mov rdx, qword [r15 + 0x10]
mov r8d, 0x800
mov rcx, r13
call fcn.180070c40
mov rdi, qword [rsp + 0x48]
jmp 0x18007b5aa
mov r9d, 0x2400
test word [r13 + 8], r9w
je 0x18007c754
mov rcx, r13
call fcn.180070420
mov rdi, qword [rsp + 0x48]
jmp 0x18007b5aa
mov rdi, qword [rsp + 0x48]
mov r10d, 1
mov word [r13 + 8], r10w
jmp 0x18007b5b6
mov edx, dword [r10 + r8*4 + 0x78]
mov r14d, 0x2400
mov dword [rbp - 0x68], edx
test word [r13 + 8], r14w
je 0x18007c791
mov rcx, r13
call fcn.180070420
mov r10, qword [rbp - 0x60]
mov r8d, dword [rbp - 0x58]
mov edx, dword [rbp - 0x68]
lea eax, [r8 + 1]
movsxd rcx, eax
mov eax, dword [r12 + rcx*4]
cmp dword [r10 + 0x74], eax
jb 0x18007c85e
movsxd rax, r8d
mov edi, dword [r12 + rax*4]
add rdi, qword [r10 + 0x68]
cmp edx, 0xc
jae 0x18007c7c6
mov r8, r13
mov rcx, rdi
call fcn.180075ce0
jmp 0x18007b5a0
movzx eax, byte [rsp + 0x40]
lea ebx, [rdx - 0xc]
shr ebx, 1
mov dword [r13 + 0xc], ebx
mov byte [r13 + 0xa], al
lea edx, [rbx + 2]
cmp dword [r13 + 0x20], edx
jge 0x18007c805
mov r9d, 1
xor r8d, r8d
mov rcx, r13
mov word [r13 + 8], r9w
call fcn.18006fef0
test eax, eax
jne 0x18007ca1b
mov rcx, qword [r13 + 0x10]
jmp 0x18007c80d
mov rcx, qword [r13 + 0x18]
mov qword [r13 + 0x10], rcx
mov r8d, ebx
mov rdx, rdi
call fcn.180112cb0
mov rax, qword [r13 + 0x10]
lea rdx, [0x180000000]
mov r15, qword [rsp + 0x30]
mov r10d, 1
mov rdi, qword [rsp + 0x48]
mov r9d, 0x2400
mov byte [rbx + rax], 0
mov rax, qword [r13 + 0x10]
mov byte [rbx + rax + 1], 0
mov eax, dword [rbp - 0x68]
and eax, 1
movzx eax, word [rdx + rax*2 + 0x14e5f4]
mov word [r13 + 8], ax
jmp case.0x18007ae11.86
movzx eax, byte [rsp + 0x40]
mov byte [r13 + 0xa], al
mov rax, qword [rsp + 0x30]
mov edx, dword [rbp - 0x68]
movzx eax, word [rax + 2]
test al, 0xc0
je 0x18007c885
cmp edx, 0xc
jb 0x18007c881
test dl, 1
je 0x18007c8ac
test al, al
js 0x18007c8ac
mov eax, 0x80
cmp edx, eax
jb 0x18007c897
lea r8d, [rdx - 0xc]
shr r8d, 1
jmp 0x18007c8a7
lea rcx, [0x180000000]
movzx r8d, byte [rdx + rcx + 0x150190]
test r8d, r8d
jne 0x18007c8c0
mov r8, r13
lea rcx, [0x180196c08]
call fcn.180075ce0
jmp 0x18007b5a0
movsxd rax, dword [rbp - 0x58]
mov r9, r13
mov rcx, qword [rbp - 0x60]
mov edx, dword [r12 + rax*4]
mov rcx, qword [rcx + 0x38]
call fcn.1800710d0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x180080636
mov edx, dword [rbp - 0x68]
mov r8, r13
mov rcx, qword [r13 + 0x10]
call fcn.180075ce0
mov eax, 0xefff
and word [r13 + 8], ax
jmp 0x18007b5a0
mov rax, qword [rsp + 0x30]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
movzx eax, byte [rdi]
add rbx, rsi
movzx esi, byte [rsp + 0x40]
nop
movzx r8d, sil
movzx edx, al
mov rcx, rbx
call fcn.18007aa80
movzx eax, byte [rdi + 1]
lea rdi, [rdi + 1]
add rbx, 0x38
test al, al
jne 0x18007c920
jmp 0x18007b59b
mov rcx, qword [rsp + 0x30]
mov rsi, r14
mov rdi, qword [rsp + 0x58]
mov r12d, r14d
mov r13, r14
mov qword [rbp - 0x80], r14
movsxd rax, dword [rcx + 4]
mov rbx, qword [rcx + 0x10]
movzx r14d, byte [rdi + 0xc3]
imul r15, rax, 0x38
mov eax, dword [rcx + 8]
add r15, qword [rsp + 0x50]
dec eax
cdqe
imul rax, rax, 0x38
mov dword [rsp + 0x70], r14d
add rax, r15
mov qword [rbp - 0x78], rax
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x50]
mov qword [rbp - 0x70], rcx
test rbx, rbx
je 0x18007c9d4
movzx eax, byte [rbx]
mov rdi, r15
movzx r14d, byte [rsp + 0x40]
nop dword [rax]
movzx r8d, r14b
movzx edx, al
mov rcx, rdi
call fcn.18007aa80
movzx eax, byte [rbx + 1]
lea rbx, [rbx + 1]
add rdi, 0x38
test al, al
jne 0x18007c9b0
mov r14d, dword [rsp + 0x70]
mov rbx, qword [rbp - 0x78]
nop dword [rax + rax]
lea r8, [rbp + 0x17c]
mov edx, r14d
mov rcx, rbx
call fcn.180075aa0
mov edi, eax
mov eax, 0x4000
test word [rbx + 8], ax
je 0x18007ca63
test edi, edi
jne 0x18007ca0a
mov edi, 0xa
jmp 0x18007ca63
test rsi, rsi
je 0x18007ca53
mov rcx, rbx
call fcn.180070130
test eax, eax
je 0x18007ca63
mov r12, qword [rsp + 0x60]
mov r13, qword [rsp + 0x58]
mov edi, dword [rsp + 0x3c]
mov r14d, 7
mov rcx, r12
call fcn.18004d6a0
lea rdx, str.out_of_memory
mov rcx, r13
call fcn.180071a90
mov eax, r14d
mov ebx, 1
jmp 0x18007cfde
movsxd rcx, dword [rbx]
add r13, rcx
sub dword [rbp + 0x17c], ecx
mov qword [rbp - 0x80], r13
mov eax, dword [rbp + 0x17c]
mov r8d, 1
add rsi, rax
mov ecx, r8d
cmp edi, 0x7f
jbe 0x18007ca90
mov eax, edi
shr rax, 7
test rax, rax
je 0x18007ca90
inc ecx
shr rax, 7
test rax, rax
jne 0x18007ca85
add r12d, ecx
mov dword [rbx + 0x24], edi
cmp rbx, r15
je 0x18007caa4
sub rbx, 0x38
jmp 0x18007c9e0
cmp r12d, 0x7e
jle 0x18007caef
movsxd rax, r12d
mov edx, r8d
shr rax, 7
test rax, rax
je 0x18007cacb
nop dword [rax]
inc edx
shr rax, 7
test rax, rax
jne 0x18007cac0
add r12d, edx
mov ecx, r8d
movsxd rax, r12d
shr rax, 7
test rax, rax
je 0x18007caeb
nop dword [rax]
inc ecx
shr rax, 7
test rax, rax
jne 0x18007cae0
cmp edx, ecx
jge 0x18007caf2
inc r12d
mov rdi, qword [rbp - 0x70]
movsxd rbx, r12d
movsxd rdx, dword [rdi + 0x20]
lea r14, [rsi + rbx]
lea rcx, [r14 + r13]
mov qword [rsp + 0x70], r14
cmp rcx, rdx
jle 0x18007cb43
mov r8, qword [rsp + 0x60]
movsxd rax, dword [r8 + 0x7c]
cmp rcx, rax
jg 0x180080379
cmp edx, r14d
jge 0x18007cb3e
xor r8d, r8d
mov edx, r14d
mov rcx, rdi
call fcn.18006fef0
test eax, eax
jne 0x18007ca1b
jmp 0x18007cb4b
and word [rdi + 8], 0xd
mov rax, qword [rdi + 0x18]
mov qword [rdi + 0x10], rax
mov rsi, qword [rdi + 0x10]
mov edx, 0x80
cmp r12d, edx
jae 0x18007cb67
mov r13d, 1
mov byte [rsi], r12b
mov eax, r13d
jmp 0x18007cb7b
mov rdx, rbx
mov rcx, rsi
call fcn.180051210
mov edx, 0x80
lea r13d, [rdx - 0x7f]
mov r14, qword [rbp - 0x78]
movzx edi, al
mov ebx, dword [r15 + 0x24]
movsxd rcx, edi
add rcx, rsi
cmp ebx, edx
jae 0x18007cb97
mov byte [rcx], bl
mov eax, r13d
jmp 0x18007cb9f
mov rdx, rbx
call fcn.180051210
movzx eax, al
mov r8d, ebx
movsxd rcx, r12d
mov rdx, r15
add rcx, rsi
add edi, eax
call fcn.180075ba0
add r12d, eax
add r15, 0x38
mov edx, 0x80
cmp r15, r14
jbe 0x18007cb82
mov rcx, qword [rbp - 0x70]
mov eax, 0x10
mov r13, qword [rbp - 0x80]
mov r14, qword [rsp + 0x70]
mov r15, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x50]
mov dword [rcx + 0xc], r14d
mov word [rcx + 8], ax
test r13, r13
je 0x18007febe
mov rdi, qword [rsp + 0x48]
mov eax, 0x4010
mov word [rcx + 8], ax
mov dword [rcx], r13d
jmp 0x18007b5aa
mov rax, qword [rsp + 0x30]
lea rdx, [rbp + 0x1b0]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x38]
mov qword [rbp + 0x1b0], r14
call fcn.18006d6f0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007cfcf
mov rax, qword [rsp + 0x30]
mov r9d, 0x2400
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x68]
test word [rcx + 8], r9w
je 0x18007cc7d
call fcn.18007ac60
mov r15, qword [rsp + 0x30]
mov rcx, rax
mov rax, qword [rbp + 0x1b0]
mov r9d, 0x2400
mov qword [rcx], rax
jmp 0x18007b5b0
mov r15, qword [rsp + 0x30]
mov eax, 4
mov word [rcx + 8], ax
mov rax, qword [rbp + 0x1b0]
mov qword [rcx], rax
jmp 0x18007b5b0
mov rax, qword [rsp + 0x30]
mov r14d, dword [rax + 4]
mov rdi, qword [rax + 0x10]
mov dword [rsp + 0x70], r14d
test r14d, r14d
jne 0x18007cd87
cmp dword [r12 + 0xc4], r14d
jg 0x18008017b
test rdi, rdi
jne 0x18007cccc
xor ebx, ebx
jmp 0x18007cce2
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], 0
jne 0x18007ccd3
and ebx, 0x3fffffff
mov r8d, dword [r12 + 0x298]
xor edx, edx
add r8d, dword [r12 + 0x294]
mov rcx, r12
call fcn.1800c8820
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007cfcf
mov edx, ebx
mov rcx, r12
add rdx, 0x21
call fcn.18004d230
mov rsi, rax
test rax, rax
je 0x18007feb4
lea r9, [rax + 0x20]
mov rdx, rdi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rbx + 1]
call fcn.180112cb0
cmp byte [r12 + 0x5f], 0
je 0x18007cd4e
mov byte [r12 + 0x5f], 0
mov byte [r12 + 0x67], 1
jmp 0x18007cd56
inc dword [r12 + 0x294]
mov rax, qword [r12 + 0x288]
mov qword [rsi + 0x18], rax
mov rax, qword [r12 + 0x2a0]
mov qword [r12 + 0x288], rsi
mov qword [rsi + 8], rax
mov rax, qword [r12 + reloc.SHELL32.dll_IsUserAnAdmin]
mov qword [rsi + 0x10], rax
jmp 0x18007b59b
mov rsi, qword [r12 + 0x288]
xor ebx, ebx
mov r15d, ebx
test rsi, rsi
je 0x18007cdbb
nop dword [rax]
mov rcx, qword [rsi]
mov rdx, rdi
call fcn.180050770
test eax, eax
je 0x18007cdd9
mov rsi, qword [rsi + 0x18]
inc r15d
test rsi, rsi
jne 0x18007cda0
mov r8, rdi
lea rdx, str.no_such_savepoint:__s
mov rcx, r13
call fcn.180071a90
mov ebx, 1
mov eax, ebx
jmp 0x18007cfd4
cmp dword [r12 + 0xc4], ebx
jle 0x18007cded
cmp r14d, 1
je 0x180080194
cmp qword [rsi + 0x18], rbx
jne 0x18007ce4a
cmp byte [r12 + 0x67], bl
je 0x18007ce4a
mov eax, 1
mov r13d, eax
cmp r14d, eax
jne 0x18007ce4d
mov rbx, qword [rsp + 0x58]
mov edx, eax
mov rcx, rbx
call fcn.180074fe0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x180080659
mov rcx, rbx
mov byte [r12 + 0x5f], r13b
call fcn.180075030
cmp eax, 5
je 0x1800801ad
mov byte [r12 + 0x67], 0
mov eax, dword [rbx + 0x38]
mov dword [rsp + 0x38], eax
jmp 0x18007cf45
mov r13d, ebx
mov eax, dword [r12 + 0x294]
sub eax, r15d
lea r15d, [rax - 1]
mov eax, dword [r12 + 0x28]
cmp r14d, 2
jne 0x18007cec2
mov r12d, dword [r12 + 0x2c]
mov edi, ebx
and r12d, 1
test eax, eax
jle 0x18007cec5
mov r14d, r12d
xor r14d, 1
nop dword [rax]
mov r8, qword [rsp + 0x60]
mov edx, 0x204
mov rcx, qword [r8 + 0x20]
mov r8d, r14d
mov rcx, qword [rbx + rcx + 8]
call fcn.180065d10
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18008062c
mov rax, qword [rsp + 0x60]
inc edi
add rbx, 0x20
mov eax, dword [rax + 0x28]
cmp edi, eax
jl 0x18007ce80
mov r14d, dword [rsp + 0x70]
xor ebx, ebx
jmp 0x18007cec5
mov r12d, ebx
mov edi, ebx
test eax, eax
jle 0x18007cf00
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 0x20]
mov r8d, r15d
mov edx, r14d
mov rcx, qword [rbx + rcx + 8]
call fcn.180066010
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18008062c
mov rax, qword [rsp + 0x60]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x18007ced0
test r12d, r12d
mov r12, qword [rsp + 0x60]
je 0x18007cf45
mov rax, qword [r12 + 8]
test rax, rax
je 0x18007cf37
nop dword [rax]
nop dword [rax + rax]
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x18007cf20
mov rcx, r12
call fcn.180098810
or dword [r12 + 0x2c], 1
mov rcx, qword [r12 + 0x288]
cmp rcx, rsi
je 0x18007cf7e
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r12
mov qword [r12 + 0x288], rax
call fcn.18004ceb0
mov rcx, qword [r12 + 0x288]
dec dword [r12 + 0x294]
cmp rcx, rsi
jne 0x18007cf52
cmp r14d, 1
jne 0x18007d0ad
mov rax, qword [rsi + 0x18]
mov rdx, rsi
mov rcx, r12
mov qword [r12 + 0x288], rax
call fcn.18004ceb0
test r13d, r13d
jne 0x18007d0d8
dec dword [r12 + 0x294]
mov r8d, r15d
mov edx, r14d
mov rcx, r12
call fcn.1800c8820
mov dword [rsp + 0x38], eax
test eax, eax
je 0x18007b59b
mov r13, qword [rsp + 0x58]
mov ebx, 1
mov edi, dword [rsp + 0x3c]
mov r14d, 7
cmp byte [r12 + 0x61], 0
cmovne eax, r14d
cmp qword [r13 + 0xa8], 0
mov dword [rsp + 0x38], eax
jne 0x18007d01a
cmp eax, 0xc0a
je 0x18007d01a
mov ecx, eax
call fcn.1800e2b90
mov r8, rax
lea rdx, [0x1801596d0]
mov rcx, r13
call fcn.180071a90
mov eax, dword [rsp + 0x38]
mov edx, eax
mov dword [r13 + 0x38], eax
mov rcx, r12
call fcn.1800503f0
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x48]
mov r9, qword [r13 + 0xf0]
imul rcx
mov rax, qword [r13 + 0xa8]
mov ecx, dword [rsp + 0x38]
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.statement_aborts_at__d:___s___s
call fcn.18004f880
mov rcx, r13
call fcn.180075030
cmp dword [rsp + 0x38], 0xc0a
jne 0x18007d08a
mov rcx, r12
call fcn.18004d6a0
movzx eax, byte [rsp + 0x68]
mov dword [rsp + 0x38], ebx
test al, al
je 0x180080668
movzx edx, al
mov rcx, r12
dec edx
call fcn.180098790
jmp 0x180080668
mov rax, qword [rsi + 8]
mov qword [r12 + 0x2a0], rax
mov rax, qword [rsi + 0x10]
mov qword [r12 + reloc.SHELL32.dll_IsUserAnAdmin], rax
test r13d, r13d
je 0x18007cfb0
cmp r14d, 2
je 0x18007cfb0
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x18007cfca
jmp 0x18007b59b
mov rcx, qword [rsp + 0x30]
mov dword [rbp + 0x168], r14d
mov edx, dword [rcx + 8]
test edx, edx
je 0x18007d10c
mov eax, dword [r12 + 0x30]
bt rax, 0x14
jb 0x1800801f7
movsxd rcx, dword [rcx + 4]
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x18007d239
lea r8, [rbp + 0x168]
mov rcx, rbx
call fcn.180064800
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x180080201
mov r15, qword [rsp + 0x30]
cmp dword [r15 + 8], eax
je 0x18007d1d3
test byte [r13 + 0xc8], 0x80
je 0x18007d1d3
cmp byte [r12 + 0x5f], al
je 0x18007d16d
cmp dword [r12 + 0xc0], 1
jle 0x18007d1d3
mov r8d, dword [r13 + 0x40]
test r8d, r8d
jne 0x18007d192
inc dword [r12 + 0x298]
mov r8d, dword [r12 + 0x294]
add r8d, dword [r12 + 0x298]
mov dword [r13 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, r12
call fcn.1800c8820
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007d1b7
mov edx, dword [r13 + 0x40]
mov rcx, rbx
call fcn.180065fa0
mov dword [rsp + 0x38], eax
mov rax, qword [r12 + 0x2a0]
mov qword [r13 + 0x58], rax
mov rax, qword [r12 + reloc.SHELL32.dll_IsUserAnAdmin]
mov qword [r13 + 0x60], rax
mov eax, dword [rsp + 0x38]
mov r9d, 0x2400
mov r10d, 1
cmp word [r15 + 2], 0
je 0x18007d22c
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0xc]
cmp dword [rbp + 0x168], eax
jne 0x180080243
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0x10]
cmp dword [rcx + 4], eax
jne 0x180080243
mov eax, dword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
test eax, eax
jne 0x18007cfcf
jmp 0x18007b5b6
mov eax, dword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
jmp 0x18007d1df
mov rcx, qword [r12 + 0x20]
lea r8, [rbp + 0x198]
mov rax, qword [rsp + 0x30]
mov r15, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
mov edx, dword [r15 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.18006d570
movsxd rax, dword [r15 + 8]
mov r9d, 0x2400
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x68]
test word [rcx + 8], r9w
je 0x18007d2a6
call fcn.18007ac60
mov rcx, rax
mov r9d, 0x2400
movsxd rax, dword [rbp + 0x198]
mov qword [rcx], rax
jmp 0x18007b5b0
mov eax, 4
mov word [rcx + 8], ax
movsxd rax, dword [rbp + 0x198]
mov qword [rcx], rax
jmp 0x18007b5b0
mov rax, qword [rsp + 0x30]
movsxd rbx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 8]
shl rbx, 5
add rbx, qword [r12 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.18006d600
mov rdx, qword [rsp + 0x30]
mov dword [rsp + 0x38], eax
mov eax, dword [rdx + 8]
cmp eax, 1
jne 0x18007d302
mov rcx, qword [rbx + 0x18]
mov eax, dword [rdx + 0xc]
mov dword [rcx], eax
or dword [r12 + 0x2c], 1
jmp 0x18007d312
cmp eax, 2
jne 0x18007d312
mov rcx, qword [rbx + 0x18]
movzx eax, byte [rdx + 0xc]
mov byte [rcx + 0x70], al
cmp dword [rdx + 4], 1
jne 0x18007d341
mov rax, qword [r12 + 8]
test rax, rax
je 0x18007d339
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x18007d322
and dword [r13 + 0xc8], 0xfffffffc
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x18007cfcf
mov r15, rdx
jmp 0x18007b5aa
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
je case.0x18007ae11.108
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 8]
cmp dword [rdi + 0x4c], eax
je 0x18007d4b9
mov eax, dword [r13 + 0xc8]
and al, 3
cmp al, 1
je 0x1800802b3
mov rax, qword [rsp + 0x30]
mov edi, r14d
mov r8, qword [rsp + 0x60]
movsxd r12, dword [rax + 0xc]
movsxd r15, dword [rax + 8]
mov rax, r12
shl rax, 5
add rax, qword [r8 + 0x20]
mov r8, qword [rsp + 0x30]
mov r13, qword [rax + 8]
cmp bl, 0x6d
jne 0x18007d3e3
mov rax, qword [rax + 0x18]
movzx esi, word [r8 + 2]
and esi, 8
or esi, 4
movzx ecx, byte [rax + 0x70]
mov rax, qword [rsp + 0x58]
cmp cl, byte [rax + 0xc3]
jae 0x18007d3e5
mov byte [rax + 0xc3], cl
jmp 0x18007d3e5
xor esi, esi
test byte [r8 + 2], 0x10
je 0x18007d416
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.1800705a0
mov r8, qword [rsp + 0x30]
mov qword [rbx], rax
mov eax, 0x3e20
and word [rbx + 8], ax
or word [rbx + 8], 4
mov r15d, dword [rbx]
movzx eax, byte [r8 + 1]
cmp al, 0xf7
jne 0x18007d42a
mov r14, qword [r8 + 0x10]
movzx edi, word [r14 + 8]
jmp 0x18007d432
cmp al, 0xfd
jne 0x18007d432
mov edi, dword [r8 + 0x10]
mov rcx, qword [rsp + 0x58]
mov r9d, r12d
mov r12, qword [rsp + 0x30]
mov r8d, edi
mov byte [rsp + 0x20], 0
mov edx, dword [r12 + 4]
call fcn.18007a8a0
mov rdi, rax
test rax, rax
je 0x18007ca1b
mov rcx, qword [rax + 0x38]
mov r9, r14
or dword [rax + 8], 4
mov r8d, esi
mov qword [rsp + 0x20], rcx
mov edx, r15d
mov rcx, r13
mov byte [rax + 2], 1
mov dword [rax + 0x4c], r15d
call fcn.180066100
mov r13, qword [rsp + 0x58]
lea rdx, [0x180000000]
mov rsi, qword [rsp + 0x50]
mov r10d, 1
mov qword [rdi + 0x40], r14
mov r9d, 0x2400
cmp byte [r12 + 1], 0xf7
mov r12, qword [rsp + 0x60]
mov dword [rsp + 0x38], eax
setne al
mov byte [rdi + 4], al
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax + 2]
mov rax, qword [rdi + 0x38]
and cl, 3
mov byte [rax + 3], cl
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x18007cfcf
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
jmp case.0x18007ae11.86
mov rax, qword [rsp + 0x30]
mov r9d, 0xffffffff
mov byte [rsp + 0x20], 0
movsxd rcx, dword [rax + 8]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r13
mov rax, qword [rsp + 0x30]
movsx r8d, word [rbx + 0x50]
mov edx, dword [rax + 4]
call fcn.18007a8a0
test rax, rax
je 0x18007ca25
or dword [rax + 8], 1
mov r8d, 4
mov byte [rax + 2], 1
mov r9, qword [rbx + 0x40]
mov qword [rax + 0x40], r9
movzx ecx, byte [rbx + 4]
mov byte [rax + 4], cl
mov edx, dword [rbx + 0x4c]
mov dword [rax + 0x4c], edx
mov ecx, dword [rbx + 8]
xor ecx, dword [rax + 8]
and ecx, 4
xor dword [rax + 8], ecx
mov rax, qword [rax + 0x38]
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.180066100
mov dword [rsp + 0x38], eax
jmp 0x18007b5a5
mov rax, qword [rsp + 0x30]
movsxd rdx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rdx*8]
test rcx, rcx
je 0x18007d599
mov edx, dword [rcx + 0x4c]
xor r8d, r8d
mov rcx, qword [rcx + 0x10]
call fcn.18006cfc0
mov dword [rsp + 0x38], eax
jmp 0x18007d6cb
mov rax, qword [rsp + 0x30]
mov r9d, 0xffffffff
mov rcx, r13
mov byte [rsp + 0x20], 0
mov r8d, dword [rax + 8]
call fcn.18007a8a0
mov rbx, rax
test rax, rax
je 0x18007ca25
or dword [rax + 8], 1
lea r9, [rbx + 0x10]
mov byte [rax + 2], 1
mov r8, r12
mov rax, qword [rsp + 0x30]
xor edx, edx
mov dword [rsp + 0x28], 0x41e
movzx ecx, word [rax + 2]
or ecx, 5
mov dword [rsp + 0x20], ecx
mov rcx, qword [r12]
call fcn.180063480
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007d6a2
mov rcx, qword [rbx + 0x10]
mov r15d, 1
mov edx, r15d
xor r8d, r8d
call fcn.180064800
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007d6a2
mov rax, qword [rsp + 0x30]
mov rcx, qword [rbx + 0x10]
mov r14, qword [rax + 0x10]
mov qword [rbx + 0x40], r14
test r14, r14
je 0x18007d676
movzx r8d, word [rax + 2]
lea rdx, [rbx + 0x4c]
or r8d, 2
call fcn.18006cca0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007d670
mov rax, qword [rbx + 0x38]
lea r8d, [r15 + 3]
mov edx, dword [rbx + 0x4c]
mov r9, r14
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.180066100
mov dword [rsp + 0x38], eax
mov byte [rbx + 4], 0
jmp 0x18007d69a
mov rax, qword [rbx + 0x38]
xor r9d, r9d
mov edx, r15d
mov dword [rbx + 0x4c], r15d
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.180066100
mov dword [rsp + 0x38], eax
mov byte [rbx + 4], r15b
mov rsi, qword [rsp + 0x50]
xor r14d, r14d
mov rax, qword [rsp + 0x30]
mov ecx, r14d
mov rdi, qword [rsp + 0x48]
cmp word [rax + 2], 8
mov eax, 4
cmovne ecx, eax
mov eax, dword [rbx + 8]
and eax, 0xfffffffb
or ecx, eax
mov eax, dword [rsp + 0x38]
mov dword [rbx + 8], ecx
test eax, eax
jne 0x18007cfcf
jmp 0x18007b5a5
mov rax, qword [rsp + 0x30]
mov r9d, 0xffffffff
mov rcx, r13
mov byte [rsp + 0x20], 1
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.18007a8a0
test rax, rax
je 0x18007ca25
mov rdx, qword [rsp + 0x30]
mov r8, rax
mov rcx, qword [rdx + 0x10]
mov qword [rax + 0x40], rcx
mov rcx, r12
mov edx, dword [rdx + 0xc]
call fcn.180082020
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007cfcf
jmp 0x18007b5a5
mov rax, qword [rsp + 0x30]
mov r15, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 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 0x18007f8f4
jmp 0x18007b5b6
mov rax, qword [rsp + 0x30]
mov r9d, 0xffffffff
mov rcx, r13
mov byte [rsp + 0x20], 3
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.18007a8a0
test rax, rax
je 0x18007ca25
mov r15, qword [rsp + 0x30]
mov byte [rax + 2], 1
mov ecx, dword [r15 + 8]
mov dword [rax + 0x2c], ecx
lea rcx, [0x180196a78]
mov qword [rax + 0x38], rcx
mov byte [rax + 4], 1
jmp 0x18007b5aa
mov rdx, qword [r13 + 0x78]
mov rcx, r13
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
mov rdx, qword [rdx + rax*8]
call fcn.180074120
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov qword [rax + rcx*8], r14
jmp 0x18007b5a5
mov rax, qword [rsp + 0x30]
mov r15d, r14d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rsi, qword [rax + rcx*8]
cmp byte [rsi + 4], 0
mov byte [rsi + 2], 0
je 0x18007d8a2
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x50]
movzx eax, byte [rdi + 8]
and al, 0xe
cmp al, 2
jne 0x18007d81f
xor edx, edx
mov rcx, rdi
call fcn.18007a9e0
mov rcx, rdi
call fcn.1800705a0
movzx ecx, word [rdi + 8]
mov r14, rax
test cl, 4
jne 0x18007d868
test cl, 8
je 0x18007f8ef
movsd xmm0, qword [rdi]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
comisd xmm1, xmm0
jbe 0x18007d85b
test bl, 1
lea eax, [rbx - 1]
cmove eax, ebx
mov ebx, eax
jmp 0x18007d868
comisd xmm0, xmm1
jbe 0x18007d868
test bl, 1
jne 0x18007d868
inc ebx
mov rcx, qword [rsi + 0x38]
lea rax, [rbp + 0x140]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, r14
xor edx, edx
call fcn.180066fd0
mov dword [rsp + 0x38], eax
mov qword [rsi + 0x58], r14
test eax, eax
jne 0x18007cfcf
mov rdi, qword [rsp + 0x48]
xor r14d, r14d
jmp 0x18007d92d
mov rcx, qword [rsi + 0x38]
mov edx, 2
call fcn.18006ed30
mov rcx, qword [rsp + 0x30]
test eax, eax
mov rax, qword [rsi + 0x40]
mov edx, 1
cmovne r15d, edx
mov qword [rbp - 0x48], rax
test dl, bl
mov byte [rbp - 0x32], 0
movzx eax, word [rcx + 0x10]
mov word [rbp - 0x38], ax
mov eax, edx
mov edx, 0xffffffff
cmovne eax, edx
xor r9d, r9d
mov byte [rbp - 0x36], al
lea rdx, [rbp - 0x48]
movsxd rax, dword [rcx + 0xc]
xor r8d, r8d
imul rcx, rax, 0x38
lea rax, [rbp + 0x140]
add rcx, qword [rsp + 0x50]
mov qword [rbp - 0x40], rcx
mov rcx, qword [rsi + 0x38]
mov qword [rsp + 0x20], rax
call fcn.180066fd0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007cfcf
test r15d, r15d
je 0x18007d92d
cmp byte [rbp - 0x32], al
je 0x18007d9be
mov byte [rsi + 3], 0
mov dword [rsi + 0x28], r14d
mov eax, dword [rbp + 0x140]
cmp ebx, 0x18
jl 0x18007d98e
test eax, eax
js 0x18007d954
jne 0x18007d94b
cmp ebx, 0x19
je 0x18007d954
mov dword [rbp + 0x140], r14d
jmp 0x18007d9cc
mov dword [rbp + 0x140], r14d
xor edx, edx
mov rcx, qword [rsi + 0x38]
call fcn.1800676f0
mov dword [rsp + 0x38], eax
test eax, eax
je 0x18007d9be
cmp eax, 0x65
jne 0x18007cfcf
mov r10d, 1
mov dword [rsp + 0x38], r14d
mov dword [rbp + 0x140], r10d
jmp 0x18007c349
test eax, eax
jg 0x18007d9aa
jne 0x18007d999
cmp ebx, 0x16
je 0x18007d9aa
mov rcx, qword [rsi + 0x38]
call fcn.1800674d0
mov dword [rbp + 0x140], eax
jmp 0x18007d9c4
mov dword [rbp + 0x140], r14d
xor edx, edx
mov rcx, qword [rsi + 0x38]
call fcn.180067860
jmp 0x18007d966
mov eax, dword [rbp + 0x140]
test eax, eax
jne 0x18007f8ef
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x50]
add rax, 0x18
test r15d, r15d
cmove rax, qword [rsp + 0x30]
mov r15, rax
jmp 0x18007b5aa
mov rax, qword [rsp + 0x30]
mov r15, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 8]
shl eax, 3
xor eax, dword [rdx + 8]
and eax, 8
xor dword [rdx + 8], eax
jmp 0x18007b5b6
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
test byte [rcx + 8], 8
jne 0x18007b54c
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rsi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 0xc]
mov ecx, dword [rcx + 0x10]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x50]
test ecx, ecx
jle 0x18007da81
mov rax, qword [rsi + 0x40]
lea rdi, [rbp + 0x88]
mov qword [rbp + 0x88], rax
mov word [rbp + 0x98], cx
mov qword [rbp + 0x90], rbx
jmp 0x18007dacd
mov eax, 0x4000
test word [rbx + 8], ax
je 0x18007da9c
mov rcx, rbx
call fcn.180070130
test eax, eax
jne 0x18007ca25
mov rcx, qword [rsi + 0x40]
call fcn.180075e80
mov rdi, rax
mov r14, rax
test rax, rax
je 0x18007ca25
mov r8, qword [rbx + 0x10]
mov r9, rax
mov edx, dword [rbx + 0xc]
mov rcx, qword [rsi + 0x40]
call fcn.180075ee0
mov r10d, 1
mov rax, qword [rsp + 0x30]
xor r15d, r15d
mov byte [rdi + 0x12], 0
mov ebx, r15d
cmp byte [rax], 0x1b
jne 0x18007db08
movzx edx, word [rdi + 0x10]
mov ecx, r15d
test edx, edx
je 0x18007db08
mov rax, qword [rdi + 8]
add rax, 8
test byte [rax], 1
jne 0x18007db05
inc ecx
add rax, 0x38
cmp ecx, edx
jl 0x18007daf4
jmp 0x18007db08
mov ebx, r10d
mov rcx, qword [rsi + 0x38]
lea rax, [rbp + 0x18c]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rdi
call fcn.180066fd0
mov dword [rsp + 0x38], eax
test r14, r14
je 0x18007db3e
mov rdx, r14
mov rcx, r12
call fcn.18004ceb0
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x18007cfcf
mov eax, dword [rbp + 0x18c]
mov ecx, r15d
mov dword [rsi + 0x2c], eax
mov eax, dword [rbp + 0x18c]
test eax, eax
mov byte [rsi + 3], r15b
sete cl
mov dword [rsi + 0x28], r15d
mov r15, qword [rsp + 0x30]
test eax, eax
setne al
mov byte [rsi + 2], al
cmp byte [r15], 0x1d
jne 0x18007db8f
test ecx, ecx
jne 0x18007f8f4
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
jmp 0x18007b5aa
test ebx, ebx
jne 0x18007f8f4
test ecx, ecx
je 0x18007f8f4
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
jmp 0x18007b5aa
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, rsi
movzx edi, word [rbx + 8]
test dil, 4
jne case.0x18007ae11.31
movzx r8d, byte [rsp + 0x40]
mov dl, 0x43
mov rcx, rbx
call fcn.18007aa80
movzx eax, word [rbx + 8]
shr eax, 2
not eax
mov word [rbx + 8], di
test al, 1
jne 0x18007f8ef
mov rbx, qword [rsp + 0x30]
xor r9d, r9d
mov rax, qword [r13 + 0x78]
xor edx, edx
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rcx, rax, 0x38
mov r10, qword [rdi + 0x38]
lea rax, [rbp + 0x178]
mov dword [rbp + 0x178], r14d
mov qword [rsp + 0x20], rax
mov rbx, qword [rcx + rsi]
mov rcx, r10
mov r8, rbx
call fcn.180066fd0
mov r15, qword [rsp + 0x30]
mov qword [rdi + 0x58], rbx
mov word [rdi + 2], 0
mov dword [rdi + 0x28], r14d
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0x178]
mov dword [rdi + 0x2c], eax
cmp dword [rbp + 0x178], 0
je 0x18007fc70
cmp dword [r15 + 8], 0
jne 0x18007f8f4
mov ecx, 0x157a1
call fcn.1800e5820
mov dword [rsp + 0x38], eax
jmp 0x18007fc74
mov rbx, qword [rsp + 0x30]
mov rcx, r13
mov rdx, rbx
call fcn.18007ac90
mov rcx, qword [r13 + 0x78]
mov r15, rbx
movsxd rdx, dword [rbx + 4]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [rbx + 4]
mov rax, qword [r13 + 0x78]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x18]
jmp 0x18007b5aa
mov rbx, qword [rsp + 0x30]
mov rcx, r13
mov rdx, rbx
mov qword [rbp + 0x148], r14
mov dword [rbp + 0x158], r14d
call fcn.18007ac90
movsxd rdx, dword [rbx + 4]
mov rsi, rax
mov rcx, qword [r13 + 0x78]
mov rdi, qword [rcx + rdx*8]
test byte [rdi + 8], 2
jne 0x18007dd1b
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp + 0x158]
call fcn.180066f60
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007cfcf
cmp dword [rbp + 0x158], eax
je 0x18007dd66
mov r9d, 1
mov qword [rbp + 0x148], r9
movabs r15, 0x7fffffffffffffff
movsxd rdx, dword [rbx + 0xc]
test edx, edx
je 0x18007ddd9
mov rcx, qword [r13 + 0x100]
test rcx, rcx
je 0x18007dd97
mov rax, qword [rcx + 8]
test rax, rax
je 0x18007dd5c
nop word [rax + rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x18007dd50
imul rbx, rdx, 0x38
add rbx, qword [rcx + 0x20]
jmp 0x18007dda0
mov rcx, qword [rdi + 0x38]
call fcn.1800663b0
movabs r15, 0x7fffffffffffffff
mov qword [rbp + 0x148], rax
cmp rax, r15
jl 0x18007dd8b
or dword [rdi + 8], 2
jmp 0x18007dd25
inc rax
mov qword [rbp + 0x148], rax
jmp 0x18007dd25
imul rbx, rdx, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.1800706e0
mov rax, qword [rbx]
cmp rax, r15
je 0x18007de46
test byte [rdi + 8], 2
jne 0x18007de46
mov rcx, qword [rbp + 0x148]
inc rax
cmp rcx, rax
cmovl rcx, rax
mov qword [rbp + 0x148], rcx
mov qword [rbx], rcx
test byte [rdi + 8], 2
je 0x18007de50
mov ebx, r14d
lea rdx, [rbp + 0x148]
mov ecx, 8
call fcn.18004f970
mov r8, qword [rbp + 0x148]
movabs rax, 0x3fffffffffffffff
and r8, rax
xor r9d, r9d
inc r8
lea rax, [rbp + 0x158]
mov qword [rbp + 0x148], r8
xor edx, edx
mov rcx, qword [rdi + 0x38]
mov qword [rsp + 0x20], rax
call fcn.180066fd0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007cfcf
cmp dword [rbp + 0x158], eax
jne 0x18007de50
inc ebx
cmp ebx, 0x64
jl 0x18007dde2
mov eax, 0xd
jmp 0x18007cfcf
mov byte [rdi + 3], 0
mov dword [rdi + 0x28], r14d
mov rax, qword [rbp + 0x148]
mov qword [rsi], rax
jmp 0x18007b59b
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x78]
add rdx, rsi
mov rbx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
cmp byte [rax + 1], 0xfa
mov r8, qword [rcx + rsi]
mov qword [rbp + 0x60], r8
jne 0x18007decb
cmp qword [r12 + 0x128], 0
je 0x18007decb
mov rax, qword [r12 + 0x20]
movsx rcx, byte [rbx + 1]
shl rcx, 5
mov rsi, qword [rcx + rax]
mov rax, qword [rsp + 0x30]
mov rdi, qword [rax + 0x10]
jmp 0x18007ded1
mov rdi, r14
mov rsi, r14
movzx ecx, word [rax + 2]
test cl, 1
je 0x18007dee2
inc dword [r13 + 0x3c]
movzx ecx, word [rax + 2]
test cl, 0x20
je 0x18007def0
mov qword [r12 + 0x38], r8
movzx ecx, word [rax + 2]
mov rax, qword [rdx + 0x10]
mov qword [rbp + 0x68], rax
mov eax, dword [rdx + 0xc]
mov dword [rbp + 0x7c], eax
test cl, 0x10
je 0x18007df09
mov r9d, dword [rbx + 0x2c]
jmp 0x18007df0c
mov r9d, r14d
mov eax, 0x4000
test word [rdx + 8], ax
je 0x18007df21
mov eax, dword [rdx]
mov dword [rbp + 0x80], eax
jmp 0x18007df28
mov dword [rbp + 0x80], r14d
movzx r8d, cx
lea rdx, [rbp + 0x58]
mov qword [rbp + 0x58], r14
and r8d, 0xa
mov rcx, qword [rbx + 0x38]
call fcn.18006be40
mov dword [rsp + 0x38], eax
mov byte [rbx + 3], 0
mov dword [rbx + 0x28], r14d
test eax, eax
jne 0x18007cfcf
test rdi, rdi
je 0x18007feb4
mov rax, qword [rsp + 0x30]
mov edx, 0x12
mov r9, qword [rdi]
mov r8, rsi
mov rcx, qword [r12 + 0x120]
test byte [rax + 2], 4
mov eax, 0x17
cmovne edx, eax
mov rax, qword [rbp + 0x60]
mov qword [rsp + 0x20], rax
call qword [r12 + 0x128]
jmp 0x18007b59b
mov rax, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
cmp byte [rdx + 1], 0xfa
mov r14d, dword [rax + 8]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
jne 0x18007dff9
cmp qword [r12 + 0x128], 0
je 0x18007dff9
movsx rcx, byte [rbx + 1]
mov rax, qword [r12 + 0x20]
mov rdi, qword [rdx + 0x10]
shl rcx, 5
test byte [rdx + 2], 2
mov rsi, qword [rcx + rax]
je 0x18007dfff
cmp byte [rbx + 4], 0
je 0x18007dfff
mov rcx, qword [rbx + 0x38]
call fcn.1800663b0
mov rdx, qword [rsp + 0x30]
mov qword [rbx + 0x58], rax
jmp 0x18007dfff
xor eax, eax
mov esi, eax
mov edi, eax
movzx edx, byte [rdx + 2]
mov rcx, qword [rbx + 0x38]
call fcn.18006c2a0
mov dword [rsp + 0x38], eax
mov qword [rbx + 0x28], 0
test eax, eax
jne 0x18007cfcf
test r14b, 1
je 0x18007feb4
inc dword [r13 + 0x3c]
mov r10, qword [r12 + 0x128]
test r10, r10
je 0x18007feb4
test byte [rdi + 0x40], 0x20
jne 0x18007feb4
mov rax, qword [rbx + 0x58]
mov r8, rsi
mov r9, qword [rdi]
mov edx, 9
mov rcx, qword [r12 + 0x120]
mov qword [rsp + 0x20], rax
call r10
jmp 0x18007b59b
mov edx, dword [r13 + 0x3c]
mov rcx, r12
call fcn.1800773f0
mov dword [r13 + 0x3c], r14d
jmp 0x18007b5aa
mov rbx, qword [rsp + 0x30]
lea r9, [rbp + 0x184]
mov rax, qword [r13 + 0x78]
movsxd rcx, dword [rbx + 4]
mov r8d, dword [rbx + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rdx, rax, 0x38
mov dword [rbp + 0x184], r14d
add rdx, rsi
call fcn.1800847e0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007cfcf
mov r15, rbx
cmp dword [rbp + 0x184], eax
jne 0x18007f8f4
jmp 0x18007b5aa
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x78]
add rdx, rsi
mov rcx, qword [rax + rcx*8]
call fcn.180084710
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007cfcf
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], r14d
jmp 0x18007b5a5
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.18007ac90
mov rcx, qword [r13 + 0x78]
mov rbx, rax
mov rax, qword [rsp + 0x30]
movsxd rdx, dword [rax + 4]
mov rdx, qword [rcx + rdx*8]
mov rdi, qword [rdx + 0x38]
mov rcx, rdi
call fcn.1800663d0
cmp eax, dword [r12 + 0x7c]
ja 0x180080386
mov r9, rbx
mov r8d, eax
xor edx, edx
mov rcx, rdi
call fcn.1800710d0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007cfcf
mov r15, qword [rsp + 0x30]
cmp dword [r15 + 0xc], eax
jne 0x18007febe
mov r8d, 0x1000
test word [rbx + 8], r8w
je 0x18007febe
mov rcx, rbx
call fcn.1800700d0
test eax, eax
jne 0x18007ca25
mov rdi, qword [rsp + 0x48]
jmp 0x18007b5aa
mov rbx, qword [rsp + 0x30]
mov rcx, r13
mov rdx, rbx
call fcn.18007ac90
movsxd rdx, dword [rbx + 4]
mov rdi, rax
mov rcx, qword [r13 + 0x78]
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], 0
je 0x18007e1ef
mov r15, qword [rsp + 0x30]
mov r10d, 1
mov rdi, qword [rsp + 0x48]
mov r9d, 0x2400
mov word [rax + 8], r10w
jmp 0x18007b5b6
cmp byte [rbx + 3], 0
je 0x18007e208
mov rax, qword [rbx + 0x58]
mov qword [rbp + 0x1a0], rax
mov qword [rdi], rax
jmp 0x18007b5a0
cmp byte [rbx], 2
jne 0x18007e24b
mov rcx, qword [rbx + 0x38]
lea rdx, [rbp + 0x1a0]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x38], eax
call fcn.180077500
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x18007cfcf
mov rax, qword [rbp + 0x1a0]
mov qword [rdi], rax
jmp 0x18007b5a0
mov rcx, rbx
call fcn.180075a40
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007cfcf
cmp byte [rbx + 2], al
je 0x18007e284
mov r15, qword [rsp + 0x30]
mov r10d, 1
mov word [rdi + 8], r10w
mov r9d, 0x2400
mov rdi, qword [rsp + 0x48]
jmp 0x18007b5b6
mov rcx, qword [rbx + 0x38]
call fcn.1800663b0
mov qword [rbp + 0x1a0], rax
mov qword [rdi], rax
jmp 0x18007b5a0
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 0
mov byte [rcx + 2], 1
mov dword [rcx + 0x28], r14d
jne 0x18007fea5
mov rcx, qword [rcx + 0x38]
call fcn.1800618e0
jmp 0x18007b5a5
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rsi, qword [rdi + 0x38]
mov dword [rbp + 0x174], r14d
cmp bl, 0x82
jne 0x18007e304
mov rcx, rsi
mov dword [rdi + 0x2c], 0xffffffff
call fcn.1800663a0
test eax, eax
jne 0x18007feb4
lea rdx, [rbp + 0x174]
mov rcx, rsi
call fcn.180066f60
mov dword [rsp + 0x38], eax
movzx eax, byte [rbp + 0x174]
mov byte [rdi + 2], al
mov eax, dword [rsp + 0x38]
mov byte [rdi + 3], 0
mov dword [rdi + 0x28], r14d
test eax, eax
jne 0x18007cfcf
mov r15, qword [rsp + 0x30]
cmp dword [r15 + 8], eax
jle 0x18007feb9
cmp dword [rbp + 0x174], eax
jne 0x18007f8f4
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
jmp 0x18007b5aa
mov rax, qword [rsp + 0x30]
lea rdx, [rbp + 0x170]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.180066f10
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007cfcf
cmp dword [rbp + 0x170], eax
jne 0x18007f8ef
mov rcx, rbx
call fcn.1800674e0
test rax, rax
js 0x18007e3d0
mov rcx, rax
call fcn.180051740
mov r15, qword [rsp + 0x30]
movsx ecx, ax
cmp ecx, dword [r15 + 0xc]
jge 0x18007e3d5
mov r10d, 1
mov dword [rbp + 0x170], r10d
jmp 0x18007c34e
mov r15, qword [rsp + 0x30]
cmp dword [rbp + 0x170], 0
jne 0x18007f8f4
jmp 0x18007b5aa
inc dword [r13 + 0xdc]
mov rax, qword [rsp + 0x30]
lea rdx, [rbp + 0x154]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
mov dword [rbp + 0x154], r10d
cmp byte [rbx], 1
jne 0x18007e41c
mov rcx, rbx
call fcn.180084590
jmp 0x18007e42d
mov rcx, qword [rbx + 0x38]
call fcn.180066f10
mov byte [rbx + 3], 0
mov dword [rbx + 0x28], r14d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007cfcf
movzx eax, byte [rbp + 0x154]
mov r15, qword [rsp + 0x30]
mov byte [rbx + 2], al
cmp dword [rbp + 0x154], 0
jne 0x18007f8f4
jmp 0x18007b5aa
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r12
mov rdx, rbx
call fcn.180084660
jmp 0x18007e498
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x30]
mov rcx, qword [rbx + 0x38]
mov edx, dword [rax + 0xc]
call qword [rax + 0x10]
mov dword [rsp + 0x38], eax
mov dword [rbx + 0x28], r14d
test eax, eax
jne 0x18007e4bd
mov byte [rbx + 2], al
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + 2]
inc dword [r13 + rax*4 + 0xd4]
jmp case.0x18007ae11.11
cmp eax, 0x65
jne 0x18007cfcf
mov dword [rsp + 0x38], r14d
mov byte [rbx + 2], 1
jmp 0x18007fa84
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, rsi
test byte [rcx + 2], 1
je 0x18007e4ff
inc dword [r13 + 0x3c]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x18007e51f
mov rcx, rbx
call fcn.180070130
test eax, eax
jne 0x18007cfcf
mov rcx, qword [rsp + 0x30]
cmp byte [rcx], 0x83
jne 0x18007e531
mov rdx, rbx
mov rcx, rdi
call fcn.1800833f0
jmp 0x18007e595
movsxd rax, dword [rbx + 0xc]
mov qword [rbp + 0x118], rax
mov rax, qword [rbx + 0x10]
mov qword [rbp + 0x110], rax
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
mov qword [rbp + 0x128], rcx
mov rcx, qword [rsp + 0x30]
movzx r8d, word [rcx + 2]
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x130], ax
test r8b, 0x10
je 0x18007e57a
mov r9d, dword [rdi + 0x2c]
jmp 0x18007e57d
mov r9d, r14d
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp + 0x110]
and r8d, 0xa
call fcn.18006be40
mov dword [rdi + 0x28], r14d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007cfcf
jmp 0x18007b5a0
mov rax, qword [rsp + 0x30]
lea rdx, [rbp + 0x40]
xor r9d, r9d
xor r8d, r8d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rbx + 0x40]
mov rdi, qword [rbx + 0x38]
mov qword [rbp + 0x40], rax
movzx eax, word [rcx + 0xc]
mov word [rbp + 0x50], ax
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
lea rax, [rbp + 0x194]
mov byte [rbp + 0x52], 0
add rcx, rsi
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x48], rcx
mov rcx, rdi
call fcn.180066fd0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007cfcf
cmp dword [rbp + 0x194], eax
jne 0x18007e62b
mov dl, 4
mov rcx, rdi
call fcn.18006c2a0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007cfcf
mov qword [rbx + 0x28], 0
jmp 0x18007b5a0
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, rbx
call fcn.180075a40
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007cfcf
cmp byte [rbx + 2], al
jne 0x18007e6e1
mov qword [rbp + 0x1a8], r14
lea r8, [rbp + 0x1a8]
mov rdx, qword [rbx + 0x38]
mov rcx, r12
call fcn.180077080
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007cfcf
mov rax, qword [rsp + 0x30]
cmp byte [rax], 0x86
jne 0x18007e6c7
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r13 + 0x78]
mov rdx, qword [rax + rcx*8]
mov byte [rdx + 2], 0
mov rax, qword [rbp + 0x1a8]
mov qword [rdx + 0x58], rax
mov rax, qword [rsp + 0x30]
mov byte [rdx + 3], 1
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x30], rbx
jmp 0x18007b5a5
mov rdx, rax
mov rcx, r13
call fcn.18007ac90
mov rcx, qword [rbp + 0x1a8]
mov qword [rax], rcx
jmp 0x18007b5a5
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, rsi
call fcn.180070980
jmp 0x18007b5a5
mov rax, qword [rsp + 0x30]
lea r9, [rbp + 0x150]
cmp bl, 0x27
lea r8, [rbp + 0x28]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rdx + 0x40]
mov qword [rbp + 0x28], rax
movzx eax, word [rcx + 0x10]
mov word [rbp + 0x38], ax
sbb al, al
mov byte [rbp + 0x3a], al
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
mov dword [rbp + 0x150], r14d
add rcx, rsi
mov qword [rbp + 0x30], rcx
mov rcx, r12
call fcn.1800772b0
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x30]
test byte [rax], 1
mov eax, dword [rbp + 0x150]
je 0x18007e76a
neg eax
jmp 0x18007e76c
inc eax
cmp dword [rsp + 0x38], 0
mov dword [rbp + 0x150], eax
jne 0x1800802f6
mov r15, qword [rsp + 0x30]
test eax, eax
jg 0x18007f8f4
jmp 0x18007b5aa
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.18007ac90
mov r9d, 1
mov rbx, rax
mov word [rax + 8], r9w
mov ecx, dword [r12 + 0xcc]
inc ecx
cmp dword [r12 + 0xc0], ecx
jg 0x1800802bd
mov rax, qword [rsp + 0x30]
lea r8, [rbp + 0x16c]
mov rcx, qword [r12 + 0x20]
mov dword [rbp + 0x16c], r14d
movsxd rdi, dword [rax + 0xc]
mov edx, dword [rax + 4]
mov r9, rdi
shl r9, 5
mov rcx, qword [r9 + rcx + 8]
call fcn.18006d510
mov dword [rsp + 0x38], eax
mov eax, 4
mov word [rbx + 8], ax
movsxd rax, dword [rbp + 0x16c]
mov qword [rbx], rax
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x18007cfcf
mov r8d, dword [rbp + 0x16c]
test r8d, r8d
je 0x18007fea5
mov rax, qword [rsp + 0x30]
mov edx, edi
mov rcx, r12
mov r9d, dword [rax + 4]
call fcn.18009bfa0
lea eax, [rdi + 1]
mov byte [rsp + 0x68], al
jmp 0x18007b5a0
mov rax, qword [rsp + 0x30]
lea r8, [rbp + 0x180]
mov rcx, qword [r12 + 0x20]
mov r15, qword [rsp + 0x30]
mov dword [rbp + 0x180], r14d
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 8]
mov edx, dword [r15 + 4]
cmove r8, r14
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.18006cfc0
cmp dword [r15 + 0xc], 0
mov dword [rsp + 0x38], eax
je 0x18007e8a9
movsxd rdx, dword [rbp + 0x180]
add dword [r13 + 0x3c], edx
movsxd rax, dword [r15 + 0xc]
test eax, eax
jle 0x18007e8a5
imul rcx, rax, 0x38
add qword [rcx + rsi], rdx
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x18007cfcf
jmp 0x18007b5aa
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x18007e8dd
mov rdx, qword [rcx + 0x38]
mov rcx, r12
call fcn.180082630
jmp 0x18007b5a5
mov rcx, qword [rcx + 0x38]
call fcn.18006d0a0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007cfcf
jmp 0x18007b5a5
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.18007ac90
mov rbx, rax
mov dword [rbp + 0x188], r14d
mov rax, qword [rsp + 0x30]
lea rdx, [rbp + 0x188]
movsxd rcx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
shl rcx, 5
add rcx, qword [r12 + 0x20]
mov rcx, qword [rcx + 8]
call fcn.18006cca0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007cfcf
movsxd rax, dword [rbp + 0x188]
mov qword [rbx], rax
jmp 0x18007b5a5
mov rax, qword [rsp + 0x30]
xor r9d, r9d
inc byte [r12 + 0x6a]
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x20], r14
mov rdx, qword [rax + 0x10]
call sym.SafeBase64.dll_sqlite3_exec
dec byte [r12 + 0x6a]
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007cfcf
jmp 0x18007b5a5
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x10]
movsxd rbx, dword [rax + 4]
test rcx, rcx
jne 0x18007e9e2
mov rcx, qword [r12 + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.1800a1000
and dword [r12 + 0x2c], 0xffffffef
lea r8, [r13 + 0xa8]
mov r9d, 1
mov edx, ebx
mov rcx, r12
call fcn.1800b40d0
or dword [r12 + 0x2c], 1
and dword [r13 + 0xc8], 0xfffffffc
mov dword [rsp + 0x38], eax
jmp 0x18007ea99
mov r8, qword [r12 + 0x20]
lea rax, [r13 + 0xa8]
mov qword [rbp - 0x28], rax
lea r9, str.sqlite_master
mov qword [rbp - 0x30], r12
lea rdx, str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
mov dword [rbp - 0x20], ebx
mov rax, rbx
shl rax, 5
mov dword [rbp - 0x18], r14d
mov qword [rsp + 0x20], rcx
mov rcx, r12
mov r8, qword [rax + r8]
call fcn.18004f5a0
mov rbx, rax
test rax, rax
je 0x1800802d2
lea r9, [rbp - 0x30]
mov byte [r12 + 0xb5], 1
lea r8, [fcn.1800b3e80]
mov dword [rbp - 0x1c], r14d
mov rdx, rax
mov dword [rbp - 0x14], r14d
mov rcx, r12
mov qword [rsp + 0x20], r14
call sym.SafeBase64.dll_sqlite3_exec
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007ea81
mov eax, dword [rbp - 0x1c]
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007ea81
cmp dword [rbp - 0x14], eax
jne 0x18007ea81
mov ecx, 0x15d22
call fcn.1800e5820
mov dword [rsp + 0x38], eax
mov rdx, rbx
mov rcx, r12
call fcn.18004ceb0
mov eax, dword [rsp + 0x38]
mov byte [r12 + 0xb5], 0
test eax, eax
je 0x18007b5a5
mov r14d, 7
mov rcx, r12
call fcn.180098810
mov eax, dword [rsp + 0x38]
mov edi, dword [rsp + 0x3c]
cmp eax, 7
je 0x18007ca2f
mov ebx, 1
jmp 0x18007cfde
mov rax, qword [rsp + 0x30]
mov rcx, r12
mov edx, dword [rax + 4]
call fcn.1800961e0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007cfcf
jmp 0x18007b5a5
mov rax, qword [rsp + 0x30]
mov rcx, r12
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.180098e70
jmp 0x18007b5a5
mov rax, qword [rsp + 0x30]
mov rcx, r12
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1800984d0
jmp 0x18007b5a5
mov rax, qword [rsp + 0x30]
mov rcx, r12
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1800c2c20
jmp 0x18007b5a5
mov rcx, qword [rsp + 0x30]
lea r8, [rbp + 0x190]
mov r15, qword [rsp + 0x30]
mov qword [rsp + 0x20], r8
movsxd rax, dword [rcx + 0xc]
mov rdx, qword [rcx + 0x10]
mov r8d, dword [r15 + 8]
add rdx, 4
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movzx eax, word [rcx + 2]
add rdi, rsi
mov rcx, qword [r12 + 0x20]
add rbx, rsi
shl rax, 5
mov r9d, dword [rdi]
inc r9d
mov rcx, qword [rax + rcx + 8]
call fcn.18006e4d0
mov rcx, rbx
mov rsi, rax
call fcn.180070980
mov ecx, dword [rbp + 0x190]
test ecx, ecx
je 0x18007ebd1
test rsi, rsi
je 0x18007ca25
dec ecx
lea rax, [sym.SafeBase64.dll_sqlite3_free]
movsxd rdx, ecx
mov r9b, 1
sub qword [rdi], rdx
mov r8d, 0xffffffff
mov rdx, rsi
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.180070d20
movzx edx, byte [rsp + 0x40]
mov rcx, rbx
call fcn.18006fed0
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
jmp 0x18007b5aa
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
add rbx, rsi
imul rdi, rax, 0x38
test byte [rbx + 8], 0x10
jne 0x18007ec1b
mov rcx, rbx
call fcn.180070a70
test eax, eax
jne 0x18007ca25
mov rdx, qword [rdi + rsi]
mov rcx, qword [rbx + 0x10]
call fcn.1800584e0
jmp 0x18007b5a0
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, rsi
test byte [rbx + 8], 0x10
je 0x18007ec78
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0x1c8]
call fcn.1800589a0
test eax, eax
je 0x18007ec78
mov rax, qword [rsp + 0x30]
mov rdx, qword [rbp + 0x1c8]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
call fcn.1800709e0
jmp 0x18007fa84
mov rcx, rbx
call fcn.180070980
jmp case.0x18007ae11.11
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
mov edi, dword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, rsi
imul rsi, rax, 0x38
add rsi, qword [rsp + 0x50]
test byte [rbx + 8], 0x10
jne 0x18007ecbb
mov rcx, rbx
call fcn.180070a70
test eax, eax
jne 0x18007ca25
test edi, edi
je 0x18007ecd7
mov r8, qword [rsi]
mov edx, edi
mov rcx, qword [rbx + 0x10]
call fcn.180058a20
test eax, eax
jne 0x18007f8ef
test edi, edi
js 0x18007b59b
mov rdx, qword [rsi]
mov rcx, qword [rbx + 0x10]
call fcn.1800584e0
jmp 0x18007b59b
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 0xc]
mov r15, qword [rcx + 0x10]
imul r14, rax, 0x38
add r14, rsi
cmp word [rcx + 2], 0
je 0x18007ed33
mov rax, qword [r13 + 0x100]
mov rcx, qword [r15 + 0x20]
test rax, rax
je 0x18007ed33
nop dword [rax]
cmp qword [rax + 0x38], rcx
je 0x18008003b
mov rax, qword [rax + 8]
test rax, rax
jne 0x18007ed20
mov eax, dword [r13 + 0x110]
cmp eax, dword [r12 + 0xa4]
jge 0x1800802e2
test byte [r14 + 8], 0x10
jne 0x18007ee6a
mov edx, dword [r15 + 0x10]
mov ecx, dword [r15 + 0xc]
add ecx, edx
test edx, edx
lea ebx, [rcx + 1]
cmovne ebx, ecx
lea eax, [rbx + 2]
imul ecx, eax, 7
mov eax, dword [r15 + 8]
add ecx, edx
add eax, 7
jns 0x18007ed79
add eax, 7
sar eax, 3
lea edi, [rax + rcx*8]
mov rcx, r12
movsxd rdx, edi
call fcn.18004d180
mov rsi, rax
test rax, rax
je 0x18007ca25
mov rcx, r14
call fcn.180070510
mov qword [r14 + 0x10], rsi
mov eax, 0x410
mov word [r14 + 8], ax
lea rax, [0x180073860]
mov qword [r14 + 0x30], rax
movabs rax, 0x2aaaaaaaaaaaaaab
mov dword [r14 + 0xc], edi
mov qword [rsi], r13
mov dword [rsi + 0x60], ebx
mov ecx, dword [r15 + 0x10]
mov dword [rsi + 0x64], ecx
mov rcx, qword [rsp + 0x30]
sub rcx, qword [rsp + 0x48]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rsi + 0x54], edx
mov rax, qword [r13 + 0x68]
mov qword [rsi + 0x20], rax
mov eax, dword [r13 + 0x28]
mov dword [rsi + 0x5c], eax
mov rax, qword [r13 + 0x78]
mov qword [rsi + 0x28], rax
mov eax, dword [r13 + 0x2c]
mov dword [rsi + 0x50], eax
mov rax, qword [r13 + 0x88]
mov qword [rsi + 0x10], rax
mov eax, dword [r13 + 0x90]
mov dword [rsi + 0x58], eax
mov rax, qword [r15 + 0x20]
mov qword [rsi + 0x38], rax
movsxd rax, ebx
add rax, 2
imul rcx, rax, 0x38
lea rax, [rsi + 0x70]
add rcx, rsi
cmp rax, rcx
je 0x18007ee61
mov edx, 0x80
nop word [rax + rax]
mov word [rax + 8], dx
mov qword [rax + 0x28], r12
add rax, 0x38
cmp rax, rcx
jne 0x18007ee50
mov eax, dword [r13 + 0x110]
jmp 0x18007ee6e
mov rsi, qword [r14 + 0x10]
inc eax
lea rdx, [rsi + 0x70]
mov dword [r13 + 0x110], eax
mov rax, qword [r13 + 0x100]
mov qword [rsi + 8], rax
mov rax, qword [r12 + 0x38]
mov qword [rsi + 0x40], rax
mov eax, dword [r13 + 0x3c]
mov dword [rsi + 0x68], eax
mov rax, qword [r13]
mov qword [rsp + 0x50], rdx
mov ecx, dword [rax + 0x74]
mov dword [rsi + 0x6c], ecx
mov rax, qword [r13 + 0x120]
mov qword [rsi + 0x48], rax
xor eax, eax
mov qword [r13 + 0x120], rax
mov dword [r13 + 0x3c], eax
mov qword [r13 + 0x68], rdx
mov qword [r13 + 0x100], rsi
movsxd rcx, dword [rsi + 0x60]
mov dword [r13 + 0x28], ecx
movzx eax, word [rsi + 0x64]
mov dword [r13 + 0x2c], eax
imul rcx, rcx, 0x38
add rdx, rcx
mov qword [r13 + 0x78], rdx
movsxd rax, dword [r15 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [rsi + 0x30], rcx
mov eax, dword [r15 + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.180113150
mov rdi, qword [r15]
mov qword [r13 + 0x88], rdi
mov eax, dword [r15 + 8]
mov dword [r13 + 0x90], eax
lea rax, [rdi - 0x18]
mov qword [rsp + 0x48], rdi
jmp 0x18007fa7f
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.18007ac90
mov r9, qword [r13 + 0x100]
mov r15, qword [rsp + 0x30]
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 [r15 + 4]
movsxd rcx, r8d
mov r8d, 0x1000
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x20]
call fcn.180070c40
jmp 0x18007b5aa
mov eax, dword [r12 + 0x30]
bt rax, 0x13
mov rax, qword [rsp + 0x30]
mov r15, rax
jae 0x18007ef9d
movsxd rax, dword [rax + 8]
add qword [r12 + reloc.SHELL32.dll_IsUserAnAdmin], rax
jmp case.0x18007ae11.86
cmp dword [rax + 4], 0
movsxd rax, dword [rax + 8]
je 0x18007efb4
add qword [r12 + 0x2a0], rax
jmp case.0x18007ae11.86
add qword [r13 + 0x50], rax
jmp case.0x18007ae11.86
cmp dword [r15 + 4], 0
je 0x18007efcf
cmp qword [r12 + 0x2a0], 0
jmp 0x18007efd4
cmp qword [r13 + 0x50], 0
jne case.0x18007ae11.86
cmp qword [r12 + reloc.SHELL32.dll_IsUserAnAdmin], 0
je 0x18007c34e
jmp case.0x18007ae11.86
mov rcx, qword [r13 + 0x100]
test rcx, rcx
je 0x18007f022
mov rax, qword [rcx + 8]
test rax, rax
je 0x18007f00f
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x18007f003
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x18007f032
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, rsi
mov rcx, rdi
call fcn.1800706e0
mov r15, qword [rsp + 0x30]
movsxd rax, dword [r15 + 8]
imul rbx, rax, 0x38
add rbx, rsi
mov rcx, rbx
call fcn.1800706e0
mov rax, qword [rbx]
cmp qword [rdi], rax
jge 0x18007febe
mov qword [rdi], rax
mov rdi, qword [rsp + 0x48]
jmp 0x18007b5aa
mov rax, qword [rsp + 0x30]
mov r15, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + rsi]
test rdx, rdx
jle 0x18007b5b6
mov rax, r15
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + rsi], rdx
jmp 0x18007c34e
mov rcx, qword [rsp + 0x30]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
mov rcx, r13
imul rdi, rax, 0x38
add rbx, rsi
add rdi, rsi
call fcn.18007ac90
mov rcx, qword [rbx]
mov rsi, rax
mov qword [rbp + 0x1b8], rcx
test rcx, rcx
jle 0x18007f0fe
mov rdx, qword [rdi]
lea rcx, [rbp + 0x1b8]
test rdx, rdx
cmovle rdx, r14
call fcn.180051560
test eax, eax
jne 0x18007f0fe
mov rax, qword [rbp + 0x1b8]
mov qword [rsi], rax
jmp 0x18007b59b
mov qword [rsi], 0xffffffffffffffff
jmp 0x18007b59b
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + rsi]
test rax, rax
je 0x18007b54c
mov r15, qword [rsp + 0x30]
jle 0x18007c34e
dec rax
mov qword [rcx + rsi], rax
jmp 0x18007c34e
mov rax, qword [rsp + 0x30]
movabs r8, 0x8000000000000000
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + rsi]
cmp rax, r8
jle 0x18007f162
dec rax
mov qword [rcx + rsi], rax
mov r15, qword [rsp + 0x30]
test rax, rax
je 0x18007c34e
jmp case.0x18007ae11.86
mov rax, qword [rsp + 0x30]
mov rcx, r12
movzx edi, word [rax + 2]
mov esi, edi
lea rdx, [rdi*8 + 0x68]
call fcn.18004d230
mov rbx, rax
test rax, rax
je 0x18007ca25
add rsi, 6
mov qword [rax + 0x10], r14
mov r8d, 1
mov rdx, r12
lea rcx, [rax + rsi*8]
mov qword [rax], rcx
call fcn.180070960
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x50]
mov rcx, qword [rax + 0x10]
mov qword [rbx + 8], rcx
mov rcx, rax
sub rcx, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov byte [rbx + 0x29], dil
mov rdi, qword [rsp + 0x48]
sar rdx, 2
mov rax, rdx
mov qword [rbx + 0x18], r13
shr rax, 0x3f
add rdx, rax
mov byte [rbx + 0x28], 0
mov rax, qword [rsp + 0x30]
mov dword [rbx + 0x20], edx
mov dword [rbx + 0x24], r14d
mov word [rax], 0xf09b
mov qword [rax + 0x10], rbx
jmp 0x18007f21b
mov rax, qword [rsp + 0x30]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul r10, rax, 0x38
add r10, rsi
cmp qword [rbx + 0x10], r10
je 0x18007f278
movzx eax, byte [rbx + 0x29]
mov edx, eax
mov qword [rbx + 0x10], r10
sub rdx, 1
lea r9d, [rax - 1]
js 0x18007f278
mov r12, qword [rsp + 0x30]
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
mov eax, dword [r12 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, rsi
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x18007f251
mov r12, qword [rsp + 0x60]
inc dword [r10 + 0xc]
lea r8, [rbx + 0x30]
mov r15, qword [rsp + 0x30]
mov rcx, rbx
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
cmp dword [r15 + 4], 0
je 0x18007f29c
call qword [rax + 0x30]
jmp 0x18007f29f
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x18007febe
jle 0x18007f2cd
mov rcx, qword [rbx]
call fcn.180077ab0
mov r8, rax
lea rdx, [0x1801596d0]
mov rcx, r13
call fcn.180071a90
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x38], eax
cmp byte [rbx + 0x28], 0
je 0x18007f2f0
movsxd rax, dword [r15 - 0x14]
test eax, eax
je 0x18007f2ec
imul rcx, rax, 0x38
mov edx, 1
add rcx, rsi
call fcn.1800709e0
mov byte [rbx + 0x28], 0
mov rcx, qword [rbx]
call fcn.180070510
mov rax, qword [rbx]
mov r10d, 1
mov word [rax + 8], r10w
mov eax, dword [rsp + 0x38]
mov dword [rbx + 0x24], r14d
test eax, eax
jne 0x180080651
mov r9d, 0x2400
jmp 0x18007b5b6
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, rsi
test eax, eax
je 0x18007f364
mov r8, qword [rcx + 0x10]
mov rcx, rbx
imul rdx, rax, 0x38
add rdx, rsi
call fcn.1800703a0
mov ecx, eax
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, rsi
jmp 0x18007f376
mov rdx, qword [rcx + 0x10]
mov rcx, rbx
call fcn.180070290
mov ecx, eax
mov dword [rsp + 0x38], eax
test ecx, ecx
mov rcx, rbx
jne 0x1800802ff
movzx edx, byte [rsp + 0x40]
call fcn.18006fed0
mov rcx, rbx
call fcn.180070bd0
test eax, eax
jne 0x180080386
jmp 0x18007b5a5
lea rax, [rbp + 0x1d8]
mov dword [rbp + 0x1d0], r14d
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x1d4]
mov rax, qword [rsp + 0x30]
mov rcx, r12
mov qword [rbp + 0x1d4], 0xffffffffffffffff
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.1800e3dc0
mov dword [rsp + 0x38], eax
test eax, eax
je 0x18007f3fa
cmp eax, 5
jne 0x18007cfcf
mov eax, 1
mov dword [rsp + 0x38], r14d
mov dword [rbp + 0x1d0], eax
mov rax, qword [rsp + 0x30]
mov rbx, r14
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, rsi
nop dword [rax]
movsxd rdx, dword [rbp + rbx*4 + 0x1d0]
mov rcx, rdi
call fcn.1800709e0
inc rbx
add rdi, 0x38
cmp rbx, 3
jl 0x18007f410
jmp 0x18007b5a0
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.18007ac90
mov rcx, qword [r12 + 0x20]
mov r14, rax
mov rax, qword [rsp + 0x30]
movsxd rdx, dword [rax + 4]
mov ebx, dword [rax + 0xc]
shl rdx, 5
mov r15, qword [rdx + rcx + 8]
mov rcx, r15
call fcn.18006d880
mov rcx, rax
mov rsi, rax
call fcn.18005e010
cmp ebx, 0xffffffff
mov rcx, rsi
mov edi, eax
cmove ebx, eax
call fcn.18005e020
test eax, eax
mov edx, 1
mov rcx, rsi
cmove ebx, edi
call fcn.18005dc60
cmp ebx, 5
jne 0x18007f508
mov rcx, rax
call fcn.180050340
test eax, eax
je 0x18007f4ae
mov rcx, rsi
call fcn.18005e040
test eax, eax
jne 0x18007f508
mov ebx, edi
mov eax, dword [rsp + 0x38]
test eax, eax
je 0x18007f4ba
mov ebx, edi
mov edx, ebx
mov rcx, rsi
call fcn.18005dea0
mov ecx, 0xa02
mov word [r14 + 8], cx
mov ecx, eax
call fcn.1800b0670
mov rcx, rax
mov qword [r14 + 0x10], rax
call fcn.180050340
movzx edx, byte [rsp + 0x40]
mov rcx, r14
mov dword [r14 + 0xc], eax
mov byte [r14 + 0xa], 1
call fcn.18006fed0
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x18007cfcf
jmp 0x18007b59b
cmp ebx, edi
je 0x18007f4b0
cmp edi, 5
je 0x18007f516
cmp ebx, 5
jne 0x18007f4b0
cmp byte [r12 + 0x5f], 0
je 0x18008031f
cmp dword [r12 + 0xc0], 1
jg 0x18008031f
cmp edi, 5
jne 0x18007f559
mov rdx, r12
mov rcx, rsi
call fcn.18005e340
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007f4b8
mov edx, ebx
mov rcx, rsi
call fcn.18005dea0
jmp 0x18007f574
cmp edi, 4
jne 0x18007f569
lea edx, [rdi - 2]
mov rcx, rsi
call fcn.18005dea0
cmp dword [rsp + 0x38], 0
jne 0x18007f4b8
xor edx, edx
mov rcx, r15
cmp ebx, 5
sete dl
inc edx
call fcn.18006ec30
mov dword [rsp + 0x38], eax
jmp 0x18007f4b4
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
test eax, eax
je 0x18007f5a5
imul r9, rax, 0x38
add r9, rsi
jmp 0x18007f5a8
mov r9, r14
mov rax, qword [rsp + 0x30]
lea rcx, [r13 + 0xa8]
mov rdx, r12
mov r8d, dword [rax + 4]
call fcn.1800c6ce0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007cfcf
jmp 0x18007b5a5
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.1800655d0
mov dword [rsp + 0x38], eax
test eax, eax
je 0x18007fea5
cmp eax, 0x65
jne 0x18007cfcf
mov dword [rsp + 0x38], r14d
jmp 0x18007c343
mov rax, qword [rsp + 0x30]
cmp dword [rax + 4], 0
jne 0x18007f627
mov edx, dword [rax + 8]
mov rcx, r12
call fcn.180077400
jmp 0x18007b5a5
mov eax, dword [rax + 8]
mov r15, qword [rsp + 0x30]
inc eax
xor eax, dword [r13 + 0xc8]
and eax, 3
xor dword [r13 + 0xc8], eax
jmp case.0x18007ae11.86
mov rax, qword [rsp + 0x30]
movzx r8d, byte [rax + 0xc]
test r8b, r8b
jne 0x18007f66b
mov eax, dword [r12 + 0x30]
bt rax, 0xa
jb 0x18007b54c
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
mov rcx, qword [r12 + 0x20]
mov r15, qword [rsp + 0x30]
shl rax, 5
mov edx, dword [r15 + 8]
mov rcx, qword [rax + rcx + 8]
call fcn.18006ea30
mov dword [rsp + 0x38], eax
test eax, eax
je 0x18007b5aa
cmp al, 6
jne 0x18007cfcf
mov r8, qword [r15 + 0x10]
lea rdx, str.database_table_is_locked:__s
mov rcx, r13
call fcn.180071a90
mov eax, dword [rsp + 0x38]
jmp 0x18007cfcf
mov rax, qword [rsp + 0x30]
mov rcx, r12
mov rbx, qword [rax + 0x10]
mov rdx, rbx
call fcn.1800c8720
mov dword [rsp + 0x38], eax
test rbx, rbx
je 0x18007f6e8
mov rdx, qword [rbx + 0x10]
mov rcx, r13
call fcn.180077500
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x18007cfcf
jmp 0x18007b5a5
mov rax, qword [rsp + 0x30]
lea rcx, [rbp + 0xa0]
xorps xmm0, xmm0
mov qword [rbp + 0xa0], r14
xorps xmm1, xmm1
mov qword [rbp + 0xd0], r14
movdqu xmmword [rbp + 0xa8], xmm0
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
movdqu xmmword [rbp + 0xb8], xmm1
mov qword [rbp + 0xc8], r12
add rdx, rsi
call fcn.180070c80
lea rcx, [rbp + 0xa0]
mov dword [rsp + 0x38], eax
call fcn.180077ab0
test rax, rax
je 0x18007f76f
mov r8, rax
lea r9, [r13 + 0xa8]
mov rax, qword [rsp + 0x30]
mov rcx, r12
mov edx, dword [rax + 4]
call fcn.1800c8110
mov dword [rsp + 0x38], eax
lea rcx, [rbp + 0xa0]
call fcn.180070510
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x18007cfcf
jmp 0x18007b5a5
mov rax, qword [rsp + 0x30]
mov rcx, r12
inc dword [r12 + 0xcc]
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1800c8520
dec dword [r12 + 0xcc]
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18007cfcf
jmp 0x18007b5a5
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x50], r14
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x18008035d
mov rdi, qword [rbx]
test rdi, rdi
je 0x18008035d
lea rdx, [rbp - 0x50]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x38], eax
call fcn.180077500
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x18007cfcf
mov rax, qword [rbp - 0x50]
mov r9d, 0xffffffff
xor r8d, r8d
mov byte [rsp + 0x20], 2
mov rcx, r13
mov qword [rax], rbx
mov rax, qword [rsp + 0x30]
mov edx, dword [rax + 4]
call fcn.18007a8a0
mov rcx, qword [rbp - 0x50]
test rax, rax
je 0x180080355
mov qword [rax + 0x38], rcx
inc dword [rbx + 8]
jmp 0x18007b5a0
mov rcx, qword [rsp + 0x30]
xor r8d, r8d
mov rdi, qword [rsp + 0x58]
movsxd rax, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 4]
mov rdi, qword [rdi + 0x70]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x78]
add rdx, rsi
movsxd r9, dword [rdx + 0x38]
lea r11, [rdx + 0x38]
mov r13, qword [rax + rcx*8]
mov edx, dword [rdx]
mov rsi, qword [r13 + 0x38]
mov r15, qword [rsi]
mov r14, qword [r15]
test r9d, r9d
jle 0x18007f8a9
nop dword [rax + rax]
movsxd rax, r10d
inc r10d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rdi + r8*8], rcx
inc r8
cmp r8, r9
jl 0x18007f890
mov rax, qword [rsp + 0x30]
mov rcx, rsi
mov qword [rsp + 0x20], rdi
mov r8, qword [rax + 0x10]
call qword [r14 + 0x40]
mov rcx, qword [rsp + 0x58]
mov rdx, r15
mov dword [rsp + 0x38], eax
call fcn.180077500
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x18007cfca
mov rcx, rsi
call qword [r14 + 0x50]
mov byte [r13 + 2], 0
test eax, eax
je 0x18007b59b
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
mov r10d, 1
jmp 0x18007c34e
mov rbx, qword [rsp + 0x30]
mov rax, qword [r13 + 0x78]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rbx, rax, 0x38
add rbx, rsi
cmp byte [rdi + 2], 0
je 0x18007f933
mov rcx, rbx
call fcn.180070980
jmp 0x18007b5a0
mov rax, qword [rdi + 0x38]
xorps xmm0, xmm0
xorps xmm1, xmm1
mov rsi, qword [rax]
mov rax, qword [rsp + 0x30]
mov r14, qword [rsi]
test byte [rax + 2], 1
movdqu xmmword [rbp + 0xe0], xmm0
mov qword [rbp + 0xd8], rbx
movdqu xmmword [rbp + 0xf0], xmm1
movdqu xmmword [rbp + 0x100], xmm0
je 0x18007f982
mov rcx, rbx
call fcn.180070980
mov eax, 0x4001
mov dword [rbx], 0
jmp 0x18007f992
movzx eax, word [rbx + 8]
mov ecx, 0x3e20
and ax, cx
or ax, 1
mov word [rbx + 8], ax
lea rdx, [rbp + 0xd8]
mov rax, qword [rsp + 0x30]
mov rcx, qword [rdi + 0x38]
mov r8d, dword [rax + 8]
call qword [r14 + 0x58]
mov rdx, rsi
mov rcx, r13
mov dword [rsp + 0x38], eax
call fcn.180077500
cmp dword [rbp + 0xfc], 0
jle 0x18007f9ea
mov rcx, rbx
call fcn.180077ab0
mov r8, rax
lea rdx, [0x1801596d0]
mov rcx, r13
call fcn.180071a90
mov eax, dword [rbp + 0xfc]
mov dword [rsp + 0x38], eax
movzx edx, byte [rsp + 0x40]
mov rcx, rbx
call fcn.18006fed0
mov rcx, rbx
call fcn.180070bd0
test eax, eax
jne 0x180080386
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x18007cfcf
jmp 0x18007b59b
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne 0x180080036
mov rcx, qword [rdi + 0x38]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r13
mov dword [rsp + 0x38], eax
call fcn.180077500
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x18007cfcf
mov rcx, qword [rdi + 0x38]
call qword [rsi + 0x50]
mov rdi, qword [rsp + 0x48]
test eax, eax
jne 0x18007fa84
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rax, [rdi + rcx*8]
mov qword [rsp + 0x30], rax
mov eax, dword [r12 + 0x168]
test eax, eax
jne 0x1800805e5
mov ebx, dword [rsp + 0x3c]
mov esi, dword [rsp + 0x7c]
cmp esi, ebx
jb 0x18007feb4
mov rax, qword [r12 + 0x1b8]
test rax, rax
je 0x18007feb4
add ebx, dword [r12 + 0x1c8]
mov rcx, qword [r12 + 0x1c0]
mov dword [rsp + 0x3c], ebx
call rax
test eax, eax
jne 0x180080367
cmp esi, ebx
jae 0x18007faa4
mov rsi, qword [rsp + 0x50]
jmp 0x18007b5a5
mov rcx, qword [rsp + 0x30]
mov edx, r10d
mov edi, dword [r12 + 0x30]
or qword [r12 + 0x30], 0x4000000
and edi, 0x4000000
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax + 0x10]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.18006fed0
test eax, eax
jne 0x18007cfcf
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 0x10]
call qword [rax + 0x98]
mov dword [rsp + 0x38], eax
test edi, edi
jne 0x18007fb43
and qword [r12 + 0x30], 0xfffffffffbffffff
mov rdx, rsi
mov rcx, r13
call fcn.180077500
and dword [r13 + 0xc8], 0xfffffffc
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x18007cfcf
jmp 0x18007b59b
cmp byte [r12 + 0x61], 0
jne 0x18007ca25
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x18008035d
mov r10, qword [rbx]
test r10, r10
je 0x18008035d
cmp qword [r10 + 0x68], 0
mov r15, qword [rsp + 0x30]
je 0x180080016
movsxd rdx, dword [r15 + 8]
mov rax, r15
movzx edi, byte [r12 + 0x66]
mov r8, qword [r13 + 0x70]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rax, r14
add rcx, rsi
test edx, edx
jle 0x18007fbe0
nop dword [rax + rax]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, rdx
jl 0x18007fbd0
movzx eax, byte [r15 + 2]
lea r9, [rbp + 0x1c0]
mov rcx, rbx
mov byte [r12 + 0x66], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r12 + 0x66], dil
mov rcx, r13
mov dword [rsp + 0x38], eax
call fcn.180077500
mov eax, dword [rsp + 0x38]
mov rcx, r15
test eax, eax
jne 0x18007fc2d
cmp dword [r15 + 4], eax
je 0x18007fc2d
mov rax, qword [rbp + 0x1c0]
mov qword [r12 + 0x38], rax
mov eax, dword [rsp + 0x38]
cmp al, 0x13
jne 0x18007fc6c
mov rax, qword [rcx + 0x10]
cmp byte [rax + 0x1c], 0
je 0x18007fc6c
movzx ecx, word [rcx + 2]
cmp cx, 4
jne 0x18007fc54
mov rdi, qword [rsp + 0x48]
mov dword [rsp + 0x38], r14d
jmp 0x18007b5aa
movzx eax, cl
cmp cx, 5
mov ecx, 2
cmove eax, ecx
mov byte [r13 + 0xc2], al
jmp 0x18007fc70
inc dword [r13 + 0x3c]
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x18007cfcf
mov rdi, qword [rsp + 0x48]
jmp 0x18007b5aa
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.18007ac90
mov rcx, qword [r12 + 0x20]
mov rbx, rax
mov rax, qword [rsp + 0x30]
movsxd rdx, dword [rax + 4]
shl rdx, 5
mov rcx, qword [rdx + rcx + 8]
call fcn.1800630f0
mov ecx, eax
mov qword [rbx], rcx
jmp 0x18007b5a5
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.18007ac90
mov r8, qword [rsp + 0x30]
mov rdi, rax
mov rcx, qword [r12 + 0x20]
mov eax, r14d
movsxd rdx, dword [r8 + 4]
shl rdx, 5
cmp dword [r8 + 0xc], 0
mov rbx, qword [rdx + rcx + 8]
je 0x18007fd05
mov rcx, rbx
call fcn.1800630f0
mov r15, qword [rsp + 0x30]
cmp eax, dword [r15 + 0xc]
cmovb eax, dword [r15 + 0xc]
jmp 0x18007fd08
mov r15, r8
mov edx, eax
mov rcx, rbx
call fcn.180064110
movsxd rcx, eax
mov qword [rdi], rcx
mov rdi, qword [rsp + 0x48]
jmp 0x18007b5aa
mov rax, qword [rsp + 0x30]
mov rcx, r12
movzx ebx, word [rax + 2]
lea rdx, [rbx*8 + 0x30]
call fcn.18004d230
mov r8, rax
test rax, rax
je 0x18007ca25
mov qword [rax], r14
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x10]
mov qword [r8 + 8], rcx
mov rcx, rax
mov qword [r8 + 0x18], r13
sub rcx, rdi
mov dword [r8 + 0x24], r14d
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov byte [r8 + 0x29], bl
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [rsp + 0x30]
mov dword [r8 + 0x20], edx
add byte [rax], 2
mov byte [rax + 1], 0xf0
mov qword [rax + 0x10], r8
jmp 0x18007fd9f
mov rax, qword [rsp + 0x30]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, rsi
cmp qword [rbx], rdi
je 0x18007fe07
movzx eax, byte [rbx + 0x29]
mov edx, eax
mov qword [rbx], rdi
sub rdx, 1
lea r9d, [rax - 1]
js 0x18007fe07
mov r12, qword [rsp + 0x30]
lea r8, [rdx + 6]
lea r8, [rbx + r8*8]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [r12 + 8]
lea r8, [r8 - 8]
add eax, r9d
dec r9d
cdqe
imul rcx, rax, 0x38
add rcx, rsi
sub rdx, 1
mov qword [r8 + 8], rcx
jns 0x18007fde0
mov r12, qword [rsp + 0x60]
mov eax, 0x3e20
lea r8, [rbx + 0x30]
and word [rdi + 8], ax
mov rcx, rbx
or word [rdi + 8], 1
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x18007fe7d
jle 0x18007fe51
mov rcx, rdi
call fcn.180077ab0
mov r8, rax
lea rdx, [0x1801596d0]
mov rcx, r13
call fcn.180071a90
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x30]
lea rdx, [r13 + 0x120]
mov r8d, dword [rbx + 0x20]
mov rcx, r12
mov r9d, dword [rax + 4]
call fcn.180075590
mov eax, dword [rsp + 0x38]
mov dword [rbx + 0x24], r14d
test eax, eax
jne 0x18007cfcf
test byte [rdi + 8], 0x12
je 0x18007fea5
movzx edx, byte [rsp + 0x40]
mov rcx, rdi
call fcn.18006fed0
mov rcx, rdi
call fcn.180070bd0
test eax, eax
jne 0x180080386
jmp 0x18007b5a0
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x48]
jmp 0x18007b5aa
mov r15, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
jmp 0x18007b5aa
movzx eax, byte [r12 + 0x68]
test al, 0x41
je 0x18007ffa4
test byte [r13 + 0xc8], 0x10
jne 0x18007ffa4
mov r9, qword [r15 + 0x10]
test r9, r9
jne 0x18007fefd
mov r9, qword [r13 + 0xf0]
test r9, r9
je 0x18007ff9e
test al, 0x40
je 0x18007ff33
mov rdi, qword [r12 + 0xe0]
mov rdx, r9
mov rcx, r13
call fcn.18007a310
mov rcx, qword [r12 + 0xe8]
mov rdx, rax
mov rbx, rax
call rdi
mov rcx, rbx
call sym.SafeBase64.dll_sqlite3_free
mov rdi, qword [rsp + 0x48]
jmp 0x18007ff91
cmp dword [r12 + 0xc8], 1
jle 0x18007ff7b
mov r8, r9
lea rdx, str.____s
mov rcx, r12
call fcn.18004f5a0
mov rdx, qword [r12 + 0xe8]
mov r9, rax
mov r8, r13
mov ecx, 1
mov rbx, rax
call qword [r12 + 0xe0]
mov rdx, rbx
mov rcx, r12
call fcn.18004cef0
jmp 0x18007ff91
mov rdx, qword [r12 + 0xe8]
mov r8, r13
mov ecx, r10d
call qword [r12 + 0xe0]
lea rdx, [0x180000000]
mov r10d, 1
mov r9d, 0x2400
mov rax, qword [rsp + 0x30]
mov r15, qword [rsp + 0x30]
mov eax, dword [rax + 4]
cmp eax, dword [0x180186498]
jl 0x180080004
cmp byte [r15], 0xa8
je case.0x18007ae11.86
cmp dword [r13 + 0x90], 1
mov edx, r10d
jle 0x180080001
mov eax, 0x18
nop word [rax + rax]
mov rcx, qword [r13 + 0x88]
cmp byte [rax + rcx], 0x11
jne 0x18007fff2
mov dword [rax + rcx + 4], r14d
inc edx
add rax, 0x18
cmp edx, dword [r13 + 0x90]
jl 0x18007ffe0
mov eax, r14d
inc eax
mov dword [r15 + 4], eax
inc dword [r13 + 0xec]
jmp 0x18007c34e
mov r10d, 1
jmp case.0x18007ae11.86
mov r15, qword [rsp + 0x30]
mov r9d, 0x2400
mov rdi, qword [rsp + 0x48]
jmp case.0x18007ae11.86
mov rdi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x30]
jmp case.0x18007ae11.86
mov rdx, qword [rsp + 0x30]
mov dword [r13 + 0x38], ecx
movzx eax, byte [rdx + 8]
mov byte [r13 + 0xc2], al
mov dword [r13 + 0x34], ebx
test ecx, ecx
je 0x1800800f7
movzx eax, word [rdx + 2]
mov rcx, r13
test ax, ax
je 0x1800800bd
movzx r8d, ax
lea rdx, str._s_constraint_failed
lea rax, [0x180000000]
mov r8, qword [rax + r8*8 + 0x14f208]
call fcn.180071a90
mov rax, qword [rsp + 0x30]
mov r9, qword [rax + 0x10]
test r9, r9
je 0x1800800cd
mov r8, qword [r13 + 0xa8]
lea rdx, str._z:__s
mov rcx, r12
call fcn.18004f5a0
mov qword [r13 + 0xa8], rax
jmp 0x1800800cd
mov r8, qword [rdx + 0x10]
lea rdx, [0x1801596d0]
call fcn.180071a90
mov rax, qword [r13 + 0xa8]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [r13 + 0xf0]
mov r8d, ebx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 4]
call fcn.18004f880
mov rcx, r13
call fcn.180075030
mov edi, dword [rsp + 0x3c]
mov r14d, 7
mov dword [rsp + 0x38], eax
cmp eax, 5
jne 0x18008011b
mov dword [r13 + 0x38], eax
jmp 0x180080668
cmp dword [r13 + 0x38], 0
mov eax, 0x65
mov r9d, 1
cmovne eax, r9d
mov dword [rsp + 0x38], eax
jmp 0x180080668
mov eax, 0x14
jmp 0x18007cfcf
lea rax, [0x180160304]
mov r9d, 0x1512e
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, 0xb
call fcn.18004f880
mov r12, qword [rsp + 0x60]
mov eax, 0xb
jmp 0x18007cfca
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.180071a90
mov eax, 5
jmp 0x18007cfcf
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.180071a90
mov eax, 5
jmp 0x18007cfcf
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x48]
mov r13, rbx
mov edi, dword [rsp + 0x3c]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x34], edx
mov byte [r12 + 0x5f], 0
mov dword [rbx + 0x38], 5
mov ebx, 5
lea r14d, [rbx + 2]
jmp 0x18008066c
mov eax, 8
jmp 0x18007cfcf
mov r14d, 7
cmp al, 5
jne 0x18007bc37
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rdi
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, dword [rsp + 0x38]
mov dword [r13 + 0x34], edx
mov dword [r13 + 0x38], eax
jmp 0x180080664
mov rdx, qword [r13 + 0xa8]
test rdx, rdx
je 0x180080257
mov rcx, r12
call fcn.18004ceb0
lea rdx, str.database_schema_has_changed
mov rcx, r12
call fcn.18004d480
mov qword [r13 + 0xa8], rax
mov rax, qword [rsp + 0x30]
movsxd rdx, dword [rax + 4]
mov rax, qword [r12 + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp + 0x168]
cmp dword [rcx], eax
je 0x180080299
mov rcx, r12
call fcn.180098790
and dword [r13 + 0xc8], 0xfffffffd
mov eax, 0x11
or dword [r13 + 0xc8], 1
jmp 0x18007cfcf
mov eax, 0x204
jmp 0x18007cfcf
mov eax, 6
mov byte [r13 + 0xc2], 2
mov rbx, r9
jmp 0x18007cfd4
mov r14d, 7
mov dword [rsp + 0x38], r14d
jmp 0x18007eaa7
lea rdx, str.too_many_levels_of_trigger_recursion
mov dword [rsp + 0x38], r10d
mov rcx, r13
call fcn.180071a90
mov eax, dword [rsp + 0x38]
jmp 0x18007cfcf
call fcn.180077ab0
mov r8, rax
lea rdx, [0x1801596d0]
mov rcx, r13
call fcn.180071a90
mov eax, dword [rsp + 0x38]
jmp 0x18007cfcf
mov eax, 1
lea r8, str.out_of
mov dword [rsp + 0x38], eax
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
cmp ebx, 5
lea rax, str.into
mov rcx, r13
cmove r8, rax
call fcn.180071a90
mov eax, dword [rsp + 0x38]
jmp 0x18007cfcf
call qword [rdi + 0x38]
jmp 0x18007ca25
mov eax, 6
jmp 0x18007cfcf
mov eax, 9
mov edi, 0xffffffff
lea ebx, [rax - 8]
jmp 0x18007cfd8
mov r13, qword [rsp + 0x58]
jmp 0x180080383
mov r13, rdi
mov r12, r8
lea rdx, str.string_or_blob_too_big
mov rcx, r13
call fcn.180071a90
mov eax, 0x12
jmp 0x18007cfcf
xor edx, edx
mov rcx, r13
call fcn.180074fe0
test eax, eax
jne 0x18007cfcf
mov rax, qword [r13]
cmp dword [rax + 0x298], 0
je 0x1800803d2
cmp dword [r13 + 0x40], 0
je 0x1800803d2
mov edx, 1
mov rcx, r13
call fcn.180074da0
mov eax, dword [r13 + 0x30]
mov rdx, qword [rsp + 0x30]
add eax, 2
or eax, 1
mov dword [r13 + 0x30], eax
movsxd rax, dword [rdx + 4]
imul rdi, rax, 0x38
add rdi, rsi
mov qword [r13 + 0xa0], rdi
cmp dword [rdx + 8], 0
jle 0x180080453
lea rbx, [rdi + 8]
mov esi, 0x202
mov eax, 0x1000
test word [rbx], ax
je 0x18008042c
movsxd rax, r14d
imul rcx, rax, 0x38
add rcx, rdi
call fcn.1800700d0
test eax, eax
jne 0x18007ca25
mov rdx, qword [rsp + 0x30]
movzx eax, word [rbx]
and ax, si
cmp ax, 2
jne 0x180080446
lea rcx, [rbx - 8]
call fcn.180070070
mov rdx, qword [rsp + 0x30]
inc r14d
add rbx, 0x38
cmp r14d, dword [rdx + 8]
jl 0x180080406
cmp byte [r12 + 0x61], 0
jne 0x18007ca25
test byte [r12 + 0x68], 4
je 0x180080481
mov rdx, qword [r12 + 0xe8]
xor r9d, r9d
mov r8, r13
lea ecx, [r9 + 4]
call qword [r12 + 0xe0]
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x48]
mov ebx, 0x64
mov edi, dword [rsp + 0x3c]
imul rcx
lea r14d, [rbx - 0x5d]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
inc edx
mov dword [r13 + 0x34], edx
jmp 0x18008066c
mov rax, qword [rsp + 0x30]
mov ebx, dword [rax + 4]
mov ecx, dword [rax + 8]
movzx eax, byte [r12 + 0x5f]
cmp ebx, eax
je 0x1800805b0
test ecx, ecx
je 0x1800804ed
mov edx, 0x204
mov rcx, r12
call fcn.1800e2a30
mov dil, 1
jmp 0x18008052e
test ebx, ebx
je 0x180080515
cmp dword [r12 + 0xc4], 0
jle 0x180080515
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r13
call fcn.180071a90
mov eax, 5
jmp 0x18007cfcf
mov edx, r10d
mov rcx, r13
mov edi, ebx
call fcn.180074fe0
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x18008065e
mov rcx, r13
mov byte [r12 + 0x5f], dil
call fcn.180075030
cmp eax, 5
jne 0x18008058b
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x48]
mov edi, dword [rsp + 0x3c]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 1
sub al, bl
mov dword [r13 + 0x34], edx
mov ebx, 5
mov byte [r12 + 0x5f], al
mov dword [r13 + 0x38], ebx
lea r14d, [rbx + 2]
jmp 0x18008066c
mov rcx, r12
call fcn.1800e2060
cmp dword [r13 + 0x38], 0
mov eax, 0x65
mov r9d, 1
cmovne eax, r9d
mov dword [rsp + 0x38], eax
jmp 0x18008065e
test ebx, ebx
jne 0x1800805bd
lea rdx, str.cannot_start_a_transaction_within_a_transaction
jmp 0x1800805d1
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
cmovne rdx, rax
mov rcx, r13
call fcn.180071a90
mov ebx, 1
mov eax, ebx
jmp 0x18007cfd4
mov edi, dword [rsp + 0x3c]
cmp byte [r12 + 0x61], 0
mov eax, 9
mov r14d, 7
cmovne eax, r14d
mov ecx, eax
mov dword [rsp + 0x38], eax
mov dword [r13 + 0x38], eax
call fcn.1800e2b90
mov r8, rax
lea rdx, [0x1801596d0]
mov rcx, r13
call fcn.180071a90
mov eax, dword [rsp + 0x38]
lea ebx, [r14 - 6]
jmp 0x18007cfde
mov r12, qword [rsp + 0x60]
jmp 0x18007cfca
mov r12, qword [rsp + 0x60]
mov eax, dword [rsp + 0x38]
jmp 0x18007cfca
mov r12, qword [rsp + 0x60]
mov r13, rdi
jmp 0x18007cfcf
mov rbx, r10
jmp 0x18007cfd4
mov r13, qword [rsp + 0x58]
mov r14d, 7
mov edi, dword [rsp + 0x3c]
mov ebx, dword [rsp + 0x38]
mov esi, dword [rsp + 0x7c]
cmp esi, edi
jb 0x1800806a9
mov rax, qword [r12 + 0x1b8]
test rax, rax
je 0x1800806a9
mov rcx, qword [r12 + 0x1c0]
add edi, dword [r12 + 0x1c8]
call rax
test eax, eax
je 0x180080670
mov eax, 9
mov edi, 0xffffffff
lea ebx, [rax - 8]
jmp 0x18007cfde
add dword [r13 + 0xe4], esi
mov rcx, r13
call fcn.1800736e0
movaps xmm7, xmmword [rsp + 0x2f0]
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x300]
mov r15, qword [rsp + 0x348]
mov rcx, qword [rbp + 0x1e0]
xor rcx, rsp
call fcn.18010faf0
lea r11, [rsp + 0x310]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rbp
ret