Function at 0x140039c30
Capabilities:
Encrypt data using speck
Reference sql statements

Disassembly:
mov r11, rsp
push rbp
push r13
push r15
lea rbp, [r11 - 0x2e8]
sub rsp, 0x3d0
mov rax, qword [0x14028c238]
xor rax, rsp
mov qword [rbp + 0x298], rax
mov r10, qword [rcx + 0x68]
xor al, al
mov qword [r11 + 0x18], rsi
mov r15, rcx
mov qword [r11 + 0x20], rdi
mov rdi, qword [rcx]
mov qword [r11 - 0x20], r12
mov qword [r11 - 0x28], r14
xor r11d, r11d
mov r13d, r11d
mov r14, qword [rcx + 0x88]
mov r8d, r11d
movzx r9d, byte [rdi + 0x64]
mov esi, r11d
mov byte [rsp + 0x40], r9b
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x48], r14
mov dword [rsp + 0x54], r11d
mov qword [rsp + 0x58], rdi
mov byte [rbp - 0x78], al
mov dword [rsp + 0x50], r11d
mov qword [rbp - 0x58], r11
mov qword [rsp + 0x60], r10
mov dword [rbp - 0x60], r11d
cmp dword [rcx + 0xd0], r11d
je 0x140039cdd
call fcn.1400318f0
mov r10, qword [rsp + 0x60]
mov r8d, esi
movzx r9d, byte [rsp + 0x40]
xor r11d, r11d
or rax, 0xffffffffffffffff
cmp qword [rdi + 0x210], rsi
je 0x140039d02
mov ecx, dword [rdi + 0x220]
xor edx, edx
mov eax, dword [r15 + 0xe4]
div ecx
sub ecx, edx
mov r12d, ecx
jmp 0x140039d05
mov r12, rax
cmp dword [r15 + 0x34], 7
mov edx, 1
mov qword [rsp + 0x3f8], rbx
movaps xmmword [rsp + 0x3b0], xmm6
movaps xmmword [rsp + 0x3a0], xmm7
mov qword [rsp + 0x68], r12
je 0x14003bf76
mov dword [r15 + 0x34], r11d
mov qword [r15 + 0x48], r11
mov dword [rdi + 0x298], r11d
mov eax, dword [rdi + 0x198]
test eax, eax
jne 0x140041772
movsxd rax, dword [r15 + 0x30]
xorps xmm7, xmm7
lea rcx, [rax + rax*2]
lea r12, [r14 + rcx*8]
movzx ebx, byte [r12]
inc rsi
mov qword [rsp + 0x48], r12
mov qword [rbp - 0x58], rsi
cmp ebx, 0xb6
ja case.0x140039d96.89
movsxd rax, ebx
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x41a4c]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
sub rcx, r14
imul r8, rax, 0x38
mov eax, 4
mov word [r8 + r10 + 0x14], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r10], rax
jmp case.0x140039d96.9
movsxd rax, dword [r12 + 4]
imul rax, rax, 0x38
test byte [rax + r10 + 0x14], 4
je case.0x140039d96.89
mov rax, qword [rax + r10]
mov rsi, qword [rbp - 0x58]
lea rcx, [rax + rax*2]
lea r12, [r14 + rcx*8]
add r12, 0x18
jmp 0x140039d5e
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
mov eax, dword [r12 + 0xc]
dec eax
cdqe
mov qword [rcx + r10], rax
mov eax, 4
mov word [rcx + r10 + 0x14], ax
cmp dword [r12 + 8], 0
jne 0x14003b997
mov rsi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140039d5e
movsxd rax, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r10]
lea rcx, [rax + rax*2]
mov eax, dword [r14 + rcx*8 + 8]
dec eax
mov word [rdx + r10 + 0x14], r11w
cdqe
lea rcx, [rax + rax*2]
lea r12, [r14 + rcx*8]
jmp 0x140039f5a
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
sub rbx, r14
imul r8, rax, 0x38
mov eax, 4
mov word [r8 + r10 + 0x14], ax
movabs rax, 0x2aaaaaaaaaaaaaab
movsxd rcx, dword [r8 + r10]
imul rbx
lea rcx, [rcx + rcx*2]
sar rdx, 2
lea r12, [r14 + rcx*8]
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r10], rax
jmp 0x140039f55
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r10 + 0x14], 1
je case.0x140039d96.89
mov rcx, qword [r15 + 0x108]
test rcx, rcx
je 0x14004102d
cmp dword [r12 + 4], 0
jne 0x14004102d
mov rax, qword [rcx + 8]
mov qword [r15 + 0x108], rax
dec dword [r15 + 0x118]
mov rax, qword [r15 + 0x38]
mov qword [rdi + 0x78], rax
add qword [rdi + 0x80], rax
call fcn.1400328e0
cmp dword [r12 + 8], 4
jne 0x140039f2d
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
mov eax, dword [rax + rcx*8 + 8]
dec eax
mov r14, qword [r15 + 0x88]
mov r10, qword [r15 + 0x68]
movzx r9d, byte [rsp + 0x40]
cdqe
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x60], r10
lea rcx, [rax + rax*2]
lea r12, [r14 + rcx*8]
xor r11d, r11d
mov r8d, dword [rsp + 0x50]
mov edx, 1
mov rsi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140039d5e
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [r15 + 0x68]
test word [rcx + 0x14], ax
je 0x140039f95
call fcn.140039840
xor r11d, r11d
mov rcx, rax
lea edx, [r11 + 1]
jmp 0x140039f9e
mov eax, 4
mov word [rcx + 0x14], ax
movsxd rax, dword [r12 + 4]
mov qword [rcx], rax
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
add r12, 0x18
mov rsi, qword [rbp - 0x58]
jmp 0x140039d5e
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r15 + 0x68]
test word [rdx + 0x14], ax
je 0x140039feb
mov rcx, rdx
call fcn.140039840
mov rdx, rax
xor r11d, r11d
jmp 0x140039ff4
mov eax, 4
mov word [rdx + 0x14], ax
mov rax, qword [r12 + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jmp 0x140039f55
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r15 + 0x68]
test word [rdx + 0x14], ax
je 0x14003a03b
mov rcx, rdx
call fcn.140039840
xor r11d, r11d
mov rdx, rax
lea eax, [r11 + 8]
jmp 0x140039ff0
mov eax, 4
mov word [rdx + 0x14], ax
mov eax, 8
jmp 0x140039ff0
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [r15 + 0x68]
test word [rbx + 0x14], ax
je 0x14003a073
mov rcx, rbx
call fcn.140039840
mov rbx, rax
xor r11d, r11d
jmp 0x14003a07c
mov eax, 4
mov word [rbx + 0x14], ax
mov rcx, qword [r12 + 0x10]
or rdx, 0xffffffffffffffff
test rcx, rcx
jne 0x14003a08f
mov eax, r11d
jmp 0x14003a0a0
mov rax, rdx
inc rax
cmp byte [rcx + rax], 0
jne 0x14003a092
and eax, 0x3fffffff
movzx esi, byte [rsp + 0x40]
mov dword [r12 + 4], eax
cmp sil, 1
je 0x14003a149
mov r8, rdx
mov qword [rsp + 0x20], r11
mov rdx, qword [r12 + 0x10]
mov r9b, 1
mov rcx, rbx
call fcn.14002ee90
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1400413d4
test byte [rbx + 0x14], 2
movzx ecx, sil
jne 0x14003a0ea
mov byte [rbx + 0x16], cl
jmp 0x14003a105
movzx eax, byte [rbx + 0x16]
cmp eax, ecx
je 0x14003a105
movzx edx, cl
mov rcx, rbx
call fcn.14000a160
test eax, eax
jne 0x14003bf71
xor ecx, ecx
mov eax, 0x2000
mov dword [rbx + 0x20], ecx
or word [rbx + 0x14], ax
mov rax, qword [rsp + 0x48]
cmp byte [rax + 1], 0xfa
jne 0x14003a12f
mov rdx, qword [rax + 0x10]
mov rcx, rdi
call fcn.140006db0
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
mov byte [rax + 1], 0xfa
mov rax, qword [rbx + 8]
mov qword [r12 + 0x10], rax
mov eax, dword [rbx + 0x10]
mov dword [r12 + 4], eax
mov eax, dword [rdi + 0x88]
cmp dword [r12 + 4], eax
jg 0x1400413d4
mov byte [r12], 0x49
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r15 + 0x68]
test word [rdx + 0x14], ax
je 0x14003a184
mov rcx, rdx
call fcn.140039840
mov rdx, rax
jmp 0x14003a18d
mov eax, 4
mov word [rdx + 0x14], ax
movzx r9d, byte [rsp + 0x40]
mov eax, 0x2202
mov r10, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x50]
mov word [rdx + 0x14], ax
mov rax, qword [r12 + 0x10]
mov qword [rdx + 8], rax
mov eax, dword [r12 + 4]
mov dword [rdx + 0x10], eax
mov byte [rdx + 0x16], r9b
movsxd rax, dword [r12 + 0xc]
test eax, eax
jle 0x14003a58f
imul rcx, rax, 0x38
movzx eax, word [r12 + 2]
xor r11d, r11d
cmp qword [rcx + r10], rax
jne 0x140039f5a
mov eax, 0x2210
mov word [rdx + 0x14], ax
jmp 0x140039f5a
mov rbx, qword [rsp + 0x48]
mov r8d, 0x9000
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
add rcx, qword [r15 + 0x68]
test word [rcx + 0x14], r8w
je 0x14003a222
call fcn.140039840
xor r11d, r11d
mov rcx, rax
mov r8d, 0x9000
lea edx, [r11 + 1]
jmp 0x14003a22b
mov eax, 4
mov word [rcx + 0x14], ax
cmp dword [rbx + 4], 0
mov esi, edx
mov edi, dword [rbx + 0xc]
mov r9d, 0x101
mov eax, dword [rbx + 8]
cmovne si, r9w
sub edi, eax
mov word [rcx + 0x14], si
mov dword [rcx + 0x10], r11d
lea rbx, [rcx + 0x14]
test edi, edi
jle 0x14003bdc9
nop dword [rax + rax]
test word [rbx + 0x38], r8w
lea rbx, [rbx + 0x38]
je 0x14003a283
lea rcx, [rbx - 0x14]
call fcn.14002e540
xor r11d, r11d
mov r8d, 0x9000
lea edx, [r11 + 1]
jmp 0x14003a286
mov word [rbx], dx
dec edi
mov word [rbx], si
mov dword [rbx - 4], r11d
test edi, edi
jg 0x14003a260
mov r12, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
add r12, 0x18
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov rsi, qword [rbp - 0x58]
jmp 0x140039d5e
movsxd rax, dword [r12 + 4]
mov rsi, qword [rbp - 0x58]
imul rcx, rax, 0x38
mov eax, 0xffc1
add rcx, r10
and word [rcx + 0x14], ax
or word [rcx + 0x14], 1
add r12, 0x18
jmp 0x140039d5e
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [r15 + 0x68]
test word [rbx + 0x14], ax
je 0x14003a309
mov rcx, rbx
call fcn.140039840
mov rbx, rax
xor r11d, r11d
jmp 0x14003a312
mov eax, 4
mov word [rbx + 0x14], ax
mov rax, qword [rsp + 0x48]
mov rcx, rbx
mov rdx, qword [rax + 0x10]
test rdx, rdx
jne 0x14003a33d
mov edx, dword [rax + 4]
call fcn.14002eb00
mov rcx, rbx
call fcn.14002e240
test eax, eax
jne 0x14003bf71
jmp 0x14003a34e
movsxd r8, dword [rax + 4]
xor r9d, r9d
mov qword [rsp + 0x20], r11
call fcn.14002ee90
movzx r9d, byte [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
mov byte [rbx + 0x16], r9b
jmp 0x140039f52
mov rbx, qword [rsp + 0x48]
mov eax, dword [rbx + 4]
dec eax
cdqe
imul rdi, rax, 0x38
add rdi, qword [r15 + 0x80]
movzx eax, word [rdi + 0x14]
test al, 0x12
je 0x14003a3ad
mov edx, dword [rdi + 0x10]
mov ecx, 0x400
test cx, ax
je 0x14003a395
add edx, dword [rdi]
mov rax, qword [rdi + 0x18]
mov ecx, r11d
cmp edx, dword [rax + 0x88]
setg cl
test ecx, ecx
jne 0x1400413ca
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, r10
test word [rbx + 0x14], ax
je 0x14003a3d3
mov rcx, rbx
call fcn.14002e540
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movups xmm0, xmmword [rdi]
mov ecx, 0xafff
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi + 0x10]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [rbx + 0x14]
and ax, cx
mov ecx, 0x2040
or ax, cx
mov word [rbx + 0x14], ax
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
jmp 0x140039f55
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r10
add rbx, r10
nop
mov eax, 0x9000
test word [rbx + 0x14], ax
jne 0x14003a441
cmp dword [rbx + 0x20], 0
je 0x14003a450
mov rcx, rbx
call fcn.14002e590
xor r11d, r11d
lea edx, [r11 + 1]
movups xmm0, xmmword [rdi]
mov eax, 0x4000
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 + 0x14], dx
mov dword [rdi + 0x20], r11d
test word [rbx + 0x14], ax
je 0x14003a499
mov rcx, rbx
call fcn.14002e1e0
test eax, eax
jne 0x14003bf6c
xor r11d, r11d
lea edx, [rax + 1]
add rdi, 0x38
add rbx, 0x38
sub esi, 1
jne 0x14003a430
mov r12, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
add r12, 0x18
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov rsi, qword [rbp - 0x58]
jmp 0x140039d5e
mov rcx, qword [rsp + 0x48]
mov r12, rcx
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rdi, r10
add rbx, r10
nop
mov r8d, 0x4000
mov rdx, rdi
mov rcx, rbx
call fcn.14002edb0
mov eax, 0x4000
test word [rbx + 0x14], ax
je 0x14003a51c
mov rcx, rbx
call fcn.14002e1e0
test eax, eax
jne 0x14003bf6c
movzx eax, word [rbx + 0x14]
mov ecx, 0x800
test cx, ax
je 0x14003a53e
test byte [r12 + 2], 2
je 0x14003a53e
mov ecx, 0xf7ff
and ax, cx
mov word [rbx + 0x14], ax
mov eax, esi
dec esi
test eax, eax
je 0x14003aca3
add rbx, 0x38
add rdi, 0x38
jmp 0x14003a4f0
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rdx, r10
add rcx, r10
mov r8d, 0x4000
call fcn.14002edb0
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
xor r11d, r11d
jmp 0x140039f5a
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 8]
imul r8, rax, 0x38
movsxd rax, dword [rcx + 4]
imul rcx, rax, 0x38
add r8, r10
mov rax, qword [rcx + r10]
mov ecx, 0x9000
test word [r8 + 0x14], cx
je 0x14003a5cc
mov rdx, rax
mov rcx, r8
call fcn.14002eb50
jmp 0x14003a57a
mov r12, qword [rsp + 0x48]
mov rsi, qword [rbp - 0x58]
add r12, 0x18
mov qword [r8], rax
mov eax, 4
mov word [r8 + 0x14], ax
mov r8d, dword [rsp + 0x50]
jmp 0x140039d5e
cmp qword [r15 + 0x50], 0
jg 0x140041139
mov rsi, qword [rbp - 0x58]
mov r13d, r11d
mov dword [rsp + 0x54], r11d
add r12, 0x18
jmp 0x140039d5e
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
imul r13, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 0xc]
add r13, r10
imul rbx, rax, 0x38
movzx r15d, word [r13 + 0x14]
add rdi, r10
movzx eax, r15b
add rbx, r10
or al, byte [rdi + 0x14]
test al, 1
je 0x14003a692
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x14003a66d
mov rcx, rbx
call fcn.14002e540
mov r13d, dword [rsp + 0x54]
mov rdi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x70]
jmp 0x14003a57a
mov r12, qword [rsp + 0x48]
mov r13d, dword [rsp + 0x54]
add r12, 0x18
mov rdi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x70]
mov rsi, qword [rbp - 0x58]
mov word [rbx + 0x14], dx
jmp 0x140039d5e
test r15b, 0x12
jne 0x14003a6c5
xor r8d, r8d
movzx edx, r9b
mov rcx, r13
call fcn.14002e2a0
test eax, eax
jne 0x14003bf67
movzx r15d, word [r13 + 0x14]
mov r14d, 0xfffd
and r15w, r14w
mov eax, 0x400
jmp 0x14003a6e0
mov eax, 0x400
test ax, r15w
je 0x14003a6da
mov rcx, r13
call fcn.14002e240
jmp 0x14003a6a7
mov r14d, 0xfffd
movzx esi, word [rdi + 0x14]
test sil, 0x12
jne 0x14003a6fc
movzx edx, byte [rsp + 0x40]
xor r8d, r8d
mov rcx, rdi
call fcn.14002e2a0
jmp 0x14003a709
test ax, si
je 0x14003a719
mov rcx, rdi
call fcn.14002e240
test eax, eax
jne 0x14003bf67
movzx esi, word [rdi + 0x14]
and si, r14w
mov eax, dword [r13 + 0x10]
add eax, dword [rdi + 0x10]
mov r8, qword [rsp + 0x58]
movsxd r14, eax
movsxd rax, dword [r8 + 0x88]
cmp r14, rax
jg 0x1400413c0
xor ecx, ecx
lea edx, [r14 + 2]
mov r8d, ecx
cmp rbx, rdi
mov rcx, rbx
sete r8b
call fcn.14002df00
test eax, eax
jne 0x14003bf67
mov eax, 0xf242
and word [rbx + 0x14], ax
or word [rbx + 0x14], 2
cmp rbx, rdi
je 0x14003a780
movsxd r8, dword [rdi + 0x10]
mov rdx, qword [rdi + 8]
mov rcx, qword [rbx + 8]
call fcn.1401aff40
mov word [rdi + 0x14], si
movsxd rcx, dword [rdi + 0x10]
add rcx, qword [rbx + 8]
movsxd r8, dword [r13 + 0x10]
mov rdx, qword [r13 + 8]
call fcn.1401aff40
movzx r9d, byte [rsp + 0x40]
mov word [r13 + 0x14], r15w
cmp r9b, 1
jbe 0x14003a7aa
and r14, 0xfffffffffffffffe
mov rax, qword [rbx + 8]
mov r13d, dword [rsp + 0x54]
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0x70]
mov r10, qword [rsp + 0x60]
mov byte [r14 + rax], 0
mov rax, qword [rbx + 8]
mov byte [r14 + rax + 1], 0
mov eax, 0x200
or word [rbx + 0x14], ax
mov dword [rbx + 0x10], r14d
mov byte [rbx + 0x16], r9b
mov r14, qword [rsp + 0x78]
xor r11d, r11d
mov r8d, dword [rsp + 0x50]
jmp 0x140039f5a
mov rcx, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rdi, rax, 0x38
movsxd rax, dword [r12 + 0xc]
add rsi, r10
imul r14, rax, 0x38
movzx ebx, word [rsi + 0x14]
add rdi, r10
add r14, r10
movzx ecx, word [rdi + 0x14]
movzx eax, cl
and al, bl
test al, 4
jne 0x14003a87a
or cl, bl
test cl, 1
jne 0x14003ab61
and bx, 0x2d
jne 0x14003a852
mov rcx, rsi
call fcn.140039790
movzx ebx, ax
movzx eax, word [rdi + 0x14]
and ax, 0x2d
jne 0x14003a864
mov rcx, rdi
call fcn.140039790
and al, bl
test al, 4
je 0x14003aa69
mov r10, qword [rsp + 0x60]
xor r11d, r11d
lea edx, [r11 + 1]
movzx ecx, byte [r12]
mov r9, qword [rsi]
mov r8, qword [rdi]
sub ecx, 0x6a
je 0x14003aa07
sub ecx, 1
je 0x14003a99f
sub ecx, 1
je 0x14003a8f4
cmp ecx, 1
je 0x14003a8c2
test r9, r9
je 0x14003ab61
cmp r9, 0xffffffffffffffff
mov rax, r8
cmove r9, rdx
cqo
idiv r9
mov r8, rdx
jmp 0x14003aa26
test r9, r9
je 0x14003ab61
cmp r9, 0xffffffffffffffff
jne 0x14003a8e4
movabs rcx, 0x8000000000000000
cmp r8, rcx
je 0x14003aa69
mov rax, r8
cqo
idiv r9
mov r8, rax
jmp 0x14003aa26
test r9, r9
jle 0x14003a932
movabs rax, 0x7fffffffffffffff
cqo
idiv r9
cmp r8, rax
jg 0x14003aa69
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jl 0x14003aa69
imul r8, r9
jmp 0x14003aa26
jns 0x14003a996
test r8, r8
jle 0x14003a95a
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jl 0x14003aa69
imul r8, r9
jmp 0x14003aa26
jns 0x14003a996
movabs rcx, 0x8000000000000000
cmp r9, rcx
je 0x14003aa69
cmp r8, rcx
je 0x14003aa69
movabs rax, 0x8000000000000001
mov rcx, r8
cqo
neg rcx
idiv r9
cmp rcx, rax
jg 0x14003aa69
imul r8, r9
jmp 0x14003aa26
movabs rcx, 0x8000000000000000
cmp r9, rcx
jne 0x14003a9bc
test r8, r8
jns 0x14003aa69
sub r8, rcx
jmp 0x14003aa26
neg r9
js 0x14003a9dc
test r8, r8
jle 0x14003a9fb
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jge 0x14003a9fb
mov eax, edx
jmp 0x14003aa01
test r8, r8
jns 0x14003a9fb
movabs rcx, 0x8000000000000001
lea rax, [r9 + 1]
sub rcx, r8
cmp rcx, rax
jle 0x14003a9fb
mov eax, edx
jmp 0x14003aa01
add r8, r9
mov eax, r11d
test eax, eax
jne 0x14003aa69
jmp 0x14003aa26
test r9, r9
js 0x14003aa4e
test r8, r8
jle 0x14003aa23
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jl 0x14003aa69
add r8, r9
mov rdi, qword [rsp + 0x58]
mov eax, 0xf244
movzx r9d, byte [rsp + 0x40]
mov qword [r14], r8
and word [r14 + 0x14], ax
or word [r14 + 0x14], 4
mov r14, qword [rsp + 0x78]
jmp 0x140039f55
test r8, r8
jns 0x14003aa23
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jle 0x14003aa23
movzx eax, word [rsi + 0x14]
test al, 8
je 0x14003aa77
movsd xmm6, qword [rsi]
jmp 0x14003aa99
test al, 0x24
je 0x14003aa85
xorps xmm6, xmm6
cvtsi2sd xmm6, qword [rsi]
jmp 0x14003aa99
test al, 0x12
je 0x14003aa96
mov rcx, rsi
call fcn.14002e6f0
movaps xmm6, xmm0
jmp 0x14003aa99
movaps xmm6, xmm7
movzx eax, word [rdi + 0x14]
test al, 8
je 0x14003aaa7
movsd xmm0, qword [rdi]
jmp 0x14003aac6
test al, 0x24
je 0x14003aab5
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rdi]
jmp 0x14003aac6
test al, 0x12
je 0x14003aac3
mov rcx, rdi
call fcn.14002e6f0
jmp 0x14003aac6
movaps xmm0, xmm7
movzx ecx, byte [r12]
sub ecx, 0x6a
je 0x14003ab2d
sub ecx, 1
je 0x14003ab27
sub ecx, 1
je 0x14003ab21
cmp ecx, 1
je 0x14003ab13
mov rcx, rsi
call fcn.14002e690
mov rcx, rdi
mov rbx, rax
call fcn.14002e690
test rbx, rbx
je 0x14003ab61
cmp rbx, 0xffffffffffffffff
mov ecx, 1
cqo
xorps xmm0, xmm0
cmove rbx, rcx
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x14003ab31
ucomisd xmm6, xmm7
jp 0x14003ab1b
je 0x14003ab61
divsd xmm0, xmm6
jmp 0x14003ab31
mulsd xmm0, xmm6
jmp 0x14003ab31
subsd xmm0, xmm6
jmp 0x14003ab31
addsd xmm0, xmm6
movabs rcx, 0xfffffffffffff
movsd qword [rbp - 0x40], xmm0
mov rax, qword [rbp - 0x40]
movabs rdx, 0x7ff0000000000000
test rcx, rax
setne cl
and rax, rdx
cmp rax, rdx
sete al
test al, cl
je 0x14003abcb
mov eax, 0x9000
test word [r14 + 0x14], ax
je 0x14003ab97
mov rcx, r14
call fcn.14002e540
mov rdi, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
xor r11d, r11d
mov r10, qword [rsp + 0x60]
mov r14, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x50]
jmp 0x140039f5a
mov rdi, qword [rsp + 0x58]
mov edx, 1
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
add r12, 0x18
mov r8d, dword [rsp + 0x50]
mov rsi, qword [rbp - 0x58]
mov word [r14 + 0x14], dx
mov r14, qword [rsp + 0x78]
jmp 0x140039d5e
mov rdi, qword [rsp + 0x58]
mov eax, 0xf248
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
movsd qword [r14], xmm0
and word [r14 + 0x14], ax
or word [r14 + 0x14], 8
mov r14, qword [rsp + 0x78]
xor r11d, r11d
jmp 0x140039f5a
movsxd rax, dword [r12 + 4]
test eax, eax
je case.0x140039d96.89
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r10
test word [rcx + 0x14], ax
je 0x14003ac40
xor edx, edx
call fcn.14002eb50
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x140039f5a
mov rsi, qword [rbp - 0x58]
mov eax, 4
mov qword [rcx], r11
add r12, 0x18
mov word [rcx + 0x14], ax
jmp 0x140039d5e
mov rcx, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
movsxd rax, dword [r12 + 0xc]
add rdi, r10
imul rsi, rax, 0x38
add rcx, r10
add rsi, r10
movzx eax, byte [rcx + 0x14]
or al, byte [rdi + 0x14]
test al, 1
je 0x14003acd6
mov eax, 0x9000
test word [rsi + 0x14], ax
je 0x14003acc0
mov rcx, rsi
call fcn.14002e540
mov rdi, qword [rsp + 0x58]
xor r11d, r11d
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x140039f5a
mov word [rsi + 0x14], dx
mov rdi, qword [rsp + 0x58]
add r12, 0x18
mov rsi, qword [rbp - 0x58]
jmp 0x140039d5e
call fcn.14002e690
mov rcx, rdi
mov rbx, rax
call fcn.14002e690
movzx edx, byte [r12]
mov rcx, rax
cmp dl, 0x66
jne 0x14003acf8
and rbx, rax
jmp 0x14003ad67
cmp dl, 0x67
jne 0x14003ad02
or rbx, rcx
jmp 0x14003ad67
test rcx, rcx
je 0x14003ad67
jns 0x14003ad1c
mov eax, 0xd1
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x14003ad22
neg rcx
cmp rcx, 0x40
jl 0x14003ad38
test rbx, rbx
jns 0x14003ad32
cmp dl, 0x68
je 0x14003ad32
or rbx, 0xffffffffffffffff
jmp 0x14003ad67
xor ecx, ecx
mov ebx, ecx
jmp 0x14003ad67
cmp dl, 0x68
jne 0x14003ad45
shl rbx, cl
mov r8, rbx
jmp 0x14003ad64
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x14003ad64
or rdx, 0xffffffffffffffff
mov eax, 0x40
sub al, cl
movzx ecx, al
shl rdx, cl
or r8, rdx
mov rbx, r8
mov rdi, qword [rsp + 0x58]
mov eax, 0xf244
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov qword [rsi], rbx
and word [rsi + 0x14], ax
or word [rsi + 0x14], 4
xor r11d, r11d
jmp 0x140039f5a
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, r10
mov rcx, rbx
call fcn.14002e7b0
movsxd rax, dword [r12 + 8]
add qword [rbx], rax
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x140039f5a
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, r10
movzx eax, word [rbx + 0x14]
test al, 4
jne 0x14003ae23
test al, 0x28
jne 0x14003adf7
test al, 2
je 0x14003ae04
mov rcx, rbx
call fcn.140039610
mov r10, qword [rsp + 0x60]
xor r11d, r11d
jmp 0x14003adff
mov rcx, rbx
call fcn.14002e720
mov edx, 1
movzx eax, word [rbx + 0x14]
test al, 4
jne 0x14003ae23
cmp dword [r12 + 8], 0
jne 0x14003b997
mov r13d, SafeArrayAccessData
jmp 0x14003ba4f
movzx r9d, byte [rsp + 0x40]
mov ecx, 0xf244
mov r8d, dword [rsp + 0x50]
and ax, cx
mov rsi, qword [rbp - 0x58]
or ax, 4
mov word [rbx + 0x14], ax
add r12, 0x18
jmp 0x140039d5e
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, r10
test byte [rcx + 0x14], 0x24
je case.0x140039d96.89
call fcn.14002e840
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x140039f5a
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r10
test word [rbx + 0x14], ax
je 0x14003aea8
mov rcx, rbx
call fcn.14002e240
mov r13d, eax
test eax, eax
jne 0x14003ba4f
movzx r8d, byte [rsp + 0x40]
mov rcx, rbx
movzx edx, byte [r12 + 8]
call fcn.14002e9a0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003ba4f
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x140039f5a
mov rcx, qword [rsp + 0x48]
mov r12, rcx
movsxd rax, dword [rcx + 4]
imul r15, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul r14, rax, 0x38
add r15, r10
add r14, r10
movzx esi, word [r15 + 0x14]
movzx edi, word [r14 + 0x14]
movzx edx, di
and dx, si
test dl, 4
je 0x14003afc1
mov rax, qword [r14]
mov edx, 1
mov rcx, qword [r15]
mov r14, qword [rsp + 0x78]
cmp rax, rcx
lea rcx, [0x140000000]
jle 0x14003af62
cmp byte [rbx + rcx + 0x22db28], 0
jne 0x14003b997
mov rdi, qword [rsp + 0x58]
mov r8d, edx
mov r15, qword [rsp + 0x70]
add r12, 0x18
mov rsi, qword [rbp - 0x58]
mov dword [rsp + 0x50], edx
jmp 0x140039d5e
jge 0x14003af94
cmp byte [rbx + rcx + 0x22db1c], 0
jne 0x14003b997
mov rdi, qword [rsp + 0x58]
or rax, 0xffffffffffffffff
mov r15, qword [rsp + 0x70]
mov r8d, eax
mov rsi, qword [rbp - 0x58]
add r12, 0x18
mov dword [rsp + 0x50], eax
jmp 0x140039d5e
cmp byte [rbx + rcx + 0x22db22], 0
jne 0x14003b997
mov rdi, qword [rsp + 0x58]
mov r8d, r11d
mov r15, qword [rsp + 0x70]
add r12, 0x18
mov rsi, qword [rbp - 0x58]
mov dword [rsp + 0x50], r11d
jmp 0x140039d5e
movzx ecx, di
or cx, si
test cl, 1
je 0x14003b041
movzx eax, word [r12 + 2]
test al, al
jns 0x14003b011
test dl, 1
je 0x14003aff2
mov eax, 0x100
test ax, di
jne 0x14003aff2
mov r8d, r11d
mov dword [rsp + 0x50], r11d
jmp 0x14003b133
test dil, 1
mov rax, 0xffffffffffffffff
mov r8d, 1
cmovne r8d, eax
mov dword [rsp + 0x50], r8d
jmp 0x14003b116
mov r14, qword [rsp + 0x78]
mov edx, 1
test al, 0x10
jne 0x14003b997
mov rdi, qword [rsp + 0x58]
mov r8d, edx
mov r15, qword [rsp + 0x70]
add r12, 0x18
mov rsi, qword [rbp - 0x58]
mov dword [rsp + 0x50], edx
jmp 0x140039d5e
movzx eax, byte [r12 + 2]
and al, 0x47
cmp al, 0x43
jb 0x14003b085
test cl, 2
je 0x14003b0f7
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x14003b06f
xor edx, edx
mov rcx, r15
call fcn.140039610
movzx edi, word [r14 + 0x14]
movzx eax, dil
and al, 0x2e
cmp al, 2
jne 0x14003b0f7
xor edx, edx
mov rcx, r14
call fcn.140039610
jmp 0x14003b0f7
cmp al, 0x42
jne 0x14003b0f7
test cl, 2
je 0x14003b0f7
test sil, 2
jne 0x14003b0c9
test sil, 0x2c
je 0x14003b0c9
mov r8b, 1
movzx edx, r9b
mov rcx, r15
call fcn.14002e2a0
xor si, word [r15 + 0x14]
mov ebx, 0xdbf
and si, bx
xor si, word [r15 + 0x14]
cmp r15, r14
jne 0x14003b0ce
movzx edi, si
or di, 2
jmp 0x14003b0ce
mov ebx, 0xdbf
test dil, 2
jne 0x14003b0f7
test dil, 0x2c
je 0x14003b0f7
movzx edx, byte [rsp + 0x40]
mov r8b, 1
mov rcx, r14
call fcn.14002e2a0
xor di, word [r14 + 0x14]
and di, bx
xor di, word [r14 + 0x14]
mov r8, qword [r12 + 0x10]
mov rdx, r15
mov rcx, r14
call fcn.140034a50
mov r10, qword [rsp + 0x60]
mov r8d, eax
mov dword [rsp + 0x50], eax
xor r11d, r11d
test r8d, r8d
jns 0x14003b131
movzx eax, byte [r12]
lea rcx, [0x140000000]
movzx ecx, byte [rax + rcx + 0x22db1c]
jmp 0x14003b15d
jne 0x14003b149
movzx eax, byte [r12]
lea rcx, [0x140000000]
movzx ecx, byte [rax + rcx + 0x22db22]
jmp 0x14003b15d
movzx eax, byte [r12]
lea rcx, [0x140000000]
movzx ecx, byte [rax + rcx + 0x22db28]
mov word [r14 + 0x14], di
mov edx, 1
mov r14, qword [rsp + 0x78]
mov word [r15 + 0x14], si
test cl, cl
jne 0x14003b997
mov rdi, qword [rsp + 0x58]
add r12, 0x18
mov r15, qword [rsp + 0x70]
movzx r9d, byte [rsp + 0x40]
mov rsi, qword [rbp - 0x58]
jmp 0x140039d5e
test r8d, r8d
je 0x14003b997
mov rsi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140039d5e
mov r13, qword [rsp + 0x48]
test byte [r13 + 2], 1
jne 0x14003b1bd
mov r12, r11
jmp 0x14003b1c5
mov r12, qword [r13 - 8]
add r12, 4
mov rax, qword [r13 + 0x10]
mov r14d, r11d
mov r8d, dword [r13 + 4]
mov rbx, r11
mov ecx, dword [r13 + 8]
movsxd r13, dword [r13 + 0xc]
mov qword [rbp - 0x48], rax
mov dword [rbp - 0x80], r8d
mov dword [rbp - 0x5c], ecx
test r13, r13
jle 0x140041007
lea r15, [rax + 0x20]
test r12, r12
je 0x14003b1fe
mov edi, dword [r12 + rbx*4]
jmp 0x14003b201
mov edi, r14d
mov rax, qword [rax + 0x18]
add ecx, edi
imul rdx, rcx, 0x38
movzx esi, byte [rbx + rax]
lea ecx, [rdi + r8]
mov r8, qword [r15]
add rdx, r10
imul rcx, rcx, 0x38
and esi, 1
add rcx, r10
call fcn.140034a50
mov r10, qword [rsp + 0x60]
mov r8d, eax
mov dword [rsp + 0x50], eax
test eax, eax
mov rax, qword [rbp - 0x48]
jne 0x14003b27e
mov r8d, dword [rbp - 0x80]
inc r14d
mov ecx, dword [rbp - 0x5c]
inc rbx
add r15, 8
cmp rbx, r13
jl 0x14003b1f3
mov r13d, dword [rsp + 0x54]
xor r11d, r11d
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x140039f5a
mov rax, qword [rax + 0x18]
test byte [rbx + rax], 2
je 0x14003b2b2
mov ecx, dword [rbp - 0x80]
add ecx, edi
imul rax, rcx, 0x38
test byte [rax + r10 + 0x14], 1
jne 0x14003b2aa
mov ecx, dword [rbp - 0x5c]
add ecx, edi
imul rax, rcx, 0x38
test byte [rax + r10 + 0x14], 1
je 0x14003b2b2
neg r8d
mov dword [rsp + 0x50], r8d
mov r13d, dword [rsp + 0x54]
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0x70]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x78]
test esi, esi
je 0x14003a58f
neg r8d
mov dword [rsp + 0x50], r8d
xor r11d, r11d
jmp 0x140039f5a
test r8d, r8d
jns 0x14003b30c
mov eax, dword [r12 + 4]
mov rsi, qword [rbp - 0x58]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [r14 + rcx*8]
add r12, 0x18
jmp 0x140039d5e
jne 0x14003b32c
mov eax, dword [r12 + 8]
mov rsi, qword [rbp - 0x58]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [r14 + rcx*8]
add r12, 0x18
jmp 0x140039d5e
mov eax, dword [r12 + 0xc]
mov rsi, qword [rbp - 0x58]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [r14 + rcx*8]
add r12, 0x18
jmp 0x140039d5e
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, r10
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x14003b36a
cmp qword [rcx], 0
mov ebx, r11d
setne bl
jmp 0x14003b3a3
test al, 1
je 0x14003b375
mov ebx, 2
jmp 0x14003b3a3
test al, 8
je 0x14003b37f
movsd xmm0, qword [rcx]
jmp 0x14003b394
test al, 0x12
je 0x14003b3a0
call fcn.14002e6f0
mov r10, qword [rsp + 0x60]
xor r11d, r11d
lea edx, [r11 + 1]
ucomisd xmm0, xmm7
jp 0x14003b39c
je 0x14003b3a0
mov ebx, edx
jmp 0x14003b3a3
mov ebx, r11d
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
add rcx, r10
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x14003b3c3
cmp qword [rcx], 0
mov eax, r11d
setne al
jmp 0x14003b3f9
test al, 1
je 0x14003b3ce
mov eax, 2
jmp 0x14003b3f9
test al, 8
je 0x14003b3d8
movsd xmm0, qword [rcx]
jmp 0x14003b3e6
test al, 0x12
je 0x14003b3f5
call fcn.14002e6f0
mov r10, qword [rsp + 0x60]
ucomisd xmm0, xmm7
jp 0x14003b3ee
je 0x14003b3f5
mov eax, 1
jmp 0x14003b3f9
xor ecx, ecx
mov eax, ecx
lea eax, [rax + rbx*2]
add ebx, eax
lea rcx, [0x140000000]
cmp byte [r12], 0x2c
jne 0x14003b416
movzx ecx, byte [rbx + rcx + 0x230ac0]
jmp 0x14003b41e
movzx ecx, byte [rbx + rcx + 0x231d10]
movsxd rax, dword [r12 + 0xc]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
movzx edx, cl
imul rcx, rax, 0x38
add rcx, r10
cmp edx, 2
jne 0x14003b453
mov eax, 0xf241
and word [rcx + 0x14], ax
or word [rcx + 0x14], 1
xor r11d, r11d
jmp 0x140039f5a
mov qword [rcx], rdx
mov eax, 0xf244
and word [rcx + 0x14], ax
or word [rcx + 0x14], 4
xor r11d, r11d
jmp 0x140039f5a
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, r10
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x14003b48c
cmp qword [rcx], 0
mov eax, r11d
setne al
jmp 0x14003b4c5
test al, 1
je 0x14003b497
mov eax, dword [r12 + 0xc]
jmp 0x14003b4c5
test al, 8
je 0x14003b4a1
movsd xmm0, qword [rcx]
jmp 0x14003b4b6
test al, 0x12
je 0x14003b4c2
call fcn.14002e6f0
mov r10, qword [rsp + 0x60]
xor r11d, r11d
lea edx, [r11 + 1]
ucomisd xmm0, xmm7
jp 0x14003b4be
je 0x14003b4c2
mov eax, edx
jmp 0x14003b4c5
mov eax, r11d
movsxd rdx, dword [r12 + 0x10]
cdqe
xor rdx, rax
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r10
test word [rcx + 0x14], ax
je 0x14003b503
call fcn.14002eb50
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x140039f5a
movzx r9d, byte [rsp + 0x40]
mov eax, 4
mov qword [rcx], rdx
mov word [rcx + 0x14], ax
jmp 0x140039f55
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rcx, r10
add rbx, r10
movzx eax, word [rcx + 0x14]
test al, 1
jne 0x14003b5ca
test al, 0x24
je 0x14003b551
cmp qword [rcx], 0
mov eax, r11d
setne al
jmp 0x14003b57f
test al, 8
je 0x14003b55b
movsd xmm0, qword [rcx]
jmp 0x14003b570
test al, 0x12
je 0x14003b57c
call fcn.14002e6f0
mov r10, qword [rsp + 0x60]
xor r11d, r11d
lea edx, [r11 + 1]
ucomisd xmm0, xmm7
jp 0x14003b578
je 0x14003b57c
mov eax, edx
jmp 0x14003b57f
mov eax, r11d
movsxd rcx, eax
mov eax, 0x9000
xor rcx, 1
test word [rbx + 0x14], ax
je 0x14003b5a1
mov rdx, rcx
mov rcx, rbx
call fcn.14002eb50
jmp 0x14003a57a
mov r12, qword [rsp + 0x48]
mov eax, 4
movzx r9d, byte [rsp + 0x40]
add r12, 0x18
mov r8d, dword [rsp + 0x50]
mov rsi, qword [rbp - 0x58]
mov qword [rbx], rcx
mov word [rbx + 0x14], ax
jmp 0x140039d5e
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x14003b5e2
mov rcx, rbx
call fcn.14002e540
jmp 0x14003a57a
mov word [rbx + 0x14], dx
mov r12, qword [rsp + 0x48]
mov rsi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140039d5e
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rdi, r10
mov eax, 0x9000
add rbx, r10
test word [rbx + 0x14], ax
je 0x14003b630
mov rcx, rbx
call fcn.14002e540
mov r10, qword [rsp + 0x60]
xor r11d, r11d
jmp 0x14003b634
mov word [rbx + 0x14], dx
test byte [rdi + 0x14], 1
jne 0x14003a3fb
mov eax, 4
mov rcx, rdi
mov word [rbx + 0x14], ax
call fcn.14002e690
not rax
mov qword [rbx], rax
mov rdi, qword [rsp + 0x58]
jmp 0x14003a57a
mov r8, qword [r15 + 0x108]
test r8, r8
je 0x14003b6b9
mov r9, qword [r8 + 0x28]
mov rcx, r12
sub rcx, qword [r15 + 0x88]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov ecx, edx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + r9]
bt eax, edx
jb 0x14003b992
bts eax, edx
mov edx, 1
mov byte [rcx + r9], al
jmp 0x14003b6ce
mov rcx, qword [r15 + 0x88]
mov eax, dword [r12 + 4]
cmp dword [rcx + 4], eax
je 0x14003b997
mov rax, qword [r15 + 0x88]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov rsi, qword [rbp - 0x58]
mov ecx, dword [rax + 4]
mov dword [r12 + 4], ecx
add r12, 0x18
jmp 0x140039d5e
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, r10
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x14003b715
cmp qword [rcx], 0
mov eax, r11d
setne al
jmp 0x14003b71e
test al, 1
je 0x14003b733
mov eax, dword [r12 + 0xc]
test eax, eax
jne 0x14003b997
mov rsi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140039d5e
test al, 8
je 0x14003b73d
movsd xmm0, qword [rcx]
jmp 0x14003b756
test al, 0x12
je case.0x140039d96.89
call fcn.14002e6f0
mov r10, qword [rsp + 0x60]
xor r11d, r11d
lea edx, [r11 + 1]
ucomisd xmm0, xmm7
jp 0x14003b997
jne 0x14003b997
movzx r9d, byte [rsp + 0x40]
add r12, 0x18
mov r8d, dword [rsp + 0x50]
mov rsi, qword [rbp - 0x58]
jmp 0x140039d5e
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, r10
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x14003b79e
cmp qword [rcx], 0
mov eax, r11d
setne al
jmp 0x14003b7ae
test al, 1
je 0x14003b7c3
cmp dword [r12 + 0xc], 0
mov eax, r11d
sete al
test eax, eax
je 0x14003b997
mov rsi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140039d5e
test al, 8
je 0x14003b7cd
movsd xmm0, qword [rcx]
jmp 0x14003b7e6
test al, 0x12
je 0x14003b997
call fcn.14002e6f0
mov r10, qword [rsp + 0x60]
xor r11d, r11d
lea edx, [r11 + 1]
ucomisd xmm0, xmm7
jp 0x140039fab
jne 0x140039fab
jmp 0x14003b997
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + r10 + 0x14], 1
jne 0x14003b997
mov rsi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140039d5e
mov rcx, qword [rsp + 0x48]
mov r12, rcx
movsxd rax, dword [rcx + 4]
test eax, eax
js 0x14003b881
mov rcx, rax
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
movsxd rcx, dword [r12 + 0xc]
movzx eax, word [rdx + 0x4a]
cmp ecx, eax
jge 0x14003b875
mov ecx, dword [rdx + rcx*4 + 0x78]
cmp ecx, 0xc
jb 0x14003b861
test cl, 1
mov edx, 4
mov eax, 8
cmove dx, ax
jmp 0x14003b8a6
mov rax, rcx
lea rcx, [0x140000000]
movzx edx, byte [rax + rcx + 0x22cf48]
jmp 0x14003b8a6
mov ecx, dword [r12 + 0x10]
mov edx, 1
jmp 0x14003b8a1
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
movzx eax, word [rcx + r10 + 0x14]
lea rcx, [0x140000000]
and eax, 0x3f
movzx ecx, byte [rax + rcx + 0x230b60]
dec ecx
shl dx, cl
test word [r12 + 2], dx
mov edx, 1
jne 0x14003b997
mov rsi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140039d5e
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + r10 + 0x14], 1
jne 0x14003b8f0
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r10 + 0x14], 1
jne 0x14003b8f0
movsxd rax, dword [r12 + 8]
jmp 0x14003ac0f
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r10
test word [rcx + 0x14], ax
je 0x14003b924
call fcn.14002e540
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x140039f5a
mov rsi, qword [rbp - 0x58]
add r12, 0x18
mov word [rcx + 0x14], dx
jmp 0x140039d5e
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + r10 + 0x14], 1
je 0x14003b997
mov rsi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140039d5e
movsxd rcx, dword [r12 + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x140039f5a
cmp byte [rdx + 2], 0
je 0x140039f5a
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r10
test word [rcx + 0x14], ax
je 0x14003b9ba
call fcn.14002e540
xor r11d, r11d
mov edx, 1
mov eax, dword [r12 + 8]
mov r15, qword [rsp + 0x70]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r14 + rcx*8]
mov qword [rsp + 0x48], rdi
mov r12, rdi
jmp 0x14003e4f9
mov edx, 1
mov word [rcx + 0x14], dx
jmp 0x14003b997
mov rdi, qword [rsp + 0x48]
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rdi + 4]
mov r14d, dword [rdi + 8]
mov rbx, qword [rax + rcx*8]
mov dword [rbp - 0x80], r14d
nop
mov r13, qword [rbx + 0x58]
mov eax, dword [r15 + 0x2c]
mov qword [rbp - 0x70], r13
cmp dword [rbx + 0x20], eax
je 0x14003ba2a
cmp byte [rbx + 2], 0
jne 0x14003bad4
cmp byte [rbx + 3], 0
mov rdi, qword [rbx + 0x30]
je 0x14003ba23
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x14003ba7a
lea eax, [r14 + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x14003ba7a
mov rbx, qword [rbx + 0x28]
lea r14d, [rax - 1]
jmp 0x14003b9da
cmp byte [rdi], 0
je 0x14003ba8e
jmp 0x14003ba37
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x14003bbfb
mov rcx, rbx
call fcn.140034210
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x14003b9e0
mov rdi, qword [rsp + 0x58]
mov esi, 1
mov r14, qword [rsp + 0x48]
mov eax, SafeArrayDestroy
mov r12, qword [rsp + 0x68]
xor ebx, ebx
cmp byte [rdi + 0x67], 0
je 0x1400417d6
mov r13d, 7
jmp 0x14004180c
mov rcx, rbx
call fcn.1400341a0
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x140041785
mov rcx, rdi
call fcn.1400240a0
mov eax, dword [rdi + 0x40]
mov dword [rbx + 0x68], eax
mov rax, qword [rdi + 0x88]
movzx ecx, word [rdi + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [rdi + 0x38]
cmp ecx, edx
jle 0x14003bac8
test edx, edx
mov ecx, edx
mov r11d, 0
cmovs ecx, r11d
mov dword [rbx + 0x6c], ecx
mov rax, qword [rdi + 0x38]
jmp 0x14003bb02
mov dword [rbx + 0x6c], ecx
xor r11d, r11d
mov rax, qword [rdi + 0x38]
jmp 0x14003bb02
cmp byte [rbx], 3
jne 0x14003bb7b
movsxd rax, dword [rbx + 0x24]
test eax, eax
jle 0x14003bb7b
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x60]
xor r11d, r11d
mov eax, dword [rcx + 0x10]
mov dword [rbx + 0x6c], eax
mov dword [rbx + 0x68], eax
mov rax, qword [rcx + 8]
mov qword [rbx + 0x60], rax
mov eax, dword [r15 + 0x2c]
mov dword [rbx + 0x20], eax
mov rax, qword [rbx + 0x60]
movzx ecx, byte [rax]
mov dword [r13], ecx
cmp ecx, 0x80
jae 0x14003bb2a
mov ecx, 1
mov dword [rbx + 0x40], ecx
jmp 0x14003bb3f
mov rcx, qword [rbx + 0x60]
mov rdx, r13
call fcn.14000d0e0
movzx eax, al
xor r11d, r11d
mov dword [rbx + 0x40], eax
mov word [rbx + 0x4a], r11w
mov eax, dword [r13]
cmp dword [rbx + 0x6c], eax
jae 0x14003bb72
mov qword [rbx + 0x60], r11
mov dword [rbx + 0x6c], r11d
mov eax, dword [r13]
cmp eax, 0x18003
ja 0x14003bda1
cmp eax, dword [rbx + 0x68]
jbe 0x14003bbfe
jmp 0x14003bda1
mov rax, qword [rbx + 0x60]
jmp 0x14003bcaf
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r10
test word [rcx + 0x14], ax
je 0x14003bbc8
call fcn.14002e540
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov r13d, dword [rsp + 0x54]
mov rdi, qword [rsp + 0x58]
mov r14, qword [rsp + 0x78]
jmp 0x140039f5a
mov r13d, dword [rsp + 0x54]
mov edx, 1
mov rdi, qword [rsp + 0x58]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
add r12, 0x18
mov r8d, dword [rsp + 0x50]
mov r14, qword [rsp + 0x78]
mov rsi, qword [rbp - 0x58]
mov word [rcx + 0x14], dx
jmp 0x140039d5e
xor r11d, r11d
movzx eax, word [rbx + 0x4a]
cmp eax, r14d
ja 0x14003bea7
mov eax, dword [r13]
cmp dword [rbx + 0x40], eax
jae 0x14003be6b
mov rax, qword [rbx + 0x60]
mov qword [rbp - 0x68], rax
test rax, rax
jne 0x14003bcb3
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x50], rax
mov r10, qword [rbx + 0x30]
mov r8d, dword [r13]
mov dword [rsp + 0x54], r11d
mov rax, qword [r10 + 0x88]
movzx ecx, word [r10 + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [r10 + 0x38]
cmp ecx, edx
jle 0x14003bc71
test edx, edx
mov ecx, edx
cmovs ecx, r11d
mov rax, qword [r10 + 0x38]
mov qword [rbp - 0x68], rax
mov qword [rbp + 0x28], rax
cmp r8d, ecx
ja 0x14003bc91
mov ecx, 0x4010
mov dword [rbp + 0x30], r8d
mov word [rbp + 0x34], cx
jmp 0x14003bcb3
lea r9, [rbp + 0x20]
xor edx, edx
mov rcx, r10
call fcn.14002f100
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x140041785
mov rax, qword [rbp + 0x28]
mov qword [rbp - 0x68], rax
movzx r12d, word [rbx + 0x4a]
mov r14d, dword [rbx + 0x40]
mov esi, r12d
mov rcx, qword [rbp - 0x70]
add r14, rax
mov r15d, dword [r13 + r12*4]
mov r13d, dword [r13]
add r13, rax
movzx edi, byte [r14]
mov dword [rbp - 0x5c], edi
mov dword [rbx + rsi*4 + 0x78], edi
cmp edi, 0x80
jae 0x14003bcf9
lea rdx, [0x140000000]
inc r14
movzx eax, byte [rdi + rdx + 0x22d0c0]
jmp 0x14003bd34
lea rdx, [rbp - 0x5c]
mov rcx, r14
call fcn.14000d0e0
mov edi, dword [rbp - 0x5c]
movzx eax, al
add r14, rax
mov dword [rbx + rsi*4 + 0x78], edi
cmp edi, 0x80
jb 0x14003bd21
lea eax, [rdi - 0xc]
shr eax, 1
jmp 0x14003bd30
lea rcx, [0x140000000]
movzx eax, byte [rdi + rcx + 0x22d0c0]
mov rcx, qword [rbp - 0x70]
inc r12d
add r15, rax
movsxd rsi, r12d
mov dword [rcx + rsi*4], r15d
cmp r12d, dword [rbp - 0x80]
ja 0x14003bd4e
cmp r14, r13
jb 0x14003bcd2
jmp 0x14003bd53
cmp r14, r13
jb 0x14003bd60
cmp r14, r13
ja 0x14003bd68
mov eax, dword [rbx + 0x68]
cmp r15, rax
jne 0x14003bd68
mov eax, dword [rbx + 0x68]
cmp r15, rax
jbe 0x14003bde3
cmp dword [rcx], 0
jne 0x14003bd78
xor r11d, r11d
mov r14, r13
mov r12d, r11d
jmp 0x14003bde6
cmp qword [rbx + 0x60], 0
jne 0x14003bd99
mov eax, 0x9000
test word [rbp + 0x34], ax
jne 0x14003bd90
cmp dword [rbp + 0x40], 0
je 0x14003bd99
lea rcx, [rbp + 0x20]
call fcn.14002e590
mov r15, qword [rsp + 0x70]
xor r11d, r11d
mov r14, qword [rsp + 0x78]
mov eax, dword [r14 + 0xc]
test eax, eax
jle 0x140041170
mov r13d, dword [rsp + 0x54]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rdi, [r14 + rax*8]
mov qword [rsp + 0x48], rdi
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jmp 0x140039f55
xor r11d, r11d
sub r14d, dword [rbp - 0x68]
mov edx, 0x9000
mov word [rbx + 0x4a], r12w
mov dword [rbx + 0x40], r14d
cmp qword [rbx + 0x60], 0
jne 0x14003be1c
test word [rbp + 0x34], dx
jne 0x14003be0b
cmp dword [rbp + 0x40], 0
je 0x14003be1c
lea rcx, [rbp + 0x20]
call fcn.14002e590
xor r11d, r11d
mov edx, 0x9000
mov r13, qword [rbp - 0x70]
mov r14d, dword [rbp - 0x80]
mov r15, qword [rsp + 0x70]
movzx eax, word [rbx + 0x4a]
cmp eax, r14d
ja 0x14003beae
mov rdi, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r10
cmp byte [rdi + 1], 0xf6
jne 0x14003be75
mov rdx, qword [rdi + 0x10]
mov r8d, 0x2000
call fcn.14002edb0
mov r13d, dword [rsp + 0x54]
mov r12, qword [rsp + 0x48]
jmp 0x14003ab75
mov edi, r11d
mov edx, 0x9000
jmp 0x14003be29
test word [rcx + 0x14], dx
je 0x14003be8f
call fcn.14002e540
mov r13d, dword [rsp + 0x54]
mov r12, qword [rsp + 0x48]
jmp 0x14003ab75
mov r13d, dword [rsp + 0x54]
mov edx, 1
mov rdi, qword [rsp + 0x58]
mov word [rcx + 0x14], dx
jmp 0x14003e2f7
mov eax, r14d
mov edi, dword [rbx + rax*4 + 0x78]
mov rdx, qword [rsp + 0x48]
movsxd rax, dword [rdx + 0xc]
imul rsi, rax, 0x38
mov eax, 0x9000
add rsi, qword [rsp + 0x60]
test word [rsi + 0x14], ax
je 0x14003bed8
mov rcx, rsi
call fcn.14002e540
mov rdx, qword [rsp + 0x48]
lea eax, [r14 + 1]
mov eax, dword [r13 + rax*4]
cmp dword [rbx + 0x6c], eax
jb 0x14003bfe4
mov eax, r14d
mov r15d, dword [r13 + rax*4]
add r15, qword [rbx + 0x60]
cmp edi, 0xc
jae 0x14003bf21
mov r8, rsi
mov edx, edi
mov rcx, r15
call fcn.140034310
mov r13d, dword [rsp + 0x54]
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0x70]
jmp 0x14003ab7a
movzx eax, byte [rsp + 0x40]
lea r14d, [rdi - 0xc]
shr r14d, 1
mov dword [rsi + 0x10], r14d
mov byte [rsi + 0x16], al
lea edx, [r14 + 2]
cmp dword [rsi + 0x20], edx
jge 0x14003bf98
mov r8, qword [rsp + 0x58]
cmp r14d, dword [r8 + 0x88]
jg 0x1400413c0
mov eax, 1
xor r8d, r8d
mov rcx, rsi
mov word [rsi + 0x14], ax
call fcn.14002df00
test eax, eax
je 0x14003bfa0
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x68]
mov rcx, rdi
call fcn.140007680
lea rdx, [0x140224140]
mov rcx, r15
call fcn.14002faf0
mov r13d, 7
jmp 0x140041475
mov rax, qword [rsi + 0x28]
mov qword [rsi + 8], rax
mov rcx, qword [rsi + 8]
mov rdx, r15
mov r8d, r14d
call fcn.1401aff40
mov rax, qword [rsi + 8]
mov byte [r14 + rax], 0
lea eax, [r14 + 1]
movsxd rcx, eax
mov rax, qword [rsi + 8]
mov byte [rcx + rax], 0
mov eax, edi
and eax, 1
lea rcx, [0x140000000]
movzx eax, word [rcx + rax*2 + 0x22b2b0]
mov word [rsi + 0x14], ax
jmp 0x14003bf08
movzx eax, byte [rsp + 0x40]
mov byte [rsi + 0x16], al
movzx eax, byte [rdx + 2]
and al, 0xc0
je 0x14003c007
cmp al, 0x80
je 0x14003c02b
cmp edi, 0xc
jb 0x14003c007
test dil, 1
je 0x14003c02b
cmp al, 0xc0
je 0x14003c02b
cmp edi, 0x80
jb 0x14003c016
lea eax, [rdi - 0xc]
shr eax, 1
jmp 0x14003c027
mov eax, edi
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x22d0c0]
test eax, eax
jne 0x14003c04b
mov r8, rsi
lea rcx, [0x14022c960]
mov edx, edi
call fcn.140034310
mov r13d, dword [rsp + 0x54]
mov r12, qword [rsp + 0x48]
jmp 0x14003ab75
mov eax, r14d
mov r8d, edi
mov qword [rsp + 0x30], rsi
mov edx, r14d
mov rcx, rbx
mov r9d, dword [r13 + rax*4]
mov eax, dword [rbp - 0x60]
mov dword [rsp + 0x28], eax
mov eax, dword [r15 + 0x2c]
mov dword [rsp + 0x20], eax
call fcn.140039990
mov r13d, eax
mov dword [rsp + 0x54], eax
mov rdi, qword [rsp + 0x58]
test eax, eax
jne 0x140041182
mov r12, qword [rsp + 0x48]
jmp 0x14003ab7a
mov rax, qword [rsp + 0x48]
mov esi, r11d
mov r12, qword [rsp + 0x48]
mov r14, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
mov r15, qword [r14 + 8]
add rbx, r10
cmp r11w, word [r14 + 0x36]
jge 0x140041016
lea rdi, [r15 + 0x12]
movzx eax, word [rdi]
test al, 0x60
je 0x14003c0dd
test al, 0x20
jne 0x14003c18d
cmp dword [r12 + 0xc], 0
jne 0x14003c189
movzx edx, byte [rdi - 6]
movzx r8d, r9b
mov rcx, rbx
call fcn.140039690
movzx ecx, word [rbx + 0x14]
test cl, 1
jne 0x14003c189
mov eax, dword [rdi - 0xa]
shr eax, 4
and eax, 0xf
cmp eax, 2
je 0x14003c180
jbe 0x14003c189
cmp eax, 4
jbe 0x14003c17b
cmp eax, 5
je 0x14003c11e
cmp eax, 6
jne 0x14003c189
test cl, 2
jmp 0x14003c183
test cl, 4
je 0x14003c176
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x14003c154
mov eax, 0xfffb
and cx, ax
or cx, 0x20
mov word [rbx + 0x14], cx
jmp 0x14003c189
xorps xmm0, xmm0
mov ecx, 0xfffb
cvtsi2sd xmm0, rdx
movsd qword [rbx], xmm0
movzx eax, word [rbx + 0x14]
and ax, cx
or ax, 8
mov word [rbx + 0x14], ax
jmp 0x14003c189
test cl, 0x28
jmp 0x14003c183
test cl, 4
jmp 0x14003c183
test cl, 0x10
je 0x140041199
add rbx, 0x38
movsx eax, word [r14 + 0x36]
inc esi
movzx r9d, byte [rsp + 0x40]
add rdi, 0x18
cmp esi, eax
jl 0x14003c0c2
mov rdi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x70]
jmp 0x14003ab7a
mov rax, qword [rsp + 0x48]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r10
nop dword [rax]
movzx edx, byte [rdi]
movzx r8d, r9b
mov rcx, rbx
call fcn.140039690
cmp byte [rdi], 0x45
jne 0x14003c23e
movzx ecx, word [rbx + 0x14]
test cl, 4
je 0x14003c23e
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x14003c21e
mov eax, 0xfffb
and cx, ax
or cx, 0x20
mov word [rbx + 0x14], cx
jmp 0x14003c23e
xorps xmm0, xmm0
mov ecx, 0xfff9
cvtsi2sd xmm0, rdx
movsd qword [rbx], xmm0
movzx eax, word [rbx + 0x14]
and ax, cx
or ax, 8
mov word [rbx + 0x14], ax
movzx r9d, byte [rsp + 0x40]
inc rdi
cmp byte [rdi], 0
je 0x140040d55
add rbx, 0x38
jmp 0x14003c1d0
mov rcx, qword [rsp + 0x48]
mov r15, r11
mov r12d, r11d
mov r13, r11
movsxd rax, dword [rcx + 4]
mov rdi, qword [rcx + 0x10]
imul r11, rax, 0x38
mov eax, dword [rcx + 8]
dec eax
add r11, r10
cdqe
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rsi, r11
mov qword [rbp - 0x70], r11
add rcx, r10
mov qword [rbp - 0x48], rsi
mov qword [rbp - 0x40], rcx
test rdi, rdi
je 0x14003c2f0
lea rbx, [r11 + 0x14]
mov esi, 0xfffb
nop dword [rax]
movzx edx, byte [rdi]
lea rcx, [rbx - 0x14]
movzx r8d, r9b
call fcn.140039690
cmp byte [rdi], 0x45
jne 0x14003c2d6
movzx eax, word [rbx]
test al, 4
je 0x14003c2d6
and ax, si
or ax, 0x20
mov word [rbx], ax
movzx r9d, byte [rsp + 0x40]
inc rdi
add rbx, 0x38
cmp byte [rdi], 0
jne 0x14003c2b0
mov r11, qword [rbp - 0x70]
mov rsi, qword [rbp - 0x48]
lea rbx, [rsi + 0x24]
movzx edx, word [rbx - 0x10]
test dl, 1
je 0x14003c317
mov eax, 0x400
and dx, ax
neg dx
sbb eax, eax
and eax, 0xa
mov dword [rbx], eax
inc r12d
jmp 0x14003c497
test dl, 0x24
je 0x14003c413
mov r8, qword [rbx - 0x24]
mov rcx, r8
test r8, r8
jns 0x14003c32f
not rcx
inc r12d
cmp rcx, 0x7f
ja 0x14003c36c
mov rax, r8
and eax, 1
cmp rax, r8
jne 0x14003c35b
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0xc5], 4
jb 0x14003c35b
lea eax, [rcx + 8]
mov dword [rbx], eax
jmp 0x14003c497
mov r14d, 1
inc r15
mov dword [rbx], r14d
jmp 0x14003c49d
cmp rcx, 0x7fff
ja 0x14003c384
add r15, 2
mov dword [rbx], 2
jmp 0x14003c497
cmp rcx, 0x7fffff
ja 0x14003c39c
add r15, 3
mov dword [rbx], 3
jmp 0x14003c497
cmp rcx, 0x7fffffff
ja 0x14003c3b5
mov eax, 4
add r15, 4
mov dword [rbx], eax
jmp 0x14003c497
movabs rax, 0x7fffffffffff
cmp rcx, rax
ja 0x14003c3d3
add r15, 6
mov dword [rbx], 5
jmp 0x14003c497
add r15, 8
mov r14d, 1
test dl, 0x20
je 0x14003c408
xorps xmm0, xmm0
mov eax, 0xffdf
cvtsi2sd xmm0, r8
movsd qword [rbx - 0x24], xmm0
and word [rbx - 0x10], ax
or word [rbx - 0x10], 8
mov dword [rbx], 7
jmp 0x14003c49d
mov dword [rbx], 6
jmp 0x14003c49d
test dl, 8
je 0x14003c427
inc r12d
mov dword [rbx], 7
add r15, 8
jmp 0x14003c497
mov esi, dword [rbx - 0x14]
mov r14d, edx
shr r14d, 1
mov eax, 0x400
and r14d, 1
add r14d, 0xc
lea r14d, [r14 + rsi*2]
test ax, dx
je 0x14003c46c
movsxd rax, dword [rbx - 0x24]
lea r14d, [r14 + rax*2]
test r15, r15
je 0x14003c469
lea rcx, [rbx - 0x24]
call fcn.14002e240
test eax, eax
jne 0x14003bf67
add esi, dword [rbx - 0x24]
jmp 0x14003c46c
add r13, rax
mov eax, esi
mov ecx, 1
add r15, rax
mov eax, r14d
shr rax, 7
test rax, rax
je 0x14003c48d
inc ecx
shr rax, 7
test rax, rax
jne 0x14003c482
mov r11, qword [rbp - 0x70]
add r12d, ecx
mov dword [rbx], r14d
mov r14d, 1
lea rax, [rbx - 0x24]
cmp rax, r11
je 0x14003c4af
sub rbx, 0x38
jmp 0x14003c2f4
cmp r12d, 0x7e
jle 0x14003c4f0
movsxd rax, r12d
mov edx, r14d
shr rax, 7
test rax, rax
je 0x14003c4cf
inc edx
shr rax, 7
test rax, rax
jne 0x14003c4c4
add r12d, edx
mov ecx, r14d
movsxd rax, r12d
shr rax, 7
test rax, rax
je 0x14003c4ec
inc ecx
shr rax, 7
test rax, rax
jne 0x14003c4e1
cmp edx, ecx
jge 0x14003c4f3
inc r12d
mov rsi, qword [rbp - 0x40]
movsxd rdi, r12d
movsxd rdx, dword [rsi + 0x20]
lea rbx, [r15 + rdi]
lea rcx, [rbx + r13]
cmp rcx, rdx
jg 0x14003c515
mov rax, qword [rsi + 0x28]
mov qword [rsi + 8], rax
jmp 0x14003c556
mov r8, qword [rsp + 0x58]
movsxd rax, dword [r8 + 0x88]
cmp rcx, rax
jg 0x1400413c0
cmp edx, ebx
jge 0x14003c549
xor r8d, r8d
mov edx, ebx
mov rcx, rsi
call fcn.14002df00
test eax, eax
jne 0x14003bf67
mov r11, qword [rbp - 0x70]
jmp 0x14003c556
mov rax, qword [rsi + 0x28]
mov qword [rsi + 8], rax
and word [rsi + 0x14], 0x2d
mov dword [rsi + 0x10], ebx
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov word [rsi + 0x14], ax
test r13, r13
je 0x14003c573
mov eax, 0x400
mov dword [rsi], r13d
or word [rsi + 0x14], ax
mov rsi, qword [rsi + 8]
lea rbx, [rdi + rsi]
cmp r12d, 0x80
jge 0x14003c58c
mov byte [rsi], r12b
mov rax, r14
jmp 0x14003c599
mov rdx, rdi
mov rcx, rsi
call fcn.14000cee0
cdqe
mov r14, qword [rbp - 0x48]
lea rdi, [r11 + 0x10]
add rsi, rax
mov eax, dword [rdi + 0x14]
cmp eax, 7
ja 0x14003c61f
mov byte [rsi], al
inc rsi
test eax, eax
je 0x14003c666
mov rcx, qword [rdi - 0x10]
lea rdx, [0x140000000]
movzx edx, byte [rax + rdx + 0x22d0c0]
mov eax, edx
sub eax, 1
je 0x14003c618
sub eax, 1
je 0x14003c611
sub eax, 1
je 0x14003c60a
sub eax, 1
je 0x14003c603
cmp eax, 2
je 0x14003c5f5
mov byte [rbx + 7], cl
shr rcx, 8
mov byte [rbx + 6], cl
shr rcx, 8
mov byte [rbx + 5], cl
shr rcx, 8
mov byte [rbx + 4], cl
shr rcx, 8
mov byte [rbx + 3], cl
shr rcx, 8
mov byte [rbx + 2], cl
shr rcx, 8
mov byte [rbx + 1], cl
shr rcx, 8
mov byte [rbx], cl
add rbx, rdx
jmp 0x14003c666
cmp eax, 0x80
jae 0x14003c639
mov byte [rsi], al
inc rsi
cmp eax, 0xe
jb 0x14003c666
movsxd rax, dword [rdi]
test eax, eax
jle 0x14003c666
jmp 0x14003c651
mov rdx, rax
mov rcx, rsi
call fcn.14000cee0
movsxd rcx, eax
movsxd rax, dword [rdi]
add rsi, rcx
test eax, eax
je 0x14003c666
mov rdx, qword [rdi - 8]
mov r8, rax
mov rcx, rbx
call fcn.1401aff40
movsxd rax, dword [rdi]
add rbx, rax
lea rax, [rdi - 0x10]
cmp rax, r14
je 0x14003bf08
add rdi, 0x38
jmp 0x14003c5a4
mov rbx, qword [rsp + 0x48]
mov rax, qword [r15 + 0x78]
cmp dword [rbx + 0xc], 0
movsxd rcx, dword [rbx + 4]
mov rcx, qword [rax + rcx*8]
mov r9, qword [rcx + 0x30]
je 0x14003c6ef
cmp byte [r9], 0
je 0x14003c6a3
or rbx, 0xffffffffffffffff
jmp 0x14003c715
mov rax, qword [r9 + 0x88]
cmp byte [rax + 8], 0
jne 0x14003c6b6
or rbx, 0xffffffffffffffff
jmp 0x14003c715
movsx r8d, byte [r9 + 0x54]
xor dl, dl
movzx ebx, word [rax + 0x18]
test r8d, r8d
jle 0x14003c715
nop word [rax + rax]
movzx eax, dl
inc dl
mov rcx, qword [r9 + rax*8 + 0x90]
movzx eax, word [rcx + 0x18]
imul rbx, rax
movzx eax, dl
cmp eax, r8d
jl 0x14003c6d0
jmp 0x14003c715
lea r8, [rbp - 0x40]
mov qword [rbp - 0x40], r11
mov rdx, r9
mov rcx, rdi
call fcn.14002b600
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x1400417c9
mov rbx, qword [rbp - 0x40]
mov r12, qword [rsp + 0x48]
mov ecx, 0x9000
movsxd rax, dword [r12 + 8]
imul rax, rax, 0x38
add rax, qword [r15 + 0x68]
test word [rax + 0x14], cx
je 0x14003c742
mov rcx, rax
call fcn.140039840
mov qword [rax], rbx
jmp 0x14003f315
mov ecx, 4
mov word [rax + 0x14], cx
mov qword [rax], rbx
jmp 0x14003f315
mov rax, qword [rsp + 0x48]
mov r14d, dword [rax + 4]
mov rdi, qword [rax + 0x10]
mov dword [rbp - 0x68], r14d
test r14d, r14d
jne 0x14003c83e
mov rsi, qword [rsp + 0x58]
cmp dword [rsi + 0xe0], r14d
jg 0x140041218
test rdi, rdi
jne 0x14003c789
mov ebx, r11d
jmp 0x14003c79f
or rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [rdi + rbx], 0
jne 0x14003c790
and ebx, 0x3fffffff
mov r8d, dword [rsi + 0x2f4]
xor edx, edx
add r8d, dword [rsi + 0x2f0]
mov rcx, rsi
call fcn.140097e60
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004122d
mov edx, ebx
mov rcx, rsi
add rdx, 0x21
call fcn.140007120
mov rsi, rax
test rax, rax
je 0x14003cac9
lea r9, [rax + 0x20]
mov rdx, rdi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rbx + 1]
call fcn.1401aff40
mov rdi, qword [rsp + 0x58]
cmp byte [rdi + 0x65], r13b
je 0x14003c80b
mov byte [rdi + 0x65], r13b
mov byte [rdi + 0x6d], 1
jmp 0x14003c811
inc dword [rdi + 0x2f0]
mov rax, qword [rdi + 0x2e0]
mov qword [rsi + 0x18], rax
mov qword [rdi + 0x2e0], rsi
mov rax, qword [rdi + 0x2f8]
mov qword [rsi + 8], rax
mov rax, qword [rdi + 0x300]
mov qword [rsi + 0x10], rax
jmp 0x14003cace
mov r8, qword [rsp + 0x58]
mov r12d, r11d
mov rsi, qword [r8 + 0x2e0]
test rsi, rsi
je 0x14003c86d
mov rcx, qword [rsi]
mov rdx, rdi
call fcn.14000ad40
test eax, eax
je 0x14003c891
mov rsi, qword [rsi + 0x18]
inc r12d
test rsi, rsi
jne 0x14003c852
mov r8, rdi
lea rdx, str.no_such_savepoint:__s
mov rcx, r15
call fcn.14002faf0
mov rdi, qword [rsp + 0x58]
mov esi, 1
mov r13d, esi
jmp 0x14003ba54
mov rdi, qword [rsp + 0x58]
cmp dword [rdi + 0xe0], 0
jle 0x14003c8a9
cmp r14d, 1
je 0x140041235
cmp qword [rsi + 0x18], 0
jne 0x14003c90f
cmp byte [rdi + 0x6d], 0
je 0x14003c90f
mov ebx, 1
mov r13d, ebx
cmp r14d, ebx
jne 0x14003c912
mov rax, qword [r15]
mov rcx, qword [rax + 0x300]
add rcx, qword [rax + 0x2f8]
test rcx, rcx
mov rcx, r15
jg 0x140041293
mov byte [rdi + 0x65], bl
call fcn.140033780
cmp eax, 5
je 0x14004124f
mov eax, dword [r15 + 0x34]
mov dword [rsp + 0x54], eax
test eax, eax
je 0x14003c906
mov byte [rdi + 0x65], 0
jmp 0x14003ca1c
mov byte [rdi + 0x6d], 0
jmp 0x14003ca24
mov r13d, r11d
mov eax, dword [rdi + 0x2f0]
sub eax, r12d
lea r12d, [rax - 1]
cmp r14d, 2
jne 0x14003c98b
mov r15d, dword [rdi + 0x2c]
mov edi, r11d
mov rcx, qword [rsp + 0x58]
and r15d, 1
cmp dword [rcx + 0x28], 0
jle 0x14003c991
mov r14d, r15d
mov rbx, r11
xor r14d, 1
nop word [rax + rax]
mov rcx, qword [rcx + 0x20]
mov r8d, r14d
mov edx, 0x204
mov rcx, qword [rcx + rbx + 8]
call fcn.140023b20
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x140041799
mov rcx, qword [rsp + 0x58]
inc edi
add rbx, 0x20
cmp edi, dword [rcx + 0x28]
jl 0x14003c950
mov r14d, dword [rbp - 0x68]
xor r11d, r11d
jmp 0x14003c995
mov r15d, r11d
mov rcx, rdi
mov eax, dword [rsp + 0x54]
cmp dword [rcx + 0x28], 0
mov edi, r11d
jle 0x14003c9d1
mov rbx, r11
mov rcx, qword [rcx + 0x20]
mov r8d, r12d
mov edx, r14d
mov rcx, qword [rcx + rbx + 8]
call fcn.140023db0
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x140041799
mov rcx, qword [rsp + 0x58]
inc edi
add rbx, 0x20
cmp edi, dword [rcx + 0x28]
jl 0x14003c9a1
mov rdi, qword [rsp + 0x58]
test r15d, r15d
je 0x14003ca17
mov rax, qword [rdi + 8]
test rax, rax
je 0x14003ca07
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 0x14003c9f0
mov rcx, rdi
call fcn.14005e210
or dword [rdi + 0x2c], 1
mov eax, dword [rsp + 0x54]
mov r15, qword [rsp + 0x70]
test eax, eax
jne 0x14004178f
cmp qword [rdi + 0x2e0], rsi
je 0x14003ca59
nop dword [rax]
mov rdx, qword [rdi + 0x2e0]
mov rcx, rdi
mov rax, qword [rdx + 0x18]
mov qword [rdi + 0x2e0], rax
call fcn.140006db0
dec dword [rdi + 0x2f0]
cmp qword [rdi + 0x2e0], rsi
jne 0x14003ca30
cmp r14d, 1
jne 0x14003ca82
mov rax, qword [rsi + 0x18]
mov rdx, rsi
mov rcx, rdi
mov qword [rdi + 0x2e0], rax
call fcn.140006db0
test r13d, r13d
jne 0x14003cac2
dec dword [rdi + 0x2f0]
jmp 0x14003caa3
mov rax, qword [rsi + 8]
mov qword [rdi + 0x2f8], rax
mov rax, qword [rsi + 0x10]
mov qword [rdi + 0x300], rax
test r13d, r13d
je 0x14003caa3
cmp r14d, 2
jne 0x14003cac2
mov r8d, r12d
mov edx, r14d
mov rcx, rdi
call fcn.140097e60
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003ba4f
jmp 0x14003cace
mov r13d, dword [rsp + 0x54]
jmp 0x14003cace
mov rdi, qword [rsp + 0x58]
cmp byte [r15 + 0xc7], 3
je 0x1400412cc
mov r12, qword [rsp + 0x48]
jmp 0x14003ab7a
mov rax, qword [rsp + 0x48]
mov dword [rbp - 0x50], r11d
mov edx, dword [rax + 8]
test edx, edx
je 0x14003cb0a
movabs rcx, 0x200100000
test qword [rdi + 0x30], rcx
jne 0x1400412e1
movsxd r14, dword [rax + 4]
shl r14, 5
add r14, qword [rdi + 0x20]
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x14003cc8b
cmp byte [rbx + 0x11], 0
jne 0x14003cb86
movzx eax, byte [rbx + 0x10]
test al, al
je 0x14003cb86
cmp al, 1
jne 0x14003cb39
test edx, edx
jne 0x14003cb86
mov r8, qword [rbx + 8]
mov rax, qword [r8 + 0x18]
mov rcx, qword [rax + 0x50]
mov eax, dword [rcx + 0x28]
bswap eax
mov dword [rbp - 0x50], eax
test edx, edx
je 0x14003cb7c
mov rax, qword [rbx]
mov rcx, qword [r8]
mov edx, dword [rax + 0x2f0]
cmp edx, dword [rcx + 0x80]
jle 0x14003cb72
cmp byte [rcx + 0xa], 0
je 0x14003cb72
call fcn.14001ab80
jmp 0x14003cb92
mov r13d, r11d
mov dword [rsp + 0x54], r11d
jmp 0x14003cb99
mov r13d, r11d
mov dword [rsp + 0x54], r11d
jmp 0x14003cba5
lea r8, [rbp - 0x50]
mov rcx, rbx
call fcn.140022810
mov dword [rsp + 0x54], eax
mov r13d, eax
test r13d, r13d
jne 0x140041305
xor r11d, r11d
test byte [r15 + 0xc8], 0x20
mov r12, qword [rsp + 0x48]
je 0x14003cc97
cmp dword [r12 + 8], 0
je 0x14003cc97
cmp byte [rdi + 0x65], 0
je 0x14003cbd7
cmp dword [rdi + 0xdc], 1
jle 0x14003cc97
cmp dword [r15 + 0x40], 0
jne 0x14003cbf4
inc dword [rdi + 0x2f4]
mov ecx, dword [rdi + 0x2f4]
add ecx, dword [rdi + 0x2f0]
mov dword [r15 + 0x40], ecx
mov r8d, dword [r15 + 0x40]
xor edx, edx
dec r8d
mov rcx, rdi
call fcn.140097e60
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003cc70
mov edi, dword [r15 + 0x40]
mov rsi, qword [rbx + 8]
cmp byte [rbx + 0x11], al
je 0x14003cc2d
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], al
jne 0x14003cc2d
mov rcx, rbx
call fcn.14001f320
mov rcx, qword [rsi]
cmp edi, dword [rcx + 0x80]
jle 0x14003cc4e
cmp byte [rcx + 0xa], 0
je 0x14003cc4e
mov edx, edi
call fcn.14001ab80
mov r13d, eax
mov dword [rsp + 0x54], eax
jmp 0x14003cc57
xor ecx, ecx
mov r13d, ecx
mov dword [rsp + 0x54], ecx
cmp byte [rbx + 0x11], 0
je 0x14003cc6b
sub dword [rbx + 0x14], 1
jne 0x14003cc6b
mov rcx, rbx
call fcn.14001f2c0
mov rdi, qword [rsp + 0x58]
mov rax, qword [rdi + 0x2f8]
xor r11d, r11d
mov qword [r15 + 0x58], rax
mov rax, qword [rdi + 0x300]
mov qword [r15 + 0x60], rax
jmp 0x14003cc8e
mov r12, rax
test r13d, r13d
jne 0x14003ba4f
cmp word [r12 + 2], 0
je 0x14003ccc0
mov eax, dword [r12 + 0xc]
cmp dword [rbp - 0x50], eax
jne 0x140041349
mov rcx, qword [r14 + 0x18]
mov eax, dword [r12 + 0x10]
cmp dword [rcx + 4], eax
jne 0x140041349
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x78]
jmp 0x140039f55
mov rax, qword [rsp + 0x48]
mov r8, qword [rsp + 0x58]
movsxd rcx, dword [rax + 4]
mov edi, dword [rax + 0xc]
mov rax, qword [r8 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], 0
mov rsi, qword [rbx + 8]
je 0x14003cd0e
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14003cd0e
mov rcx, rbx
call fcn.14001f320
cmp edi, 0xf
jne 0x14003cd21
mov rax, qword [rsi]
mov edi, dword [rbx + 0x1c]
add edi, dword [rax + 0x84]
jmp 0x14003cd38
lea eax, [rdi*4 + 0x24]
movsxd rdx, eax
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x50]
mov edi, dword [rdx + rcx]
bswap edi
cmp byte [rbx + 0x11], 0
je 0x14003cd4c
sub dword [rbx + 0x14], 1
jne 0x14003cd4c
mov rcx, rbx
call fcn.14001f2c0
mov r12, qword [rsp + 0x48]
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [r15 + 0x68]
test word [rcx + 0x14], ax
je 0x14003cd94
call fcn.140039840
mov r10, qword [rsp + 0x60]
mov rcx, rax
movzx r9d, byte [rsp + 0x40]
xor r11d, r11d
mov r8d, dword [rsp + 0x50]
movsxd rax, edi
mov rdi, qword [rsp + 0x58]
mov qword [rcx], rax
jmp 0x140039f5a
mov r10, qword [rsp + 0x60]
mov eax, 4
movzx r9d, byte [rsp + 0x40]
xor r11d, r11d
mov r8d, dword [rsp + 0x50]
mov word [rcx + 0x14], ax
movsxd rax, edi
mov rdi, qword [rsp + 0x58]
mov qword [rcx], rax
jmp 0x140039f5a
mov rax, qword [rsp + 0x48]
movsxd rbx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 8]
shl rbx, 5
add rbx, qword [rdi + 0x20]
mov rcx, qword [rbx + 8]
call fcn.14002b560
mov r12, qword [rsp + 0x48]
mov r13d, eax
mov dword [rsp + 0x54], eax
mov eax, dword [r12 + 8]
cmp eax, 1
jne 0x14003ce1d
movzx eax, word [r12 + 2]
mov ecx, dword [r12 + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
mov rcx, rdi
or dword [rdi + 0x2c], 1
mov edx, dword [r12 + 4]
call fcn.14006fe10
jmp 0x14003ce2f
cmp eax, 2
jne 0x14003ce2f
mov rcx, qword [rbx + 0x18]
movzx eax, byte [r12 + 0xc]
mov byte [rcx + 0x70], al
cmp dword [r12 + 4], 1
jne 0x14003ce5f
mov rax, qword [rdi + 8]
test rax, rax
je 0x14003ce57
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14003ce40
and dword [r15 + 0xc8], 0xfffffffc
test r13d, r13d
jne 0x14004120b
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x140039f5a
movsxd rcx, dword [r12 + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je case.0x140039d96.112
mov eax, dword [r12 + 8]
cmp dword [rdx + 0x44], eax
jne case.0x140039d96.112
mov rbx, qword [rdx + 0x30]
lea r14, [rdx + 0x30]
mov rcx, qword [rbx + 0x18]
call fcn.140006b90
xor ecx, ecx
mov qword [rbx + 0x18], rcx
mov byte [rbx], 1
jmp 0x14003d01a
mov eax, dword [r15 + 0xc8]
and al, 3
cmp al, 1
je 0x1400413b5
mov rax, qword [rsp + 0x48]
mov esi, r11d
mov r13, r11
movsxd r14, dword [rax + 0xc]
mov r12d, dword [rax + 8]
mov rax, r14
shl rax, 5
add rax, qword [rdi + 0x20]
cmp bl, 0x71
mov rbx, qword [rsp + 0x48]
mov rdi, qword [rax + 8]
jne 0x14003cf22
mov rax, qword [rax + 0x18]
movzx r15d, word [rbx + 2]
and r15d, 8
or r15d, 4
movzx ecx, byte [rax + 0x70]
mov rax, qword [rsp + 0x70]
cmp cl, byte [rax + 0xc5]
jae 0x14003cf25
mov byte [rax + 0xc5], cl
jmp 0x14003cf25
mov r15d, r11d
test byte [rbx + 2], 0x10
je 0x14003cf45
imul rbx, r12, 0x38
mov rax, r12
add rbx, r10
mov rcx, rbx
call fcn.14002e7b0
mov r12d, dword [rbx]
mov rbx, qword [rsp + 0x48]
movzx eax, byte [rbx + 1]
cmp al, 0xf8
jne 0x14003cf58
mov r13, qword [rbx + 0x10]
movzx esi, word [r13 + 8]
jmp 0x14003cf5f
cmp al, 0xfd
jne 0x14003cf5f
mov esi, dword [rbx + 0x10]
mov edx, dword [rbx + 4]
xor r9d, r9d
mov rcx, qword [rsp + 0x70]
mov r8d, esi
call fcn.140039400
mov rbx, rax
test rax, rax
je 0x14003bf67
mov byte [rax + 1], r14b
lea r14, [rax + 0x30]
mov byte [rax + 2], 1
or dword [rax + 8], 4
mov dword [rax + 0x44], r12d
cmp byte [rdi + 0x11], 0
mov rsi, qword [r14]
je 0x14003cfdc
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], 0
jne 0x14003cfac
mov rcx, rdi
call fcn.14001f320
mov r9, r13
mov qword [rsp + 0x20], rsi
mov r8d, r15d
mov edx, r12d
mov rcx, rdi
call fcn.140023eb0
cmp byte [rdi + 0x11], 0
mov dword [rsp + 0x54], eax
je 0x14003cff6
sub dword [rdi + 0x14], 1
jne 0x14003cff6
mov rcx, rdi
call fcn.14001f2c0
jmp 0x14003cff6
mov r9, r13
mov qword [rsp + 0x20], rsi
mov r8d, r15d
mov edx, r12d
mov rcx, rdi
call fcn.140023eb0
mov dword [rsp + 0x54], eax
mov r12, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x70]
mov qword [rbx + 0x38], r13
cmp byte [r12 + 1], 0xf8
mov r13d, dword [rsp + 0x54]
setne al
mov byte [rbx + 4], al
movzx ecx, byte [r12 + 2]
mov rax, qword [r14]
and cl, 3
mov byte [rax + 3], cl
test r13d, r13d
jne 0x14003ba4f
jmp 0x14003ab7a
mov rbx, qword [rsp + 0x48]
xor r9d, r9d
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rbx + 8]
mov edx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
mov rcx, r15
movsx r8d, word [rdi + 0x48]
call fcn.140039400
mov rbx, rax
test rax, rax
je 0x14003bf6c
mov byte [rax + 2], 1
or dword [rax + 8], 1
mov rcx, qword [rdi + 0x38]
mov qword [rax + 0x38], rcx
movzx ecx, byte [rdi + 4]
mov byte [rax + 4], cl
mov ecx, dword [rdi + 0x44]
mov dword [rax + 0x44], ecx
mov eax, dword [rax + 8]
xor eax, dword [rdi + 8]
and eax, 4
xor dword [rbx + 8], eax
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x10], rax
or dword [rbx + 8], 8
or dword [rdi + 8], 8
mov rdi, qword [rbx + 0x30]
mov rsi, qword [rbx + 0x38]
mov r14d, dword [rbx + 0x44]
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x11], 0
je 0x14003d10d
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14003d0c7
mov rcx, rbx
call fcn.14001f320
mov r9, rsi
mov qword [rsp + 0x20], rdi
mov r8d, 4
mov edx, r14d
mov rcx, rbx
call fcn.140023eb0
cmp byte [rbx + 0x11], 0
mov r13d, eax
mov dword [rsp + 0x54], eax
je 0x14003be61
sub dword [rbx + 0x14], 1
jne 0x14003be61
mov rcx, rbx
call fcn.14001f2c0
mov r12, qword [rsp + 0x48]
jmp 0x14003ab75
mov r9, rsi
mov qword [rsp + 0x20], rdi
mov r8d, 4
mov edx, r14d
mov rcx, rbx
call fcn.140023eb0
mov r12, qword [rsp + 0x48]
mov r13d, eax
mov dword [rsp + 0x54], eax
jmp 0x14003ab75
mov r13, qword [rsp + 0x48]
movsxd rax, dword [r13 + 0xc]
test eax, eax
jle 0x14003d161
imul rcx, rax, 0x38
mov dword [rcx + r10 + 0x10], r11d
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
lea rax, [0x140224165]
mov qword [rcx + r10 + 8], rax
movsxd rdx, dword [r13 + 4]
mov rax, qword [r15 + 0x78]
mov rdi, qword [rax + rdx*8]
test rdi, rdi
je 0x14003d1a5
test byte [rdi + 8], 8
jne 0x14003d1a5
movsx eax, word [rdi + 0x48]
cmp dword [r13 + 8], eax
jg 0x14003d1a5
mov qword [rdi + 0x18], r11
xor r8d, r8d
mov dword [rdi + 0x20], r11d
mov edx, dword [rdi + 0x44]
mov rcx, qword [rdi + 0x10]
call fcn.14002b180
mov r13d, eax
mov dword [rsp + 0x54], eax
jmp 0x14003d405
mov r8d, dword [r13 + 8]
xor r9d, r9d
mov rcx, r15
call fcn.140039400
mov rdi, rax
test rax, rax
je 0x14003bf6c
or dword [rax + 8], 1
lea r9, [rax + 0x10]
movzx ecx, word [r13 + 2]
xor edx, edx
mov rax, qword [rsp + 0x58]
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov r8, rax
mov dword [rsp + 0x20], ecx
mov rcx, qword [rax]
call fcn.1400215f0
mov r13d, eax
test eax, eax
jne 0x14003ba4a
mov rcx, qword [rdi + 0x10]
cmp byte [rcx + 0x11], al
jne 0x14003d238
cmp byte [rcx + 0x10], 2
jb 0x14003d238
mov rax, qword [rcx]
mov edx, dword [rax + 0x2f0]
mov rax, qword [rcx + 8]
mov rcx, qword [rax]
cmp edx, dword [rcx + 0x80]
jle 0x14003d22d
cmp byte [rcx + 0xa], r13b
je 0x14003d22d
call fcn.14001ab80
jmp 0x14003d244
xor ecx, ecx
mov r13d, ecx
mov dword [rsp + 0x54], ecx
jmp 0x14003d24b
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.140022810
mov dword [rsp + 0x54], eax
mov r13d, eax
test r13d, r13d
jne 0x14003d3d6
mov rax, qword [rsp + 0x48]
mov r15, qword [rax + 0x10]
mov qword [rdi + 0x38], r15
test r15, r15
je 0x14003d352
mov rbx, qword [rdi + 0x10]
movzx esi, word [rax + 2]
or esi, 2
cmp byte [rbx + 0x11], r13b
je 0x14003d28c
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], r13b
jne 0x14003d28c
mov rcx, rbx
call fcn.14001f320
mov r8d, esi
lea rdx, [rdi + 0x44]
mov rcx, rbx
call fcn.14002abb0
cmp byte [rbx + 0x11], 0
mov r13d, eax
mov dword [rsp + 0x54], eax
je 0x14003d2b6
sub dword [rbx + 0x14], 1
jne 0x14003d2b6
mov rcx, rbx
call fcn.14001f2c0
test r13d, r13d
jne 0x14003d344
mov rbx, qword [rdi + 0x10]
mov rsi, qword [rdi + 0x30]
mov r14d, dword [rdi + 0x44]
cmp byte [rbx + 0x11], r13b
je 0x14003d324
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], r13b
jne 0x14003d2e2
mov rcx, rbx
call fcn.14001f320
mov r9, r15
mov qword [rsp + 0x20], rsi
mov r8d, 4
mov edx, r14d
mov rcx, rbx
call fcn.140023eb0
cmp byte [rbx + 0x11], 0
mov r13d, eax
mov dword [rsp + 0x54], eax
je 0x14003d344
sub dword [rbx + 0x14], 1
jne 0x14003d344
mov rcx, rbx
call fcn.14001f2c0
mov r14, qword [rsp + 0x78]
mov byte [rdi + 4], 0
jmp 0x14003d3d1
mov r9, r15
mov qword [rsp + 0x20], rsi
mov r8d, 4
mov edx, r14d
mov rcx, rbx
call fcn.140023eb0
mov r13d, eax
mov dword [rsp + 0x54], eax
mov r14, qword [rsp + 0x78]
mov byte [rdi + 4], 0
jmp 0x14003d3d1
mov r15d, 1
mov dword [rdi + 0x44], r15d
mov rbx, qword [rdi + 0x10]
mov rsi, qword [rdi + 0x30]
cmp byte [rbx + 0x11], 0
je 0x14003d3af
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14003d37b
mov rcx, rbx
call fcn.14001f320
xor r9d, r9d
mov qword [rsp + 0x20], rsi
mov edx, r15d
mov rcx, rbx
lea r8d, [r9 + 4]
call fcn.140023eb0
cmp byte [rbx + 0x11], 0
mov r13d, eax
mov dword [rsp + 0x54], eax
je 0x14003d3cd
sub dword [rbx + 0x14], r15d
jne 0x14003d3cd
mov rcx, rbx
call fcn.14001f2c0
jmp 0x14003d3cd
xor r9d, r9d
mov qword [rsp + 0x20], rsi
mov edx, r15d
mov rcx, rbx
lea r8d, [r9 + 4]
call fcn.140023eb0
mov r13d, eax
mov dword [rsp + 0x54], eax
mov byte [rdi + 4], r15b
mov r15, qword [rsp + 0x70]
xor eax, eax
mov ecx, eax
mov rax, qword [rsp + 0x48]
cmp word [rax + 2], 8
mov eax, 4
cmovne ecx, eax
mov eax, dword [rdi + 8]
and eax, 0xfffffffb
or ecx, eax
mov dword [rdi + 8], ecx
test r13d, r13d
je 0x14003d40e
mov rcx, qword [rdi + 0x10]
call fcn.140021e60
test r13d, r13d
jne 0x14003ba4a
mov byte [rdi + 2], 1
mov rdi, qword [rsp + 0x58]
jmp 0x14003a57a
mov r13, qword [rsp + 0x48]
mov r9b, 1
mov rcx, r15
mov r8d, dword [r13 + 8]
mov edx, dword [r13 + 4]
call fcn.140039400
test rax, rax
je 0x14003bf71
mov rcx, qword [r13 + 0x10]
mov r8, rax
mov qword [rax + 0x38], rcx
mov rcx, rdi
mov edx, dword [r13 + 0xc]
call fcn.1400434c0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003ba4f
jmp 0x14003a57a
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
mov edx, 1
test rcx, rcx
je 0x14003b997
mov rsi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140039d5e
mov rax, qword [rsp + 0x48]
mov r9b, 3
mov rcx, r15
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.140039400
test rax, rax
je 0x14003bf71
mov r12, qword [rsp + 0x48]
xor r11d, r11d
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov byte [rax + 2], 1
mov ecx, dword [r12 + 8]
mov dword [rax + 0x24], ecx
lea rcx, [0x140298234]
mov byte [rax + 4], 1
mov qword [rax + 0x30], rcx
jmp 0x140039f5a
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x14003d51e
mov rcx, r15
call fcn.140032790
xor r11d, r11d
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov qword [rax + rcx*8], r11
jmp 0x140039f55
mov rax, qword [r15 + 0x78]
mov r12d, r11d
mov rdi, qword [rsp + 0x48]
movsxd rcx, dword [rdi + 4]
mov r15, qword [rax + rcx*8]
mov word [r15 + 2], 0
mov dword [r15 + 0x20], r11d
cmp byte [r15 + 4], 0
je 0x14003d674
movsxd rax, dword [rdi + 0xc]
imul rdi, rax, 0x38
add rdi, r10
movzx esi, word [rdi + 0x14]
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x14003d591
xor edx, edx
mov rcx, rdi
call fcn.140039610
mov rcx, rdi
call fcn.14002e690
movzx ecx, word [rdi + 0x14]
mov r14, rax
mov word [rdi + 0x14], si
test cl, 0x24
jne 0x14003d644
test cl, 8
jne 0x14003d61e
test cl, 1
jne 0x14003d782
cmp ebx, 0x17
jae 0x14003d782
mov rcx, qword [r15 + 0x30]
cmp byte [rcx], 0
jne 0x14003d601
test byte [rcx + 1], 8
je 0x14003d601
xor eax, eax
mov dword [rbp - 0x7c], eax
mov r13d, eax
mov dword [rsp + 0x54], eax
mov rdi, qword [rsp + 0x48]
test r12d, r12d
mov r15, qword [rsp + 0x70]
lea rax, [rdi + 0x18]
cmove rax, rdi
mov rdi, qword [rsp + 0x58]
mov r12, rax
jmp 0x14003ab7a
lea rdx, [rbp - 0x7c]
call fcn.140024b30
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004179e
jmp 0x14003d778
movsd xmm1, qword [rdi]
mov rcx, r14
call fcn.1400349c0
test eax, eax
jle 0x14003d63b
test bl, 1
lea eax, [rbx - 1]
cmovne eax, ebx
mov ebx, eax
jmp 0x14003d644
jns 0x14003d644
test bl, 1
je 0x14003d644
inc ebx
mov rcx, qword [r15 + 0x30]
lea r9, [rbp - 0x7c]
xor r8d, r8d
mov rdx, r14
call fcn.140024b90
mov dword [rsp + 0x54], eax
mov r13d, eax
mov qword [r15 + 0x50], r14
test eax, eax
jne 0x14004179e
mov r14, qword [rsp + 0x78]
jmp 0x14003d6ff
mov rax, qword [r15 + 0x30]
lea r8, [rbp - 0x7c]
mov rdx, qword [rsp + 0x48]
movzx edi, byte [rax + 3]
mov ecx, dword [rdx + 0x10]
and dil, 2
mov rax, qword [r15 + 0x38]
mov qword [rbp + 0x150], rax
setne r12b
mov word [rbp + 0x16c], cx
lea eax, [rbx - 1]
test al, 1
mov ecx, 0xffffffff
mov eax, 1
cmovne eax, ecx
mov byte [rbp + 0x16e], al
movsxd rax, dword [rdx + 0xc]
lea rdx, [rbp + 0x150]
imul rcx, rax, 0x38
mov byte [rbp + 0x172], 0
add rcx, r10
mov qword [rbp + 0x158], rcx
mov rcx, qword [r15 + 0x30]
call fcn.140024ed0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14004179e
test dil, dil
je 0x14003d6ff
cmp byte [rbp + 0x172], al
je 0x14003d778
mov eax, dword [rbp - 0x7c]
cmp ebx, 0x17
jl 0x14003d75f
test eax, eax
js 0x14003d71c
jne 0x14003d712
cmp ebx, 0x18
je 0x14003d71c
xor eax, eax
mov dword [rbp - 0x7c], eax
jmp 0x14003d5df
mov rcx, qword [r15 + 0x30]
xor ebx, ebx
mov dword [rbp - 0x7c], ebx
call fcn.1400255a0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x14003d5df
cmp eax, 0x65
jne 0x1400417a8
xor r11d, r11d
mov edx, 1
mov r13d, r11d
mov dword [rsp + 0x54], r11d
mov dword [rbp - 0x7c], edx
mov r12, qword [rsp + 0x48]
jmp 0x14003b997
test eax, eax
jg 0x14003d791
jne 0x14003d76a
cmp ebx, 0x15
je 0x14003d791
mov rax, qword [r15 + 0x30]
xor ecx, ecx
cmp byte [rax], cl
setne cl
mov dword [rbp - 0x7c], ecx
cmp dword [rbp - 0x7c], 0
je 0x14003d5df
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x78]
jmp 0x14003b98f
mov rcx, qword [r15 + 0x30]
xor ebx, ebx
mov dword [rbp - 0x7c], ebx
and byte [rcx + 1], 0xf1
mov word [rcx + 0x46], bx
cmp byte [rcx], bl
jne 0x14003d7ce
movzx edx, word [rcx + 0x56]
test dx, dx
je 0x14003d7ce
mov rax, qword [rcx + 0x88]
cmp byte [rax + 8], bl
je 0x14003d7ce
dec dx
mov dword [rsp + 0x54], ebx
mov word [rcx + 0x56], dx
mov r13d, ebx
jmp 0x14003d5df
call fcn.1400255e0
jmp 0x14003d72a
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rcx, dword [rax + 0x1c]
mov rax, qword [r15 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi + 0x30]
cmp byte [rax], 0
jne 0x14003acc4
mov rax, qword [rdi + 0x38]
mov rcx, r12
mov qword [rbp + 0x1e0], rax
mov byte [rbp + 0x1fe], 0
mov dword [rbp - 0x34], r11d
movzx eax, word [rcx + 0x28]
mov ebx, dword [rcx + 4]
mov word [rbp + 0x1fc], ax
movsxd rax, dword [rcx + 0x24]
imul rcx, rax, 0x38
add rcx, r10
mov qword [rbp + 0x1e8], rcx
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x58]
lea r9, [rbp - 0x34]
lea r8, [rbp + 0x1e0]
mov rdx, rdi
call fcn.140035930
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x140041206
mov eax, dword [rbp - 0x34]
test eax, eax
jle 0x14003d878
cmp word [r12 + 2], r13w
je 0x14003d8ba
test eax, eax
jns 0x14003b98f
test ebx, ebx
jle 0x14003aca3
xor eax, eax
dec ebx
mov dword [rdi + 0x20], eax
mov rcx, qword [rdi + 0x30]
call fcn.1400255a0
mov r13d, eax
test eax, eax
je 0x14003d840
cmp eax, 0x65
jne 0x140041206
xor r11d, r11d
mov r13d, r11d
mov dword [rsp + 0x54], r11d
add r12, 0x18
jmp 0x14003b992
xor r11d, r11d
add r12, 0x18
jmp 0x14003b992
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
movzx eax, word [rdx + 0xc]
cmp eax, dword [r12 + 8]
jge 0x14003d8f6
movzx eax, word [r12 + 8]
mov word [rdx + 0xc], ax
jmp 0x140039f5a
cmp eax, dword [r12 + 0xc]
jle 0x140039f5a
movzx eax, word [r12 + 0xc]
mov word [rdx + 0xc], ax
jmp 0x140039f5a
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je case.0x140039d96.9
cmp byte [rdx + 2], 0
je 0x140040d76
jmp case.0x140039d96.9
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [r12 + 0x10]
jge case.0x140039d96.89
mov rax, qword [r15 + 0x78]
mov r13, qword [rsp + 0x48]
movsxd rcx, dword [r13 + 4]
mov rsi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r10
mov qword [rbp + 0xf8], rcx
movzx eax, word [r13 + 0x10]
mov word [rbp + 0x10c], ax
test ax, ax
je 0x14003d9c4
mov rax, qword [rsi + 0x38]
lea rdi, [rsi + 0x24]
mov qword [rbp + 0xf0], rax
lea rdx, [rbp + 0xf0]
mov byte [rbp + 0x10e], 0
mov r8, rdi
mov rcx, qword [rsi + 0x30]
call fcn.140024ed0
mov r13d, eax
mov dword [rsp + 0x54], eax
jmp 0x14003da36
mov eax, 0x400
test word [rcx + 0x14], ax
je 0x14003d9dc
call fcn.14002e240
test eax, eax
jne 0x14003bf71
mov rcx, qword [rsi + 0x38]
call fcn.1400344b0
mov rbx, rax
test rax, rax
je 0x14003bf71
mov rcx, qword [rbp + 0xf8]
mov r9, rax
mov r8, qword [rcx + 8]
mov edx, dword [rcx + 0x10]
mov rcx, qword [rsi + 0x38]
call fcn.140034510
mov byte [rbx + 0x1e], 0
lea rdi, [rsi + 0x24]
mov rcx, qword [rsi + 0x30]
mov r8, rdi
mov rdx, rbx
call fcn.140024ed0
mov rcx, qword [rsp + 0x58]
mov rdx, rbx
mov r13d, eax
mov dword [rsp + 0x54], eax
call fcn.140006cf0
test r13d, r13d
jne 0x14003ba4a
mov r12, qword [rsp + 0x48]
xor r11d, r11d
cmp dword [rdi], r11d
mov ecx, r11d
mov edx, 1
sete cl
mov eax, edx
sub al, cl
mov byte [rsi + 2], al
mov byte [rsi + 3], r11b
mov dword [rsi + 0x20], r11d
movzx r8d, byte [r12]
cmp r8b, 0x1d
jne 0x14003da76
test ecx, ecx
jmp 0x14003e4f3
test ecx, ecx
je 0x14003b997
cmp r8b, 0x1b
jne 0x14003daba
movzx edx, word [rbp + 0x10c]
mov rcx, r11
test rdx, rdx
je 0x14003dab5
mov rax, qword [rbp + 0xf8]
add rax, 0x14
nop
test byte [rax], 1
jne 0x14003b992
inc rcx
add rax, 0x38
cmp rcx, rdx
jl 0x14003daa0
mov edx, 1
mov rdi, qword [rsp + 0x58]
cmp r8b, 0x1a
mov r8d, dword [rsp + 0x50]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jne 0x140039f5a
movzx eax, word [r12 + 0x10]
add r12, 0x18
mov word [rsi + 0xc], ax
mov rsi, qword [rbp - 0x58]
jmp 0x140039d5e
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r10
test byte [rcx + 0x14], 0x24
jne case.0x140039d96.31
movups xmm0, xmmword [rcx]
movups xmmword [rbp + 0x1a8], xmm0
movups xmm2, xmmword [rcx + 0x10]
movups xmmword [rbp + 0x1b8], xmm2
movups xmm0, xmmword [rcx + 0x20]
movq rax, xmm2
movups xmmword [rbp + 0x1c8], xmm0
shr rax, 0x20
movsd xmm1, qword [rcx + 0x30]
movsd qword [rbp + 0x1d8], xmm1
test al, 4
jne 0x14003db6a
test al, 0x28
jne 0x14003db59
test al, 2
je 0x14003db6a
lea rcx, [rbp + 0x1a8]
call fcn.140039610
xor r11d, r11d
jmp 0x14003db65
lea rcx, [rbp + 0x1a8]
call fcn.14002e720
mov edx, 1
test byte [rbp + 0x1bc], 4
je 0x14003d755
mov rdi, qword [rbp + 0x1a8]
jmp 0x14003db91
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + r10]
mov rax, qword [rsp + 0x48]
lea r9, [rbp - 0x30]
xor r8d, r8d
mov dword [rbp - 0x30], r11d
mov rdx, rdi
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.140024b90
mov r12, qword [rsp + 0x48]
xor r11d, r11d
mov qword [rbx + 0x50], rdi
mov r13d, eax
mov word [rbx + 2], 0
mov dword [rsp + 0x54], eax
mov eax, dword [rbp - 0x30]
mov dword [rbx + 0x20], r11d
mov dword [rbx + 0x24], eax
test eax, eax
je 0x14003dbff
cmp dword [r12 + 8], r11d
jne 0x14003b992
mov ecx, 0x17d6e
call fcn.1400bad10
mov r13d, eax
mov dword [rsp + 0x54], eax
xor r11d, r11d
mov rdi, qword [rsp + 0x58]
test r13d, r13d
jne 0x14003ba4f
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jmp 0x140039f55
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r15 + 0x68]
test word [rdx + 0x14], ax
je 0x14003dc49
mov rcx, rdx
call fcn.140039840
mov rdx, rax
xor r11d, r11d
jmp 0x14003dc52
mov eax, 4
mov word [rdx + 0x14], ax
mov rax, qword [r15 + 0x78]
mov r12, rbx
movsxd rcx, dword [rbx + 4]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x18]
mov qword [rdx], rax
movsxd rcx, dword [rbx + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x18]
jmp 0x140039f55
mov rax, qword [rsp + 0x48]
mov rbx, r11
mov qword [rbp - 0x70], rbx
mov dword [rbp - 0x80], r11d
movsxd rax, dword [rax + 8]
imul r14, rax, 0x38
mov eax, 0x9000
add r14, qword [r15 + 0x68]
test word [r14 + 0x14], ax
je 0x14003dcc0
mov rcx, r14
call fcn.140039840
mov r14, rax
xor r11d, r11d
jmp 0x14003dcca
mov eax, 4
mov word [r14 + 0x14], ax
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rsi, qword [rax + rcx*8]
test byte [rsi + 8], 2
jne 0x14003dd4d
mov rcx, qword [rsi + 0x30]
cmp byte [rcx], 0
jne 0x14003dd25
test byte [rcx + 1], 8
je 0x14003dd25
mov dword [rbp - 0x80], r11d
mov r13d, r11d
mov dword [rsp + 0x54], r11d
mov rbx, qword [rsi + 0x30]
mov rcx, rbx
call fcn.1400240a0
mov rbx, qword [rbx + 0x30]
movabs r12, 0x7fffffffffffffff
mov qword [rbp - 0x70], rbx
cmp rbx, r12
jl 0x14003dd98
or dword [rsi + 8], 2
jmp 0x14003dd57
lea rdx, [rbp - 0x80]
call fcn.140024b30
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003ba4f
cmp dword [rbp - 0x80], eax
je 0x14003dcfc
mov eax, 1
mov ebx, eax
mov qword [rbp - 0x70], rax
movabs r12, 0x7fffffffffffffff
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 0xc]
test edx, edx
je 0x14003ddd1
mov rcx, qword [r15 + 0x108]
test rcx, rcx
je 0x14003dda1
cmp qword [rcx + 8], 0
lea rax, [rcx + 8]
je 0x14003dd8e
nop dword [rax + rax]
mov rcx, qword [rax]
cmp qword [rcx + 8], 0
lea rax, [rcx + 8]
jne 0x14003dd80
imul rdi, rdx, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x14003ddaa
inc rbx
mov qword [rbp - 0x70], rbx
jmp 0x14003dd57
imul rdi, rdx, 0x38
add rdi, qword [rsp + 0x60]
mov rcx, rdi
call fcn.14002e7b0
mov rax, qword [rdi]
cmp rax, r12
je 0x14003de34
test byte [rsi + 8], 2
jne 0x14003de34
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rbp - 0x70], rbx
mov qword [rdi], rbx
test byte [rsi + 8], 2
je 0x14003de3f
xor eax, eax
mov edi, eax
nop dword [rax + rax]
lea rdx, [rbp - 0x70]
mov ecx, 8
call fcn.140009de0
mov rbx, qword [rbp - 0x70]
lea r9, [rbp - 0x80]
mov rcx, qword [rsi + 0x30]
movabs rax, 0x3fffffffffffffff
and rbx, rax
xor r8d, r8d
inc rbx
mov rdx, rbx
mov qword [rbp - 0x70], rbx
call fcn.140024b90
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003ba4a
cmp dword [rbp - 0x80], eax
jne 0x14003de3f
inc edi
cmp edi, 0x64
jl 0x14003dde0
mov r13d, SafeArrayDestroy
jmp 0x14003ba4a
mov byte [rsi + 3], 0
xor r11d, r11d
mov dword [rsi + 0x20], r11d
mov qword [r14], rbx
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x78]
jmp 0x140039f55
mov r13, qword [rsp + 0x48]
movsxd rax, dword [r13 + 8]
movsxd rcx, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [r15 + 0x78]
add rdx, r10
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
cmp byte [r13 + 1], 0xfb
mov r8, qword [rcx + r10]
mov qword [rbp + 0x180], r8
jne 0x14003dec3
cmp qword [rdi + 0x140], 0
je 0x14003dec3
movsx rcx, byte [rbx + 1]
mov rax, qword [rdi + 0x20]
mov rsi, qword [r13 + 0x10]
shl rcx, 5
mov r14, qword [rcx + rax]
jmp 0x14003dec9
mov rsi, r11
mov r14, r11
test byte [r13 + 2], 1
je 0x14003dedf
inc qword [r15 + 0x38]
test byte [r13 + 2], 0x20
je 0x14003dedf
mov qword [rdi + 0x38], r8
mov rax, qword [rdx + 8]
movzx r8d, word [r13 + 2]
mov qword [rbp + 0x188], rax
mov eax, dword [rdx + 0x10]
mov dword [rbp + 0x19c], eax
test r8b, 0x10
je 0x14003df04
mov r9d, dword [rbx + 0x24]
jmp 0x14003df07
mov r9d, r11d
mov eax, 0x400
test word [rdx + 0x14], ax
je 0x14003df1c
mov eax, dword [rdx]
mov dword [rbp + 0x1a0], eax
jmp 0x14003df23
mov dword [rbp + 0x1a0], r11d
mov rcx, qword [rbx + 0x30]
lea rdx, [rbp + 0x178]
and r8d, 0x8a
mov qword [rbp + 0x178], r11
call fcn.140029bf0
inc dword [rbp - 0x60]
xor r11d, r11d
mov byte [rbx + 3], 0
mov r13d, eax
mov dword [rsp + 0x54], eax
mov dword [rbx + 0x20], r11d
test eax, eax
jne 0x14003ba4f
test rsi, rsi
je 0x14003de52
mov rax, qword [rsp + 0x48]
mov edi, SafeArrayAccessData
test byte [rax + 2], 4
mov eax, SafeArrayCopy
cmovne edi, eax
mov rax, qword [rsp + 0x58]
mov rbx, qword [rax + 0x140]
mov rcx, rbx
call qword [fcn.140005fb0]
mov rax, qword [rbp + 0x180]
mov edx, edi
mov rdi, qword [rsp + 0x58]
mov r8, r14
mov r9, qword [rsi]
mov qword [rsp + 0x20], rax
mov rcx, qword [rdi + 0x138]
call rbx
mov r12, qword [rsp + 0x48]
jmp 0x14003ab7a
mov r13, qword [rsp + 0x48]
mov rcx, qword [r15 + 0x78]
movsxd rax, dword [r13 + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [r13 + 8]
mov rdx, qword [rcx + rax*8]
movsxd rax, dword [r13 + 0xc]
test eax, eax
je 0x14003dfe9
imul rcx, rax, 0x38
mov r8, qword [rcx + r10]
jmp 0x14003dfec
mov r8, r11
mov rdx, qword [rdx + 0x30]
mov rcx, qword [r9 + 0x30]
call fcn.14002a190
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003ba4f
jmp 0x14003a57a
mov r13, qword [rsp + 0x48]
mov rax, qword [rsp + 0x70]
mov r12, qword [rsp + 0x58]
cmp byte [r13 + 1], 0xfb
movsxd rcx, dword [r13 + 4]
mov rax, qword [rax + 0x78]
mov r15d, dword [r13 + 8]
mov rdi, qword [rax + rcx*8]
jne 0x14003e077
cmp qword [r12 + 0x140], 0
je 0x14003e077
movsx rcx, byte [rdi + 1]
mov rax, qword [r12 + 0x20]
mov rsi, qword [r13 + 0x10]
shl rcx, 5
test byte [r13 + 2], 2
mov r14, qword [rcx + rax]
je 0x14003e07d
cmp byte [rdi + 4], 0
je 0x14003e07d
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call fcn.1400240a0
mov rax, qword [rbx + 0x30]
mov qword [rdi + 0x50], rax
jmp 0x14003e07d
mov r14, r11
mov rsi, r11
movzx edx, byte [r13 + 2]
mov rcx, qword [rdi + 0x30]
call fcn.14002a640
inc dword [rbp - 0x60]
xor r11d, r11d
mov dword [rsp + 0x54], eax
mov r13d, eax
mov qword [rdi + 0x20], r11
test eax, eax
jne 0x14004179e
test r15b, 1
mov r15, qword [rsp + 0x70]
je 0x14003de4d
inc qword [r15 + 0x38]
mov rbx, qword [r12 + 0x140]
test rbx, rbx
je 0x14003de4d
test rsi, rsi
je 0x14003de4d
test byte [rsi + 0x30], 0x80
jne 0x14003de4d
mov rcx, rbx
call qword [fcn.140005fb0]
mov rax, qword [rdi + 0x50]
lea edx, [r13 + 9]
jmp 0x14003df9b
mov rax, qword [r15 + 0x38]
mov rsi, qword [rbp - 0x58]
mov qword [rdi + 0x78], rax
add qword [rdi + 0x80], rax
add r12, 0x18
mov qword [r15 + 0x38], r11
jmp 0x140039d5e
mov r13, qword [rsp + 0x48]
lea r9, [rbp - 0x2c]
mov rax, qword [r15 + 0x78]
mov dword [rbp - 0x2c], r11d
movsxd rcx, dword [r13 + 4]
mov r8d, dword [r13 + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rdx, rax, 0x38
add rdx, r10
call fcn.140045c50
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003ba4f
mov r12, qword [rsp + 0x48]
lea edx, [rax + 1]
xor r11d, r11d
cmp dword [rbp - 0x2c], r11d
jne 0x14003b997
mov r10, qword [rsp + 0x60]
add r12, 0x18
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov rsi, qword [rbp - 0x58]
jmp 0x140039d5e
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r15 + 0x78]
add rdx, r10
mov rcx, qword [rax + rcx*8]
call fcn.140045b80
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003ba4f
mov rax, qword [rsp + 0x48]
xor r11d, r11d
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
movsxd rcx, dword [rax + 0xc]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x20], r11d
jmp 0x140039f55
mov rdi, qword [rsp + 0x48]
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [r15 + 0x68]
test word [rbx + 0x14], ax
je 0x14003e205
mov rcx, rbx
call fcn.140039840
mov rbx, rax
jmp 0x14003e20e
mov eax, 4
mov word [rbx + 0x14], ax
movsxd rcx, dword [rdi + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdi, qword [rcx + 0x30]
mov rcx, rdi
call fcn.1400240a0
mov rax, qword [rsp + 0x58]
mov edx, dword [rdi + 0x40]
cmp edx, dword [rax + 0x88]
ja 0x1400413d1
mov r8, rbx
mov rcx, rdi
call fcn.14002f220
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003ba4a
mov r12, qword [rsp + 0x48]
cmp dword [r12 + 0xc], eax
jne 0x14003aca3
mov eax, 0x4000
test word [rbx + 0x14], ax
je 0x14003aca3
mov rcx, rbx
call fcn.14002e1e0
mov rdi, qword [rsp + 0x58]
test eax, eax
jne 0x14003bf71
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x140039f5a
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul r14, rax, 0x38
mov eax, 0x9000
add r14, qword [r15 + 0x68]
test word [r14 + 0x14], ax
je 0x14003e2d1
mov rcx, r14
call fcn.140039840
xor r11d, r11d
mov r14, rax
lea edx, [r11 + 1]
jmp 0x14003e2db
mov eax, 4
mov word [r14 + 0x14], ax
movsxd rcx, dword [rbx + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 2], 0
je 0x14003e319
mov word [r14 + 0x14], dx
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x78]
add r12, 0x18
mov rsi, qword [rbp - 0x58]
jmp 0x140039d5e
cmp byte [rbx + 3], 0
je 0x14003e334
mov rax, qword [rbx + 0x50]
mov r12, qword [rsp + 0x48]
mov qword [rbp - 0x10], rax
mov qword [r14], rax
jmp 0x14003ab7a
cmp byte [rbx], 2
jne 0x14003e38a
mov rdi, qword [rbx + 0x30]
mov rsi, qword [rdi]
mov rax, qword [rsi]
mov rbx, qword [rax + 0x60]
mov rcx, rbx
call qword [fcn.140005fb0]
lea rdx, [rbp - 0x10]
mov rcx, rdi
call rbx
mov rdx, rsi
mov dword [rsp + 0x54], eax
mov rcx, r15
mov r13d, eax
call fcn.140035b70
mov rdi, qword [rsp + 0x58]
test r13d, r13d
jne 0x14003ba4f
mov rax, qword [rbp - 0x10]
mov r12, qword [rsp + 0x48]
mov qword [r14], rax
jmp 0x14003ab7a
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x14003e3af
mov rcx, rbx
call fcn.140034210
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003ba4f
xor r11d, r11d
jmp 0x14003e3b7
mov r13d, r11d
mov dword [rsp + 0x54], r11d
cmp byte [rbx + 2], 0
je 0x14003e3c7
mov edx, 1
jmp 0x14003e2ed
mov rbx, qword [rbx + 0x30]
mov rcx, rbx
call fcn.1400240a0
mov rax, qword [rbx + 0x30]
mov r12, qword [rsp + 0x48]
mov qword [rbp - 0x10], rax
mov qword [r14], rax
jmp 0x14003ab7a
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rax, qword [rax + rdx*8]
test rax, rax
jne 0x14003e430
mov r9b, 3
lea r8d, [rax + 1]
mov rcx, r15
call fcn.140039400
test rax, rax
je 0x14003bf71
xor r11d, r11d
lea rcx, [0x140298234]
mov dword [rax + 0x24], r11d
mov byte [rax + 4], 1
or dword [rax + 8], 8
mov qword [rax + 0x30], rcx
mov byte [rax + 2], 1
mov dword [rax + 0x20], r11d
cmp byte [rax], 0
jne 0x14003bdce
mov rbx, qword [rax + 0x30]
mov rcx, qword [rbx + 0x18]
call fcn.140006b90
mov r12, qword [rsp + 0x48]
xor r11d, r11d
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov qword [rbx + 0x18], r11
mov byte [rbx], 1
jmp 0x140039f55
mov rax, qword [rsp + 0x48]
mov dword [rbp - 0x28], r11d
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rdi + 0x30]
cmp bl, 0x89
jne 0x14003e49b
or rax, 0xffffffffffffffff
mov dword [rdi + 0x24], eax
cmp byte [rcx], 0
je 0x140040d71
cmp byte [rcx], 0
jne 0x14003e4b3
test byte [rcx + 1], 8
je 0x14003e4b3
mov eax, r11d
mov dword [rsp + 0x54], r11d
mov r13d, r11d
jmp 0x14003e4cd
lea rdx, [rbp - 0x28]
call fcn.140024b30
xor r11d, r11d
mov dword [rsp + 0x54], eax
mov r13d, eax
mov eax, dword [rbp - 0x28]
lea edx, [r11 + 1]
mov byte [rdi + 2], al
mov byte [rdi + 3], 0
mov dword [rdi + 0x20], r11d
test r13d, r13d
jne 0x14003ba4a
mov r12, qword [rsp + 0x48]
cmp dword [r12 + 8], r13d
jle 0x14003ea2b
test eax, eax
jne 0x14003b997
mov rdi, qword [rsp + 0x58]
add r12, 0x18
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov rsi, qword [rbp - 0x58]
jmp 0x140039d5e
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x30]
mov rcx, rbx
call fcn.1400248a0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003e55b
xor eax, eax
mov rcx, rbx
mov esi, eax
mov dword [rbp - 0x38], eax
call fcn.140024a60
mov r13d, eax
mov dword [rsp + 0x54], eax
jmp 0x14003e57a
cmp eax, 0x10
jne 0x14003e577
mov edx, 1
xor r11d, r11d
mov esi, edx
mov dword [rbp - 0x38], edx
mov r13d, r11d
mov dword [rsp + 0x54], r11d
jmp 0x14003e582
mov esi, dword [rbp - 0x38]
mov edx, 1
xor r11d, r11d
test r13d, r13d
jne 0x14003ba4f
test esi, esi
jne 0x14003d755
cmp byte [rbx], sil
jne 0x14003bdce
mov rax, qword [rbx + 0x88]
cmp byte [rax + 8], sil
je 0x14003bdce
movsx r9d, byte [rbx + 0x54]
xor dl, dl
movzx r8d, word [rax + 0x18]
test r9d, r9d
jle 0x14003e5dd
nop
movzx eax, dl
inc dl
mov rcx, qword [rbx + rax*8 + 0x90]
movzx eax, word [rcx + 0x18]
imul r8, rax
movzx eax, dl
cmp eax, r9d
jl 0x14003e5c0
test r8, r8
js 0x14003bdce
mov rcx, r8
call fcn.14000d2a0
mov r12, qword [rsp + 0x48]
movsx ecx, ax
cmp ecx, dword [r12 + 0xc]
jge 0x140039fff
mov edx, 1
mov dword [rbp - 0x38], edx
jmp 0x14003b997
inc dword [r15 + 0xdc]
mov rax, qword [rsp + 0x48]
mov r14d, edx
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov r15, qword [rax + rcx*8]
cmp byte [r15], 1
jne 0x14003e6e5
mov rsi, qword [r15 + 0x30]
mov dword [rsp + 0x54], r11d
cmp byte [rsi + 0x58], 0
jne 0x14003e670
cmp qword [rsi + 0x38], 0
lea rdx, [rsi + 0x38]
je 0x14003e665
lea rcx, [rsi + 0x60]
mov r14d, r11d
call fcn.140043fd0
mov dword [rsp + 0x54], eax
xor r11d, r11d
jmp 0x14003e716
mov r14d, 1
jmp 0x14003e716
mov rcx, rsi
call fcn.140044710
movzx edi, byte [rsi + 0x5b]
mov r12d, eax
sub edi, 1
mov dword [rsp + 0x54], eax
js 0x14003e6bd
movsxd rax, edi
inc rax
lea rbx, [rax + rax*2]
shl rbx, 5
add rbx, rsi
nop dword [rax]
mov rcx, rbx
call fcn.140043880
test r12d, r12d
cmove r12d, eax
sub rbx, 0x60
sub edi, 1
jns 0x14003e6a0
mov dword [rsp + 0x54], r12d
test r12d, r12d
jne 0x14003e6db
mov rcx, rsi
call fcn.1400457c0
mov rdi, qword [rsp + 0x58]
xor r11d, r11d
mov r14d, r11d
mov dword [rsp + 0x54], eax
jmp 0x14003e716
mov rdi, qword [rsp + 0x58]
xor r11d, r11d
jmp 0x14003e716
mov rbx, qword [r15 + 0x30]
mov rcx, rbx
call fcn.1400248a0
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x14003e76c
xor eax, eax
mov rcx, rbx
mov r14d, eax
call fcn.140024a60
mov dword [rsp + 0x54], eax
xor r11d, r11d
mov byte [r15 + 3], 0
mov dword [r15 + 0x20], r11d
mov r13d, dword [rsp + 0x54]
test r13d, r13d
jne 0x14004154c
mov r12, qword [rsp + 0x48]
mov byte [r15 + 2], r14b
cmp dword [r12 + 8], r13d
jle 0x140040d80
test r14d, r14d
lea edx, [r13 + 1]
mov r14, qword [rsp + 0x78]
jne 0x14003b997
mov r15, qword [rsp + 0x70]
add r12, 0x18
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov rsi, qword [rbp - 0x58]
jmp 0x140039d5e
cmp eax, 0x10
jne 0x14003e70a
xor r11d, r11d
lea r14d, [rax - 0xf]
mov dword [rsp + 0x54], r11d
jmp 0x14003e70d
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, rdi
mov rdx, rbx
call fcn.140045ad0
jmp 0x14003e7d3
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.140025790
jmp 0x14003e7d3
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.1400255a0
mov r13d, eax
mov dword [rsp + 0x54], eax
xor r11d, r11d
mov dword [rbx + 0x20], r11d
test eax, eax
jne 0x14003e7ff
mov rax, qword [rsp + 0x48]
mov byte [rbx + 2], r11b
movzx eax, word [rax + 2]
inc dword [r15 + rax*4 + 0xd4]
jmp case.0x140039d96.9
cmp r13d, 0x65
jne 0x14003ba4f
mov r13d, r11d
mov dword [rsp + 0x54], r11d
mov byte [rbx + 2], 1
jmp 0x14003f310
mov r13, qword [rsp + 0x48]
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rbx, r10
test byte [r13 + 2], 1
je 0x14003e841
inc qword [r15 + 0x38]
mov eax, 0x400
test word [rbx + 0x14], ax
je 0x14003e86c
mov rcx, rbx
call fcn.14002e240
mov r13d, eax
test eax, eax
jne 0x14003ba4a
mov r13, qword [rsp + 0x48]
xor r11d, r11d
mov r10, qword [rsp + 0x60]
movsxd rax, dword [rbx + 0x10]
movzx r8d, word [r13 + 2]
mov qword [rbp + 0x260], rax
mov rax, qword [rbx + 8]
mov qword [rbp + 0x258], rax
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r13 + 0x10]
add rcx, r10
mov word [rbp + 0x278], ax
mov qword [rbp + 0x270], rcx
test r8b, 0x10
je 0x14003e8b1
mov r9d, dword [rdi + 0x24]
jmp 0x14003e8b4
mov r9d, r11d
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x258]
and r8d, 0x8a
call fcn.140029bf0
xor r11d, r11d
mov dword [rsp + 0x54], eax
mov dword [rdi + 0x20], r11d
mov r13d, eax
mov rdi, qword [rsp + 0x58]
test eax, eax
jne 0x14003ba4f
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jmp 0x140039f55
mov rbx, qword [rsp + 0x48]
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r10
test word [rbx + 0x14], ax
je 0x14003e935
mov rcx, rbx
call fcn.14002e240
mov r13d, eax
test eax, eax
jne 0x14003ba4a
mov rdx, rbx
mov rcx, rdi
call fcn.140044860
mov rdi, qword [rsp + 0x58]
mov r13d, eax
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x14003ba4f
jmp 0x14003a57a
mov rax, qword [r15 + 0x78]
lea r8, [rbp - 0x18]
mov r13, qword [rsp + 0x48]
lea rdx, [rbp + 0x208]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi + 0x38]
mov rbx, qword [rdi + 0x30]
mov qword [rbp + 0x208], rax
movzx eax, word [r13 + 0xc]
mov word [rbp + 0x224], ax
mov byte [rbp + 0x226], 0
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
add rcx, r10
mov qword [rbp + 0x210], rcx
mov rcx, rbx
call fcn.140024ed0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003ba4a
cmp dword [rbp - 0x18], eax
jne 0x14003e9ff
mov dl, 4
mov rcx, rbx
call fcn.14002a640
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003ba4a
mov r12, qword [rsp + 0x48]
xor r11d, r11d
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov qword [rdi + 0x20], r11
mov rdi, qword [rsp + 0x58]
jmp 0x140039f55
mov r12, qword [rsp + 0x48]
cmp word [r12 + 2], 0
je 0x14003ea24
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x30]
and eax, 0x10000001
cmp rax, 1
jne 0x1400413ee
xor r11d, r11d
mov qword [rdi + 0x20], r11
mov rdi, qword [rsp + 0x58]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
jmp 0x140039f55
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x14003ea79
mov rcx, rbx
call fcn.140034210
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003ba4f
xor r11d, r11d
lea edx, [rax + 1]
jmp 0x14003ea81
mov r13d, r11d
mov dword [rsp + 0x54], r11d
cmp byte [rbx + 2], 0
jne 0x14003eb3f
mov rdx, qword [rbx + 0x30]
lea r8, [rbp - 0x48]
mov rcx, rdi
mov qword [rbp - 0x48], r11
call fcn.140035720
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003ba4f
mov rax, qword [rsp + 0x48]
cmp byte [rax], 0x8d
jne 0x14003eaff
movsxd rcx, dword [rax + 0xc]
xor r11d, r11d
mov rax, qword [r15 + 0x78]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rbp - 0x48]
mov word [rdx + 2], 0x100
mov qword [rdx + 0x50], rax
mov rax, qword [rsp + 0x48]
mov dword [rdx + 0x20], r11d
mov rax, qword [rax + 0x10]
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x28], rbx
jmp 0x140039f55
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [r15 + 0x68]
test word [rcx + 0x14], ax
je 0x14003eb2a
call fcn.140039840
mov rcx, rax
mov rax, qword [rbp - 0x48]
mov qword [rcx], rax
jmp 0x14003a57a
mov eax, 4
mov word [rcx + 0x14], ax
mov rax, qword [rbp - 0x48]
mov qword [rcx], rax
jmp 0x14003a57a
mov rax, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r10
test word [rcx + 0x14], ax
je 0x14003eb69
call fcn.14002e540
jmp 0x14003a57a
mov r12, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
add r12, 0x18
mov r8d, dword [rsp + 0x50]
mov rsi, qword [rbp - 0x58]
mov word [rcx + 0x14], dx
jmp 0x140039d5e
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], 0
je 0x14003b5e6
call fcn.1400341a0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003ba4f
jmp 0x14003a57a
mov r13, qword [rsp + 0x48]
cmp bl, 0x2a
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x38]
mov rbx, qword [rdx + 0x30]
mov qword [rbp + 0x230], rax
movzx eax, word [r13 + 0x10]
mov word [rbp + 0x24c], ax
sbb al, al
mov byte [rbp + 0x24e], al
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r10
mov qword [rbp + 0x238], rcx
mov rcx, rbx
call fcn.1400240a0
mov ecx, dword [rbx + 0x40]
test rcx, rcx
jle 0x140041421
cmp rcx, 0x7fffffff
jg 0x140041421
xor r9d, r9d
mov qword [rbp + 0x130], rdi
mov word [rbp + 0x12c], r9w
mov r13d, r9d
mov dword [rbp + 0x138], r9d
mov rax, qword [rbx + 0x88]
movzx edx, word [rbx + 0x44]
mov dword [rsp + 0x54], r9d
mov r8d, dword [rax + 0x58]
sub r8d, dword [rbx + 0x38]
cmp edx, r8d
jle 0x14003ec6b
test r8d, r8d
mov edx, r8d
cmovs edx, r9d
mov rax, qword [rbx + 0x38]
mov qword [rbp + 0x120], rax
cmp ecx, edx
ja 0x14003ec8e
mov edx, 0x4010
mov dword [rbp + 0x128], ecx
mov word [rbp + 0x12c], dx
jmp 0x14003ecbe
mov r8d, ecx
lea r9, [rbp + 0x118]
mov rcx, rbx
xor edx, edx
call fcn.14002f100
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003ba4f
mov ecx, dword [rbp + 0x128]
mov rax, qword [rbp + 0x120]
xor r9d, r9d
lea r8, [rbp + 0x230]
mov rdx, rax
call fcn.140034c90
cmp dword [rbp + 0x138], 0
mov ebx, eax
je 0x14003ece7
lea rcx, [rbp + 0x118]
call fcn.14002e590
mov r12, qword [rsp + 0x48]
test byte [r12], 1
jne 0x14003ecf7
neg ebx
jmp 0x14003ecf9
inc ebx
xor r11d, r11d
lea edx, [r11 + 1]
test ebx, ebx
jg 0x14003b997
mov r10, qword [rsp + 0x60]
add r12, 0x18
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov rsi, qword [rbp - 0x58]
jmp 0x140039d5e
mov r13, qword [rsp + 0x48]
movsxd rax, dword [r13 + 8]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [r15 + 0x68]
test word [rdi + 0x14], ax
je 0x14003ed59
mov rcx, rdi
call fcn.140039840
xor r11d, r11d
mov rdi, rax
lea edx, [r11 + 1]
lea r12d, [r11 + 4]
jmp 0x14003ed64
mov r12d, 4
mov word [rdi + 0x14], r12w
mov rcx, qword [rsp + 0x58]
mov word [rdi + 0x14], dx
mov eax, dword [rcx + 0xe8]
inc eax
cmp dword [rcx + 0xdc], eax
jg 0x140041433
movsxd r15, dword [r13 + 0xc]
mov rax, qword [rcx + 0x20]
mov r14, r15
mov esi, dword [r13 + 4]
shl r14, 5
mov dword [rbp - 0x24], r11d
mov rbx, qword [r14 + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x14003edb4
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14003edb4
mov rcx, rbx
call fcn.14001f320
lea r8, [rbp - 0x24]
mov edx, esi
mov rcx, rbx
call fcn.14002b260
cmp byte [rbx + 0x11], 0
mov r13d, eax
mov dword [rsp + 0x54], eax
je 0x14003eddd
sub dword [rbx + 0x14], 1
jne 0x14003eddd
mov rcx, rbx
call fcn.14001f2c0
movsxd rdx, dword [rbp - 0x24]
mov word [rdi + 0x14], r12w
mov qword [rdi], rdx
test r13d, r13d
jne 0x14004179e
mov rdi, qword [rsp + 0x58]
test edx, edx
je 0x14003bf12
mov rax, qword [rsp + 0x48]
mov r9, qword [rdi + 0x20]
mov r8d, dword [rax + 4]
mov rax, qword [r14 + r9 + 0x18]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14003ee35
nop word [rax + rax]
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x28], edx
jne 0x14003ee2d
mov dword [rax + 0x28], r8d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14003ee20
mov rax, qword [r14 + r9 + 0x18]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x14003ee58
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x58], edx
jne 0x14003ee50
mov dword [rax + 0x58], r8d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14003ee43
mov r12, qword [rsp + 0x48]
lea eax, [r15 + 1]
mov r15, qword [rsp + 0x70]
mov byte [rbp - 0x78], al
jmp 0x14003ab7a
mov r13, qword [rsp + 0x48]
lea r8, [rbp - 8]
mov qword [rbp - 8], r11
mov rcx, qword [rdi + 0x20]
movsxd rax, dword [r13 + 8]
mov edx, dword [r13 + 4]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14002b180
mov r12, qword [rsp + 0x48]
mov r13d, eax
mov r10, qword [rsp + 0x60]
mov dword [rsp + 0x54], eax
cmp dword [r12 + 0xc], 0
je 0x14003eecb
mov rax, qword [rbp - 8]
add qword [r15 + 0x38], rax
movsxd rax, dword [r12 + 0xc]
test eax, eax
jle 0x14003eecb
imul rcx, rax, 0x38
mov rax, qword [rbp - 8]
add qword [rcx + r10], rax
test r13d, r13d
jne 0x14003ba4f
movzx r9d, byte [rsp + 0x40]
xor r11d, r11d
mov r8d, dword [rsp + 0x50]
jmp 0x140039f5a
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x14003ef0e
mov rdx, qword [rcx + 0x30]
mov rcx, rdi
call fcn.140043a50
jmp 0x14003a57a
mov rcx, qword [rcx + 0x30]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.14002b180
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003ba4f
jmp 0x14003a57a
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [r15 + 0x68]
test word [rdi + 0x14], ax
je 0x14003ef61
mov rcx, rdi
call fcn.140039840
mov rdi, rax
xor r11d, r11d
jmp 0x14003ef6a
mov eax, 4
mov word [rdi + 0x14], ax
movsxd rcx, dword [rbx + 4]
mov rax, qword [rsp + 0x58]
mov esi, dword [rbx + 0xc]
shl rcx, 5
mov dword [rbp - 0x68], r11d
mov rax, qword [rax + 0x20]
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x14003ef9e
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14003ef9e
mov rcx, rbx
call fcn.14001f320
mov r8d, esi
lea rdx, [rbp - 0x68]
mov rcx, rbx
call fcn.14002abb0
cmp byte [rbx + 0x11], 0
mov r13d, eax
mov dword [rsp + 0x54], eax
je 0x14003efc8
sub dword [rbx + 0x14], 1
jne 0x14003efc8
mov rcx, rbx
call fcn.14001f2c0
test r13d, r13d
jne 0x14003ba4a
mov eax, dword [rbp - 0x68]
mov qword [rdi], rax
mov rdi, qword [rsp + 0x58]
jmp 0x14003a57a
inc byte [rdi + 0x70]
mov rax, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
mov qword [rbp], r11
mov rbx, qword [rdi + 0x200]
cmp dword [rax + 4], 0
movzx edi, byte [rdi + 0x6e]
je 0x14003f00e
mov qword [rsi + 0x200], r11
mov byte [rsi + 0x6e], 0
mov rdx, qword [rax + 0x10]
lea rcx, [rbp]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov rcx, rsi
xor r8d, r8d
call fcn.1400776f0
dec byte [rsi + 0x70]
mov r13d, eax
mov qword [rsi + 0x200], rbx
mov byte [rsi + 0x6e], dil
mov r8, qword [rbp]
mov dword [rsp + 0x54], eax
test r8, r8
jne 0x140041449
test eax, eax
jne 0x140041449
mov rdi, qword [rsp + 0x58]
jmp 0x14003a57a
mov r13, qword [rsp + 0x48]
cmp qword [r13 + 0x10], 0
movsxd rbx, dword [r13 + 4]
jne 0x14003f0b4
mov rcx, qword [rdi + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.140067e30
and dword [rdi + 0x2c], 0xffffffef
lea r8, [r15 + 0xa8]
movzx r9d, word [r13 + 2]
mov edx, ebx
mov rcx, rdi
call fcn.14007e410
or dword [rdi + 0x2c], 1
mov r13d, eax
and dword [r15 + 0xc8], 0xfffffffc
mov dword [rsp + 0x54], eax
jmp 0x14003f1a1
mov qword [rbp + 0x90], rdi
lea rax, [r15 + 0xa8]
mov qword [rbp + 0x98], rax
lea r9, str.sqlite_master
mov dword [rbp + 0xa0], ebx
mov rdx, rbx
mov dword [rbp + 0xa8], r11d
mov rax, qword [rdi + 0x20]
shl rdx, 5
mov rcx, qword [rax + rdx + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
mov dword [rbp + 0xb0], ecx
mov rcx, rdi
mov r8, qword [rdi + 0x20]
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x20], rax
mov r8, qword [r8 + rdx]
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
call fcn.140009780
mov rbx, rax
test rax, rax
je 0x140041487
xor eax, eax
mov byte [rdi + 0xc5], 1
lea r9, [rbp + 0x90]
mov dword [rbp + 0xa4], eax
lea r8, [fcn.14007e1b0]
mov dword [rbp + 0xac], eax
mov rdx, rbx
mov qword [rsp + 0x20], rax
mov rcx, rdi
call fcn.1400776f0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003f18f
mov r13d, dword [rbp + 0xa4]
mov dword [rsp + 0x54], r13d
test r13d, r13d
jne 0x14003f18f
cmp dword [rbp + 0xac], r13d
jne 0x14003f18f
mov ecx, 0x1838d
call fcn.1400bad10
mov r13d, eax
mov dword [rsp + 0x54], eax
mov rdx, rbx
mov rcx, rdi
call fcn.140006cf0
mov byte [rdi + 0xc5], 0
test r13d, r13d
jne 0x14004148d
jmp 0x14003a57a
mov rax, qword [rsp + 0x48]
mov rcx, rdi
mov edx, dword [rax + 4]
call fcn.14005b830
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003ba4f
jmp 0x14003a57a
mov rax, qword [rsp + 0x48]
mov rcx, rdi
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.14005e9d0
jmp 0x14003a57a
mov rax, qword [rsp + 0x48]
mov rcx, rdi
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.14005de70
jmp 0x14003a57a
mov rax, qword [rsp + 0x48]
mov rcx, rdi
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.14008fe20
jmp 0x14003a57a
mov r13, qword [rsp + 0x48]
lea r9, [rbp + 0x18]
mov qword [rsp + 0x30], r9
lea r9, [rbp - 0x14]
mov qword [rsp + 0x28], r9
movsxd rax, dword [r13 + 0xc]
mov r8, qword [r13 + 0x10]
mov r9d, dword [r13 + 8]
add r8, 4
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
movzx eax, word [r13 + 2]
add rdi, r10
add rbx, r10
shl rax, 5
mov r10, qword [rsp + 0x58]
mov ecx, dword [rdi]
inc ecx
mov rdx, qword [r10 + 0x20]
mov dword [rsp + 0x20], ecx
mov rcx, r10
mov rdx, qword [rax + rdx + 8]
call fcn.14002c480
mov r13d, eax
mov dword [rsp + 0x54], eax
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x14003f29a
mov rcx, rbx
call fcn.14002e540
jmp 0x14003f2a3
mov eax, 1
mov word [rbx + 0x14], ax
mov eax, dword [rbp - 0x14]
test eax, eax
je 0x14003f2da
test r13d, r13d
jne 0x140041497
mov rdx, qword [rbp + 0x18]
dec eax
movsxd rcx, eax
mov r9b, 1
sub qword [rdi], rcx
lea rax, [fcn.140006b90]
mov rcx, rbx
mov qword [rsp + 0x20], rax
or r8, 0xffffffffffffffff
call fcn.14002ee90
test byte [rbx + 0x14], 2
movzx r9d, byte [rsp + 0x40]
mov ecx, r9d
jne 0x14003f2f8
mov byte [rbx + 0x16], cl
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
jmp 0x14003f31b
movzx eax, byte [rbx + 0x16]
cmp eax, ecx
je 0x14003f2ec
movzx edx, cl
mov rcx, rbx
call fcn.14000a160
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov r10, qword [rsp + 0x60]
mov eax, dword [rdi + 0x198]
test eax, eax
jne 0x14004176d
mov rsi, qword [rsp + 0x68]
mov r14, qword [rbp - 0x58]
cmp r14, rsi
jb 0x14003a7e7
mov rbx, qword [rdi + 0x210]
test rbx, rbx
je 0x14003ab7a
mov eax, dword [rdi + 0x220]
mov rcx, rbx
add rsi, rax
mov qword [rsp + 0x68], rsi
call qword [fcn.140005fb0]
mov rcx, qword [rdi + 0x218]
call rbx
test eax, eax
jne 0x140041556
cmp r14, rsi
jae 0x14003f340
jmp 0x14003ab7a
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rdi, rax, 0x38
add rbx, r10
add rdi, r10
test byte [rbx + 0x14], 0x10
jne 0x14003f3b3
mov rcx, rbx
call fcn.14002ec90
test eax, eax
jne 0x14003bf6c
mov rdi, qword [rdi]
mov rbx, qword [rbx + 8]
mov rcx, rbx
call fcn.140015200
xor r11d, r11d
test rax, rax
je 0x14003bdc9
mov qword [rax], rdi
mov qword [rax + 8], r11
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x14003f40e
cmp rdi, qword [rcx]
jg 0x14003f3ec
mov edx, 0xfffe
and word [rbx + 0x32], dx
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov qword [rcx + 8], rax
mov qword [rbx + 0x18], rax
jmp 0x140039f55
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rax
jmp 0x140039f55
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r10
test byte [rdi + 0x14], 0x10
je 0x14003f4e5
mov rbx, qword [rdi + 8]
movzx eax, word [rbx + 0x32]
test al, 2
jne 0x14003f476
test al, 1
jne 0x14003f471
mov rcx, qword [rbx + 0x10]
call fcn.1400152d0
mov r10, qword [rsp + 0x60]
mov edx, 1
mov qword [rbx + 0x10], rax
or word [rbx + 0x32], 3
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x14003f4e5
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x14003f49c
mov rcx, rbx
call fcn.1400150b0
mov r10, qword [rsp + 0x60]
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r10
test word [rcx + 0x14], ax
je 0x14003f4c4
mov rdx, rdi
call fcn.14002eb50
jmp 0x14003f30b
mov r12, qword [rsp + 0x48]
mov eax, 4
movzx r9d, byte [rsp + 0x40]
mov qword [rcx], rdi
mov rdi, qword [rsp + 0x58]
mov word [rcx + 0x14], ax
jmp 0x14003f320
mov eax, 0x9000
test word [rdi + 0x14], ax
je 0x14003f4fd
mov rcx, rdi
call fcn.14002e540
jmp 0x1400408ce
mov word [rdi + 0x14], dx
jmp 0x1400408ce
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
mov edi, dword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rsi, rax, 0x38
add rbx, r10
add rsi, r10
test byte [rbx + 0x14], 0x10
jne 0x14003f53a
mov rcx, rbx
call fcn.14002ec90
test eax, eax
jne 0x14003bf6c
test edi, edi
je 0x14003f556
mov r8, qword [rsi]
mov edx, edi
mov rcx, qword [rbx + 8]
call fcn.140015610
test eax, eax
jne 0x1400406a6
test edi, edi
js 0x14003b655
mov rdi, qword [rsi]
jmp 0x14003f3b6
mov rcx, qword [rsp + 0x48]
mov r12, qword [rsp + 0x70]
movsxd rax, dword [rcx + 0xc]
mov r15, qword [rcx + 0x10]
imul r14, rax, 0x38
add r14, r10
cmp word [rcx + 2], 0
je 0x14003f5a8
mov rax, qword [r12 + 0x108]
mov rcx, qword [r15 + 0x20]
test rax, rax
je 0x14003f5a8
cmp qword [rax + 0x30], rcx
je 0x140041011
mov rax, qword [rax + 8]
test rax, rax
jne 0x14003f595
mov eax, dword [rdi + 0xb0]
cmp dword [r12 + 0x118], eax
jge 0x1400414a5
test byte [r14 + 0x14], 0x10
jne 0x14003f6f4
mov edx, dword [r15 + 0x10]
mov ecx, dword [r15 + 0xc]
add ecx, edx
test edx, edx
lea edi, [rcx + 1]
cmovne edi, ecx
lea eax, [rdi + 2]
imul ecx, eax, 7
mov eax, dword [r15 + 8]
add ecx, edx
add eax, 7
jns 0x14003f5ed
add eax, 7
sar eax, 3
lea ebx, [rax + rcx*8]
mov rcx, qword [rsp + 0x58]
movsxd rdx, ebx
call fcn.140007090
mov rsi, rax
test rax, rax
je 0x14003bf67
mov eax, 0x9000
test word [r14 + 0x14], ax
jne 0x14003f61f
cmp dword [r14 + 0x20], 0
je 0x14003f627
mov rcx, r14
call fcn.14002e590
mov rcx, qword [rsp + 0x48]
mov eax, 0x1010
sub rcx, qword [rsp + 0x78]
xor r11d, r11d
mov word [r14 + 0x14], ax
lea rax, [0x140031bc0]
mov qword [r14 + 8], rsi
mov dword [r14 + 0x10], ebx
mov qword [r14 + 0x30], rax
mov qword [rsi], r12
mov dword [rsi + 0x58], edi
mov eax, dword [r15 + 0x10]
mov rdi, qword [rsp + 0x58]
mov dword [rsi + 0x5c], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rsi + 0x4c], edx
mov rax, qword [r12 + 0x68]
mov qword [rsi + 0x18], rax
mov eax, dword [r12 + 0x24]
mov dword [rsi + 0x54], eax
mov rax, qword [r12 + 0x78]
mov qword [rsi + 0x20], rax
mov eax, dword [r12 + 0x28]
mov dword [rsi + 0x48], eax
mov rax, qword [r12 + 0x88]
mov qword [rsi + 0x10], rax
mov eax, dword [r12 + 0x90]
mov dword [rsi + 0x50], eax
mov rax, qword [r15 + 0x20]
mov qword [rsi + 0x30], rax
movsxd rax, dword [rsi + 0x58]
add rax, 2
imul rcx, rax, 0x38
lea rax, [rsi + 0x70]
add rcx, rsi
cmp rax, rcx
je 0x14003f6f8
nop word [rax + rax]
mov word [rax + 0x14], r11w
mov qword [rax + 0x18], rdi
add rax, 0x38
cmp rax, rcx
jne 0x14003f6e0
jmp 0x14003f6f8
mov rsi, qword [r14 + 8]
inc dword [r12 + 0x118]
lea rdx, [rsi + 0x70]
mov rax, qword [r12 + 0x108]
mov qword [rsi + 8], rax
mov rax, qword [rdi + 0x38]
mov qword [rsi + 0x38], rax
mov rax, qword [r12 + 0x38]
mov qword [rsi + 0x60], rax
mov rax, qword [r12]
mov qword [rsp + 0x60], rdx
mov rcx, qword [rax + 0x78]
mov qword [rsi + 0x68], rcx
mov rax, qword [r12 + 0x128]
mov qword [rsi + 0x40], rax
mov qword [r12 + 0x128], r11
mov qword [r12 + 0x38], r11
mov qword [r12 + 0x108], rsi
mov qword [r12 + 0x68], rdx
mov eax, dword [rsi + 0x58]
mov dword [r12 + 0x24], eax
movzx eax, word [rsi + 0x5c]
mov dword [r12 + 0x28], eax
movsxd rax, dword [r12 + 0x24]
imul rcx, rax, 0x38
add rdx, rcx
mov qword [r12 + 0x78], rdx
movsxd rax, dword [r15 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [rsi + 0x28], 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.1401b1bc0
mov r14, qword [r15]
mov qword [r12 + 0x88], r14
mov eax, dword [r15 + 8]
mov r15, qword [rsp + 0x70]
mov qword [rsp + 0x78], r14
mov dword [r15 + 0x90], eax
lea rax, [r14 - 0x18]
mov qword [rsp + 0x48], rax
mov r12, rax
jmp 0x14003f315
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul r9, rax, 0x38
mov eax, 0x9000
add r9, qword [r15 + 0x68]
test word [r9 + 0x14], ax
je 0x14003f7fb
mov rcx, r9
call fcn.140039840
mov r9, rax
jmp 0x14003f805
mov eax, 4
mov word [r9 + 0x14], ax
mov r8, qword [r15 + 0x108]
movsxd rax, dword [r8 + 0x4c]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov edx, dword [rax + rcx*8 + 4]
mov rcx, r9
mov rax, qword [rsp + 0x48]
add edx, dword [rax + 4]
movsxd rax, edx
imul rdx, rax, 0x38
add rdx, qword [r8 + 0x18]
jmp 0x14003a56f
mov eax, dword [rdi + 0x30]
bt rax, 0x13
mov rax, qword [rsp + 0x48]
mov r12, rax
jae 0x14003f861
movsxd rax, dword [rax + 8]
add qword [rdi + 0x300], rax
mov rsi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140039d5e
cmp dword [rax + 4], 0
movsxd rax, dword [rax + 8]
je 0x14003f87f
add qword [rdi + 0x2f8], rax
mov rsi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140039d5e
add qword [r15 + 0x50], rax
mov rsi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140039d5e
cmp dword [r12 + 4], 0
je 0x14003f8c1
cmp qword [rdi + 0x2f8], 0
jne case.0x140039d96.89
cmp qword [rdi + 0x300], 0
je 0x14003b997
mov rsi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140039d5e
cmp qword [r15 + 0x50], 0
jne case.0x140039d96.89
cmp qword [rdi + 0x300], 0
je 0x14003b997
mov rsi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140039d5e
mov rcx, qword [r15 + 0x108]
test rcx, rcx
je 0x14003f921
cmp qword [rcx + 8], 0
lea rax, [rcx + 8]
je 0x14003f90e
nop
mov rcx, qword [rax]
cmp qword [rcx + 8], 0
lea rax, [rcx + 8]
jne 0x14003f900
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x14003f931
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r10
mov rcx, rdi
call fcn.14002e7b0
mov r12, qword [rsp + 0x48]
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.14002e7b0
mov rax, qword [rbx]
xor r11d, r11d
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
cmp qword [rdi], rax
jge 0x14003f972
mov qword [rdi], rax
mov rdi, qword [rsp + 0x58]
jmp 0x140039f5a
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r10]
test rdx, rdx
jle 0x140039f5a
mov rax, r12
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + r10], rdx
jmp 0x14003b992
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
add rbx, r10
imul rcx, rax, 0x38
add rdi, r10
mov eax, 0x9000
add rcx, qword [r15 + 0x68]
test word [rcx + 0x14], ax
je 0x14003f9f2
call fcn.140039840
mov r10, qword [rsp + 0x60]
mov rcx, rax
xor r11d, r11d
jmp 0x14003f9fb
mov eax, 4
mov word [rcx + 0x14], ax
mov r8, qword [rbx]
test r8, r8
jle 0x14003fa3e
mov rax, qword [rdi]
mov rdx, r11
test rax, rax
cmovg rdx, rax
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rdx
jl 0x14003fa3e
mov rdi, qword [rsp + 0x58]
lea rax, [rdx + r8]
mov r12, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov qword [rcx], rax
jmp 0x140039f55
mov rdi, qword [rsp + 0x58]
or rax, 0xffffffffffffffff
mov r12, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov qword [rcx], rax
jmp 0x140039f55
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r10]
test rax, rax
je 0x14003b5e6
mov r12, qword [rsp + 0x48]
jle 0x14003b997
dec rax
mov qword [rcx + r10], rax
jmp 0x14003b997
mov rax, qword [rsp + 0x48]
movabs rbx, 0x8000000000000000
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r10]
cmp rax, rbx
jle 0x14003fab2
dec rax
mov qword [rcx + r10], rax
cmp qword [rcx + r10], 0
mov r12, qword [rsp + 0x48]
je 0x14003b997
mov rsi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140039d5e
mov rax, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
mov rcx, rsi
movzx ebx, word [rax + 2]
mov edi, ebx
lea rdx, [rbx*8 + 0x68]
call fcn.140007120
mov r8, rax
test rax, rax
je 0x14004177d
xor r9d, r9d
add rdi, 6
mov qword [rax + 0x10], r9
lea rcx, [rax + rdi*8]
mov rdi, qword [rsp + 0x48]
mov qword [rax], rcx
mov eax, 1
mov word [rcx + 0x14], ax
movabs rax, 0x2aaaaaaaaaaaaaab
mov qword [rcx + 0x18], rsi
mov dword [rcx + 0x20], r9d
mov rcx, qword [rdi + 0x10]
mov qword [r8 + 8], rcx
mov rcx, rdi
sub rcx, r14
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movzx eax, byte [rsp + 0x40]
mov dword [r8 + 0x20], edx
mov qword [r8 + 0x18], r15
mov byte [r8 + 0x29], r9b
mov dword [r8 + 0x24], r9d
mov byte [r8 + 0x28], al
mov byte [r8 + 0x2a], bl
mov word [rdi], 0xf1a3
mov qword [rdi + 0x10], r8
jmp 0x14003fb79
mov rdi, qword [rsp + 0x48]
movsxd rax, dword [rdi + 0xc]
mov r14, qword [rdi + 0x10]
mov r12, qword [rsp + 0x60]
imul r10, rax, 0x38
add r10, r12
cmp qword [r14 + 0x10], r10
je 0x14003fbcd
mov qword [r14 + 0x10], r10
movzx edx, byte [r14 + 0x2a]
sub edx, 1
movsxd r8, edx
js 0x14003fbcd
lea r9, [r8 + 6]
lea r9, [r14 + r9*8]
nop dword [rax]
mov eax, dword [rdi + 8]
add eax, edx
dec edx
cdqe
imul rcx, rax, 0x38
add rcx, r12
mov qword [r9], rcx
sub r9, 8
sub r8, 1
jns 0x14003fbb0
inc dword [r10 + 0x10]
cmp dword [rdi + 4], 0
movzx edi, byte [r14 + 0x2a]
mov rax, qword [r14 + 8]
je 0x14003fbe6
mov rsi, qword [rax + 0x30]
jmp 0x14003fbea
mov rsi, qword [rax + 0x18]
mov rcx, rsi
call qword [fcn.140005fb0]
lea r8, [r14 + 0x30]
mov edx, edi
mov rcx, r14
call rsi
mov eax, dword [r14 + 0x24]
test eax, eax
je 0x14003be61
jle 0x14003fc2f
mov rcx, qword [r14]
call fcn.140036240
mov r8, rax
lea rdx, [0x1402250a0]
mov rcx, r15
call fcn.14002faf0
mov r13d, dword [r14 + 0x24]
mov dword [rsp + 0x54], r13d
cmp byte [r14 + 0x29], 0
je 0x14003fc77
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax - 0x14]
test eax, eax
je 0x14003fc72
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r12
test word [rcx + 0x14], ax
je 0x14003fc61
mov edx, 1
call fcn.14002eb50
jmp 0x14003fc72
mov eax, 1
mov qword [rcx], rax
mov eax, 4
mov word [rcx + 0x14], ax
mov byte [r14 + 0x29], 0
mov rcx, qword [r14]
mov eax, 0x9000
test word [rcx + 0x14], ax
jne 0x14003fc8b
cmp dword [rcx + 0x20], 0
je 0x14003fc90
call fcn.14002e590
mov rax, qword [r14]
xor r11d, r11d
mov rdi, qword [rsp + 0x58]
mov edx, 1
mov word [rax + 0x14], dx
mov dword [r14 + 0x24], r11d
test r13d, r13d
je 0x14003e2f2
mov esi, edx
jmp 0x14003ba54
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r10
test eax, eax
je 0x14003fd01
mov r8, qword [rcx + 0x10]
mov rcx, rbx
imul rdx, rax, 0x38
add rdx, r10
call fcn.14002e4a0
mov r10, qword [rsp + 0x60]
mov r13d, eax
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r10
jmp 0x14003fd19
mov rdx, qword [rcx + 0x10]
mov rcx, rbx
call fcn.14002e370
mov r10, qword [rsp + 0x60]
mov r13d, eax
mov dword [rsp + 0x54], eax
test r13d, r13d
jne 0x1400414c1
test byte [rbx + 0x14], 2
movzx r9d, byte [rsp + 0x40]
mov ecx, r9d
jne 0x14003fd46
mov byte [rbx + 0x16], cl
mov r12, qword [rsp + 0x48]
xor r11d, r11d
mov r8d, dword [rsp + 0x50]
jmp 0x140039f5a
movzx eax, byte [rbx + 0x16]
cmp eax, ecx
je 0x14003fd34
movzx edx, cl
mov rcx, rbx
call fcn.14000a160
jmp 0x14003a57a
or rax, 0xffffffffffffffff
mov dword [rbp + 0x288], r11d
mov dword [rbp + 0x290], eax
lea r9, [rbp + 0x28c]
mov dword [rbp + 0x28c], eax
mov rcx, rdi
lea rax, [rbp + 0x290]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x48]
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.1400b9100
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x14003fdc4
cmp eax, 5
jne 0x14003ba4f
xor eax, eax
mov r13d, eax
mov dword [rsp + 0x54], eax
mov eax, 1
mov dword [rbp + 0x288], eax
mov rax, qword [rsp + 0x48]
mov ecx, 0x9000
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x60]
xor eax, eax
mov edi, eax
lea r15d, [rax + 4]
nop dword [rax]
nop word [rax + rax]
movsxd rax, dword [rbp + rdi*4 + 0x288]
test word [rbx + 0x14], cx
je 0x14003fe10
mov rdx, rax
mov rcx, rbx
call fcn.14002eb50
mov ecx, 0x9000
jmp 0x14003fe18
mov qword [rbx], rax
mov word [rbx + 0x14], r15w
inc rdi
add rbx, 0x38
cmp rdi, 3
jl 0x14003fdf0
mov rdi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x70]
jmp 0x14003a57a
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul r15, rax, 0x38
mov rax, qword [rsp + 0x70]
add r15, qword [rax + 0x68]
mov eax, 0x9000
test word [r15 + 0x14], ax
je 0x14003fe66
mov rcx, r15
call fcn.140039840
mov r15, rax
xor r11d, r11d
jmp 0x14003fe70
mov eax, 4
mov word [r15 + 0x14], ax
mov rax, qword [rdi + 0x20]
mov edx, dword [rbx + 0xc]
movsxd rcx, dword [rbx + 4]
shl rcx, 5
cmp edx, 0xffffffff
mov r14, qword [rcx + rax + 8]
mov rax, qword [r14 + 8]
mov rdi, qword [rax]
movzx esi, byte [rdi + 9]
cmove edx, esi
cmp byte [rdi + 0x15], 3
jb 0x14003fea0
mov eax, r11d
jmp 0x14003febb
mov rax, qword [rdi + 0x50]
cmp qword [rax], 0
je 0x14003feb6
cmp qword [rdi + 0x60], 0
jle 0x14003feb6
mov eax, r11d
jmp 0x14003febb
mov eax, 1
test eax, eax
mov ebx, esi
cmovne ebx, edx
cmp byte [rdi + 0x13], 0
jne 0x14003fedd
lea rax, reloc.OLEAUT32.dll_SysReAllocString
cmp qword [rdi], rax
je 0x14003fedd
mov rcx, qword [rdi + 0xd8]
jmp 0x14003fee4
lea rcx, [0x14022badc]
or r12, 0xffffffffffffffff
cmp ebx, 5
jne 0x14003ff2b
test rcx, rcx
je 0x14003ff24
mov rax, r12
inc rax
cmp byte [rcx + rax], 0
jne 0x14003fef5
and eax, 0x3fffffff
je 0x14003ff24
cmp byte [rdi + 0x11], 0
mov rax, qword [rdi + 0x48]
mov rcx, qword [rax]
jne 0x14003ff24
cmp byte [rdi + 8], 0
jne 0x14003ff2b
cmp dword [rcx], 2
jl 0x14003ff24
cmp qword [rcx + 0x68], 0
jne 0x14003ff2b
mov ebx, esi
jmp 0x14003ffac
cmp ebx, esi
je 0x14003ffac
cmp esi, 5
je 0x14003ff39
cmp ebx, 5
jne 0x14003ffac
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x65], 0
je 0x1400414e0
cmp dword [rax + 0xdc], 1
jg 0x1400414e0
cmp esi, 5
jne 0x14003ff7c
mov rdx, rax
mov rcx, rdi
call fcn.14001b400
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003ffac
mov edx, ebx
mov rcx, rdi
call fcn.14001b030
jmp 0x14003ff91
cmp esi, 4
jne 0x14003ff8c
lea edx, [rsi - 2]
mov rcx, rdi
call fcn.14001b030
test r13d, r13d
jne 0x14003ffaf
xor eax, eax
mov rcx, r14
mov edx, eax
cmp ebx, 5
sete dl
inc edx
call fcn.14002cc90
mov r13d, eax
mov dword [rsp + 0x54], eax
test r13d, r13d
cmove esi, ebx
mov rcx, rdi
mov edx, esi
call fcn.14001b030
xor ebx, ebx
mov ecx, 0x2202
mov word [r15 + 0x14], cx
cmp eax, 6
jne 0x14003ffd1
mov ecx, ebx
jmp 0x14003ffe2
cdqe
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x22c208]
mov qword [r15 + 8], rcx
test rcx, rcx
jne 0x14003ffef
mov eax, ebx
jmp 0x140040000
mov rax, r12
inc rax
cmp byte [rcx + rax], 0
jne 0x14003fff2
and eax, 0x3fffffff
movzx r9d, byte [rsp + 0x40]
mov dword [r15 + 0x10], eax
mov eax, r9d
mov byte [r15 + 0x16], 1
test byte [r15 + 0x14], 2
jne 0x14004001f
mov byte [r15 + 0x16], al
jmp 0x140040035
cmp eax, 1
je 0x140040035
movzx edx, al
mov rcx, r15
call fcn.14000a160
movzx r9d, byte [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x70]
test r13d, r13d
jne 0x1400417b2
mov r12, qword [rsp + 0x48]
xor r11d, r11d
mov r10, qword [rsp + 0x60]
mov r14, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x50]
jmp 0x140039f5a
mov r13, qword [rsp + 0x48]
movsxd rax, dword [r13 + 8]
test eax, eax
je 0x14004007a
imul r9, rax, 0x38
add r9, r10
jmp 0x14004007d
mov r9, r11
mov r8d, dword [r13 + 4]
lea rcx, [r15 + 0xa8]
mov rdx, rdi
call fcn.140095c00
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003ba4f
jmp 0x14003a57a
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.1400234b0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x14003a57a
cmp eax, 0x65
jne 0x14003ba4f
mov r12, qword [rsp + 0x48]
xor r11d, r11d
mov r13d, r11d
mov dword [rsp + 0x54], r11d
jmp 0x14003b992
mov rax, qword [rsp + 0x48]
cmp dword [rax + 4], 0
jne 0x140040138
mov ecx, dword [rax + 8]
mov rax, qword [rdi + 8]
test rax, rax
je 0x14003b5e6
inc ecx
and ecx, 3
nop dword [rax]
and dword [rax + 0xc8], 0xfffffffc
or dword [rax + 0xc8], ecx
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140040110
mov r12, qword [rsp + 0x48]
mov rsi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140039d5e
mov eax, dword [rax + 8]
mov r12, qword [rsp + 0x48]
inc eax
xor eax, dword [r15 + 0xc8]
mov rsi, qword [rbp - 0x58]
and eax, 3
xor dword [r15 + 0xc8], eax
add r12, 0x18
jmp 0x140039d5e
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
mov rsi, qword [rbp - 0x58]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
or byte [rax + 1], 0x40
add r12, 0x18
jmp 0x140039d5e
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
mov rsi, qword [rbp - 0x58]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
and byte [rax + 1], 0xbf
add r12, 0x18
jmp 0x140039d5e
movzx r8d, byte [r12 + 0xc]
test r8b, r8b
jne 0x1400401d5
movabs rax, 0x400000000
test qword [rdi + 0x30], rax
jne 0x140039fb1
mov r13, qword [rsp + 0x48]
mov rcx, qword [rdi + 0x20]
movsxd rax, dword [r13 + 4]
mov edx, dword [r13 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14002caf0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x14003a57a
mov r14, qword [rsp + 0x48]
cmp al, 6
jne 0x14004120e
mov r8, qword [r14 + 0x10]
lea rdx, str.database_table_is_locked:__s
mov rcx, r15
call fcn.14002faf0
mov esi, 1
jmp 0x14003ba59
mov rax, qword [rsp + 0x48]
mov rcx, rdi
mov rbx, qword [rax + 0x10]
mov rdx, rbx
call fcn.140097d20
mov dword [rsp + 0x54], eax
mov r13d, eax
test rbx, rbx
je 0x140040259
mov rdx, qword [rbx + 0x10]
mov rcx, r15
call fcn.140035b70
test r13d, r13d
jne 0x14003ba4f
jmp 0x14003a57a
xor eax, eax
mov qword [rbp + 0x70], rdi
mov qword [rbp + 0x58], rax
lea rcx, [rbp + 0x58]
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x68], rax
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x88], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, r10
call fcn.14002edf0
mov rcx, qword [rbp + 0x6c]
mov r13d, eax
mov dword [rsp + 0x54], eax
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x1400402cb
cmp byte [rbp + 0x6e], 1
jne 0x1400402cb
mov rax, qword [rbp + 0x60]
jmp 0x1400402df
test cl, 1
jne 0x140040309
mov dl, 1
lea rcx, [rbp + 0x58]
call fcn.14002f280
mov rcx, qword [rbp + 0x6c]
test rax, rax
je 0x140040309
mov r8, rax
lea r9, [r15 + 0xa8]
mov rax, qword [rsp + 0x48]
mov rcx, rdi
mov edx, dword [rax + 4]
call fcn.140097560
mov rcx, qword [rbp + 0x6c]
mov r13d, eax
mov dword [rsp + 0x54], eax
mov eax, 0x9000
test ax, cx
jne 0x140040319
cmp dword [rbp + 0x78], 0
je 0x140040322
lea rcx, [rbp + 0x58]
call fcn.14002e590
test r13d, r13d
jne 0x14003ba4f
jmp 0x14003a57a
mov rax, qword [rsp + 0x48]
mov rcx, rdi
inc dword [rdi + 0xe8]
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.140097a00
dec dword [rdi + 0xe8]
mov r13d, eax
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x14003ba4f
jmp 0x14003a57a
mov rax, qword [rsp + 0x48]
mov qword [rbp - 0x20], r11
mov rax, qword [rax + 0x10]
mov rdi, qword [rax + 0x10]
test rdi, rdi
je 0x140041533
mov rsi, qword [rdi]
test rsi, rsi
je 0x140041533
mov rbx, qword [rsi + 0x30]
mov rcx, rbx
call qword [fcn.140005fb0]
lea rdx, [rbp - 0x20]
mov rcx, rdi
call rbx
mov rdx, rdi
mov dword [rsp + 0x54], eax
mov rcx, r15
mov r13d, eax
call fcn.140035b70
test r13d, r13d
jne 0x14003ba4a
mov rax, qword [rbp - 0x20]
mov r9b, 2
xor r8d, r8d
mov rcx, r15
mov qword [rax], rdi
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 4]
call fcn.140039400
test rax, rax
je 0x14004151b
mov rcx, qword [rbp - 0x20]
mov qword [rax + 0x30], rcx
inc dword [rdi + 8]
mov rdi, qword [rsp + 0x58]
jmp 0x14003a57a
mov rax, qword [rsp + 0x48]
mov qword [rbp + 8], r11
movsxd rax, dword [rax + 8]
imul r13, rax, 0x38
mov eax, 0x9000
add r13, r10
test word [r13 + 0x14], ax
je 0x140040428
mov rcx, r13
call fcn.14002e540
mov r10, qword [rsp + 0x60]
xor r11d, r11d
jmp 0x14004042d
mov word [r13 + 0x14], dx
mov r12, qword [rsp + 0x48]
mov r15, qword [r12 + 0x10]
mov r14, qword [r15 + 0x50]
test r14, r14
je 0x140040d3b
mov r14, qword [r14 + 0x10]
mov rcx, qword [r14]
inc dword [r15 + 0x2c]
mov rax, qword [r15 + 0x50]
inc dword [rax + 0x18]
mov rbx, qword [rdi + 0x20]
mov rdi, qword [rcx + 0xc0]
movsxd rsi, dword [r12 + 4]
mov rcx, rdi
shl rsi, 5
call qword [fcn.140005fb0]
mov r9d, dword [r12 + 0xc]
lea rax, [rbp + 8]
mov r8, qword [r15]
mov rcx, r14
mov rdx, qword [rsi + rbx]
mov qword [rsp + 0x20], rax
call rdi
mov rcx, qword [r15 + 0x50]
mov r12d, eax
mov dword [rsp + 0x54], eax
call fcn.1400965f0
mov rdi, qword [rsp + 0x58]
cmp qword [rdi + 0x308], 0
jne 0x1400404b5
or eax, 0xffffffff
add dword [r15 + 0x2c], eax
jne 0x1400404c0
mov rdx, r15
mov rcx, rdi
call fcn.14005e720
test r12d, r12d
jne 0x14004153e
mov rdx, qword [rbp + 8]
test rdx, rdx
je 0x1400404ed
lea rax, [fcn.140006b90]
mov r9b, 1
or r8, 0xffffffffffffffff
mov qword [rsp + 0x20], rax
mov rcx, r13
call fcn.14002ee90
mov r13d, dword [rsp + 0x54]
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0x70]
jmp 0x14003ab7a
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
call fcn.1400b62f0
test eax, eax
jne 0x14003bf71
lea ecx, [rax + 0x10]
call fcn.140006990
mov rdi, rax
test rax, rax
je 0x14003bf6c
mov rcx, qword [rbx + 0x30]
mov qword [rax], rcx
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 0xc]
imul rdx, rcx, 0x38
add rdx, qword [rsp + 0x60]
mov qword [rdi + 8], rdx
movsxd rcx, dword [rax + 8]
mov eax, 0x9000
imul rbx, rcx, 0x38
add rbx, qword [r15 + 0x68]
test word [rbx + 0x14], ax
je 0x140040574
mov rcx, rbx
call fcn.140039840
mov rbx, rax
jmp 0x14004057d
mov eax, 4
mov word [rbx + 0x14], ax
mov eax, 1
mov rcx, rbx
mov word [rbx + 0x14], ax
call fcn.14002e590
lea rax, str.ValueList
mov qword [rbx], rax
mov eax, 0x1a01
mov qword [rbx + 8], rdi
mov rdi, qword [rsp + 0x58]
mov word [rbx + 0x14], ax
lea rax, [0x140037000]
mov byte [rbx + 0x17], 0x70
mov qword [rbx + 0x30], rax
jmp 0x14003a57a
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [r15 + 0x78]
mov r13, qword [rax + rcx*8]
lea r11, [rdx + 0x38]
mov eax, dword [rdx + r10]
add r11, r10
mov dword [rbp - 0x68], eax
mov rax, qword [rsp + 0x70]
mov rsi, qword [r13 + 0x30]
movsxd r12, dword [r11]
mov rdi, qword [rax + 0x70]
xor eax, eax
mov r15, qword [rsi]
mov r8d, eax
mov r14, qword [r15]
test r12d, r12d
jle 0x140040629
mov r10d, 1
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, r12
jl 0x140040610
mov rbx, qword [r14 + 0x40]
mov rcx, rbx
call qword [fcn.140005fb0]
mov rax, qword [rsp + 0x48]
mov r9d, r12d
mov edx, dword [rbp - 0x68]
mov rcx, rsi
mov qword [rsp + 0x20], rdi
mov r8, qword [rax + 0x10]
call rbx
mov rdx, r15
mov dword [rsp + 0x54], eax
mov r15, qword [rsp + 0x70]
mov r12d, eax
mov rcx, r15
call fcn.140035b70
test r12d, r12d
jne 0x140041785
mov rbx, qword [r14 + 0x50]
mov rcx, rbx
call qword [fcn.140005fb0]
mov rcx, rsi
call rbx
mov r14, qword [rsp + 0x78]
xor r11d, r11d
mov byte [r13 + 2], r12b
mov r13d, r12d
mov r12, qword [rsp + 0x48]
lea edx, [r13 + 1]
test eax, eax
je 0x14003e4f9
jmp 0x14003b997
mov r12, qword [rsp + 0x48]
jmp 0x14003b98f
mov rdi, qword [rsp + 0x48]
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rsi, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rdi, rax, 0x38
add rdi, r10
cmp byte [rsi + 2], 0
je 0x14004070a
mov eax, 0x9000
test word [rdi + 0x14], ax
je 0x1400406ef
mov rcx, rdi
call fcn.14002e540
mov rdi, qword [rsp + 0x58]
jmp 0x14003a57a
mov r12, qword [rsp + 0x48]
mov rsi, qword [rbp - 0x58]
add r12, 0x18
mov word [rdi + 0x14], dx
mov rdi, qword [rsp + 0x58]
jmp 0x140039d5e
mov rax, qword [rsi + 0x30]
mov r13, qword [rsp + 0x48]
mov r14, qword [rax]
xor eax, eax
mov rbx, qword [r14]
mov qword [rbp + 0xe0], rax
mov byte [rbp + 0xe0], r9b
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], rax
mov qword [rbp + 0xd0], rax
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0xe8], rax
mov qword [rbp + 0xb8], rdi
test byte [r13 + 2], 1
je 0x140040790
mov eax, 0x9000
test word [rdi + 0x14], ax
je 0x14004077e
mov rcx, rdi
call fcn.14002e540
mov eax, 0x401
xor r11d, r11d
mov word [rdi + 0x14], ax
mov dword [rdi], r11d
jmp 0x14004079e
mov word [rdi + 0x14], dx
mov eax, 0x401
mov word [rdi + 0x14], ax
mov dword [rdi], r11d
jmp 0x14004079e
mov eax, 0xf241
and word [rdi + 0x14], ax
or word [rdi + 0x14], 1
mov rbx, qword [rbx + 0x58]
mov rcx, rbx
call qword [fcn.140005fb0]
mov r8d, dword [r13 + 8]
lea rdx, [rbp + 0xb8]
mov rcx, qword [rsi + 0x30]
call rbx
mov rdx, r14
mov dword [rsp + 0x54], eax
mov rcx, r15
mov r13d, eax
call fcn.140035b70
cmp dword [rbp + 0xdc], 0
jle 0x1400407fd
mov rcx, rdi
call fcn.140036240
mov r8, rax
lea rdx, [0x1402250a0]
mov rcx, r15
call fcn.14002faf0
mov r13d, dword [rbp + 0xdc]
mov dword [rsp + 0x54], r13d
test byte [rdi + 0x14], 2
movzx r9d, byte [rsp + 0x40]
mov ecx, r9d
jne 0x140040811
mov byte [rdi + 0x16], cl
jmp 0x14004082a
movzx eax, byte [rdi + 0x16]
cmp eax, ecx
je 0x14004082a
movzx edx, cl
mov rcx, rdi
call fcn.14000a160
movzx r9d, byte [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
test r13d, r13d
jne 0x14003ba4f
mov r12, qword [rsp + 0x48]
xor r11d, r11d
mov r10, qword [rsp + 0x60]
mov r14, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x50]
jmp 0x140039f5a
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x78]
mov r14, qword [rax + rcx*8]
cmp byte [r14 + 2], 0
jne 0x14003e302
mov rdi, qword [r14 + 0x30]
mov rsi, qword [rdi]
mov r15, qword [rsi]
mov rbx, qword [r15 + 0x48]
mov rcx, rbx
call qword [fcn.140005fb0]
mov rcx, rdi
call rbx
mov rcx, qword [rsp + 0x70]
mov rdx, rsi
mov r13d, eax
mov dword [rsp + 0x54], eax
call fcn.140035b70
test r13d, r13d
jne 0x14004179e
mov rbx, qword [r15 + 0x50]
mov rcx, rbx
call qword [fcn.140005fb0]
mov rcx, qword [r14 + 0x30]
call rbx
mov r15, qword [rsp + 0x70]
test eax, eax
jne 0x14003f30b
mov r14, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x58]
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rax, [r14 + rcx*8]
mov qword [rsp + 0x48], rax
mov r12, rax
jmp 0x14003f315
mov r14d, dword [rdi + 0x30]
or qword [rdi + 0x30], 0x4000000
and r14d, 0x4000000
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax + 0x10]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
add rdi, r10
test byte [rdi + 0x14], 2
jne 0x14004092b
mov byte [rdi + 0x16], 1
jmp 0x140040946
cmp byte [rdi + 0x16], 1
je 0x140040946
mov dl, 1
mov rcx, rdi
call fcn.14000a160
mov r13d, eax
test eax, eax
jne 0x14003ba4a
mov rax, qword [rsi]
mov rbx, qword [rax + 0x98]
mov rcx, rbx
call qword [fcn.140005fb0]
mov rdx, qword [rdi + 8]
mov rcx, rsi
call rbx
mov rdi, qword [rsp + 0x58]
mov r13d, eax
mov dword [rsp + 0x54], eax
test r14d, r14d
jne 0x14004097b
and qword [rdi + 0x30], 0xfffffffffbffffff
mov rdx, rsi
mov rcx, r15
call fcn.140035b70
and dword [r15 + 0xc8], 0xfffffffc
test r13d, r13d
jne 0x14003ba4f
mov r12, qword [rsp + 0x48]
jmp 0x14003ab7a
mov qword [rbp + 0x10], r11
cmp byte [rdi + 0x67], 0
jne 0x14003bf71
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov rsi, qword [rax + 0x10]
test rsi, rsi
je 0x140041564
mov rbx, qword [rsi]
test rbx, rbx
je 0x140041564
cmp qword [rbx + 0x68], 0
mov r12, qword [rsp + 0x48]
movsxd r14, dword [r12 + 8]
je 0x14003e307
mov rax, qword [rsp + 0x70]
movzx r15d, byte [rdi + 0x6c]
mov rdi, qword [rax + 0x70]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
mov rax, r11
add rcx, r10
test r14d, r14d
jle 0x140040a20
nop dword [rax + rax]
mov qword [rdi + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, r14
jl 0x140040a10
mov r8, qword [rsp + 0x58]
movzx eax, byte [r12 + 2]
mov byte [r8 + 0x6c], al
mov rbx, qword [rbx + 0x68]
mov rcx, rbx
call qword [fcn.140005fb0]
lea r9, [rbp + 0x10]
mov r8, rdi
mov edx, r14d
mov rcx, rsi
call rbx
mov rdi, qword [rsp + 0x58]
mov rdx, rsi
mov r13d, eax
mov dword [rsp + 0x54], eax
mov byte [rdi + 0x6c], r15b
mov r15, qword [rsp + 0x70]
mov rcx, r15
call fcn.140035b70
mov rax, r12
test r13d, r13d
jne 0x140040a85
cmp dword [r12 + 4], r13d
je 0x140040a85
mov rax, qword [rbp + 0x10]
mov qword [rdi + 0x38], rax
mov rax, r12
cmp r13b, 0x13
jne 0x140040ae4
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x1c], 0
je 0x140040ae4
mov rax, r12
movzx eax, word [r12 + 2]
cmp ax, 4
jne 0x140040ac4
mov r10, qword [rsp + 0x60]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r13d, r11d
mov r14, qword [rsp + 0x78]
mov dword [rsp + 0x54], r11d
jmp 0x140039f55
cmp ax, 5
jne 0x140040ad8
mov eax, 2
mov byte [r15 + 0xc4], al
jmp 0x140040ae8
movzx eax, ax
mov byte [r15 + 0xc4], al
jmp 0x140040ae8
inc qword [r15 + 0x38]
test r13d, r13d
jne 0x14004120b
jmp 0x14003ab7a
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [r15 + 0x68]
test word [rdx + 0x14], ax
je 0x140040b22
mov rcx, rdx
call fcn.140039840
mov rdx, rax
xor r11d, r11d
jmp 0x140040b2b
mov eax, 4
mov word [rdx + 0x14], ax
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [rdi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
mov qword [rdx], rcx
jmp 0x140039f55
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul rsi, rax, 0x38
mov eax, 0x9000
add rsi, qword [r15 + 0x68]
test word [rsi + 0x14], ax
je 0x140040b8c
mov rcx, rsi
call fcn.140039840
mov rsi, rax
xor r11d, r11d
jmp 0x140040b95
mov eax, 4
mov word [rsi + 0x14], ax
mov rax, qword [rdi + 0x20]
mov edi, r11d
movsxd rcx, dword [rbx + 4]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x140040bc1
mov rax, qword [rbx + 8]
mov edi, dword [rax + 0x40]
cmp edi, ecx
cmovb edi, ecx
cmp byte [rbx + 0x11], 0
je 0x140040bd8
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x140040bd8
mov rcx, rbx
call fcn.14001f320
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
test edi, edi
je 0x140040be9
mov dword [rcx + 0xbc], edi
cmp byte [rbx + 0x11], 0
mov edi, dword [rcx + 0xbc]
je 0x140040c03
sub dword [rbx + 0x14], 1
jne 0x140040c03
mov rcx, rbx
call fcn.14001f2c0
mov qword [rsi], rdi
mov rdi, qword [rsp + 0x58]
jmp 0x14003a57a
mov rax, qword [rsp + 0x48]
mov r14, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul r15, rax, 0x38
add r15, r10
mov qword [rbp - 0x40], r15
cmp qword [r14], r15
je 0x140040c82
mov rax, qword [rsp + 0x70]
mov qword [r14 + 0x18], rax
mov qword [r14], r15
mov byte [r14 + 0x28], r9b
movzx edx, byte [r14 + 0x2a]
sub edx, 1
movsxd r8, edx
js 0x140040c82
mov r15, qword [rsp + 0x48]
lea r9, [r14 + 0x30]
lea r9, [r9 + r8*8]
nop word [rax + rax]
mov eax, dword [r15 + 8]
add eax, edx
dec edx
cdqe
imul rcx, rax, 0x38
add rcx, r10
mov qword [r9], rcx
sub r9, 8
sub r8, 1
jns 0x140040c60
mov r15, qword [rbp - 0x40]
mov eax, 0xf241
and word [r15 + 0x14], ax
or word [r15 + 0x14], 1
mov rax, qword [r14 + 8]
movzx edi, byte [r14 + 0x2a]
mov rsi, qword [rax + 0x18]
mov rcx, rsi
call qword [fcn.140005fb0]
lea r8, [r14 + 0x30]
mov edx, edi
mov rcx, r14
call rsi
mov eax, dword [r14 + 0x24]
test eax, eax
je 0x14003bf0d
jle 0x140040ceb
mov rcx, r15
call fcn.140036240
mov r15, qword [rsp + 0x70]
lea rdx, [0x1402250a0]
mov rcx, r15
mov r8, rax
call fcn.14002faf0
mov r13d, dword [r14 + 0x24]
mov dword [rsp + 0x54], r13d
jmp 0x140040cf0
mov r15, qword [rsp + 0x70]
mov rax, qword [rsp + 0x48]
lea rdx, [r15 + 0x128]
mov rdi, qword [rsp + 0x58]
mov r8d, dword [r14 + 0x20]
mov rcx, rdi
mov r9d, dword [rax + 4]
call fcn.140033d00
xor r11d, r11d
mov dword [r14 + 0x24], r11d
test r13d, r13d
jne 0x14003ba4f
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x78]
jmp 0x140039f55
mov r13d, dword [rsp + 0x54]
mov r15, qword [rsp + 0x70]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x78]
jmp 0x140039f55
mov rdi, qword [rsp + 0x58]
xor r11d, r11d
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x50]
jmp 0x140039f5a
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
jmp 0x140039f5a
mov r15, qword [rsp + 0x70]
mov r10, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x78]
jmp 0x140039f55
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
mov rsi, qword [rbp - 0x58]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov eax, 0xf7ff
and word [rcx + r10 + 0x14], ax
add r12, 0x18
jmp 0x140039d5e
mov rcx, qword [rsp + 0x48]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r10
imul rbx, rax, 0x38
add rbx, r10
call fcn.140039890
mov ecx, dword [rbx + 0x10]
xor edx, edx
shl ecx, 3
movsxd r8, ecx
mov rcx, qword [rbx + 8]
div r8
mov r8, rdx
and edx, 7
shr r8, 3
movsx eax, byte [r8 + rcx]
bts eax, edx
mov byte [r8 + rcx], al
jmp 0x14003a57a
mov rcx, qword [rsp + 0x48]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r10
imul rbx, rax, 0x38
add rbx, r10
call fcn.140039890
mov ecx, dword [rbx + 0x10]
xor edx, edx
mov r12, qword [rsp + 0x48]
shl ecx, 3
movsxd r8, ecx
div r8
mov rax, qword [rbx + 8]
mov rcx, rdx
shr rcx, 3
movsx r8d, byte [rcx + rax]
movzx eax, dl
and al, 7
mov edx, 1
movzx eax, al
bt r8d, eax
jb 0x140040e6c
inc dword [r15 + 0xf4]
xor r11d, r11d
jmp 0x14003b997
inc dword [r15 + 0xf0]
xor r11d, r11d
mov r10, qword [rsp + 0x60]
add r12, 0x18
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov rsi, qword [rbp - 0x58]
jmp 0x140039d5e
movzx eax, byte [rdi + 0x6e]
test al, 0x41
je 0x140040fa4
cmp byte [r15 + 0xc5], 0xfe
je 0x140040fa4
mov rdi, qword [r12 + 0x10]
test rdi, rdi
jne 0x140040ec7
mov rdi, qword [r15 + 0xf8]
test rdi, rdi
je 0x140040f9f
test al, 0x40
je 0x140040f11
mov rdx, rdi
mov rcx, r15
call fcn.140038ed0
mov rsi, qword [rsp + 0x58]
mov rdi, rax
mov rbx, qword [rsi + 0xf8]
mov rcx, rbx
call qword [fcn.140005fb0]
mov rcx, qword [rsi + 0x100]
mov rdx, rdi
call rbx
mov rcx, rdi
call fcn.140006b90
xor r11d, r11d
mov rdi, rsi
lea edx, [r11 + 1]
jmp 0x140040fa4
mov rsi, qword [rsp + 0x58]
cmp dword [rsi + 0xe4], 1
jle 0x140040f6f
mov r8, rdi
lea rdx, str.____s
mov rcx, rsi
call fcn.140009780
mov rbx, qword [rsi + 0xf8]
mov rdi, rax
mov rcx, rbx
call qword [fcn.140005fb0]
mov rdx, qword [rsi + 0x100]
mov r9, rdi
mov r8, r15
mov ecx, 1
call rbx
mov rdx, rdi
mov rcx, rsi
mov rdi, rsi
call fcn.140006db0
xor r11d, r11d
lea edx, [r11 + 1]
jmp 0x140040fa4
mov rbx, qword [rsi + 0xf8]
mov rcx, rbx
call qword [fcn.140005fb0]
mov rdx, qword [rsi + 0x100]
mov r9, rdi
mov r8, r15
mov ecx, 1
mov rdi, rsi
call rbx
xor r11d, r11d
lea edx, [r11 + 1]
jmp 0x140040fa4
mov rdi, qword [rsp + 0x58]
mov eax, dword [0x14028ea18]
cmp dword [r12 + 4], eax
jl 0x140040ff6
cmp byte [r12], 0xb6
je 0x140039fa6
cmp dword [r15 + 0x90], 1
jle 0x140040ff1
mov eax, SafeArrayCopy
nop dword [rax + rax]
mov rcx, qword [r15 + 0x88]
cmp byte [rax + rcx], 0xf
jne 0x140040fe2
mov dword [rax + rcx + 4], r11d
inc edx
add rax, 0x18
cmp edx, dword [r15 + 0x90]
jl 0x140040fd0
mov dword [r12 + 4], r11d
inc dword [r12 + 4]
inc dword [r15 + 0xec]
jmp 0x14003b992
mov r13d, dword [rsp + 0x54]
jmp 0x14003e2fd
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0x70]
add r12, 0x18
mov r14, qword [rsp + 0x78]
mov rsi, qword [rbp - 0x58]
jmp 0x140039d5e
mov r13, qword [rsp + 0x48]
mov eax, dword [r13 + 4]
mov dword [r15 + 0x34], eax
movzx eax, byte [r13 + 8]
mov byte [r15 + 0xc4], al
cmp dword [r15 + 0x34], 0
je 0x1400410fd
movzx eax, word [r13 + 2]
mov rcx, r15
test ax, ax
je 0x1400410a9
movzx eax, ax
lea rdx, str._s_constraint_failed
dec eax
movsxd r8, eax
lea rax, [0x140000000]
mov r8, qword [rax + r8*8 + 0x22b8d8]
call fcn.14002faf0
mov r9, qword [r13 + 0x10]
test r9, r9
je 0x1400410b9
mov r8, qword [r15 + 0xa8]
lea rdx, str._z:__s
mov rcx, rdi
call fcn.140009780
mov qword [r15 + 0xa8], rax
jmp 0x1400410b9
mov r8, qword [r13 + 0x10]
lea rdx, [0x1402250a0]
call fcn.14002faf0
mov r9, qword [r15 + 0xf8]
mov rcx, r13
sub rcx, r14
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [r15 + 0xa8]
mov ecx, dword [r13 + 4]
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.abort_at__d_in___s_:__s
call fcn.140009a30
mov rcx, r15
call fcn.140033780
mov r14, qword [rsp + 0x48]
mov r13d, eax
mov r12, qword [rsp + 0x68]
cmp eax, 5
jne 0x140041120
mov dword [r15 + 0x34], eax
jmp 0x140041996
cmp dword [r15 + 0x34], 0
mov r13d, 0x65
mov eax, 1
cmovne r13d, eax
jmp 0x140041996
mov r13d, 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [r15 + 0x34], r13d
mov rcx, r15
mov byte [r15 + 0xc4], 2
call fcn.14002faf0
cmp byte [r15 + 0xc6], 0
mov esi, 1
cmovge r13d, esi
jmp 0x14003ba54
mov ecx, 0x174a6
call fcn.1400bad10
mov r13d, eax
jmp 0x14003ba4a
cmp eax, 7
je 0x14003bf71
cmp eax, 0x12
je 0x1400413d4
jmp 0x14003ba4f
lea rdx, [0x140000000]
movsxd rax, esi
lea rcx, [rax + rax*2]
movzx eax, word [rbx + 0x14]
mov r9d, dword [r15 + rcx*8 + 8]
and eax, 0x3f
shr r9d, 4
and r9d, 0xf
dec r9d
movzx eax, byte [rax + rdx + 0x230b60]
dec eax
movsxd r8, eax
mov rax, qword [r15 + rcx*8]
mov r9, qword [rdx + r9*8 + 0x28e838]
mov r15, qword [rsp + 0x70]
mov r8, qword [rdx + r8*8 + 0x22f628]
mov rcx, r15
mov qword [rsp + 0x28], rax
lea rdx, str.cannot_store__s_value_in__s_column__s._s
mov rax, qword [r14]
mov qword [rsp + 0x20], rax
call fcn.14002faf0
mov r13d, 0xc13
mov rdi, qword [rsp + 0x58]
mov r14, r12
mov esi, 1
jmp 0x14003ba59
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r15
call fcn.14002faf0
mov r13d, 5
mov rdi, rsi
jmp 0x14003ba4f
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r15
call fcn.14002faf0
mov r13d, 5
jmp 0x14003ba4f
mov r14, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
mov r12, qword [rsp + 0x68]
mov rcx, r14
sub rcx, qword [rsp + 0x78]
mov r13d, 5
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r15 + 0x30], edx
mov byte [rdi + 0x65], 0
mov dword [r15 + 0x34], r13d
jmp 0x140041992
mov r13d, 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [r15 + 0x34], r13d
mov byte [r15 + 0xc4], 2
call fcn.14002faf0
cmp byte [r15 + 0xc6], 0
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x68]
cmovge r13d, ebx
jmp 0x140041992
mov r14, qword [rsp + 0x48]
mov r13d, 0x65
mov r12, qword [rsp + 0x68]
jmp 0x140041992
mov eax, dword [rdi + 0x30]
mov r13d, 8
mov r14, qword [rsp + 0x48]
bt rax, 0x14
mov eax, SafeArrayDestroy
cmovae r13d, eax
lea esi, [rax - 0xa]
jmp 0x14003ba5e
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x68]
cmp r13b, 5
jne 0x14004147a
mov rcx, r14
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x78]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r15 + 0x30], edx
mov dword [r15 + 0x34], r13d
jmp 0x140041996
mov rdx, qword [r15 + 0xa8]
mov rcx, rdi
call fcn.140006db0
lea rdx, str.database_schema_has_changed
mov rcx, rdi
call fcn.140007420
mov qword [r15 + 0xa8], rax
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 4]
mov rax, qword [rdi + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp - 0x50]
cmp dword [rcx], eax
je 0x140041396
mov rcx, rdi
call fcn.14005e190
mov eax, dword [r15 + 0xc8]
mov r13d, reloc.OLEAUT32.dll_SafeArrayGetElemsize
and eax, 0xffffffed
or eax, 1
mov dword [r15 + 0xc8], eax
jmp 0x14003ba4f
mov r13d, 0x204
jmp 0x14003ba4f
mov r15, qword [rsp + 0x70]
mov rdi, r8
jmp 0x1400413d4
mov rdi, qword [rsp + 0x58]
jmp 0x1400413d4
mov rdi, rax
lea rdx, str.string_or_blob_too_big
mov rcx, r15
call fcn.14002faf0
mov r13d, SafeArrayAccessData
jmp 0x14003ba4f
lea rax, [0x14022b254]
mov r13d, 0x30b
mov ecx, r13d
mov qword [rsp + 0x20], rax
mov r9d, 0x181a8
lea r8, str.index_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140009a30
jmp 0x140041206
mov ecx, 0x18275
call fcn.1400bad10
mov r13d, eax
jmp 0x14003ba4f
mov r13d, 6
mov byte [r15 + 0xc4], 2
mov rdi, rcx
jmp 0x14003ba4f
lea rdx, [0x1402250a0]
mov rcx, r15
call fcn.14002faf0
mov rcx, qword [rbp]
call fcn.140006b90
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x68]
cmp r13d, 7
je 0x14003bf76
mov r14, qword [rsp + 0x48]
mov esi, 1
lea eax, [rsi + 0xa]
jmp 0x14003ba63
mov r13d, 7
mov rcx, rdi
call fcn.14005e210
jmp 0x140041466
mov rcx, qword [rbp + 0x18]
call fcn.140006b90
jmp 0x14003ba4a
mov r15, qword [rsp + 0x70]
mov r13d, edx
mov rcx, r15
lea rdx, str.too_many_levels_of_trigger_recursion
call fcn.14002faf0
jmp 0x14003ba4f
mov rcx, rbx
call fcn.140036240
mov r8, rax
lea rdx, [0x1402250a0]
mov rcx, r15
call fcn.14002faf0
jmp 0x14003ba4f
mov r15, qword [rsp + 0x70]
lea rax, str.into
cmp ebx, 5
lea r8, str.out_of
mov esi, 1
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
cmove r8, rax
mov rcx, r15
mov r13d, esi
call fcn.14002faf0
mov rdi, qword [rsp + 0x58]
jmp 0x14003ba54
mov rbx, qword [rsi + 0x38]
mov rcx, rbx
call qword [fcn.140005fb0]
mov rcx, qword [rbp - 0x20]
call rbx
jmp 0x14003bf6c
mov r13d, 6
jmp 0x14003ba4a
mov rcx, qword [rbp + 8]
call fcn.140006b90
mov r13d, dword [rsp + 0x54]
mov r15, qword [rsp + 0x70]
jmp 0x14003ba4f
or r12, 0xffffffffffffffff
lea r13d, [r12 + 0xa]
jmp 0x140041475
mov r13d, 6
jmp 0x14003ba4f
mov eax, dword [r15 + 0x2c]
mov r13, qword [rsp + 0x48]
add eax, 2
or eax, 1
mov dword [r15 + 0x2c], eax
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, r10
mov qword [r15 + 0xa0], rcx
cmp byte [rdi + 0x67], 0
jne 0x14003bf71
test byte [rdi + 0x6e], 4
je 0x1400415c7
mov rbx, qword [rdi + 0xf8]
mov rcx, rbx
call qword [fcn.140005fb0]
mov rdx, qword [rdi + 0x100]
xor r9d, r9d
mov r8, r15
lea ecx, [r9 + 4]
call rbx
mov r12, qword [rsp + 0x68]
mov rcx, r13
sub rcx, r14
movabs rax, 0x2aaaaaaaaaaaaaab
mov r14, qword [rsp + 0x48]
mov r13d, 0x64
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
inc edx
mov dword [r15 + 0x30], edx
jmp 0x140041996
mov r13, qword [rsp + 0x48]
movzx eax, byte [rdi + 0x65]
mov ebx, dword [r13 + 4]
mov ecx, dword [r13 + 8]
cmp ebx, eax
je 0x140041737
test ecx, ecx
je 0x140041636
mov edx, 0x204
mov rcx, rdi
call fcn.1400b7c50
mov byte [rdi + 0x65], 1
jmp 0x1400416b7
test ebx, ebx
je 0x14004165d
cmp dword [rdi + 0xe0], 0
jle 0x14004165d
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r15
call fcn.14002faf0
mov r13d, 5
jmp 0x14003ba4f
mov rax, qword [r15]
mov rcx, qword [rax + 0x300]
add rcx, qword [rax + 0x2f8]
test rcx, rcx
jle 0x1400416b4
mov r13d, 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [r15 + 0x34], r13d
mov rcx, r15
mov byte [r15 + 0xc4], 2
call fcn.14002faf0
cmp byte [r15 + 0xc6], 0
mov eax, 1
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x68]
cmovge r13d, eax
jmp 0x140041996
mov byte [rdi + 0x65], bl
mov rcx, r15
call fcn.140033780
cmp eax, 5
jne 0x14004170c
mov r12, qword [rsp + 0x68]
mov rcx, r13
sub rcx, r14
movabs rax, 0x2aaaaaaaaaaaaaab
mov r14, qword [rsp + 0x48]
mov r13d, 5
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 1
mov dword [r15 + 0x30], edx
sub al, bl
mov byte [rdi + 0x65], al
mov dword [r15 + 0x34], r13d
jmp 0x140041996
mov rcx, rdi
call fcn.1400b71e0
cmp dword [r15 + 0x34], 0
mov r13d, 0x65
mov r14, qword [rsp + 0x48]
mov eax, 1
mov r12, qword [rsp + 0x68]
cmovne r13d, eax
jmp 0x140041996
test ebx, ebx
jne 0x140041744
lea rdx, str.cannot_start_a_transaction_within_a_transaction
jmp 0x140041758
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, r15
call fcn.14002faf0
mov esi, 1
mov r13d, esi
jmp 0x14003ba54
mov r12, qword [rsp + 0x68]
mov r13d, 9
jmp 0x140041475
mov rdi, rsi
jmp 0x14003bf71
mov r13d, dword [rsp + 0x54]
jmp 0x14003ba4a
mov r13d, dword [rsp + 0x54]
jmp 0x14003ba4f
mov r13d, dword [rsp + 0x54]
mov r15, qword [rsp + 0x70]
jmp 0x14003ba4a
mov rdi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x70]
mov r14, qword [rsp + 0x48]
mov esi, 1
mov r12, qword [rsp + 0x68]
lea eax, [rsi + 0xa]
jmp 0x14003ba65
mov r14, rbx
mov esi, 1
jmp 0x14003ba59
cmp r13d, 0x210a
jne 0x14004180c
lea rcx, [0x14022b254]
mov r9d, 0x18b52
mov qword [rsp + 0x20], rcx
lea r8, str.database_corruption
mov ecx, eax
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140009a30
mov r13d, SafeArrayDestroy
cmp qword [r15 + 0xa8], 0
jne 0x140041885
cmp r13d, 0xc0a
je 0x140041885
mov ecx, r13d
lea r8, str.unknown_error
sub ecx, 0x64
je 0x14004186f
sub ecx, 1
je 0x140041866
cmp ecx, 0x19f
je 0x14004185d
movzx eax, r13b
cmp eax, 0x1d
jae 0x140041876
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x22b2f0]
test rcx, rcx
je 0x140041876
mov r8, rcx
jmp 0x140041876
lea r8, str.abort_due_to_ROLLBACK
jmp 0x140041876
lea r8, str.no_more_rows_available
jmp 0x140041876
lea r8, str.another_row_available
lea rdx, [0x1402250a0]
mov rcx, r15
call fcn.14002faf0
mov edx, r13d
mov dword [r15 + 0x34], r13d
mov rcx, rdi
call fcn.14000a8c0
mov r9, qword [r15 + 0xf8]
mov rcx, r14
sub rcx, qword [rsp + 0x78]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [r15 + 0xa8]
mov ecx, r13d
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.140009a30
cmp byte [r15 + 0xc7], 2
jne 0x1400418eb
mov rcx, r15
call fcn.140033780
cmp r13d, 0xc0a
jne 0x1400418fe
mov rcx, rdi
call fcn.140007680
jmp 0x140041918
cmp r13d, 0xb
jne 0x140041918
cmp byte [rdi + 0x65], 0
jne 0x140041918
movabs rax, 0x200000000
or qword [rdi + 0x30], rax
movzx eax, byte [rbp - 0x78]
mov r13d, esi
test al, al
je 0x140041992
movzx eax, al
sub eax, 1
js 0x140041951
movsxd rcx, eax
mov rax, qword [rdi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
or word [rcx + 0x72], 8
mov rax, qword [rdi + 0x20]
mov rcx, qword [rax + 0x38]
or word [rcx + 0x72], 8
and dword [rdi + 0x2c], 0xffffffef
cmp dword [rdi + 0x48], 0
jne 0x140041992
mov rsi, qword [rsp + 0x58]
mov edi, ebx
cmp dword [rsi + 0x28], 0
jle 0x14004198f
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rsi + 0x20]
mov rcx, qword [rbx + rax + 0x18]
test byte [rcx + 0x72], 8
je 0x140041984
call fcn.140067e30
inc edi
add rbx, 0x20
cmp edi, dword [rsi + 0x28]
jl 0x140041970
mov rdi, rsi
mov rsi, qword [rbp - 0x58]
cmp rsi, r12
jb 0x1400419dc
mov rbx, qword [rdi + 0x210]
test rbx, rbx
je 0x1400419dc
mov eax, dword [rdi + 0x220]
mov rcx, rbx
add r12, rax
call qword [fcn.140005fb0]
mov rcx, qword [rdi + 0x218]
call rbx
test eax, eax
je 0x140041996
or r12, 0xffffffffffffffff
lea esi, [r12 + 2]
lea eax, [rsi + 0xa]
lea r13d, [r12 + 0xa]
jmp 0x14003ba63
add dword [r15 + 0xe4], esi
cmp dword [r15 + 0xd0], 0
movaps xmm7, xmmword [rsp + 0x3a0]
movaps xmm6, xmmword [rsp + 0x3b0]
mov r14, qword [rsp + 0x3c0]
mov r12, qword [rsp + 0x3c8]
mov rdi, qword [rsp + 0x408]
mov rsi, qword [rsp + 0x400]
mov rbx, qword [rsp + 0x3f8]
je 0x140041a2d
mov rcx, r15
call fcn.140031990
mov eax, r13d
mov rcx, qword [rbp + 0x298]
xor rcx, rsp
call fcn.14016e480
add rsp, 0x3d0
pop r15
pop r13
pop rbp
ret