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

Disassembly:
mov r11, rsp
push rbp
push rsi
push r13
lea rbp, [r11 - 0x2c8]
sub rsp, 0x3b0
mov rax, qword [0x14027e238]
xor rax, rsp
mov qword [rbp + 0x288], rax
mov r10, qword [rcx + 0x68]
xor al, al
mov qword [r11 + 0x18], rdi
mov rsi, rcx
mov qword [r11 + 0x20], r12
mov qword [r11 - 0x20], r14
mov r14, qword [rcx + 0x88]
mov qword [r11 - 0x28], r15
xor r11d, r11d
mov r13d, r11d
mov r15, qword [rcx]
mov r8d, r11d
mov qword [rsp + 0x68], rcx
mov edi, r11d
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x48], r14
movzx r9d, byte [r15 + 0x64]
mov byte [rsp + 0x40], r9b
mov dword [rsp + 0x54], r11d
mov qword [rsp + 0x70], r15
mov byte [rbp - 0x78], al
mov dword [rsp + 0x50], r11d
mov qword [rbp - 0x58], r11
mov qword [rsp + 0x58], r10
cmp dword [rcx + 0xd0], r11d
je 0x1400375c8
call fcn.14002f960
mov r10, qword [rsp + 0x58]
mov r8d, edi
movzx r9d, byte [rsp + 0x40]
xor r11d, r11d
or rax, 0xffffffffffffffff
cmp qword [r15 + 0x210], rdi
je 0x1400375ed
mov ecx, dword [r15 + 0x220]
xor edx, edx
mov eax, dword [rsi + 0xe4]
div ecx
sub ecx, edx
mov r12d, ecx
jmp 0x1400375f0
mov r12, rax
cmp dword [rsi + 0x34], 7
mov edx, 1
mov qword [rsp + 0x3d8], rbx
movaps xmmword [rsp + 0x390], xmm6
mov qword [rsp + 0x60], r12
je 0x14003edbb
mov dword [rsi + 0x34], r11d
mov qword [rsi + 0x48], r11
mov dword [r15 + 0x298], r11d
mov eax, dword [r15 + 0x198]
test eax, eax
jne 0x14003eb78
movsxd rax, dword [rsi + 0x30]
xorps xmm6, xmm6
lea rcx, [rax + rax*2]
lea r12, [r14 + rcx*8]
movzx ebx, byte [r12]
inc rdi
mov qword [rsp + 0x48], r12
mov qword [rbp - 0x58], rdi
cmp ebx, 0xb5
ja case.0x140037679.89
movsxd rax, ebx
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x3f0c4]
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.0x140037679.9
movsxd rax, dword [r12 + 4]
imul rax, rax, 0x38
test byte [rax + r10 + 0x14], 4
je case.0x140037679.89
mov rax, qword [rax + r10]
mov rdi, qword [rbp - 0x58]
lea rcx, [rax + rax*2]
lea r12, [r14 + rcx*8]
add r12, 0x18
jmp 0x140037641
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 0x14003923d
mov rdi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140037641
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 0x14003783c
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 0x140037837
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r10 + 0x14], 1
je case.0x140037679.89
mov rcx, qword [rsi + 0x108]
test rcx, rcx
je 0x14003e725
cmp dword [r12 + 4], 0
jne 0x14003e725
mov rax, qword [rcx + 8]
mov qword [rsi + 0x108], rax
dec dword [rsi + 0x118]
mov rax, qword [rsi + 0x38]
mov qword [r15 + 0x78], rax
add qword [r15 + 0x80], rax
call fcn.140030870
cmp dword [r12 + 8], 4
jne 0x14003780f
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov eax, dword [rax + rcx*8 + 8]
dec eax
mov r14, qword [rsi + 0x88]
mov r10, qword [rsi + 0x68]
movzx r9d, byte [rsp + 0x40]
cdqe
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x58], r10
lea rcx, [rax + rax*2]
lea r12, [r14 + rcx*8]
xor r11d, r11d
mov r8d, dword [rsp + 0x50]
mov edx, 1
mov rdi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140037641
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [rsi + 0x68]
test word [rcx + 0x14], ax
je 0x140037877
call fcn.140037420
xor r11d, r11d
mov rcx, rax
lea edx, [r11 + 1]
jmp 0x140037880
mov eax, 4
mov word [rcx + 0x14], ax
movsxd rax, dword [r12 + 4]
mov qword [rcx], rax
mov r10, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
add r12, 0x18
mov rdi, qword [rbp - 0x58]
jmp 0x140037641
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [rsi + 0x68]
test word [rdx + 0x14], ax
je 0x1400378cd
mov rcx, rdx
call fcn.140037420
mov rdx, rax
xor r11d, r11d
jmp 0x1400378d6
mov eax, 4
mov word [rdx + 0x14], ax
mov rax, qword [r12 + 0x10]
mov r10, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x140037837
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [rsi + 0x68]
test word [rdx + 0x14], ax
je 0x14003791d
mov rcx, rdx
call fcn.140037420
xor r11d, r11d
mov rdx, rax
lea eax, [r11 + 8]
jmp 0x1400378d2
mov eax, 4
mov word [rdx + 0x14], ax
mov eax, 8
jmp 0x1400378d2
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [rsi + 0x68]
test word [rbx + 0x14], ax
je 0x140037955
mov rcx, rbx
call fcn.140037420
mov rbx, rax
xor r11d, r11d
jmp 0x14003795e
mov eax, 4
mov word [rbx + 0x14], ax
mov rcx, qword [r12 + 0x10]
or rdx, 0xffffffffffffffff
test rcx, rcx
jne 0x140037971
mov eax, r11d
jmp 0x140037982
mov rax, rdx
inc rax
cmp byte [rcx + rax], 0
jne 0x140037974
and eax, 0x3fffffff
movzx edi, byte [rsp + 0x40]
mov dword [r12 + 4], eax
cmp dil, 1
je 0x140037a2b
mov r8, rdx
mov qword [rsp + 0x20], r11
mov rdx, qword [r12 + 0x10]
mov r9b, 1
mov rcx, rbx
call fcn.14002cf90
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003ea3b
test byte [rbx + 0x14], 2
movzx ecx, dil
jne 0x1400379cc
mov byte [rbx + 0x16], cl
jmp 0x1400379e7
movzx eax, byte [rbx + 0x16]
cmp eax, ecx
je 0x1400379e7
movzx edx, cl
mov rcx, rbx
call fcn.140009e40
test eax, eax
jne 0x14003edb6
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 0x140037a11
mov rdx, qword [rax + 0x10]
mov rcx, r15
call fcn.1400067b0
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 [r15 + 0x88]
cmp dword [r12 + 4], eax
jg 0x14003ea3b
mov byte [r12], 0x49
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [rsi + 0x68]
test word [rdx + 0x14], ax
je 0x140037a67
mov rcx, rdx
call fcn.140037420
mov rdx, rax
jmp 0x140037a70
mov eax, 4
mov word [rdx + 0x14], ax
movzx r9d, byte [rsp + 0x40]
mov eax, 0x2202
mov r10, qword [rsp + 0x58]
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 0x14003e3e0
mov r8d, dword [rsp + 0x50]
xor r11d, r11d
imul rcx, rax, 0x38
movzx eax, word [r12 + 2]
cmp qword [rcx + r10], rax
jne 0x14003e3e8
mov eax, 0x2210
mov word [rdx + 0x14], ax
jmp 0x14003783c
mov rbx, qword [rsp + 0x48]
mov ecx, 0x9000
movsxd rax, dword [rbx + 8]
imul rax, rax, 0x38
add rax, qword [rsi + 0x68]
test word [rax + 0x14], cx
je 0x140037b02
mov rcx, rax
call fcn.140037420
xor r11d, r11d
mov ecx, 0x9000
lea edx, [r11 + 1]
jmp 0x140037b0d
mov r8d, 4
mov word [rax + 0x14], r8w
mov edi, dword [rbx + 0xc]
mov esi, edx
sub edi, dword [rbx + 8]
mov r8d, 0x101
cmp dword [rbx + 4], 0
lea rbx, [rax + 0x14]
cmovne si, r8w
mov word [rbx], si
mov dword [rax + 0x10], r11d
test edi, edi
jle 0x14003e462
nop word [rax + rax]
test word [rbx + 0x38], cx
lea rbx, [rbx + 0x38]
je 0x140037b61
lea rcx, [rbx - 0x14]
call fcn.14002c6a0
xor r11d, r11d
mov ecx, 0x9000
lea edx, [r11 + 1]
jmp 0x140037b64
mov word [rbx], dx
dec edi
mov word [rbx], si
mov dword [rbx - 4], r11d
test edi, edi
jg 0x140037b40
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x68]
add r12, 0x18
mov r10, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov rdi, qword [rbp - 0x58]
jmp 0x140037641
movsxd rax, dword [r12 + 4]
mov rdi, 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 0x140037641
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [rsi + 0x68]
test word [rbx + 0x14], ax
je 0x140037be7
mov rcx, rbx
call fcn.140037420
mov rbx, rax
xor r11d, r11d
jmp 0x140037bf0
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 0x140037c1b
mov edx, dword [rax + 4]
call fcn.14002cc00
mov rcx, rbx
call fcn.14002c3a0
test eax, eax
jne 0x14003edb6
jmp 0x140037c2c
movsxd r8, dword [rax + 4]
xor r9d, r9d
mov qword [rsp + 0x20], r11
call fcn.14002cf90
movzx r9d, byte [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x58]
mov byte [rbx + 0x16], r9b
jmp 0x140037834
mov rbx, qword [rsp + 0x48]
mov eax, dword [rbx + 4]
dec eax
cdqe
imul rdi, rax, 0x38
add rdi, qword [rsi + 0x80]
movzx eax, word [rdi + 0x14]
test al, 0x12
je 0x140037c8b
mov edx, dword [rdi + 0x10]
mov ecx, 0x400
test cx, ax
je 0x140037c73
add edx, dword [rdi]
mov rax, qword [rdi + 0x18]
mov ecx, r11d
cmp edx, dword [rax + 0x88]
setg cl
test ecx, ecx
jne 0x14003ea3b
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, r10
test word [rbx + 0x14], ax
je 0x140037cb1
mov rcx, rbx
call fcn.14002c6a0
mov r10, qword [rsp + 0x58]
xor r11d, r11d
movups xmm0, xmmword [rdi]
mov r12, qword [rsp + 0x48]
mov ecx, 0xafff
movzx r9d, byte [rsp + 0x40]
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
jmp 0x140037837
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 word [rax + rax]
mov eax, 0x9000
test word [rbx + 0x14], ax
jne 0x140037d21
cmp dword [rbx + 0x20], 0
je 0x140037d30
mov rcx, rbx
call fcn.14002c6f0
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 0x140037d79
mov rcx, rbx
call fcn.14002c340
test eax, eax
jne 0x14003edb1
xor r11d, r11d
lea edx, [rax + 1]
add rdi, 0x38
add rbx, 0x38
sub esi, 1
jne 0x140037d10
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x68]
add r12, 0x18
mov r10, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov rdi, qword [rbp - 0x58]
jmp 0x140037641
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.14002ceb0
mov eax, 0x4000
test word [rbx + 0x14], ax
je 0x140037dfc
mov rcx, rbx
call fcn.14002c340
test eax, eax
jne 0x14003edb1
movzx eax, word [rbx + 0x14]
mov ecx, 0x800
test cx, ax
je 0x140037e1e
test byte [r12 + 2], 2
je 0x140037e1e
mov ecx, 0xf7ff
and ax, cx
mov word [rbx + 0x14], ax
mov eax, esi
dec esi
test eax, eax
je 0x14003e42e
add rbx, 0x38
add rdi, 0x38
jmp 0x140037dd0
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.14002ceb0
mov r12, qword [rsp + 0x48]
xor r11d, r11d
mov r10, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x14003783c
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 0x140037eac
mov rdx, rax
mov rcx, r8
call fcn.14002cc50
jmp 0x140037e5a
mov r12, qword [rsp + 0x48]
mov rdi, qword [rbp - 0x58]
add r12, 0x18
mov qword [r8], rax
mov eax, 4
mov word [r8 + 0x14], ax
mov r8d, dword [rsp + 0x50]
jmp 0x140037641
cmp qword [rsi + 0x50], 0
jg 0x14003e82c
mov rdi, qword [rbp - 0x58]
mov r13d, r11d
mov dword [rsp + 0x54], r11d
add r12, 0x18
jmp 0x140037641
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 0x140037f68
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x140037f48
mov rcx, rbx
call fcn.14002c6a0
mov r13d, dword [rsp + 0x54]
mov r15, qword [rsp + 0x70]
jmp 0x140037e5a
mov r13d, dword [rsp + 0x54]
mov r15, qword [rsp + 0x70]
mov word [rbx + 0x14], dx
mov r12, qword [rsp + 0x48]
mov rdi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140037641
test r15b, 0x12
jne 0x140037f9b
xor r8d, r8d
movzx edx, r9b
mov rcx, r13
call fcn.14002c400
test eax, eax
jne 0x14003eda5
movzx r15d, word [r13 + 0x14]
mov r14d, 0xfffd
and r15w, r14w
mov eax, 0x400
jmp 0x140037fb6
mov eax, 0x400
test ax, r15w
je 0x140037fb0
mov rcx, r13
call fcn.14002c3a0
jmp 0x140037f7d
mov r14d, 0xfffd
movzx esi, word [rdi + 0x14]
test sil, 0x12
jne 0x140037fd2
movzx edx, byte [rsp + 0x40]
xor r8d, r8d
mov rcx, rdi
call fcn.14002c400
jmp 0x140037fdf
test ax, si
je 0x140037fef
mov rcx, rdi
call fcn.14002c3a0
test eax, eax
jne 0x14003edac
movzx esi, word [rdi + 0x14]
and si, r14w
mov eax, dword [r13 + 0x10]
add eax, dword [rdi + 0x10]
mov r12, qword [rsp + 0x70]
movsxd r14, eax
movsxd rax, dword [r12 + 0x88]
cmp r14, rax
jg 0x14003ea33
xor ecx, ecx
lea edx, [r14 + 2]
mov r8d, ecx
cmp rbx, rdi
mov rcx, rbx
sete r8b
call fcn.14002c110
test eax, eax
jne 0x1400397c1
mov eax, 0xf242
and word [rbx + 0x14], ax
or word [rbx + 0x14], 2
cmp rbx, rdi
je 0x140038057
movsxd r8, dword [rdi + 0x10]
mov rdx, qword [rdi + 8]
mov rcx, qword [rbx + 8]
call fcn.1401a60f0
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.1401a60f0
movzx r9d, byte [rsp + 0x40]
mov word [r13 + 0x14], r15w
cmp r9b, 1
jbe 0x140038081
and r14, 0xfffffffffffffffe
mov rax, qword [rbx + 8]
mov r15, r12
mov r13d, dword [rsp + 0x54]
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x68]
mov r10, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x50]
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
xor r11d, r11d
mov r14, qword [rsp + 0x78]
mov byte [rbx + 0x16], r9b
jmp 0x14003783c
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 0x14003814f
or cl, bl
test cl, 1
jne 0x140038436
and bx, 0x2d
jne 0x140038127
mov rcx, rsi
call fcn.140037370
movzx ebx, ax
movzx eax, word [rdi + 0x14]
and ax, 0x2d
jne 0x140038139
mov rcx, rdi
call fcn.140037370
and al, bl
test al, 4
je 0x14003833e
mov r10, qword [rsp + 0x58]
xor r11d, r11d
lea edx, [r11 + 1]
movzx ecx, byte [r12]
mov r9, qword [rsi]
mov r8, qword [rdi]
sub ecx, 0x6a
je 0x1400382dc
sub ecx, 1
je 0x140038274
sub ecx, 1
je 0x1400381c9
cmp ecx, 1
je 0x140038197
test r9, r9
je 0x140038436
cmp r9, 0xffffffffffffffff
mov rax, r8
cmove r9, rdx
cqo
idiv r9
mov r8, rdx
jmp 0x1400382fb
test r9, r9
je 0x140038436
cmp r9, 0xffffffffffffffff
jne 0x1400381b9
movabs rcx, 0x8000000000000000
cmp r8, rcx
je 0x14003833e
mov rax, r8
cqo
idiv r9
mov r8, rax
jmp 0x1400382fb
test r9, r9
jle 0x140038207
movabs rax, 0x7fffffffffffffff
cqo
idiv r9
cmp r8, rax
jg 0x14003833e
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jl 0x14003833e
imul r8, r9
jmp 0x1400382fb
jns 0x14003826b
test r8, r8
jle 0x14003822f
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jl 0x14003833e
imul r8, r9
jmp 0x1400382fb
jns 0x14003826b
movabs rcx, 0x8000000000000000
cmp r9, rcx
je 0x14003833e
cmp r8, rcx
je 0x14003833e
movabs rax, 0x8000000000000001
mov rcx, r8
cqo
neg rcx
idiv r9
cmp rcx, rax
jg 0x14003833e
imul r8, r9
jmp 0x1400382fb
movabs rcx, 0x8000000000000000
cmp r9, rcx
jne 0x140038291
test r8, r8
jns 0x14003833e
sub r8, rcx
jmp 0x1400382fb
neg r9
js 0x1400382b1
test r8, r8
jle 0x1400382d0
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jge 0x1400382d0
mov eax, edx
jmp 0x1400382d6
test r8, r8
jns 0x1400382d0
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jle 0x1400382d0
mov eax, edx
jmp 0x1400382d6
add r8, r9
mov eax, r11d
test eax, eax
jne 0x14003833e
jmp 0x1400382fb
test r9, r9
js 0x140038323
test r8, r8
jle 0x1400382f8
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jl 0x14003833e
add r8, r9
mov rsi, qword [rsp + 0x68]
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 0x140037837
test r8, r8
jns 0x1400382f8
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jle 0x1400382f8
movzx eax, word [rsi + 0x14]
test al, 8
je 0x14003834c
movsd xmm2, qword [rsi]
jmp 0x14003836e
test al, 0x24
je 0x14003835a
xorps xmm2, xmm2
cvtsi2sd xmm2, qword [rsi]
jmp 0x14003836e
test al, 0x12
je 0x14003836b
mov rcx, rsi
call fcn.14002c860
movaps xmm2, xmm0
jmp 0x14003836e
movaps xmm2, xmm6
movzx eax, word [rdi + 0x14]
test al, 8
je 0x14003837c
movsd xmm0, qword [rdi]
jmp 0x14003839b
test al, 0x24
je 0x14003838a
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rdi]
jmp 0x14003839b
test al, 0x12
je 0x140038398
mov rcx, rdi
call fcn.14002c860
jmp 0x14003839b
movaps xmm0, xmm6
movzx ecx, byte [r12]
sub ecx, 0x6a
je 0x140038402
sub ecx, 1
je 0x1400383fc
sub ecx, 1
je 0x1400383f6
cmp ecx, 1
je 0x1400383e8
mov rcx, rsi
call fcn.14002c830
mov rcx, rdi
mov rbx, rax
call fcn.14002c830
test rbx, rbx
je 0x140038436
cmp rbx, 0xffffffffffffffff
mov ecx, 1
cqo
xorps xmm0, xmm0
cmove rbx, rcx
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x140038406
ucomisd xmm2, xmm6
jp 0x1400383f0
je 0x140038436
divsd xmm0, xmm2
jmp 0x140038406
mulsd xmm0, xmm2
jmp 0x140038406
subsd xmm0, xmm2
jmp 0x140038406
addsd xmm0, xmm2
movabs rcx, 0xfffffffffffff
movsd qword [rbp - 0x48], xmm0
mov rax, qword [rbp - 0x48]
movabs rdx, 0x7ff0000000000000
test rcx, rax
setne cl
and rax, rdx
cmp rax, rdx
sete al
test al, cl
je 0x1400384a0
mov eax, 0x9000
test word [r14 + 0x14], ax
je 0x14003846c
mov rcx, r14
call fcn.14002c6a0
mov rsi, qword [rsp + 0x68]
movzx r9d, byte [rsp + 0x40]
xor r11d, r11d
mov r10, qword [rsp + 0x58]
mov r14, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x50]
jmp 0x14003783c
mov rsi, qword [rsp + 0x68]
mov edx, 1
mov r10, qword [rsp + 0x58]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
add r12, 0x18
mov r8d, dword [rsp + 0x50]
mov rdi, qword [rbp - 0x58]
mov word [r14 + 0x14], dx
mov r14, qword [rsp + 0x78]
jmp 0x140037641
mov rsi, qword [rsp + 0x68]
mov eax, 0xf248
mov r10, qword [rsp + 0x58]
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 0x14003783c
movsxd rax, dword [r12 + 4]
test eax, eax
je case.0x140037679.89
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r10
test word [rcx + 0x14], ax
je 0x140038515
xor edx, edx
call fcn.14002cc50
mov r10, qword [rsp + 0x58]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x14003783c
mov rdi, qword [rbp - 0x58]
mov eax, 4
mov qword [rcx], r11
add r12, 0x18
mov word [rcx + 0x14], ax
jmp 0x140037641
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 0x1400385ab
mov eax, 0x9000
test word [rsi + 0x14], ax
je 0x140038595
mov rcx, rsi
call fcn.14002c6a0
mov r10, qword [rsp + 0x58]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov rsi, qword [rsp + 0x68]
jmp 0x14003783c
mov rdi, qword [rbp - 0x58]
add r12, 0x18
mov word [rsi + 0x14], dx
mov rsi, qword [rsp + 0x68]
jmp 0x140037641
call fcn.14002c830
mov rcx, rdi
mov rbx, rax
call fcn.14002c830
movzx edx, byte [r12]
mov rcx, rax
cmp dl, 0x66
jne 0x1400385cd
and rbx, rax
jmp 0x14003863c
cmp dl, 0x67
jne 0x1400385d7
or rbx, rcx
jmp 0x14003863c
test rcx, rcx
je 0x14003863c
jns 0x1400385f1
mov eax, 0xd1
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x1400385f7
neg rcx
cmp rcx, 0x40
jl 0x14003860d
test rbx, rbx
jns 0x140038607
cmp dl, 0x68
je 0x140038607
or rbx, 0xffffffffffffffff
jmp 0x14003863c
xor ecx, ecx
mov ebx, ecx
jmp 0x14003863c
cmp dl, 0x68
jne 0x14003861a
shl rbx, cl
mov r8, rbx
jmp 0x140038639
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x140038639
or rdx, 0xffffffffffffffff
mov eax, 0x40
sub al, cl
movzx ecx, al
shl rdx, cl
or r8, rdx
mov rbx, r8
mov r10, qword [rsp + 0x58]
mov eax, 0xf244
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov qword [rsi], rbx
and word [rsi + 0x14], ax
or word [rsi + 0x14], 4
mov rsi, qword [rsp + 0x68]
xor r11d, r11d
jmp 0x14003783c
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, r10
mov rcx, rbx
call fcn.14002c900
movsxd rax, dword [r12 + 8]
add qword [rbx], rax
mov r10, qword [rsp + 0x58]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x14003783c
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, r10
movzx eax, word [rbx + 0x14]
test al, 4
jne 0x1400386f8
test al, 0x28
jne 0x1400386cc
test al, 2
je 0x1400386d9
mov rcx, rbx
call fcn.1400371f0
mov r10, qword [rsp + 0x58]
xor r11d, r11d
jmp 0x1400386d4
mov rcx, rbx
call fcn.14002c890
mov edx, 1
movzx eax, word [rbx + 0x14]
test al, 4
jne 0x1400386f8
cmp dword [r12 + 8], 0
jne 0x14003923d
mov r13d, SafeArrayAccessData
jmp 0x14003a303
movzx r9d, byte [rsp + 0x40]
mov ecx, 0xf244
mov r8d, dword [rsp + 0x50]
and ax, cx
mov rdi, qword [rbp - 0x58]
or ax, 4
mov word [rbx + 0x14], ax
add r12, 0x18
jmp 0x140037641
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, r10
test byte [rcx + 0x14], 0x24
je case.0x140037679.89
call fcn.14002c960
mov r10, qword [rsp + 0x58]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x14003783c
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, r10
test word [rbx + 0x14], ax
je 0x14003877d
mov rcx, rbx
call fcn.14002c3a0
mov r13d, eax
test eax, eax
jne 0x14003a303
movzx r8d, byte [rsp + 0x40]
mov rcx, rbx
movzx edx, byte [r12 + 8]
call fcn.14002cac0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003a303
mov r10, qword [rsp + 0x58]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x14003783c
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 0x140038896
mov rax, qword [r14]
mov edx, 1
mov rcx, qword [r15]
mov r14, qword [rsp + 0x78]
cmp rax, rcx
lea rcx, [0x140000000]
jle 0x140038837
cmp byte [rbx + rcx + 0x222768], 0
jne 0x14003923d
mov r15, qword [rsp + 0x70]
mov r8d, edx
mov rsi, qword [rsp + 0x68]
add r12, 0x18
mov rdi, qword [rbp - 0x58]
mov dword [rsp + 0x50], edx
jmp 0x140037641
jge 0x140038869
cmp byte [rbx + rcx + 0x22275c], 0
jne 0x14003923d
mov r15, qword [rsp + 0x70]
or rax, 0xffffffffffffffff
mov rsi, qword [rsp + 0x68]
mov r8d, eax
mov rdi, qword [rbp - 0x58]
add r12, 0x18
mov dword [rsp + 0x50], eax
jmp 0x140037641
cmp byte [rbx + rcx + 0x222762], 0
jne 0x14003923d
mov r15, qword [rsp + 0x70]
mov r8d, r11d
mov rsi, qword [rsp + 0x68]
add r12, 0x18
mov rdi, qword [rbp - 0x58]
mov dword [rsp + 0x50], r11d
jmp 0x140037641
movzx ecx, di
or cx, si
test cl, 1
je 0x140038916
movzx eax, word [r12 + 2]
test al, al
jns 0x1400388e6
test dl, 1
je 0x1400388c7
mov eax, 0x100
test ax, di
jne 0x1400388c7
mov r8d, r11d
mov dword [rsp + 0x50], r11d
jmp 0x140038a08
test dil, 1
mov rax, 0xffffffffffffffff
mov r8d, 1
cmovne r8d, eax
mov dword [rsp + 0x50], r8d
jmp 0x1400389eb
mov r14, qword [rsp + 0x78]
mov edx, 1
test al, 0x10
jne 0x14003923d
mov r15, qword [rsp + 0x70]
mov r8d, edx
mov rsi, qword [rsp + 0x68]
add r12, 0x18
mov rdi, qword [rbp - 0x58]
mov dword [rsp + 0x50], edx
jmp 0x140037641
movzx eax, byte [r12 + 2]
and al, 0x47
cmp al, 0x43
jb 0x14003895a
test cl, 2
je 0x1400389cc
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x140038944
xor edx, edx
mov rcx, r15
call fcn.1400371f0
movzx edi, word [r14 + 0x14]
movzx eax, dil
and al, 0x2e
cmp al, 2
jne 0x1400389cc
xor edx, edx
mov rcx, r14
call fcn.1400371f0
jmp 0x1400389cc
cmp al, 0x42
jne 0x1400389cc
test cl, 2
je 0x1400389cc
test sil, 2
jne 0x14003899e
test sil, 0x2c
je 0x14003899e
mov r8b, 1
movzx edx, r9b
mov rcx, r15
call fcn.14002c400
xor si, word [r15 + 0x14]
mov ebx, 0xdbf
and si, bx
xor si, word [r15 + 0x14]
cmp r15, r14
jne 0x1400389a3
movzx edi, si
or di, 2
jmp 0x1400389a3
mov ebx, 0xdbf
test dil, 2
jne 0x1400389cc
test dil, 0x2c
je 0x1400389cc
movzx edx, byte [rsp + 0x40]
mov r8b, 1
mov rcx, r14
call fcn.14002c400
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.140032990
mov r10, qword [rsp + 0x58]
mov r8d, eax
mov dword [rsp + 0x50], eax
xor r11d, r11d
test r8d, r8d
jns 0x140038a06
movzx eax, byte [r12]
lea rcx, [0x140000000]
movzx ecx, byte [rax + rcx + 0x22275c]
jmp 0x140038a32
jne 0x140038a1e
movzx eax, byte [r12]
lea rcx, [0x140000000]
movzx ecx, byte [rax + rcx + 0x222762]
jmp 0x140038a32
movzx eax, byte [r12]
lea rcx, [0x140000000]
movzx ecx, byte [rax + rcx + 0x222768]
mov word [r14 + 0x14], di
mov edx, 1
mov r14, qword [rsp + 0x78]
mov word [r15 + 0x14], si
test cl, cl
jne 0x14003923d
mov r15, qword [rsp + 0x70]
add r12, 0x18
mov rsi, qword [rsp + 0x68]
movzx r9d, byte [rsp + 0x40]
mov rdi, qword [rbp - 0x58]
jmp 0x140037641
test r8d, r8d
je 0x14003923d
mov rdi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140037641
mov r13, qword [rsp + 0x48]
test byte [r13 + 2], 1
jne 0x140038a92
mov r12, r11
jmp 0x140038a9a
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 - 0x50], rax
mov dword [rbp - 0x68], r8d
mov dword [rbp - 0x80], ecx
test r13, r13
jle 0x14003e6f5
lea r15, [rax + 0x20]
test r12, r12
je 0x140038ad3
mov edi, dword [r12 + rbx*4]
jmp 0x140038ad6
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.140032990
mov r10, qword [rsp + 0x58]
mov r8d, eax
mov dword [rsp + 0x50], eax
test eax, eax
mov rax, qword [rbp - 0x50]
jne 0x140038b53
mov r8d, dword [rbp - 0x68]
inc r14d
mov ecx, dword [rbp - 0x80]
inc rbx
add r15, 8
cmp rbx, r13
jl 0x140038ac8
mov r13d, dword [rsp + 0x54]
xor r11d, r11d
mov r15, qword [rsp + 0x70]
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x68]
mov r14, qword [rsp + 0x78]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x14003783c
mov rax, qword [rax + 0x18]
test byte [rbx + rax], 2
je 0x140038b87
mov ecx, dword [rbp - 0x68]
add ecx, edi
imul rax, rcx, 0x38
test byte [rax + r10 + 0x14], 1
jne 0x140038b7f
mov ecx, dword [rbp - 0x80]
add ecx, edi
imul rax, rcx, 0x38
test byte [rax + r10 + 0x14], 1
je 0x140038b87
neg r8d
mov dword [rsp + 0x50], r8d
mov r13d, dword [rsp + 0x54]
mov r15, qword [rsp + 0x70]
mov r12, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x78]
test esi, esi
je 0x14003e3e5
mov rsi, qword [rsp + 0x68]
neg r8d
mov dword [rsp + 0x50], r8d
xor r11d, r11d
jmp 0x14003783c
test r8d, r8d
jns 0x140038be1
mov eax, dword [r12 + 4]
mov rdi, qword [rbp - 0x58]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [r14 + rcx*8]
add r12, 0x18
jmp 0x140037641
jne 0x140038c01
mov eax, dword [r12 + 8]
mov rdi, qword [rbp - 0x58]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [r14 + rcx*8]
add r12, 0x18
jmp 0x140037641
mov eax, dword [r12 + 0xc]
mov rdi, qword [rbp - 0x58]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r12, [r14 + rcx*8]
add r12, 0x18
jmp 0x140037641
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, r10
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x140038c3f
cmp qword [rcx], 0
mov ebx, r11d
setne bl
jmp 0x140038c78
test al, 1
je 0x140038c4a
mov ebx, 2
jmp 0x140038c78
test al, 8
je 0x140038c54
movsd xmm0, qword [rcx]
jmp 0x140038c69
test al, 0x12
je 0x140038c75
call fcn.14002c860
mov r10, qword [rsp + 0x58]
xor r11d, r11d
lea edx, [r11 + 1]
ucomisd xmm0, xmm6
jp 0x140038c71
je 0x140038c75
mov ebx, edx
jmp 0x140038c78
mov ebx, r11d
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
add rcx, r10
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x140038c98
cmp qword [rcx], 0
mov eax, r11d
setne al
jmp 0x140038cce
test al, 1
je 0x140038ca3
mov eax, 2
jmp 0x140038cce
test al, 8
je 0x140038cad
movsd xmm0, qword [rcx]
jmp 0x140038cbb
test al, 0x12
je 0x140038cca
call fcn.14002c860
mov r10, qword [rsp + 0x58]
ucomisd xmm0, xmm6
jp 0x140038cc3
je 0x140038cca
mov eax, 1
jmp 0x140038cce
xor ecx, ecx
mov eax, ecx
lea eax, [rax + rbx*2]
add ebx, eax
lea rcx, [0x140000000]
cmp byte [r12], 0x2c
jne 0x140038ceb
movzx ecx, byte [rbx + rcx + 0x2256f8]
jmp 0x140038cf3
movzx ecx, byte [rbx + rcx + 0x226878]
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 0x140038d28
mov eax, 0xf241
and word [rcx + 0x14], ax
or word [rcx + 0x14], 1
xor r11d, r11d
jmp 0x14003783c
mov qword [rcx], rdx
mov eax, 0xf244
and word [rcx + 0x14], ax
or word [rcx + 0x14], 4
xor r11d, r11d
jmp 0x14003783c
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, r10
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x140038d61
cmp qword [rcx], 0
mov eax, r11d
setne al
jmp 0x140038d9a
test al, 1
je 0x140038d6c
mov eax, dword [r12 + 0xc]
jmp 0x140038d9a
test al, 8
je 0x140038d76
movsd xmm0, qword [rcx]
jmp 0x140038d8b
test al, 0x12
je 0x140038d97
call fcn.14002c860
mov r10, qword [rsp + 0x58]
xor r11d, r11d
lea edx, [r11 + 1]
ucomisd xmm0, xmm6
jp 0x140038d93
je 0x140038d97
mov eax, edx
jmp 0x140038d9a
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 0x140038dd8
call fcn.14002cc50
mov r10, qword [rsp + 0x58]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x14003783c
movzx r9d, byte [rsp + 0x40]
mov eax, 4
mov qword [rcx], rdx
mov word [rcx + 0x14], ax
jmp 0x140037837
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 0x140038e88
test al, 0x24
je 0x140038e22
cmp qword [rcx], 0
mov eax, r11d
setne al
jmp 0x140038e50
test al, 8
je 0x140038e2c
movsd xmm0, qword [rcx]
jmp 0x140038e41
test al, 0x12
je 0x140038e4d
call fcn.14002c860
mov r10, qword [rsp + 0x58]
xor r11d, r11d
lea edx, [r11 + 1]
ucomisd xmm0, xmm6
jp 0x140038e49
je 0x140038e4d
mov eax, edx
jmp 0x140038e50
mov eax, r11d
movsxd rcx, eax
mov eax, 0x9000
xor rcx, 1
test word [rbx + 0x14], ax
je 0x140038e72
mov rdx, rcx
mov rcx, rbx
call fcn.14002cc50
jmp 0x140037e5a
mov r12, qword [rsp + 0x48]
mov eax, 4
mov qword [rbx], rcx
mov word [rbx + 0x14], ax
jmp 0x14003788d
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x140038ea0
mov rcx, rbx
call fcn.14002c6a0
jmp 0x140037e5a
mov r12, qword [rsp + 0x48]
mov rdi, qword [rbp - 0x58]
add r12, 0x18
mov word [rbx + 0x14], dx
jmp 0x140037641
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 0x140038eee
mov rcx, rbx
call fcn.14002c6a0
mov r10, qword [rsp + 0x58]
xor r11d, r11d
jmp 0x140038ef2
mov word [rbx + 0x14], dx
test byte [rdi + 0x14], 1
jne 0x14003e49d
mov eax, 4
mov rcx, rdi
mov word [rbx + 0x14], ax
call fcn.14002c830
not rax
mov qword [rbx], rax
jmp 0x140037e5a
mov r8, qword [rsi + 0x108]
test r8, r8
je 0x140038f72
mov r9, qword [r8 + 0x28]
mov rcx, r12
sub rcx, qword [rsi + 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 0x140039238
bts eax, edx
mov edx, 1
mov byte [rcx + r9], al
jmp 0x140038f87
mov rcx, qword [rsi + 0x88]
mov eax, dword [r12 + 4]
cmp dword [rcx + 4], eax
je 0x14003923d
mov rax, qword [rsi + 0x88]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov rdi, qword [rbp - 0x58]
mov ecx, dword [rax + 4]
mov dword [r12 + 4], ecx
add r12, 0x18
jmp 0x140037641
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, r10
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x140038fce
cmp qword [rcx], 0
mov eax, r11d
setne al
jmp 0x140038fd7
test al, 1
je 0x140038fec
mov eax, dword [r12 + 0xc]
test eax, eax
jne 0x14003923d
mov rdi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140037641
test al, 8
je 0x140038ff6
movsd xmm0, qword [rcx]
jmp 0x14003900f
test al, 0x12
je case.0x140037679.89
call fcn.14002c860
mov r10, qword [rsp + 0x58]
xor r11d, r11d
lea edx, [r11 + 1]
ucomisd xmm0, xmm6
jp 0x14003923d
jne 0x14003923d
jmp 0x14003788d
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, r10
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x140039044
cmp qword [rcx], 0
mov eax, r11d
setne al
jmp 0x140039054
test al, 1
je 0x140039069
cmp dword [r12 + 0xc], 0
mov eax, r11d
sete al
test eax, eax
je 0x14003923d
mov rdi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140037641
test al, 8
je 0x140039073
movsd xmm0, qword [rcx]
jmp 0x14003908c
test al, 0x12
je 0x14003923d
call fcn.14002c860
mov r10, qword [rsp + 0x58]
xor r11d, r11d
lea edx, [r11 + 1]
ucomisd xmm0, xmm6
jp 0x14003788d
jne 0x14003788d
jmp 0x14003923d
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + r10 + 0x14], 1
jne 0x14003923d
mov rdi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140037641
mov rcx, qword [rsp + 0x48]
mov r12, rcx
movsxd rax, dword [rcx + 4]
test eax, eax
js 0x140039127
mov rcx, rax
mov rax, qword [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
movsxd rcx, dword [r12 + 0xc]
movzx eax, word [rdx + 0x4a]
cmp ecx, eax
jge 0x14003911b
mov ecx, dword [rdx + rcx*4 + 0x70]
cmp ecx, 0xc
jb 0x140039107
test cl, 1
mov edx, 4
mov eax, 8
cmove dx, ax
jmp 0x14003914c
mov rax, rcx
lea rcx, [0x140000000]
movzx edx, byte [rax + rcx + 0x221b40]
jmp 0x14003914c
mov ecx, dword [r12 + 0x10]
mov edx, 1
jmp 0x140039147
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 + 0x2257c0]
dec ecx
shl dx, cl
test word [r12 + 2], dx
mov edx, 1
jne 0x14003923d
mov rdi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140037641
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + r10 + 0x14], 1
jne 0x140039196
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r10 + 0x14], 1
jne 0x140039196
movsxd rax, dword [r12 + 8]
jmp 0x1400384e4
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r10
test word [rcx + 0x14], ax
je 0x1400391ca
call fcn.14002c6a0
mov r10, qword [rsp + 0x58]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x14003783c
mov rdi, qword [rbp - 0x58]
add r12, 0x18
mov word [rcx + 0x14], dx
jmp 0x140037641
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + r10 + 0x14], 1
je 0x14003923d
mov rdi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140037641
movsxd rcx, dword [r12 + 4]
mov rax, qword [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x14003783c
cmp byte [rdx + 2], 0
je 0x14003783c
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r10
test word [rcx + 0x14], ax
je 0x14003925d
call fcn.14002c6a0
xor r11d, r11d
mov edx, 1
mov eax, dword [r12 + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea r15, [r14 + rcx*8]
mov qword [rsp + 0x48], r15
mov r15, qword [rsp + 0x70]
jmp 0x140037b71
mov edx, 1
mov word [rcx + 0x14], dx
jmp 0x14003923d
movsxd rcx, dword [r12 + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x48]
mov r14d, dword [rcx + 8]
mov dword [rbp - 0x80], r14d
nop dword [rax]
nop word [rax + rax]
mov r13, qword [rbx + 0x58]
mov eax, dword [rsi + 0x2c]
mov qword [rbp - 0x70], r13
cmp dword [rbx + 0x20], eax
je 0x1400392d9
cmp byte [rbx + 2], 0
jne 0x140039358
cmp byte [rbx + 3], 0
mov rdi, qword [rbx + 0x30]
je 0x1400392d2
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x1400392fe
lea eax, [r14 + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x1400392fe
mov rbx, qword [rbx + 0x28]
lea r14d, [rax - 1]
jmp 0x14003927e
cmp byte [rdi], 0
je 0x140039312
jmp 0x1400392e6
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x140039458
mov rcx, rbx
call fcn.140032190
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x140039290
jmp 0x14003a303
mov rcx, rbx
call fcn.140032120
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x14003edf6
mov rcx, rdi
call fcn.1400224f0
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 0x14003934c
test edx, edx
mov ecx, edx
mov r11d, 0
cmovs ecx, r11d
mov dword [rbx + 0x6c], ecx
mov rax, qword [rdi + 0x38]
jmp 0x140039386
mov dword [rbx + 0x6c], ecx
xor r11d, r11d
mov rax, qword [rdi + 0x38]
jmp 0x140039386
cmp byte [rbx], 3
jne 0x1400393fa
movsxd rax, dword [rbx + 0x24]
test eax, eax
jle 0x1400393fa
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x58]
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 [rsi + 0x2c]
mov dword [rbx + 0x20], eax
mov rax, qword [rbx + 0x60]
movzx ecx, byte [rax]
mov dword [r13], ecx
cmp ecx, 0x80
jae 0x1400393ad
mov ecx, 1
mov dword [rbx + 0x40], ecx
jmp 0x1400393c2
mov rcx, qword [rbx + 0x60]
mov rdx, r13
call fcn.14000b870
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 0x1400393f1
mov qword [rbx + 0x60], r11
mov dword [rbx + 0x6c], r11d
mov eax, dword [r13]
cmp eax, 0x18003
ja 0x140039605
cmp eax, dword [rbx + 0x68]
jbe 0x14003945b
jmp 0x140039605
mov rax, qword [rbx + 0x60]
jmp 0x14003950c
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x58]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r10
test word [rcx + 0x14], ax
je 0x14003942a
call fcn.14002c6a0
mov r13d, dword [rsp + 0x54]
jmp 0x14003844f
mov r13d, dword [rsp + 0x54]
mov edx, 1
movzx r9d, byte [rsp + 0x40]
xor r11d, r11d
mov r8d, dword [rsp + 0x50]
add r12, 0x18
mov r14, qword [rsp + 0x78]
mov rdi, qword [rbp - 0x58]
mov word [rcx + 0x14], dx
jmp 0x140037641
xor r11d, r11d
movzx eax, word [rbx + 0x4a]
cmp eax, r14d
ja 0x140039705
mov eax, dword [r13]
cmp dword [rbx + 0x40], eax
jae 0x1400396ce
mov rax, qword [rbx + 0x60]
mov qword [rbp - 0x60], rax
test rax, rax
jne 0x140039510
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rax
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 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 0x1400394ce
test edx, edx
mov ecx, edx
cmovs ecx, r11d
mov rax, qword [r10 + 0x38]
mov qword [rbp - 0x60], rax
mov qword [rbp + 0x18], rax
cmp r8d, ecx
ja 0x1400394ee
mov ecx, 0x4010
mov dword [rbp + 0x20], r8d
mov word [rbp + 0x24], cx
jmp 0x140039510
lea r9, [rbp + 0x10]
xor edx, edx
mov rcx, r10
call fcn.14002d200
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x14003edf6
mov rax, qword [rbp + 0x18]
mov qword [rbp - 0x60], rax
movzx r12d, word [rbx + 0x4a]
mov esi, dword [rbx + 0x40]
mov r14d, r12d
mov rcx, qword [rbp - 0x70]
add rsi, rax
mov r15d, dword [r13 + r12*4]
mov r13d, dword [r13]
add r13, rax
nop
movzx edi, byte [rsi]
mov dword [rbp - 0x3c], edi
mov dword [rbx + r14*4 + 0x70], edi
cmp edi, 0x80
jae 0x140039557
lea rdx, [0x140000000]
inc rsi
movzx eax, byte [rdi + rdx + 0x221d10]
jmp 0x140039593
lea rdx, [rbp - 0x3c]
mov rcx, rsi
call fcn.14000b870
mov edi, dword [rbp - 0x3c]
movzx eax, al
add rsi, rax
mov dword [rbx + r14*4 + 0x70], edi
cmp edi, 0x80
jb 0x140039580
lea eax, [rdi - 0xc]
shr eax, 1
jmp 0x14003958f
lea rcx, [0x140000000]
movzx eax, byte [rdi + rcx + 0x221d10]
mov rcx, qword [rbp - 0x70]
inc r12d
add r15, rax
movsxd r14, r12d
mov dword [rcx + r14*4], r15d
cmp r12d, dword [rbp - 0x80]
ja 0x1400395ad
cmp rsi, r13
jb 0x140039530
jmp 0x1400395b2
cmp rsi, r13
jb 0x1400395bf
cmp rsi, r13
ja 0x1400395c7
mov eax, dword [rbx + 0x68]
cmp r15, rax
jne 0x1400395c7
mov eax, dword [rbx + 0x68]
cmp r15, rax
jbe 0x140039642
cmp dword [rcx], 0
jne 0x1400395d7
xor r11d, r11d
mov rsi, r13
mov r12d, r11d
jmp 0x140039645
cmp qword [rbx + 0x60], 0
jne 0x1400395f8
mov eax, 0x9000
test word [rbp + 0x24], ax
jne 0x1400395ef
cmp dword [rbp + 0x30], 0
je 0x1400395f8
lea rcx, [rbp + 0x10]
call fcn.14002c6f0
mov r15, qword [rsp + 0x70]
xor r11d, r11d
mov rsi, qword [rsp + 0x68]
mov r14, qword [rsp + 0x78]
mov eax, dword [r14 + 0xc]
test eax, eax
jle 0x14003e861
mov r10, qword [rsp + 0x58]
dec eax
movzx r9d, byte [rsp + 0x40]
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r13, [r14 + rax*8]
mov qword [rsp + 0x48], r13
mov r12, qword [rsp + 0x48]
mov r13d, dword [rsp + 0x54]
jmp 0x140037837
xor r11d, r11d
sub esi, dword [rbp - 0x60]
mov edx, 0x9000
mov word [rbx + 0x4a], r12w
mov dword [rbx + 0x40], esi
cmp qword [rbx + 0x60], 0
jne 0x140039679
test word [rbp + 0x24], dx
jne 0x140039668
cmp dword [rbp + 0x30], 0
je 0x140039679
lea rcx, [rbp + 0x10]
call fcn.14002c6f0
xor r11d, r11d
mov edx, 0x9000
mov r13, qword [rbp - 0x70]
mov r14d, dword [rbp - 0x80]
mov r15, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x68]
movzx eax, word [rbx + 0x4a]
cmp eax, r14d
ja 0x14003970c
mov r13, qword [rsp + 0x48]
mov r10, qword [rsp + 0x58]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r10
cmp byte [r13 + 1], 0xf6
jne 0x1400396d8
mov rdx, qword [r13 + 0x10]
mov r8d, 0x2000
call fcn.14002ceb0
mov r13d, dword [rsp + 0x54]
mov r12, qword [rsp + 0x48]
jmp 0x14003844f
mov edi, r11d
mov edx, 0x9000
jmp 0x14003968b
test word [rcx + 0x14], dx
je 0x1400396f2
call fcn.14002c6a0
mov r13d, dword [rsp + 0x54]
mov r12, qword [rsp + 0x48]
jmp 0x14003844f
mov r13d, dword [rsp + 0x54]
mov edx, 1
mov word [rcx + 0x14], dx
jmp 0x14003bb4b
mov eax, r14d
mov edi, dword [rbx + rax*4 + 0x70]
mov rdx, qword [rsp + 0x48]
movsxd rax, dword [rdx + 0xc]
imul rsi, rax, 0x38
mov eax, 0x9000
add rsi, qword [rsp + 0x58]
test word [rsi + 0x14], ax
je 0x140039736
mov rcx, rsi
call fcn.14002c6a0
mov rdx, qword [rsp + 0x48]
lea eax, [r14 + 1]
mov eax, dword [r13 + rax*4]
cmp dword [rbx + 0x6c], eax
jb 0x140039824
mov eax, r14d
mov r15d, dword [r13 + rax*4]
add r15, qword [rbx + 0x60]
cmp edi, 0xc
jae 0x14003977a
mov r8, rsi
mov edx, edi
mov rcx, r15
call fcn.140032290
mov r13d, dword [rsp + 0x54]
mov r15, qword [rsp + 0x70]
mov r12, qword [rsp + 0x48]
jmp 0x14003844a
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 0x1400397c9
mov r12, qword [rsp + 0x70]
cmp r14d, dword [r12 + 0x88]
jg 0x14003ea33
mov eax, 1
xor r8d, r8d
mov rcx, rsi
mov word [rsi + 0x14], ax
call fcn.14002c110
test eax, eax
je 0x1400397d1
mov r15, r12
jmp 0x14003edb1
mov rax, qword [rsi + 0x28]
mov qword [rsi + 8], rax
mov rcx, qword [rsi + 8]
mov rdx, r15
mov r8d, r14d
call fcn.1401a60f0
mov rax, qword [rsi + 8]
mov r13d, dword [rsp + 0x54]
mov r15, qword [rsp + 0x70]
mov r12, qword [rsp + 0x48]
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 + 0x21ff8c]
mov word [rsi + 0x14], ax
jmp 0x14003844a
movzx eax, byte [rsp + 0x40]
mov byte [rsi + 0x16], al
movzx eax, word [rdx + 2]
test al, 0xc0
je 0x140039843
cmp edi, 0xc
jb 0x14003983f
test dil, 1
je 0x14003986b
test al, al
js 0x14003986b
cmp edi, 0x80
jb 0x140039854
lea r8d, [rdi - 0xc]
shr r8d, 1
jmp 0x140039866
mov eax, edi
lea rcx, [0x140000000]
movzx r8d, byte [rax + rcx + 0x221d10]
test r8d, r8d
jne 0x14003988b
mov r8, rsi
lea rcx, [0x140221530]
mov edx, edi
call fcn.140032290
mov r13d, dword [rsp + 0x54]
mov r12, qword [rsp + 0x48]
jmp 0x14003844a
cmp r8d, dword [r15 + 0x88]
jg 0x14003ea36
mov rcx, qword [rbx + 0x30]
mov r9, rsi
mov eax, r14d
mov edx, dword [r13 + rax*4]
call fcn.14002d200
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003a2fe
mov rcx, qword [rsi + 8]
mov r8, rsi
mov edx, edi
call fcn.140032290
mov eax, 0xbfff
and word [rsi + 0x14], ax
mov r12, qword [rsp + 0x48]
jmp 0x14003844a
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 0x14003e709
lea rdi, [r15 + 0x12]
nop dword [rax + rax]
movzx eax, word [rdi]
test al, 0x60
je 0x14003992b
test al, 0x20
jne 0x1400399db
cmp dword [r12 + 0xc], 0
jne 0x1400399d7
movzx edx, byte [rdi - 6]
movzx r8d, r9b
mov rcx, rbx
call fcn.140037270
movzx ecx, word [rbx + 0x14]
test cl, 1
jne 0x1400399d7
mov eax, dword [rdi - 0xa]
shr eax, 4
and eax, 0xf
cmp eax, 2
je 0x1400399ce
jbe 0x1400399d7
cmp eax, 4
jbe 0x1400399c9
cmp eax, 5
je 0x14003996c
cmp eax, 6
jne 0x1400399d7
test cl, 2
jmp 0x1400399d1
test cl, 4
je 0x1400399c4
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x1400399a2
mov eax, 0xfffb
and cx, ax
or cx, 0x20
mov word [rbx + 0x14], cx
jmp 0x1400399d7
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 0x1400399d7
test cl, 0x28
jmp 0x1400399d1
test cl, 4
jmp 0x1400399d1
test cl, 0x10
je 0x14003e873
add rbx, 0x38
movsx eax, word [r14 + 0x36]
inc esi
movzx r9d, byte [rsp + 0x40]
add rdi, 0x18
cmp esi, eax
jl 0x140039910
mov r15, qword [rsp + 0x70]
jmp 0x14003844a
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]
nop word [rax + rax]
movzx edx, byte [rdi]
movzx r8d, r9b
mov rcx, rbx
call fcn.140037270
cmp byte [rdi], 0x45
jne 0x140039a8e
movzx ecx, word [rbx + 0x14]
test cl, 4
je 0x140039a8e
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x140039a6e
mov eax, 0xfffb
and cx, ax
or cx, 0x20
mov word [rbx + 0x14], cx
jmp 0x140039a8e
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 0x14003e481
add rbx, 0x38
jmp 0x140039a20
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 - 0x50], rsi
mov qword [rbp - 0x48], rcx
test rdi, rdi
je 0x140039b40
lea rbx, [r11 + 0x14]
mov esi, 0xfffb
nop dword [rax]
movzx edx, byte [rdi]
lea rcx, [rbx - 0x14]
movzx r8d, r9b
call fcn.140037270
cmp byte [rdi], 0x45
jne 0x140039b26
movzx eax, word [rbx]
test al, 4
je 0x140039b26
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 0x140039b00
mov r11, qword [rbp - 0x70]
mov rsi, qword [rbp - 0x50]
lea rbx, [rsi + 0x24]
movzx edx, word [rbx - 0x10]
test dl, 1
je 0x140039b69
mov r14d, 0x400
and dx, r14w
neg dx
sbb eax, eax
and eax, 0xa
mov dword [rbx], eax
inc r12d
jmp 0x140039cfb
test dl, 0x24
je 0x140039c6e
mov r8, qword [rbx - 0x24]
mov rcx, r8
test r8, r8
jns 0x140039b81
not rcx
inc r12d
cmp rcx, 0x7f
ja 0x140039bc2
mov rax, r8
and eax, 1
cmp rax, r8
jne 0x140039bad
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0xc3], 4
jb 0x140039bad
lea eax, [rcx + 8]
mov dword [rbx], eax
jmp 0x140039cf5
mov ecx, 1
inc r15
mov dword [rbx], ecx
mov r14d, 0x400
jmp 0x140039d00
cmp rcx, 0x7fff
ja 0x140039bda
add r15, 2
mov dword [rbx], 2
jmp 0x140039cf5
cmp rcx, 0x7fffff
ja 0x140039bf2
add r15, 3
mov dword [rbx], 3
jmp 0x140039cf5
cmp rcx, 0x7fffffff
ja 0x140039c0b
mov eax, 4
add r15, 4
mov dword [rbx], eax
jmp 0x140039cf5
movabs rax, 0x7fffffffffff
cmp rcx, rax
ja 0x140039c29
add r15, 6
mov dword [rbx], 5
jmp 0x140039cf5
add r15, 8
mov ecx, 1
mov r14d, 0x400
test dl, 0x20
je 0x140039c63
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 0x140039d00
mov dword [rbx], 6
jmp 0x140039d00
test dl, 8
je 0x140039c82
inc r12d
mov dword [rbx], 7
add r15, 8
jmp 0x140039cf5
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 0x140039cc7
movsxd rax, dword [rbx - 0x24]
lea r14d, [r14 + rax*2]
test r15, r15
je 0x140039cc4
lea rcx, [rbx - 0x24]
call fcn.14002c3a0
test eax, eax
jne 0x14003edac
add esi, dword [rbx - 0x24]
jmp 0x140039cc7
add r13, rax
mov eax, esi
mov ecx, 1
add r15, rax
mov eax, r14d
shr rax, 7
test rax, rax
je 0x140039ceb
nop dword [rax]
inc ecx
shr rax, 7
test rax, rax
jne 0x140039ce0
mov r11, qword [rbp - 0x70]
add r12d, ecx
mov dword [rbx], r14d
mov r14d, 0x400
mov ecx, 1
lea rax, [rbx - 0x24]
cmp rax, r11
je 0x140039d12
sub rbx, 0x38
jmp 0x140039b44
cmp r12d, 0x7e
jle 0x140039d5f
movsxd rax, r12d
mov edx, ecx
shr rax, 7
test rax, rax
je 0x140039d3b
nop word [rax + rax]
inc edx
shr rax, 7
test rax, rax
jne 0x140039d30
add r12d, edx
movsxd rax, r12d
shr rax, 7
test rax, rax
je 0x140039d5b
nop word [rax + rax]
inc ecx
shr rax, 7
test rax, rax
jne 0x140039d50
cmp edx, ecx
jge 0x140039d62
inc r12d
mov rsi, qword [rbp - 0x48]
movsxd rdi, r12d
movsxd rdx, dword [rsi + 0x20]
lea rbx, [r15 + rdi]
mov r15, qword [rsp + 0x70]
lea rcx, [rbx + r13]
cmp rcx, rdx
jg 0x140039d89
mov rax, qword [rsi + 0x28]
mov qword [rsi + 8], rax
jmp 0x140039dc5
movsxd rax, dword [r15 + 0x88]
cmp rcx, rax
jg 0x14003ea36
cmp edx, ebx
jge 0x140039db8
xor r8d, r8d
mov edx, ebx
mov rcx, rsi
call fcn.14002c110
test eax, eax
jne 0x14003edb1
mov r11, qword [rbp - 0x70]
jmp 0x140039dc5
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 0x140039dde
mov dword [rsi], r13d
or word [rsi + 0x14], r14w
mov rsi, qword [rsi + 8]
lea r14, [rdi + rsi]
cmp r12d, 0x80
jge 0x140039df9
mov byte [rsi], r12b
mov eax, 1
jmp 0x140039e06
mov rdx, rdi
mov rcx, rsi
call fcn.14000b670
cdqe
mov rdi, qword [rbp - 0x50]
lea rbx, [r11 + 0x10]
add rsi, rax
mov eax, dword [rbx + 0x14]
cmp eax, 7
ja 0x140039e65
mov byte [rsi], al
inc rsi
test eax, eax
je 0x140039eac
mov rdx, qword [rbx - 0x10]
lea rcx, [0x140000000]
movzx ecx, byte [rax + rcx + 0x221d10]
or r10d, 0xffffffff
mov r9d, ecx
add ecx, r10d
lea r8, [rcx + r14]
mov byte [r8], dl
je 0x140039e60
nop dword [rax]
shr rdx, 8
lea r8, [r8 - 1]
mov byte [r8], dl
add ecx, r10d
jne 0x140039e50
add r14, r9
jmp 0x140039eac
cmp eax, 0x80
jae 0x140039e7f
mov byte [rsi], al
inc rsi
cmp eax, 0xe
jb 0x140039eac
movsxd rax, dword [rbx]
test eax, eax
jle 0x140039eac
jmp 0x140039e97
mov rdx, rax
mov rcx, rsi
call fcn.14000b670
movsxd rcx, eax
movsxd rax, dword [rbx]
add rsi, rcx
test eax, eax
je 0x140039eac
mov rdx, qword [rbx - 8]
mov r8, rax
mov rcx, r14
call fcn.1401a60f0
movsxd rax, dword [rbx]
add r14, rax
lea rax, [rbx - 0x10]
cmp rax, rdi
je 0x14003e3c6
add rbx, 0x38
jmp 0x140039e11
mov rbx, qword [rsp + 0x48]
mov rax, qword [rsi + 0x78]
cmp dword [rbx + 0xc], 0
movsxd rcx, dword [rbx + 4]
mov rcx, qword [rax + rcx*8]
mov r9, qword [rcx + 0x30]
je 0x140039f2f
cmp byte [r9], 0
je 0x140039ee9
or rbx, 0xffffffffffffffff
jmp 0x140039f55
mov rax, qword [r9 + 0x88]
cmp byte [rax + 8], 0
jne 0x140039efc
or rbx, 0xffffffffffffffff
jmp 0x140039f55
movsx r8d, byte [r9 + 0x54]
xor dl, dl
movzx ebx, word [rax + 0x18]
test r8d, r8d
jle 0x140039f55
nop dword [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 0x140039f10
jmp 0x140039f55
lea r8, [rbp - 0x48]
mov qword [rbp - 0x48], r11
mov rdx, r9
mov rcx, r15
call fcn.1400298d0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003ee1a
mov rbx, qword [rbp - 0x48]
mov r12, qword [rsp + 0x48]
mov ecx, 0x9000
movsxd rax, dword [r12 + 8]
imul rax, rax, 0x38
add rax, qword [rsi + 0x68]
test word [rax + 0x14], cx
je 0x140039f88
mov rcx, rax
call fcn.140037420
movzx r9d, byte [rsp + 0x40]
mov qword [rax], rbx
jmp 0x14003c037
movzx r9d, byte [rsp + 0x40]
mov ecx, 4
mov word [rax + 0x14], cx
mov qword [rax], rbx
jmp 0x14003c037
mov rax, qword [rsp + 0x48]
mov r14d, dword [rax + 4]
mov rdi, qword [rax + 0x10]
mov dword [rbp - 0x60], r14d
test r14d, r14d
jne 0x14003a07f
cmp dword [r15 + 0xe0], r14d
jg 0x14003e8ed
test rdi, rdi
jne 0x140039fd0
mov ebx, r11d
jmp 0x140039fe3
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], 0
jne 0x140039fd4
and ebx, 0x3fffffff
mov r8d, dword [r15 + 0x2f4]
xor edx, edx
add r8d, dword [r15 + 0x2f0]
mov rcx, r15
call fcn.140093ad0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003a303
mov edx, ebx
mov rcx, r15
add rdx, 0x21
call fcn.140006b20
mov rsi, rax
test rax, rax
je 0x14003a334
lea r9, [rax + 0x20]
mov rdx, rdi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rbx + 1]
call fcn.1401a60f0
cmp byte [r15 + 0x65], r13b
je 0x14003a04b
mov byte [r15 + 0x65], r13b
mov byte [r15 + 0x6d], 1
jmp 0x14003a052
inc dword [r15 + 0x2f0]
mov rax, qword [r15 + 0x2e0]
mov qword [rsi + 0x18], rax
mov qword [r15 + 0x2e0], rsi
mov rax, qword [r15 + 0x2f8]
mov qword [rsi + 8], rax
mov rax, qword [r15 + 0x300]
mov qword [rsi + 0x10], rax
jmp 0x14003a334
mov rsi, qword [r15 + 0x2e0]
mov r12d, r11d
test rsi, rsi
je 0x14003a0ab
nop
mov rcx, qword [rsi]
mov rdx, rdi
call fcn.14000a990
test eax, eax
je 0x14003a0cd
mov rsi, qword [rsi + 0x18]
inc r12d
test rsi, rsi
jne 0x14003a090
mov rsi, qword [rsp + 0x68]
lea rdx, str.no_such_savepoint:__s
mov rcx, rsi
mov r8, rdi
call fcn.14002dbd0
mov r13d, 1
jmp 0x14003a303
cmp dword [r15 + 0xe0], 0
jle 0x14003a0e1
cmp r14d, 1
je 0x14003e907
cmp qword [rsi + 0x18], 0
jne 0x14003a14f
cmp byte [r15 + 0x6d], 0
je 0x14003a14f
mov edi, 1
mov r13d, edi
cmp r14d, edi
jne 0x14003a152
mov rbx, qword [rsp + 0x68]
mov rax, qword [rbx]
mov rcx, qword [rax + 0x300]
add rcx, qword [rax + 0x2f8]
test rcx, rcx
mov rcx, rbx
jg 0x14003e96d
mov byte [r15 + 0x65], dil
call fcn.140031700
cmp eax, 5
je 0x14003e926
mov eax, dword [rbx + 0x34]
mov dword [rsp + 0x54], eax
test eax, eax
je 0x14003a145
mov byte [r15 + 0x65], 0
jmp 0x14003a258
mov byte [r15 + 0x6d], 0
jmp 0x14003a260
mov r13d, r11d
mov eax, dword [r15 + 0x2f0]
mov rcx, qword [rsp + 0x70]
sub eax, r12d
lea r12d, [rax - 1]
cmp r14d, 2
jne 0x14003a1cb
mov r15d, dword [r15 + 0x2c]
mov edi, r11d
and r15d, 1
cmp dword [rcx + 0x28], 0
jle 0x14003a1ce
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.140021f70
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x14003eddd
mov rcx, qword [rsp + 0x70]
inc edi
add rbx, 0x20
cmp edi, dword [rcx + 0x28]
jl 0x14003a190
mov r14d, dword [rbp - 0x60]
xor r11d, r11d
jmp 0x14003a1d2
mov r15d, r11d
mov eax, dword [rsp + 0x54]
cmp dword [rcx + 0x28], 0
mov edi, r11d
jle 0x14003a210
mov rbx, r11
nop
mov rcx, qword [rcx + 0x20]
mov r8d, r12d
mov edx, r14d
mov rcx, qword [rcx + rbx + 8]
call fcn.140022200
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x14003eddd
mov rcx, qword [rsp + 0x70]
inc edi
add rbx, 0x20
cmp edi, dword [rcx + 0x28]
jl 0x14003a1e0
test r15d, r15d
mov r15, qword [rsp + 0x70]
je 0x14003a258
mov rax, qword [r15 + 8]
test rax, rax
je 0x14003a247
nop dword [rax]
nop word [rax + rax]
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14003a230
mov rcx, r15
call fcn.14005b030
or dword [r15 + 0x2c], 1
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x14003edec
cmp qword [r15 + 0x2e0], rsi
je 0x14003a29a
nop dword [rax]
mov rdx, qword [r15 + 0x2e0]
mov rcx, r15
mov rax, qword [rdx + 0x18]
mov qword [r15 + 0x2e0], rax
call fcn.1400067b0
dec dword [r15 + 0x2f0]
cmp qword [r15 + 0x2e0], rsi
jne 0x14003a270
cmp r14d, 1
jne 0x14003a2c4
mov rax, qword [rsi + 0x18]
mov rdx, rsi
mov rcx, r15
mov qword [r15 + 0x2e0], rax
call fcn.1400067b0
test r13d, r13d
jne 0x14003a32f
dec dword [r15 + 0x2f0]
jmp 0x14003a2e5
mov rax, qword [rsi + 8]
mov qword [r15 + 0x2f8], rax
mov rax, qword [rsi + 0x10]
mov qword [r15 + 0x300], rax
test r13d, r13d
je 0x14003a2e5
cmp r14d, 2
jne 0x14003a32f
mov r8d, r12d
mov edx, r14d
mov rcx, r15
call fcn.140093ad0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x14003a334
mov rsi, qword [rsp + 0x68]
mov r14, qword [rsp + 0x48]
lea rbx, [0x140000000]
mov edi, SafeArrayDestroy
mov r12, qword [rsp + 0x60]
cmp byte [r15 + 0x67], 0
je 0x14003ee22
mov r13d, 7
jmp 0x14003ee55
mov r13d, dword [rsp + 0x54]
mov rsi, qword [rsp + 0x68]
cmp byte [rsi + 0xc5], 3
je 0x14003e9a7
mov r12, qword [rsp + 0x48]
jmp 0x14003844f
mov rax, qword [rsp + 0x48]
mov dword [rbp - 0x68], r11d
mov edx, dword [rax + 8]
test edx, edx
je 0x14003a374
movabs rcx, 0x200100000
test qword [r15 + 0x30], rcx
jne 0x14003e9bc
movsxd r14, dword [rax + 4]
shl r14, 5
add r14, qword [r15 + 0x20]
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x14003a48a
lea r8, [rbp - 0x68]
mov rcx, rbx
call fcn.140020c60
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003e9e5
test byte [rsi + 0xc8], 0x20
mov r12, qword [rsp + 0x48]
je 0x14003a496
cmp dword [r12 + 8], eax
je 0x14003a496
cmp byte [r15 + 0x65], al
je 0x14003a3d9
cmp dword [r15 + 0xdc], 1
jle 0x14003a496
cmp dword [rsi + 0x40], 0
jne 0x14003a3f7
inc dword [r15 + 0x2f4]
mov ecx, dword [r15 + 0x2f4]
add ecx, dword [r15 + 0x2f0]
mov dword [rsi + 0x40], ecx
mov r8d, dword [rsi + 0x40]
xor edx, edx
dec r8d
mov rcx, r15
call fcn.140093ad0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003a472
mov edi, dword [rsi + 0x40]
mov rsi, qword [rbx + 8]
cmp byte [rbx + 0x11], al
je 0x14003a42f
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], al
jne 0x14003a42f
mov rcx, rbx
call fcn.14001d730
mov rcx, qword [rsi]
cmp edi, dword [rcx + 0x80]
jle 0x14003a450
cmp byte [rcx + 0xa], 0
je 0x14003a450
mov edx, edi
call fcn.140019320
mov r13d, eax
mov dword [rsp + 0x54], eax
jmp 0x14003a459
xor ecx, ecx
mov r13d, ecx
mov dword [rsp + 0x54], ecx
cmp byte [rbx + 0x11], 0
je 0x14003a46d
sub dword [rbx + 0x14], 1
jne 0x14003a46d
mov rcx, rbx
call fcn.14001d6d0
mov rsi, qword [rsp + 0x68]
mov rax, qword [r15 + 0x2f8]
mov qword [rsi + 0x58], rax
mov rax, qword [r15 + 0x300]
mov qword [rsi + 0x60], rax
jmp 0x14003a48d
mov r12, rax
test r13d, r13d
jne 0x14003a303
cmp word [r12 + 2], 0
je 0x14003844f
mov eax, dword [r12 + 0xc]
cmp dword [rbp - 0x68], eax
jne 0x14003a4bf
mov rcx, qword [r14 + 0x18]
mov eax, dword [r12 + 0x10]
cmp dword [rcx + 4], eax
je 0x14003844f
mov rdx, qword [rsi + 0xa8]
mov rcx, r15
call fcn.1400067b0
lea rdx, str.database_schema_has_changed
mov rcx, r15
call fcn.140006e20
mov qword [rsi + 0xa8], rax
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 4]
mov rax, qword [r15 + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp - 0x68]
cmp dword [rcx], eax
je 0x14003a50c
mov rcx, r15
call fcn.14005afb0
mov eax, dword [rsi + 0xc8]
mov r13d, reloc.OLEAUT32.dll_SafeArrayGetElemsize
and eax, 0xffffffed
or eax, 1
mov dword [rsi + 0xc8], eax
jmp 0x14003a303
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov edi, dword [rax + 0xc]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], 0
mov rsi, qword [rbx + 8]
je 0x14003a55d
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14003a55d
mov rcx, rbx
call fcn.14001d730
cmp edi, 0xf
jne 0x14003a570
mov rax, qword [rsi]
mov edi, dword [rbx + 0x1c]
add edi, dword [rax + 0x84]
jmp 0x14003a587
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 0x14003a59b
sub dword [rbx + 0x14], 1
jne 0x14003a59b
mov rcx, rbx
call fcn.14001d6d0
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x68]
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [rsi + 0x68]
test word [rcx + 0x14], ax
je 0x14003a5e3
call fcn.140037420
mov r10, qword [rsp + 0x58]
mov rcx, rax
movzx r9d, byte [rsp + 0x40]
xor r11d, r11d
mov r8d, dword [rsp + 0x50]
movsxd rax, edi
mov qword [rcx], rax
jmp 0x14003783c
mov r10, qword [rsp + 0x58]
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 qword [rcx], rax
jmp 0x14003783c
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 [r15 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.140029830
mov r12, qword [rsp + 0x48]
mov r13d, eax
mov dword [rsp + 0x54], eax
mov eax, dword [r12 + 8]
cmp eax, 1
jne 0x14003a668
movzx eax, word [r12 + 2]
mov ecx, dword [r12 + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
mov rcx, r15
or dword [r15 + 0x2c], 1
mov edx, dword [r12 + 4]
call fcn.14006c3d0
jmp 0x14003a67a
cmp eax, 2
jne 0x14003a67a
mov rcx, qword [rbx + 0x18]
movzx eax, byte [r12 + 0xc]
mov byte [rcx + 0x70], al
cmp dword [r12 + 4], 1
jne 0x14003a6ae
mov rax, qword [r15 + 8]
test rax, rax
je 0x14003a6a7
nop dword [rax + rax]
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14003a690
and dword [rsi + 0xc8], 0xfffffffc
test r13d, r13d
jne 0x14003ea83
mov r10, qword [rsp + 0x58]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x14003783c
movsxd rcx, dword [r12 + 4]
mov rax, qword [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je case.0x140037679.112
mov eax, dword [r12 + 8]
cmp dword [rdx + 0x44], eax
jne case.0x140037679.112
mov rbx, qword [rdx + 0x30]
lea r14, [rdx + 0x30]
mov rcx, qword [rbx + 0x18]
call fcn.140006590
xor ecx, ecx
mov qword [rbx + 0x18], rcx
mov byte [rbx], 1
jmp 0x14003a86b
mov eax, dword [rsi + 0xc8]
and al, 3
cmp al, 1
je 0x14003ea28
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 [r15 + 0x20]
cmp bl, 0x71
mov rbx, qword [rsp + 0x48]
mov rdi, qword [rax + 8]
jne 0x14003a770
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 + 0x68]
cmp cl, byte [rax + 0xc3]
jae 0x14003a773
mov byte [rax + 0xc3], cl
jmp 0x14003a773
mov r15d, r11d
test byte [rbx + 2], 0x10
je 0x14003a793
imul rbx, r12, 0x38
mov rax, r12
add rbx, r10
mov rcx, rbx
call fcn.14002c900
mov r12d, dword [rbx]
mov rbx, qword [rsp + 0x48]
movzx eax, byte [rbx + 1]
cmp al, 0xf8
jne 0x14003a7a6
mov r13, qword [rbx + 0x10]
movzx esi, word [r13 + 8]
jmp 0x14003a7ad
cmp al, 0xfd
jne 0x14003a7ad
mov esi, dword [rbx + 0x10]
mov edx, dword [rbx + 4]
mov r8d, esi
mov rsi, qword [rsp + 0x68]
xor r9d, r9d
mov rcx, rsi
call fcn.140036fa0
mov rbx, rax
test rax, rax
je 0x14003eda5
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 0x14003a82d
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], 0
jne 0x14003a7fd
mov rcx, rdi
call fcn.14001d730
mov r9, r13
mov qword [rsp + 0x20], rsi
mov r8d, r15d
mov edx, r12d
mov rcx, rdi
call fcn.140022300
cmp byte [rdi + 0x11], 0
mov dword [rsp + 0x54], eax
je 0x14003a847
sub dword [rdi + 0x14], 1
jne 0x14003a847
mov rcx, rdi
call fcn.14001d6d0
jmp 0x14003a847
mov r9, r13
mov qword [rsp + 0x20], rsi
mov r8d, r15d
mov edx, r12d
mov rcx, rdi
call fcn.140022300
mov dword [rsp + 0x54], eax
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x68]
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 0x14003a303
jmp 0x14003844f
mov rbx, qword [rsp + 0x48]
xor r9d, r9d
mov rax, qword [rsi + 0x78]
movsxd rcx, dword [rbx + 8]
mov edx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
mov rcx, rsi
movsx r8d, word [rdi + 0x48]
call fcn.140036fa0
mov rbx, rax
test rax, rax
je 0x14003edb6
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 0x14003a95e
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14003a918
mov rcx, rbx
call fcn.14001d730
mov r9, rsi
mov qword [rsp + 0x20], rdi
mov r8d, 4
mov edx, r14d
mov rcx, rbx
call fcn.140022300
cmp byte [rbx + 0x11], 0
mov r13d, eax
mov dword [rsp + 0x54], eax
je 0x1400398d2
sub dword [rbx + 0x14], 1
jne 0x1400398d2
mov rcx, rbx
call fcn.14001d6d0
mov r12, qword [rsp + 0x48]
jmp 0x14003844a
mov r9, rsi
mov qword [rsp + 0x20], rdi
mov r8d, 4
mov edx, r14d
mov rcx, rbx
call fcn.140022300
mov r12, qword [rsp + 0x48]
mov r13d, eax
mov dword [rsp + 0x54], eax
jmp 0x14003844a
mov r13, qword [rsp + 0x48]
movsxd rax, dword [r13 + 0xc]
test eax, eax
jle 0x14003a9b2
imul rcx, rax, 0x38
mov dword [rcx + r10 + 0x10], r11d
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
lea rax, [0x140218ff0]
mov qword [rcx + r10 + 8], rax
movsxd rdx, dword [r13 + 4]
mov rax, qword [rsi + 0x78]
mov rdi, qword [rax + rdx*8]
test rdi, rdi
je 0x14003a9f6
test byte [rdi + 8], 8
jne 0x14003a9f6
movsx eax, word [rdi + 0x48]
cmp dword [r13 + 8], eax
jg 0x14003a9f6
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.140029450
mov r13d, eax
mov dword [rsp + 0x54], eax
jmp 0x14003ac14
mov r8d, dword [r13 + 8]
xor r9d, r9d
mov rcx, rsi
call fcn.140036fa0
mov rdi, rax
test rax, rax
je 0x14003edb6
or dword [rax + 8], 1
lea r9, [rax + 0x10]
movzx ecx, word [r13 + 2]
mov r8, r15
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov dword [rsp + 0x20], ecx
xor edx, edx
mov rcx, qword [r15]
call fcn.14001fa40
mov r13d, eax
test eax, eax
jne 0x14003a303
mov rcx, qword [rdi + 0x10]
lea edx, [rax + 1]
xor r8d, r8d
call fcn.140020c60
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003abe7
mov rax, qword [rsp + 0x48]
mov r15, qword [rax + 0x10]
mov qword [rdi + 0x38], r15
test r15, r15
je 0x14003ab5e
mov rbx, qword [rdi + 0x10]
movzx esi, word [rax + 2]
or esi, 2
cmp byte [rbx + 0x11], r13b
je 0x14003aa9b
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], r13b
jne 0x14003aa9b
mov rcx, rbx
call fcn.14001d730
mov r8d, esi
lea rdx, [rdi + 0x44]
mov rcx, rbx
call fcn.140028df0
cmp byte [rbx + 0x11], 0
mov r13d, eax
mov dword [rsp + 0x54], eax
je 0x14003aac5
sub dword [rbx + 0x14], 1
jne 0x14003aac5
mov rcx, rbx
call fcn.14001d6d0
test r13d, r13d
jne 0x14003ab53
mov rbx, qword [rdi + 0x10]
mov rsi, qword [rdi + 0x30]
mov r14d, dword [rdi + 0x44]
cmp byte [rbx + 0x11], r13b
je 0x14003ab33
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], r13b
jne 0x14003aaf1
mov rcx, rbx
call fcn.14001d730
mov r9, r15
mov qword [rsp + 0x20], rsi
mov r8d, 4
mov edx, r14d
mov rcx, rbx
call fcn.140022300
cmp byte [rbx + 0x11], 0
mov r13d, eax
mov dword [rsp + 0x54], eax
je 0x14003ab53
sub dword [rbx + 0x14], 1
jne 0x14003ab53
mov rcx, rbx
call fcn.14001d6d0
mov r14, qword [rsp + 0x78]
mov byte [rdi + 4], 0
jmp 0x14003abdd
mov r9, r15
mov qword [rsp + 0x20], rsi
mov r8d, 4
mov edx, r14d
mov rcx, rbx
call fcn.140022300
mov r13d, eax
mov dword [rsp + 0x54], eax
mov r14, qword [rsp + 0x78]
mov byte [rdi + 4], 0
jmp 0x14003abdd
mov r15d, 1
mov dword [rdi + 0x44], r15d
mov rbx, qword [rdi + 0x10]
mov rsi, qword [rdi + 0x30]
cmp byte [rbx + 0x11], 0
je 0x14003abbb
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14003ab87
mov rcx, rbx
call fcn.14001d730
xor r9d, r9d
mov qword [rsp + 0x20], rsi
mov edx, r15d
mov rcx, rbx
lea r8d, [r9 + 4]
call fcn.140022300
cmp byte [rbx + 0x11], 0
mov r13d, eax
mov dword [rsp + 0x54], eax
je 0x14003abd9
sub dword [rbx + 0x14], r15d
jne 0x14003abd9
mov rcx, rbx
call fcn.14001d6d0
jmp 0x14003abd9
xor r9d, r9d
mov qword [rsp + 0x20], rsi
mov edx, r15d
mov rcx, rbx
lea r8d, [r9 + 4]
call fcn.140022300
mov r13d, eax
mov dword [rsp + 0x54], eax
mov byte [rdi + 4], r15b
mov rsi, qword [rsp + 0x68]
mov r15, qword [rsp + 0x70]
mov rax, qword [rsp + 0x48]
xor ecx, ecx
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 0x14003ac1d
mov rcx, qword [rdi + 0x10]
call fcn.1400202b0
test r13d, r13d
jne 0x14003a303
mov byte [rdi + 2], 1
jmp 0x140037e5a
mov r13, qword [rsp + 0x48]
mov r9b, 1
mov rcx, rsi
mov r8d, dword [r13 + 8]
mov edx, dword [r13 + 4]
call fcn.140036fa0
test rax, rax
je 0x14003edb6
mov rcx, qword [r13 + 0x10]
mov r8, rax
mov qword [rax + 0x38], rcx
mov rcx, r15
mov edx, dword [r13 + 0xc]
call fcn.140040b50
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003a303
jmp 0x140037e5a
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 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 0x14003923d
mov rdi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140037641
mov rax, qword [rsp + 0x48]
mov r9b, 3
mov rcx, rsi
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.140036fa0
test rax, rax
je 0x14003edb6
mov r12, qword [rsp + 0x48]
xor r11d, r11d
mov r10, qword [rsp + 0x58]
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, [0x1402898a4]
mov byte [rax + 4], 1
mov qword [rax + 0x30], rcx
jmp 0x14003783c
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x14003ad65
movzx ecx, byte [rdx]
test ecx, ecx
je 0x14003ad59
sub ecx, 1
je 0x14003ad4f
cmp ecx, 1
jne 0x14003ad65
mov rdi, qword [rdx + 0x30]
mov rax, qword [rdi]
mov rcx, qword [rax]
dec dword [rax + 8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call qword [fcn.1400059b0]
mov rcx, rdi
call rbx
jmp 0x14003ad62
mov rcx, qword [rsi]
call fcn.140041300
jmp 0x14003ad62
mov rcx, qword [rdx + 0x30]
call fcn.1400223e0
xor r11d, r11d
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov qword [rax + rcx*8], r11
jmp 0x140037837
mov rax, qword [rsp + 0x48]
mov r12d, r11d
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov r15, qword [rax + rcx*8]
mov word [r15 + 2], 0
mov dword [r15 + 0x20], r11d
cmp byte [r15 + 4], 0
je 0x14003aec0
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, r10
movzx esi, word [rdi + 0x14]
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x14003addd
xor edx, edx
mov rcx, rdi
call fcn.1400371f0
mov rcx, rdi
call fcn.14002c830
movzx ecx, word [rdi + 0x14]
mov r14, rax
mov word [rdi + 0x14], si
test cl, 0x24
jne 0x14003ae8b
test cl, 8
jne 0x14003ae65
test cl, 1
jne 0x14003afcc
cmp ebx, 0x17
jae 0x14003afcc
mov rcx, qword [r15 + 0x30]
cmp byte [rcx], 0
jne 0x14003ae48
test byte [rcx + 1], 8
je 0x14003ae48
xor eax, eax
mov dword [rbp - 0x7c], eax
mov r13d, eax
mov dword [rsp + 0x54], eax
mov r15, qword [rsp + 0x48]
test r12d, r12d
lea rax, [r15 + 0x18]
cmove rax, r15
mov r15, qword [rsp + 0x70]
mov r12, rax
jmp 0x14003844a
lea rdx, [rbp - 0x7c]
call fcn.140022ef0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003ede2
jmp 0x14003afc2
movsd xmm1, qword [rdi]
mov rcx, r14
call fcn.140032940
test eax, eax
jle 0x14003ae82
test bl, 1
lea eax, [rbx - 1]
cmovne eax, ebx
mov ebx, eax
jmp 0x14003ae8b
jns 0x14003ae8b
test bl, 1
je 0x14003ae8b
inc ebx
mov rcx, qword [r15 + 0x30]
lea r9, [rbp - 0x7c]
xor r8d, r8d
mov rdx, r14
call fcn.140022f50
mov rsi, qword [rsp + 0x68]
mov r13d, eax
mov dword [rsp + 0x54], eax
mov qword [r15 + 0x50], r14
test eax, eax
jne 0x14003ee00
mov r14, qword [rsp + 0x78]
jmp 0x14003af49
mov rax, qword [r15 + 0x30]
lea r8, [rbp - 0x7c]
mov r13, qword [rsp + 0x48]
movzx edi, byte [rax + 3]
mov rax, qword [r15 + 0x38]
and dil, 2
mov ecx, dword [r13 + 0x10]
mov qword [rbp + 0x140], rax
setne r12b
mov word [rbp + 0x15c], cx
lea eax, [rbx - 1]
test al, 1
mov ecx, 0xffffffff
mov eax, edx
lea rdx, [rbp + 0x140]
cmovne eax, ecx
mov byte [rbp + 0x15e], al
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov byte [rbp + 0x162], 0
add rcx, r10
mov qword [rbp + 0x148], rcx
mov rcx, qword [r15 + 0x30]
call fcn.140023290
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003ee00
test dil, dil
je 0x14003af49
cmp byte [rbp + 0x162], al
je 0x14003afc2
mov eax, dword [rbp - 0x7c]
cmp ebx, 0x17
jl 0x14003afa9
test eax, eax
js 0x14003af66
jne 0x14003af5c
cmp ebx, 0x18
je 0x14003af66
xor ecx, ecx
mov dword [rbp - 0x7c], ecx
jmp 0x14003ae2b
xor ecx, ecx
mov dword [rbp - 0x7c], ecx
mov rcx, qword [r15 + 0x30]
call fcn.140023860
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x14003ae2b
cmp eax, 0x65
jne 0x14003ee00
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 0x14003923d
test eax, eax
jg 0x14003afdb
jne 0x14003afb4
cmp ebx, 0x15
je 0x14003afdb
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 0x14003ae2b
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x78]
jmp 0x140039235
mov rcx, qword [r15 + 0x30]
xor edi, edi
mov dword [rbp - 0x7c], edi
and byte [rcx + 1], 0xf1
mov word [rcx + 0x46], di
cmp byte [rcx], dil
jne 0x14003b01a
movzx edx, word [rcx + 0x56]
test dx, dx
je 0x14003b01a
mov rax, qword [rcx + 0x88]
cmp byte [rax + 8], dil
je 0x14003b01a
dec dx
mov dword [rsp + 0x54], edi
mov word [rcx + 0x56], dx
mov r13d, edi
jmp 0x14003ae2b
call fcn.1400238a0
jmp 0x14003af74
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rcx, dword [rax + 0x1c]
mov rax, qword [rsi + 0x78]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi + 0x30]
cmp byte [rax], 0
jne case.0x140037679.89
mov rax, qword [rdi + 0x38]
mov rcx, r12
mov qword [rbp + 0x1d0], rax
mov byte [rbp + 0x1ee], 0
mov dword [rbp - 0x38], r11d
movzx eax, word [rcx + 0x28]
mov ebx, dword [rcx + 4]
mov word [rbp + 0x1ec], ax
movsxd rax, dword [rcx + 0x24]
imul rcx, rax, 0x38
add rcx, r10
mov qword [rbp + 0x1d8], rcx
lea r9, [rbp - 0x38]
mov rdx, rdi
lea r8, [rbp + 0x1d0]
mov rcx, r15
call fcn.140033950
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003ea83
mov eax, dword [rbp - 0x38]
test eax, eax
jle 0x14003b0b6
cmp word [r12 + 2], r13w
je 0x14003b0f8
test eax, eax
jns 0x140039235
test ebx, ebx
jle 0x14003e42e
xor eax, eax
dec ebx
mov dword [rdi + 0x20], eax
mov rcx, qword [rdi + 0x30]
call fcn.140023860
mov r13d, eax
test eax, eax
je 0x14003b080
cmp eax, 0x65
jne 0x14003ea83
xor r11d, r11d
mov r13d, r11d
mov dword [rsp + 0x54], r11d
add r12, 0x18
jmp 0x140039238
xor r11d, r11d
add r12, 0x18
jmp 0x140039238
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
movzx eax, word [rdx + 0xc]
cmp eax, dword [r12 + 8]
jge 0x14003b134
movzx eax, word [r12 + 8]
mov word [rdx + 0xc], ax
jmp 0x14003783c
cmp eax, dword [r12 + 0xc]
jle 0x14003783c
movzx eax, word [r12 + 0xc]
mov word [rdx + 0xc], ax
jmp 0x14003783c
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je case.0x140037679.9
cmp byte [rdx + 2], 0
jne case.0x140037679.9
mov r12, qword [rsp + 0x48]
jmp 0x14003783c
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [r12 + 0x10]
jge case.0x140037679.89
mov rax, qword [rsi + 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 + 0xe8], rcx
movzx eax, word [r13 + 0x10]
mov word [rbp + 0xfc], ax
test ax, ax
je 0x14003b207
mov rax, qword [rsi + 0x38]
lea rdi, [rsi + 0x24]
mov qword [rbp + 0xe0], rax
lea rdx, [rbp + 0xe0]
mov byte [rbp + 0xfe], 0
mov r8, rdi
mov rcx, qword [rsi + 0x30]
call fcn.140023290
mov r13d, eax
mov dword [rsp + 0x54], eax
jmp 0x14003b277
mov eax, 0x400
test word [rcx + 0x14], ax
je 0x14003b21f
call fcn.14002c3a0
test eax, eax
jne 0x14003edb1
mov rcx, qword [rsi + 0x38]
call fcn.140032430
mov rbx, rax
test rax, rax
je 0x14003edb1
mov rcx, qword [rbp + 0xe8]
mov r9, rax
mov r8, qword [rcx + 8]
mov edx, dword [rcx + 0x10]
mov rcx, qword [rsi + 0x38]
call fcn.140032490
mov byte [rbx + 0x1e], 0
lea rdi, [rsi + 0x24]
mov rcx, qword [rsi + 0x30]
mov r8, rdi
mov rdx, rbx
call fcn.140023290
mov rdx, rbx
mov dword [rsp + 0x54], eax
mov rcx, r15
mov r13d, eax
call fcn.1400066f0
test r13d, r13d
jne 0x14003a2fe
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 0x14003b2bd
test ecx, ecx
jne 0x14003923d
jmp 0x140037b76
test ecx, ecx
je 0x14003923d
cmp r8b, 0x1b
jne 0x14003b2ff
movzx edx, word [rbp + 0xfc]
mov rcx, r11
test rdx, rdx
je 0x14003b2fa
mov rax, qword [rbp + 0xe8]
add rax, 0x14
test byte [rax], 1
jne 0x140039238
inc rcx
add rax, 0x38
cmp rcx, rdx
jl 0x14003b2e5
mov edx, 1
mov r10, qword [rsp + 0x58]
cmp r8b, 0x1a
mov r8d, dword [rsp + 0x50]
movzx r9d, byte [rsp + 0x40]
jne 0x14003e3e8
movzx eax, word [r12 + 0x10]
add r12, 0x18
mov rdi, qword [rbp - 0x58]
mov word [rsi + 0xc], ax
mov rsi, qword [rsp + 0x68]
jmp 0x140037641
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r10
test byte [rcx + 0x14], 0x24
jne case.0x140037679.31
movups xmm0, xmmword [rcx]
movups xmmword [rbp + 0x198], xmm0
movups xmm2, xmmword [rcx + 0x10]
movups xmmword [rbp + 0x1a8], xmm2
movups xmm0, xmmword [rcx + 0x20]
movq rax, xmm2
movups xmmword [rbp + 0x1b8], xmm0
shr rax, 0x20
movsd xmm1, qword [rcx + 0x30]
movsd qword [rbp + 0x1c8], xmm1
test al, 4
jne 0x14003b3b3
test al, 0x28
jne 0x14003b3a2
test al, 2
je 0x14003b3b3
lea rcx, [rbp + 0x198]
call fcn.1400371f0
xor r11d, r11d
jmp 0x14003b3ae
lea rcx, [rbp + 0x198]
call fcn.14002c890
mov edx, 1
test byte [rbp + 0x1ac], 4
je 0x14003af9f
mov rdi, qword [rbp + 0x198]
jmp 0x14003b3da
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 - 0x34]
xor r8d, r8d
mov dword [rbp - 0x34], r11d
mov rdx, rdi
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.140022f50
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 - 0x34]
mov dword [rbx + 0x20], r11d
mov dword [rbx + 0x24], eax
test eax, eax
je 0x14003b448
cmp dword [r12 + 8], r11d
jne 0x140039238
mov ecx, 0x17754
call fcn.1400b6190
mov r13d, eax
mov dword [rsp + 0x54], eax
xor r11d, r11d
test r13d, r13d
jne 0x14003a303
mov r10, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
jmp 0x140037837
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [rsi + 0x68]
test word [rdx + 0x14], ax
je 0x14003b48d
mov rcx, rdx
call fcn.140037420
mov rdx, rax
xor r11d, r11d
jmp 0x14003b496
mov eax, 4
mov word [rdx + 0x14], ax
mov rax, qword [rsi + 0x78]
mov r12, rbx
movsxd rcx, dword [rbx + 4]
mov r10, qword [rsp + 0x58]
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 [rsi + 0x78]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x18]
jmp 0x140037837
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 [rsi + 0x68]
test word [r14 + 0x14], ax
je 0x14003b504
mov rcx, r14
call fcn.140037420
mov r14, rax
xor r11d, r11d
jmp 0x14003b50e
mov eax, 4
mov word [r14 + 0x14], ax
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rsi, qword [rax + rcx*8]
test byte [rsi + 8], 2
jne 0x14003b595
mov rcx, qword [rsi + 0x30]
cmp byte [rcx], 0
jne 0x14003b56d
test byte [rcx + 1], 8
je 0x14003b56d
mov dword [rbp - 0x80], r11d
mov r13d, r11d
mov dword [rsp + 0x54], r11d
mov rbx, qword [rsi + 0x30]
mov rcx, rbx
call fcn.1400224f0
mov rbx, qword [rbx + 0x30]
movabs r12, 0x7fffffffffffffff
mov qword [rbp - 0x70], rbx
cmp rbx, r12
jl 0x14003b5e8
or dword [rsi + 8], 2
jmp 0x14003b59f
lea rdx, [rbp - 0x80]
call fcn.140022ef0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003a2fe
cmp dword [rbp - 0x80], eax
je 0x14003b540
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 0x14003b621
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x108]
test rcx, rcx
je 0x14003b5f1
cmp qword [rcx + 8], 0
lea rax, [rcx + 8]
je 0x14003b5de
nop dword [rax + rax]
mov rcx, qword [rax]
cmp qword [rcx + 8], 0
lea rax, [rcx + 8]
jne 0x14003b5d0
imul rdi, rdx, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x14003b5fa
inc rbx
mov qword [rbp - 0x70], rbx
jmp 0x14003b59f
imul rdi, rdx, 0x38
add rdi, qword [rsp + 0x58]
mov rcx, rdi
call fcn.14002c900
mov rax, qword [rdi]
cmp rax, r12
je 0x14003b684
test byte [rsi + 8], 2
jne 0x14003b684
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rbp - 0x70], rbx
mov qword [rdi], rbx
test byte [rsi + 8], 2
je 0x14003b68f
xor eax, eax
mov edi, eax
nop dword [rax + rax]
lea rdx, [rbp - 0x70]
mov ecx, 8
call fcn.140009ac0
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.140022f50
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003a2fe
cmp dword [rbp - 0x80], eax
jne 0x14003b68f
inc edi
cmp edi, 0x64
jl 0x14003b630
mov r13d, SafeArrayDestroy
jmp 0x14003a2fe
mov byte [rsi + 3], 0
xor r11d, r11d
mov dword [rsi + 0x20], r11d
mov rsi, qword [rsp + 0x68]
mov qword [r14], rbx
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov r14, qword [rsp + 0x78]
jmp 0x140037837
mov r13, qword [rsp + 0x48]
movsxd rax, dword [r13 + 8]
movsxd rcx, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [rsi + 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 + 0x170], r8
jne 0x14003b713
cmp qword [r15 + 0x140], 0
je 0x14003b713
movsx rcx, byte [rbx + 1]
mov rax, qword [r15 + 0x20]
mov rsi, qword [r13 + 0x10]
shl rcx, 5
mov r14, qword [rcx + rax]
jmp 0x14003b719
mov rsi, r11
mov r14, r11
test byte [r13 + 2], 1
je 0x14003b734
mov rax, qword [rsp + 0x68]
inc qword [rax + 0x38]
test byte [r13 + 2], 0x20
je 0x14003b734
mov qword [r15 + 0x38], r8
mov rax, qword [rdx + 8]
movzx r8d, word [r13 + 2]
mov qword [rbp + 0x178], rax
mov eax, dword [rdx + 0x10]
mov dword [rbp + 0x18c], eax
test r8b, 0x10
je 0x14003b759
mov r9d, dword [rbx + 0x24]
jmp 0x14003b75c
mov r9d, r11d
mov eax, 0x400
test word [rdx + 0x14], ax
je 0x14003b771
mov eax, dword [rdx]
mov dword [rbp + 0x190], eax
jmp 0x14003b778
mov dword [rbp + 0x190], r11d
mov rcx, qword [rbx + 0x30]
lea rdx, [rbp + 0x168]
and r8d, 0x8a
mov qword [rbp + 0x168], r11
call fcn.140027e30
xor r11d, r11d
mov byte [rbx + 3], 0
mov dword [rsp + 0x54], eax
mov r13d, eax
mov dword [rbx + 0x20], r11d
test eax, eax
jne 0x14003a2fe
test rsi, rsi
je 0x14003e422
mov rax, qword [rsp + 0x48]
mov edi, SafeArrayAccessData
mov rbx, qword [r15 + 0x140]
mov rcx, rbx
test byte [rax + 2], 4
mov eax, SafeArrayCopy
cmovne edi, eax
call qword [fcn.1400059b0]
mov rax, qword [rbp + 0x170]
mov r8, r14
mov r9, qword [rsi]
mov edx, edi
mov rcx, qword [r15 + 0x138]
mov qword [rsp + 0x20], rax
call rbx
mov r12, qword [rsp + 0x48]
jmp 0x14003844a
mov r13, qword [rsp + 0x48]
mov rcx, qword [rsi + 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 0x14003b831
imul rcx, rax, 0x38
mov r8, qword [rcx + r10]
jmp 0x14003b834
mov r8, r11
mov rdx, qword [rdx + 0x30]
mov rcx, qword [r9 + 0x30]
call fcn.1400283d0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003a303
jmp 0x140037e5a
mov r13, qword [rsp + 0x48]
mov rax, qword [rsi + 0x78]
cmp byte [r13 + 1], 0xfb
movsxd rcx, dword [r13 + 4]
mov r15d, dword [r13 + 8]
mov rdi, qword [rax + rcx*8]
jne 0x14003b8ba
mov r12, qword [rsp + 0x70]
cmp qword [r12 + 0x140], 0
je 0x14003b8ba
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 0x14003b8c0
cmp byte [rdi + 4], 0
je 0x14003b8c0
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call fcn.1400224f0
mov rax, qword [rbx + 0x30]
mov qword [rdi + 0x50], rax
jmp 0x14003b8c0
mov r14, r11
mov rsi, r11
movzx edx, byte [r13 + 2]
mov rcx, qword [rdi + 0x30]
call fcn.140028880
xor r11d, r11d
mov dword [rsp + 0x54], eax
mov qword [rdi + 0x20], r11
mov r13d, eax
test eax, eax
jne 0x14003ede2
test r15b, 1
mov r15, qword [rsp + 0x70]
je 0x14003e422
mov rax, qword [rsp + 0x68]
inc qword [rax + 0x38]
mov rbx, qword [r15 + 0x140]
test rbx, rbx
je 0x14003e422
test rsi, rsi
je 0x14003e422
test byte [rsi + 0x30], 0x80
jne 0x14003e422
mov rcx, rbx
call qword [fcn.1400059b0]
mov rax, qword [rdi + 0x50]
lea edx, [r13 + 9]
mov r9, qword [rsi]
mov r8, r14
mov rcx, qword [r15 + 0x138]
mov qword [rsp + 0x20], rax
call rbx
mov r12, qword [rsp + 0x48]
jmp 0x14003844a
mov rax, qword [rsi + 0x38]
mov rdi, qword [rbp - 0x58]
mov qword [r15 + 0x78], rax
add qword [r15 + 0x80], rax
add r12, 0x18
mov qword [rsi + 0x38], r11
jmp 0x140037641
mov r13, qword [rsp + 0x48]
lea r9, [rbp - 0x30]
mov rax, qword [rsi + 0x78]
mov dword [rbp - 0x30], 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.1400432b0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003a303
mov r12, qword [rsp + 0x48]
lea edx, [rax + 1]
xor r11d, r11d
cmp dword [rbp - 0x30], r11d
jne 0x14003923d
mov r10, qword [rsp + 0x58]
add r12, 0x18
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov rdi, qword [rbp - 0x58]
jmp 0x140037641
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 8]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [rsi + 0x78]
add rdx, r10
mov rcx, qword [rax + rcx*8]
call fcn.1400431e0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003a303
mov rax, qword [rsp + 0x48]
xor r11d, r11d
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
movsxd rcx, dword [rax + 0xc]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x20], r11d
jmp 0x140037837
mov r13, qword [rsp + 0x48]
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, qword [rsi + 0x68]
test word [rbx + 0x14], ax
je 0x14003ba62
mov rcx, rbx
call fcn.140037420
mov rbx, rax
jmp 0x14003ba6b
mov eax, 4
mov word [rbx + 0x14], ax
movsxd rcx, dword [r13 + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdi, qword [rcx + 0x30]
mov rcx, rdi
call fcn.1400224f0
mov edx, dword [rdi + 0x40]
cmp edx, dword [r15 + 0x88]
ja 0x14003ea3b
mov r8, rbx
mov rcx, rdi
call fcn.14002d320
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003a303
mov r12, qword [rsp + 0x48]
cmp dword [r12 + 0xc], eax
jne 0x14003e42e
mov eax, 0x4000
test word [rbx + 0x14], ax
je 0x14003e42e
mov rcx, rbx
call fcn.14002c340
test eax, eax
jne 0x14003edb6
mov r10, qword [rsp + 0x58]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
jmp 0x14003783c
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul r14, rax, 0x38
mov eax, 0x9000
add r14, qword [rsi + 0x68]
test word [r14 + 0x14], ax
je 0x14003bb25
mov rcx, r14
call fcn.140037420
xor r11d, r11d
mov r14, rax
lea edx, [r11 + 1]
jmp 0x14003bb2f
mov eax, 4
mov word [r14 + 0x14], ax
movsxd rcx, dword [rbx + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 2], 0
je 0x14003bb6d
mov word [r14 + 0x14], dx
mov r10, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x78]
add r12, 0x18
mov rdi, qword [rbp - 0x58]
jmp 0x140037641
cmp byte [rbx + 3], 0
je 0x14003bb88
mov rax, qword [rbx + 0x50]
mov r12, qword [rsp + 0x48]
mov qword [rbp - 0x10], rax
mov qword [r14], rax
jmp 0x14003844f
cmp byte [rbx], 2
jne 0x14003bbde
mov rdi, qword [rbx + 0x30]
mov rsi, qword [rdi]
mov rax, qword [rsi]
mov rbx, qword [rax + 0x60]
mov rcx, rbx
call qword [fcn.1400059b0]
lea rdx, [rbp - 0x10]
mov rcx, rdi
call rbx
mov rdx, rsi
mov dword [rsp + 0x54], eax
mov rsi, qword [rsp + 0x68]
mov r13d, eax
mov rcx, rsi
call fcn.140033b90
test r13d, r13d
jne 0x14003a303
mov rax, qword [rbp - 0x10]
mov r12, qword [rsp + 0x48]
mov qword [r14], rax
jmp 0x14003844f
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x14003bc03
mov rcx, rbx
call fcn.140032190
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003a303
xor r11d, r11d
jmp 0x14003bc0b
mov r13d, r11d
mov dword [rsp + 0x54], r11d
cmp byte [rbx + 2], 0
je 0x14003bc1b
mov edx, 1
jmp 0x14003bb41
mov rbx, qword [rbx + 0x30]
mov rcx, rbx
call fcn.1400224f0
mov rax, qword [rbx + 0x30]
mov r12, qword [rsp + 0x48]
mov qword [rbp - 0x10], rax
mov qword [r14], rax
jmp 0x14003844f
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rax, qword [rax + rdx*8]
test rax, rax
jne 0x14003bc84
mov r9b, 3
lea r8d, [rax + 1]
mov rcx, rsi
call fcn.140036fa0
test rax, rax
je 0x14003edb6
xor r11d, r11d
lea rcx, [0x1402898a4]
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 0x14003e462
mov rbx, qword [rax + 0x30]
mov rcx, qword [rbx + 0x18]
call fcn.140006590
mov r12, qword [rsp + 0x48]
xor r11d, r11d
mov r10, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov qword [rbx + 0x18], r11
mov byte [rbx], 1
jmp 0x140037837
mov rax, qword [rsp + 0x48]
mov dword [rbp - 0x2c], r11d
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rdi + 0x30]
cmp bl, 0x89
jne 0x14003bcef
or rax, 0xffffffffffffffff
mov dword [rdi + 0x24], eax
cmp byte [rcx], 0
je 0x14003e4b7
cmp byte [rcx], 0
jne 0x14003bd07
test byte [rcx + 1], 8
je 0x14003bd07
mov eax, r11d
mov dword [rsp + 0x54], r11d
mov r13d, r11d
jmp 0x14003bd21
lea rdx, [rbp - 0x2c]
call fcn.140022ef0
xor r11d, r11d
mov dword [rsp + 0x54], eax
mov r13d, eax
mov eax, dword [rbp - 0x2c]
lea edx, [r11 + 1]
mov byte [rdi + 2], al
mov byte [rdi + 3], 0
mov dword [rdi + 0x20], r11d
test r13d, r13d
jne 0x14003a303
mov r12, qword [rsp + 0x48]
cmp dword [r12 + 8], r13d
jle 0x14003e467
test eax, eax
jmp 0x14003b9b9
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x30]
mov rcx, rbx
call fcn.140022c60
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003bd8c
xor eax, eax
mov rcx, rbx
mov edi, eax
mov dword [rbp - 0x40], eax
call fcn.140022e20
mov r13d, eax
mov dword [rsp + 0x54], eax
jmp 0x14003bdab
cmp eax, 0x10
jne 0x14003bda8
mov edx, 1
xor r11d, r11d
mov edi, edx
mov dword [rbp - 0x40], edx
mov r13d, r11d
mov dword [rsp + 0x54], r11d
jmp 0x14003bdb3
mov edi, dword [rbp - 0x40]
mov edx, 1
xor r11d, r11d
test r13d, r13d
jne 0x14003a303
test edi, edi
jne 0x14003af9f
cmp byte [rbx], dil
jne 0x14003e462
mov rax, qword [rbx + 0x88]
cmp byte [rax + 8], dil
je 0x14003e462
movsx r9d, byte [rbx + 0x54]
xor dl, dl
movzx r8d, word [rax + 0x18]
test r9d, r9d
jle 0x14003be0d
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 0x14003bdf0
test r8, r8
js 0x14003e462
mov rcx, r8
call fcn.14000ba80
mov r12, qword [rsp + 0x48]
movsx ecx, ax
cmp ecx, dword [r12 + 0xc]
jge 0x14003e467
mov edx, 1
mov dword [rbp - 0x40], edx
jmp 0x14003923d
inc dword [rsi + 0xdc]
mov rax, qword [rsp + 0x48]
mov r14d, edx
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov r15, qword [rax + rcx*8]
cmp byte [r15], 1
jne 0x14003bf15
mov rsi, qword [r15 + 0x30]
mov dword [rsp + 0x54], r11d
cmp byte [rsi + 0x58], 0
jne 0x14003bea9
cmp qword [rsi + 0x38], 0
lea rdx, [rsi + 0x38]
je 0x14003be99
lea rcx, [rsi + 0x60]
mov r14d, r11d
call fcn.140041660
mov rsi, qword [rsp + 0x68]
xor r11d, r11d
mov dword [rsp + 0x54], eax
jmp 0x14003bf46
mov rsi, qword [rsp + 0x68]
mov r14d, 1
jmp 0x14003bf46
mov rcx, rsi
call fcn.140041da0
movzx ebx, byte [rsi + 0x5b]
mov r12d, eax
sub ebx, 1
mov dword [rsp + 0x54], eax
js 0x14003beed
movsxd rax, ebx
lea rdi, [rsi + 0x60]
imul rcx, rax, 0x68
add rdi, rcx
nop
mov rcx, rdi
call fcn.140040f10
test r12d, r12d
cmove r12d, eax
sub rdi, 0x68
sub ebx, 1
jns 0x14003bed0
mov dword [rsp + 0x54], r12d
test r12d, r12d
jne 0x14003bf0b
mov rcx, rsi
call fcn.140042e30
mov rsi, qword [rsp + 0x68]
xor r11d, r11d
mov r14d, r11d
mov dword [rsp + 0x54], eax
jmp 0x14003bf46
mov rsi, qword [rsp + 0x68]
xor r11d, r11d
jmp 0x14003bf46
mov rbx, qword [r15 + 0x30]
mov rcx, rbx
call fcn.140022c60
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x14003bf84
xor eax, eax
mov rcx, rbx
mov r14d, eax
call fcn.140022e20
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 0x14003ee00
mov r12, qword [rsp + 0x48]
mov byte [r15 + 2], r14b
cmp dword [r12 + 8], r13d
jle 0x14003e3fe
test r14d, r14d
lea edx, [r13 + 1]
mov r14, qword [rsp + 0x78]
jne 0x14003923d
mov r15, qword [rsp + 0x70]
jmp 0x140037888
cmp eax, 0x10
jne 0x14003bf3a
xor r11d, r11d
lea r14d, [rax - 0xf]
mov dword [rsp + 0x54], r11d
jmp 0x14003bf3d
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r15
mov rdx, rbx
call fcn.140043130
jmp 0x14003bfeb
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.140023a50
jmp 0x14003bfeb
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.140023860
mov r13d, eax
mov dword [rsp + 0x54], eax
xor r11d, r11d
mov dword [rbx + 0x20], r11d
test eax, eax
jne 0x14003c016
mov rax, qword [rsp + 0x48]
mov byte [rbx + 2], r11b
movzx eax, word [rax + 2]
inc dword [rsi + rax*4 + 0xd4]
jmp case.0x140037679.9
cmp r13d, 0x65
jne 0x14003a303
mov r13d, r11d
mov dword [rsp + 0x54], r11d
mov byte [rbx + 2], 1
movzx r9d, byte [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x58]
mov eax, dword [r15 + 0x198]
test eax, eax
jne 0x14003ed9b
mov rdi, qword [rsp + 0x60]
mov r14, qword [rbp - 0x58]
cmp r14, rdi
jb 0x14003e3db
nop dword [rax]
mov rbx, qword [r15 + 0x210]
test rbx, rbx
je 0x14003e3d0
mov eax, dword [r15 + 0x220]
mov rcx, rbx
add rdi, rax
mov qword [rsp + 0x60], rdi
call qword [fcn.1400059b0]
mov rcx, qword [r15 + 0x218]
call rbx
test eax, eax
jne 0x14003eb74
cmp r14, rdi
jae 0x14003c060
jmp 0x14003844f
mov r13, qword [rsp + 0x48]
mov rax, qword [rsi + 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 0x14003c0ca
inc qword [rsi + 0x38]
mov eax, 0x400
test word [rbx + 0x14], ax
je 0x14003c0f5
mov rcx, rbx
call fcn.14002c3a0
mov r13d, eax
test eax, eax
jne 0x14003a303
mov r13, qword [rsp + 0x48]
xor r11d, r11d
mov r10, qword [rsp + 0x58]
movsxd rax, dword [rbx + 0x10]
movzx r8d, word [r13 + 2]
mov qword [rbp + 0x250], rax
mov rax, qword [rbx + 8]
mov qword [rbp + 0x248], rax
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r13 + 0x10]
add rcx, r10
mov word [rbp + 0x268], ax
mov qword [rbp + 0x260], rcx
test r8b, 0x10
je 0x14003c13a
mov r9d, dword [rdi + 0x24]
jmp 0x14003c13d
mov r9d, r11d
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x248]
and r8d, 0x8a
call fcn.140027e30
xor r11d, r11d
mov dword [rsp + 0x54], eax
mov dword [rdi + 0x20], r11d
mov r13d, eax
test eax, eax
jne 0x14003a303
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
jmp 0x140037837
mov rbx, qword [rsp + 0x48]
mov rax, qword [rsi + 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 0x14003c1b9
mov rcx, rbx
call fcn.14002c3a0
mov r13d, eax
test eax, eax
jne 0x14003a303
mov rdx, rbx
mov rcx, rdi
call fcn.140041ee0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003a303
jmp 0x140037e5a
mov rax, qword [rsi + 0x78]
lea r8, [rbp - 0x18]
mov r13, qword [rsp + 0x48]
lea rdx, [rbp + 0x1f8]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi + 0x38]
mov rbx, qword [rdi + 0x30]
mov qword [rbp + 0x1f8], rax
movzx eax, word [r13 + 0xc]
mov word [rbp + 0x214], ax
mov byte [rbp + 0x216], 0
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
add rcx, r10
mov qword [rbp + 0x200], rcx
mov rcx, rbx
call fcn.140023290
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003a303
cmp dword [rbp - 0x18], eax
jne 0x14003c279
mov dl, 4
mov rcx, rbx
call fcn.140028880
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003a303
mov r12, qword [rsp + 0x48]
xor r11d, r11d
mov r10, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov qword [rdi + 0x20], r11
jmp 0x140037837
mov r12, qword [rsp + 0x48]
cmp word [r12 + 2], 0
je 0x14003c29a
mov eax, dword [r15 + 0x30]
and eax, 0x10000001
cmp rax, 1
jne 0x14003ea55
mov r10, qword [rsp + 0x58]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov qword [rdi + 0x20], r11
jmp 0x140037837
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x14003c2ea
mov rcx, rbx
call fcn.140032190
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003a303
xor r11d, r11d
lea edx, [rax + 1]
jmp 0x14003c2f2
mov r13d, r11d
mov dword [rsp + 0x54], r11d
cmp byte [rbx + 2], 0
jne 0x14003c3b0
mov rdx, qword [rbx + 0x30]
lea r8, [rbp - 0x50]
mov rcx, r15
mov qword [rbp - 0x50], r11
call fcn.140033740
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003a303
mov rax, qword [rsp + 0x48]
cmp byte [rax], 0x8d
jne 0x14003c370
movsxd rcx, dword [rax + 0xc]
xor r11d, r11d
mov rax, qword [rsi + 0x78]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rbp - 0x50]
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 0x140037837
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, qword [rsi + 0x68]
test word [rcx + 0x14], ax
je 0x14003c39b
call fcn.140037420
mov rcx, rax
mov rax, qword [rbp - 0x50]
mov qword [rcx], rax
jmp 0x140037e5a
mov eax, 4
mov word [rcx + 0x14], ax
mov rax, qword [rbp - 0x50]
mov qword [rcx], rax
jmp 0x140037e5a
mov rax, qword [rsp + 0x48]
mov r10, qword [rsp + 0x58]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r10
test word [rcx + 0x14], ax
je 0x14003c3da
call fcn.14002c6a0
jmp 0x140037e5a
mov r12, qword [rsp + 0x48]
mov word [rcx + 0x14], dx
jmp 0x14003788d
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], 0
je 0x140037f56
call fcn.140032120
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003a303
jmp 0x140037e5a
mov r13, qword [rsp + 0x48]
cmp bl, 0x2a
mov rax, qword [rsi + 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 + 0x220], rax
movzx eax, word [r13 + 0x10]
mov word [rbp + 0x23c], ax
sbb al, al
mov byte [rbp + 0x23e], al
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r10
mov qword [rbp + 0x228], rcx
mov rcx, rbx
call fcn.1400224f0
mov ecx, dword [rbx + 0x40]
test rcx, rcx
jle 0x14003ea8b
cmp rcx, 0x7fffffff
jg 0x14003ea8b
xor edi, edi
mov qword [rbp + 0x120], r15
mov word [rbp + 0x11c], di
mov r13d, edi
mov dword [rbp + 0x128], edi
mov rax, qword [rbx + 0x88]
movzx edx, word [rbx + 0x44]
mov dword [rsp + 0x54], edi
mov r8d, dword [rax + 0x58]
sub r8d, dword [rbx + 0x38]
cmp edx, r8d
jle 0x14003c4c4
test r8d, r8d
mov edx, r8d
cmovs edx, edi
mov rax, qword [rbx + 0x38]
mov qword [rbp + 0x110], rax
cmp ecx, edx
ja 0x14003c4e7
mov edx, 0x4010
mov dword [rbp + 0x118], ecx
mov word [rbp + 0x11c], dx
jmp 0x14003c517
mov r8d, ecx
lea r9, [rbp + 0x108]
mov rcx, rbx
xor edx, edx
call fcn.14002d200
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003a303
mov ecx, dword [rbp + 0x118]
mov rax, qword [rbp + 0x110]
xor r9d, r9d
lea r8, [rbp + 0x220]
mov rdx, rax
call fcn.140032bd0
mov ebx, eax
cmp dword [rbp + 0x128], edi
je 0x14003c53f
lea rcx, [rbp + 0x108]
call fcn.14002c6f0
mov r12, qword [rsp + 0x48]
test byte [r12], 1
jne 0x14003c54f
neg ebx
jmp 0x14003c551
inc ebx
xor r11d, r11d
lea edx, [r11 + 1]
test ebx, ebx
jg 0x14003923d
jmp 0x140037888
mov r13, qword [rsp + 0x48]
movsxd rax, dword [r13 + 8]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [rsi + 0x68]
test word [rdi + 0x14], ax
je 0x14003c595
mov rcx, rdi
call fcn.140037420
xor r11d, r11d
mov rdi, rax
lea edx, [r11 + 1]
jmp 0x14003c59e
mov eax, 4
mov word [rdi + 0x14], ax
mov word [rdi + 0x14], dx
mov eax, dword [r15 + 0xe8]
inc eax
cmp dword [r15 + 0xdc], eax
jg 0x14003ea9d
mov r12, qword [rsp + 0x70]
movsxd r15, dword [r13 + 0xc]
mov esi, dword [r13 + 4]
mov r14, r15
shl r14, 5
mov rax, qword [r12 + 0x20]
mov dword [rbp - 0x28], r11d
mov rbx, qword [r14 + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x14003c5f1
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14003c5f1
mov rcx, rbx
call fcn.14001d730
lea r8, [rbp - 0x28]
mov edx, esi
mov rcx, rbx
call fcn.140029530
cmp byte [rbx + 0x11], 0
mov r13d, eax
mov dword [rsp + 0x54], eax
je 0x14003c61a
sub dword [rbx + 0x14], 1
jne 0x14003c61a
mov rcx, rbx
call fcn.14001d6d0
movsxd rdx, dword [rbp - 0x28]
mov eax, 4
mov word [rdi + 0x14], ax
mov qword [rdi], rdx
test r13d, r13d
jne 0x14003ee0a
test edx, edx
je 0x14003e3f9
mov rax, qword [rsp + 0x48]
mov r9, qword [r12 + 0x20]
mov r8d, dword [rax + 4]
mov rax, qword [r14 + r9 + 0x18]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14003c66c
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x28], edx
jne 0x14003c664
mov dword [rax + 0x28], r8d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14003c657
mov rax, qword [r14 + r9 + 0x18]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x14003c695
nop word [rax + rax]
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x58], edx
jne 0x14003c68d
mov dword [rax + 0x58], r8d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14003c680
lea eax, [r15 + 1]
mov r15, r12
mov r12, qword [rsp + 0x48]
mov byte [rbp - 0x78], al
jmp 0x14003844a
mov r13, qword [rsp + 0x48]
lea r8, [rbp - 8]
mov qword [rbp - 8], r11
mov rcx, qword [r15 + 0x20]
movsxd rax, dword [r13 + 8]
mov edx, dword [r13 + 4]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140029450
mov r12, qword [rsp + 0x48]
mov r13d, eax
mov r10, qword [rsp + 0x58]
mov dword [rsp + 0x54], eax
cmp dword [r12 + 0xc], 0
je 0x14003c706
mov rax, qword [rbp - 8]
add qword [rsi + 0x38], rax
movsxd rax, dword [r12 + 0xc]
test eax, eax
jle 0x14003c706
imul rcx, rax, 0x38
mov rax, qword [rbp - 8]
add qword [rcx + r10], rax
test r13d, r13d
jne 0x14003a303
movzx r9d, byte [rsp + 0x40]
xor r11d, r11d
mov r8d, dword [rsp + 0x50]
jmp 0x14003783c
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x14003c749
mov rdx, qword [rcx + 0x30]
mov rcx, r15
call fcn.1400410e0
jmp 0x140037e5a
mov rcx, qword [rcx + 0x30]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.140029450
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003a303
jmp 0x140037e5a
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [rsi + 0x68]
test word [rdi + 0x14], ax
je 0x14003c79c
mov rcx, rdi
call fcn.140037420
mov rdi, rax
xor r11d, r11d
jmp 0x14003c7a5
mov eax, 4
mov word [rdi + 0x14], ax
movsxd rcx, dword [rbx + 4]
mov rax, qword [r15 + 0x20]
mov esi, dword [rbx + 0xc]
shl rcx, 5
mov dword [rbp - 0x60], r11d
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x14003c7d4
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14003c7d4
mov rcx, rbx
call fcn.14001d730
mov r8d, esi
lea rdx, [rbp - 0x60]
mov rcx, rbx
call fcn.140028df0
cmp byte [rbx + 0x11], 0
mov r13d, eax
mov dword [rsp + 0x54], eax
je 0x14003c7fe
sub dword [rbx + 0x14], 1
jne 0x14003c7fe
mov rcx, rbx
call fcn.14001d6d0
mov rsi, qword [rsp + 0x68]
test r13d, r13d
jne 0x14003a303
mov eax, dword [rbp - 0x60]
mov qword [rdi], rax
jmp 0x140037e5a
mov rax, qword [rsp + 0x48]
xor r9d, r9d
inc byte [r15 + 0x70]
xor r8d, r8d
mov rcx, r15
mov qword [rsp + 0x20], r11
mov rdx, qword [rax + 0x10]
call fcn.140073cc0
dec byte [r15 + 0x70]
mov r13d, eax
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x14003a303
jmp 0x140037e5a
mov r13, qword [rsp + 0x48]
cmp qword [r13 + 0x10], 0
movsxd rbx, dword [r13 + 4]
jne 0x14003c8a7
mov rcx, qword [r15 + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.140064ad0
and dword [r15 + 0x2c], 0xffffffef
lea r8, [rsi + 0xa8]
movzx r9d, word [r13 + 2]
mov edx, ebx
mov rcx, r15
call fcn.14007a8c0
or dword [r15 + 0x2c], 1
mov r13d, eax
and dword [rsi + 0xc8], 0xfffffffc
mov dword [rsp + 0x54], eax
jmp 0x14003c996
mov qword [rbp + 0x80], r15
lea rax, [rsi + 0xa8]
mov qword [rbp + 0x88], rax
lea r9, str.sqlite_master
mov dword [rbp + 0x90], ebx
mov rdx, rbx
mov dword [rbp + 0x98], r11d
mov rax, qword [r15 + 0x20]
shl rdx, 5
mov rcx, qword [rdx + rax + 8]
mov rax, qword [rcx + 8]
mov ecx, dword [rax + 0x40]
mov dword [rbp + 0xa0], ecx
mov rcx, r15
mov r8, qword [r15 + 0x20]
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x20], rax
mov r8, qword [rdx + r8]
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
call fcn.1400094c0
mov rbx, rax
test rax, rax
je 0x14003eaaf
xor eax, eax
mov byte [r15 + 0xc5], 1
lea r9, [rbp + 0x80]
mov dword [rbp + 0x94], eax
lea r8, [fcn.14007a660]
mov dword [rbp + 0x9c], eax
mov rdx, rbx
mov qword [rsp + 0x20], rax
mov rcx, r15
call fcn.140073cc0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003c983
mov r13d, dword [rbp + 0x94]
mov dword [rsp + 0x54], r13d
test r13d, r13d
jne 0x14003c983
cmp dword [rbp + 0x9c], r13d
jne 0x14003c983
mov ecx, 0x17d50
call fcn.1400b6190
mov r13d, eax
mov dword [rsp + 0x54], eax
mov rdx, rbx
mov rcx, r15
call fcn.1400066f0
mov byte [r15 + 0xc5], 0
test r13d, r13d
jne 0x14003eab5
jmp 0x140037e5a
mov rax, qword [rsp + 0x48]
mov rcx, r15
mov edx, dword [rax + 4]
call fcn.1400586a0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003a303
jmp 0x140037e5a
mov rax, qword [rsp + 0x48]
mov rcx, r15
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.14005b7f0
jmp 0x140037e5a
mov rax, qword [rsp + 0x48]
mov rcx, r15
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.14005ac90
jmp 0x140037e5a
mov rax, qword [rsp + 0x48]
mov rcx, r15
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.14008b9a0
jmp 0x140037e5a
mov r13, qword [rsp + 0x48]
lea r9, [rbp + 8]
mov rdx, qword [r15 + 0x20]
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
shl rax, 5
add rbx, r10
mov ecx, dword [rdi]
mov rdx, qword [rax + rdx + 8]
inc ecx
mov dword [rsp + 0x20], ecx
mov rcx, r15
call fcn.14002a750
mov r13d, eax
mov dword [rsp + 0x54], eax
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x14003ca8a
mov rcx, rbx
call fcn.14002c6a0
jmp 0x14003ca93
mov eax, 1
mov word [rbx + 0x14], ax
mov eax, dword [rbp - 0x14]
test eax, eax
je 0x14003caca
test r13d, r13d
jne 0x14003ead1
mov rdx, qword [rbp + 8]
dec eax
movsxd rcx, eax
mov r9b, 1
sub qword [rdi], rcx
lea rax, [fcn.140006590]
mov rcx, rbx
mov qword [rsp + 0x20], rax
or r8, 0xffffffffffffffff
call fcn.14002cf90
test byte [rbx + 0x14], 2
movzx r9d, byte [rsp + 0x40]
mov ecx, r9d
jne 0x14003cae1
mov byte [rbx + 0x16], cl
jmp 0x14003c032
movzx eax, byte [rbx + 0x16]
cmp eax, ecx
je 0x14003c032
movzx edx, cl
mov rcx, rbx
call fcn.140009e40
jmp 0x14003c02c
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 0x14003cb2e
mov rcx, rbx
call fcn.14002cd90
test eax, eax
jne 0x14003edb6
mov rbx, qword [rbx + 8]
mov rdi, qword [rdi]
mov rcx, rbx
call fcn.1400139a0
xor r11d, r11d
test rax, rax
je 0x14003e462
mov qword [rax], rdi
mov qword [rax + 8], r11
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x14003cb84
cmp rdi, qword [rcx]
jg 0x14003cb67
mov edx, 0xfffe
and word [rbx + 0x32], dx
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov qword [rcx + 8], rax
mov qword [rbx + 0x18], rax
jmp 0x140037837
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rax
jmp 0x140037837
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r10
test byte [rdi + 0x14], 0x10
je 0x14003cc51
mov rbx, qword [rdi + 8]
movzx eax, word [rbx + 0x32]
test al, 2
jne 0x14003cbe7
test al, 1
jne 0x14003cbe2
mov rcx, qword [rbx + 0x10]
call fcn.140013a70
mov r10, qword [rsp + 0x58]
mov edx, 1
mov qword [rbx + 0x10], rax
or word [rbx + 0x32], 3
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x14003cc51
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x14003cc0d
mov rcx, rbx
call fcn.140013850
mov r10, qword [rsp + 0x58]
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 0x14003cc35
mov rdx, rdi
call fcn.14002cc50
jmp 0x14003c02c
mov r12, qword [rsp + 0x48]
mov eax, 4
movzx r9d, byte [rsp + 0x40]
mov qword [rcx], rdi
mov word [rcx + 0x14], ax
jmp 0x14003c03c
mov eax, 0x9000
test word [rdi + 0x14], ax
je 0x14003cc69
mov rcx, rdi
call fcn.14002c6a0
jmp case.0x140037679.9
mov word [rdi + 0x14], dx
jmp case.0x140037679.9
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 0x14003cca6
mov rcx, rbx
call fcn.14002cd90
test eax, eax
jne 0x14003edb1
test edi, edi
je 0x14003ccc2
mov r8, qword [rsi]
mov edx, edi
mov rcx, qword [rbx + 8]
call fcn.140013db0
test eax, eax
jne 0x14003dd6b
test edi, edi
js 0x14003d5f4
mov rbx, qword [rbx + 8]
mov rdi, qword [rsi]
mov rcx, rbx
call fcn.1400139a0
xor r11d, r11d
test rax, rax
je 0x14003e462
mov qword [rax], rdi
mov qword [rax + 8], r11
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x14003cd23
cmp rdi, qword [rcx]
jg 0x14003cd01
mov edx, 0xfffe
and word [rbx + 0x32], dx
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x68]
mov r10, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov qword [rcx + 8], rax
mov qword [rbx + 0x18], rax
jmp 0x140037837
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x68]
mov r10, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rax
jmp 0x140037837
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 0xc]
mov r15, qword [rcx + 0x10]
imul r14, rax, 0x38
add r14, r10
cmp word [rcx + 2], 0
je 0x14003cd83
mov rax, qword [rsi + 0x108]
mov rcx, qword [r15 + 0x20]
test rax, rax
je 0x14003cd83
cmp qword [rax + 0x30], rcx
je 0x14003e6ff
mov rax, qword [rax + 8]
test rax, rax
jne 0x14003cd70
mov r12, qword [rsp + 0x70]
mov eax, dword [r12 + 0xb0]
cmp dword [rsi + 0x118], eax
jge 0x14003eadf
test byte [r14 + 0x14], 0x10
jne 0x14003ced4
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 0x14003cdcd
add eax, 7
sar eax, 3
lea ebx, [rax + rcx*8]
mov rcx, r12
movsxd rdx, ebx
call fcn.140006a90
mov rsi, rax
test rax, rax
je 0x1400397c1
mov eax, 0x9000
test word [r14 + 0x14], ax
jne 0x14003cdfd
cmp dword [r14 + 0x20], 0
je 0x14003ce05
mov rcx, r14
call fcn.14002c6f0
mov r8, qword [rsp + 0x68]
mov eax, 0x1010
mov rcx, qword [rsp + 0x48]
xor r11d, r11d
sub rcx, qword [rsp + 0x78]
mov word [r14 + 0x14], ax
lea rax, [0x14002fc30]
mov qword [r14 + 8], rsi
mov dword [r14 + 0x10], ebx
mov qword [r14 + 0x30], rax
mov qword [rsi], r8
mov dword [rsi + 0x58], edi
mov eax, dword [r15 + 0x10]
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 [r8 + 0x68]
mov qword [rsi + 0x18], rax
mov eax, dword [r8 + 0x24]
mov dword [rsi + 0x54], eax
mov rax, qword [r8 + 0x78]
mov qword [rsi + 0x20], rax
mov eax, dword [r8 + 0x28]
mov dword [rsi + 0x48], eax
mov rax, qword [r8 + 0x88]
mov qword [rsi + 0x10], rax
mov eax, dword [r8 + 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 0x14003cedd
nop dword [rax]
nop word [rax + rax]
mov word [rax + 0x14], r11w
mov qword [rax + 0x18], r12
add rax, 0x38
cmp rax, rcx
jne 0x14003cec0
jmp 0x14003cedd
mov rsi, qword [r14 + 8]
mov r8, qword [rsp + 0x68]
inc dword [r8 + 0x118]
lea rdx, [rsi + 0x70]
mov rax, qword [r8 + 0x108]
mov qword [rsi + 8], rax
mov rax, qword [r12 + 0x38]
mov qword [rsi + 0x38], rax
mov rax, qword [r8 + 0x38]
mov qword [rsi + 0x60], rax
mov rax, qword [r8]
mov qword [rsp + 0x58], rdx
mov rcx, qword [rax + 0x78]
mov qword [rsi + 0x68], rcx
mov rax, qword [r8 + 0x128]
mov qword [rsi + 0x40], rax
mov qword [r8 + 0x128], r11
mov qword [r8 + 0x38], r11
mov qword [r8 + 0x108], rsi
mov qword [r8 + 0x68], rdx
mov eax, dword [rsi + 0x58]
mov dword [r8 + 0x24], eax
movzx eax, word [rsi + 0x5c]
mov dword [r8 + 0x28], eax
movsxd rax, dword [r8 + 0x24]
imul rcx, rax, 0x38
add rdx, rcx
mov qword [r8 + 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.1401a7d70
mov r14, qword [r15]
mov rsi, qword [rsp + 0x68]
movzx r9d, byte [rsp + 0x40]
mov qword [rsp + 0x78], r14
mov qword [rsi + 0x88], r14
mov eax, dword [r15 + 8]
mov r15, r12
mov dword [rsi + 0x90], eax
lea rax, [r14 - 0x18]
mov qword [rsp + 0x48], rax
mov r12, rax
jmp 0x14003c037
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul r9, rax, 0x38
mov eax, 0x9000
add r9, qword [rsi + 0x68]
test word [r9 + 0x14], ax
je 0x14003cfdb
mov rcx, r9
call fcn.140037420
mov r9, rax
jmp 0x14003cfe5
mov eax, 4
mov word [r9 + 0x14], ax
mov r8, qword [rsi + 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 0x140037e4f
mov eax, dword [r15 + 0x30]
bt rax, 0x13
mov rax, qword [rsp + 0x48]
mov r12, rax
jae 0x14003d042
movsxd rax, dword [rax + 8]
add qword [r15 + 0x300], rax
mov rdi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140037641
cmp dword [rax + 4], 0
movsxd rax, dword [rax + 8]
je 0x14003d060
add qword [r15 + 0x2f8], rax
mov rdi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140037641
add qword [rsi + 0x50], rax
mov rdi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140037641
cmp dword [r12 + 4], 0
je 0x14003d0a2
cmp qword [r15 + 0x2f8], 0
jne case.0x140037679.89
cmp qword [r15 + 0x300], 0
je 0x14003923d
mov rdi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140037641
cmp qword [rsi + 0x50], 0
jne case.0x140037679.89
cmp qword [r15 + 0x300], 0
je 0x14003923d
mov rdi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140037641
mov rcx, qword [rsi + 0x108]
test rcx, rcx
je 0x14003d101
cmp qword [rcx + 8], 0
lea rax, [rcx + 8]
je 0x14003d0ee
nop
mov rcx, qword [rax]
cmp qword [rcx + 8], 0
lea rax, [rcx + 8]
jne 0x14003d0e0
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x18]
jmp 0x14003d111
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r10
mov rcx, rdi
call fcn.14002c900
mov r12, qword [rsp + 0x48]
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.14002c900
mov rax, qword [rbx]
xor r11d, r11d
mov r10, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
cmp qword [rdi], rax
jge 0x14003e3e8
mov qword [rdi], rax
jmp 0x14003783c
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 0x14003783c
mov rax, r12
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + r10], rdx
jmp 0x140039238
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 [rsi + 0x68]
test word [rcx + 0x14], ax
je 0x14003d1d1
call fcn.140037420
mov r10, qword [rsp + 0x58]
mov rcx, rax
xor r11d, r11d
jmp 0x14003d1da
mov eax, 4
mov word [rcx + 0x14], ax
mov r8, qword [rbx]
test r8, r8
jle 0x14003d218
mov rax, qword [rdi]
mov rdx, r11
test rax, rax
cmovg rdx, rax
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rdx
jl 0x14003d218
mov r12, qword [rsp + 0x48]
lea rax, [rdx + r8]
movzx r9d, byte [rsp + 0x40]
mov qword [rcx], rax
jmp 0x140037837
mov r12, qword [rsp + 0x48]
or rax, 0xffffffffffffffff
movzx r9d, byte [rsp + 0x40]
mov qword [rcx], rax
jmp 0x140037837
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r10]
test rax, rax
je 0x140037f56
mov r12, qword [rsp + 0x48]
jle 0x14003923d
dec rax
mov qword [rcx + r10], rax
jmp 0x14003923d
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 0x14003d287
dec rax
mov qword [rcx + r10], rax
cmp qword [rcx + r10], 0
mov r12, qword [rsp + 0x48]
je 0x14003923d
mov rdi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140037641
mov rax, qword [rsp + 0x48]
mov rcx, r15
movzx ebx, word [rax + 2]
lea rdx, [rbx*8 + 0x68]
call fcn.140006b20
mov r8, rax
test rax, rax
je 0x14003edb6
xor r9d, r9d
lea rcx, [rbx + 6]
mov qword [rax + 0x10], r9
lea rcx, [rax + rcx*8]
mov qword [rax], rcx
mov eax, 1
mov word [rcx + 0x14], ax
mov rax, qword [rsp + 0x48]
mov qword [rcx + 0x18], r15
mov dword [rcx + 0x20], r9d
mov rcx, qword [rax + 0x10]
mov qword [r8 + 8], rcx
mov rcx, rax
sub rcx, r14
movabs rax, 0x2aaaaaaaaaaaaaab
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], rsi
mov byte [r8 + 0x29], r9b
mov dword [r8 + 0x24], r9d
mov byte [r8 + 0x28], al
mov byte [r8 + 0x2a], bl
mov rbx, qword [rsp + 0x48]
mov word [rbx], 0xf1a3
mov qword [rbx + 0x10], r8
jmp 0x14003d34c
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 0xc]
mov r14, qword [rbx + 0x10]
mov r12, qword [rsp + 0x58]
imul r10, rax, 0x38
add r10, r12
cmp qword [r14 + 0x10], r10
je 0x14003d39d
mov qword [r14 + 0x10], r10
movzx edx, byte [r14 + 0x2a]
sub edx, 1
movsxd r8, edx
js 0x14003d39d
lea r9, [r8 + 6]
lea r9, [r14 + r9*8]
nop
mov eax, dword [rbx + 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 0x14003d380
inc dword [r10 + 0x10]
cmp dword [rbx + 4], 0
mov rax, qword [r14 + 8]
movzx edi, byte [r14 + 0x2a]
je 0x14003d3b6
mov rsi, qword [rax + 0x30]
jmp 0x14003d3ba
mov rsi, qword [rax + 0x18]
mov rcx, rsi
call qword [fcn.1400059b0]
lea r8, [r14 + 0x30]
mov edx, edi
mov rcx, r14
call rsi
mov eax, dword [r14 + 0x24]
test eax, eax
je 0x14003e3cb
jle 0x14003d406
mov rcx, qword [r14]
call fcn.140034230
mov rsi, qword [rsp + 0x68]
lea rdx, [0x140219f08]
mov rcx, rsi
mov r8, rax
call fcn.14002dbd0
mov r13d, dword [r14 + 0x24]
mov dword [rsp + 0x54], r13d
jmp 0x14003d40b
mov rsi, qword [rsp + 0x68]
cmp byte [r14 + 0x29], 0
je 0x14003d453
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax - 0x14]
test eax, eax
je 0x14003d44e
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, r12
test word [rcx + 0x14], ax
je 0x14003d43d
mov edx, 1
call fcn.14002cc50
jmp 0x14003d44e
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 0x14003d467
cmp dword [rcx + 0x20], 0
je 0x14003d46c
call fcn.14002c6f0
mov rax, qword [r14]
xor r11d, r11d
mov edx, 1
mov word [rax + 0x14], dx
mov dword [r14 + 0x24], r11d
test r13d, r13d
jne 0x14003a303
jmp 0x14003bb46
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 0x14003d4d6
mov r8, qword [rcx + 0x10]
mov rcx, rbx
imul rdx, rax, 0x38
add rdx, r10
call fcn.14002c600
mov r10, qword [rsp + 0x58]
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 0x14003d4ee
mov rdx, qword [rcx + 0x10]
mov rcx, rbx
call fcn.14002c4d0
mov r10, qword [rsp + 0x58]
mov r13d, eax
mov dword [rsp + 0x54], eax
test r13d, r13d
jne 0x14003eaf9
test byte [rbx + 0x14], 2
movzx r9d, byte [rsp + 0x40]
mov ecx, r9d
jne 0x14003d51b
mov r12, qword [rsp + 0x48]
xor r11d, r11d
mov r8d, dword [rsp + 0x50]
mov byte [rbx + 0x16], cl
jmp 0x14003783c
movzx eax, byte [rbx + 0x16]
cmp eax, ecx
je 0x14003e44b
movzx edx, cl
mov rcx, rbx
call fcn.140009e40
jmp 0x140037e5a
or rax, 0xffffffffffffffff
mov dword [rbp + 0x278], r11d
mov dword [rbp + 0x280], eax
lea r9, [rbp + 0x27c]
mov dword [rbp + 0x27c], eax
mov rcx, r15
lea rax, [rbp + 0x280]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x48]
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
call fcn.1400b4830
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x14003d59d
cmp eax, 5
jne 0x14003a303
xor eax, eax
mov r13d, eax
mov dword [rsp + 0x54], eax
mov eax, 1
mov dword [rbp + 0x278], eax
mov rax, qword [rsp + 0x48]
mov ecx, 0x9000
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x58]
xor eax, eax
mov edi, eax
lea esi, [rax + 4]
nop dword [rax + rax]
movsxd rax, dword [rbp + rdi*4 + 0x278]
test word [rbx + 0x14], cx
je 0x14003d5e0
mov rdx, rax
mov rcx, rbx
call fcn.14002cc50
mov ecx, 0x9000
jmp 0x14003d5e7
mov qword [rbx], rax
mov word [rbx + 0x14], si
inc rdi
add rbx, 0x38
cmp rdi, 3
jl 0x14003d5c0
mov rsi, qword [rsp + 0x68]
jmp 0x140037e5a
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul r15, rax, 0x38
mov eax, 0x9000
add r15, qword [rsi + 0x68]
test word [r15 + 0x14], ax
je 0x14003d62b
mov rcx, r15
call fcn.140037420
mov r15, rax
xor r11d, r11d
jmp 0x14003d635
mov eax, 4
mov word [r15 + 0x14], ax
mov edx, dword [rbx + 0xc]
mov r12, qword [rsp + 0x70]
movsxd rcx, dword [rbx + 4]
shl rcx, 5
cmp edx, 0xffffffff
mov rax, qword [r12 + 0x20]
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 0x14003d671
mov eax, r11d
mov r8d, 1
jmp 0x14003d696
mov rax, qword [rdi + 0x50]
cmp qword [rax], 0
je 0x14003d68d
cmp qword [rdi + 0x60], 0
jle 0x14003d68d
mov eax, r11d
mov r8d, 1
jmp 0x14003d696
mov r8d, 1
mov eax, r8d
test eax, eax
mov ebx, esi
cmovne ebx, edx
cmp byte [rdi + 0x13], 0
jne 0x14003d6b8
lea rax, reloc.OLEAUT32.dll_SysReAllocString
cmp qword [rdi], rax
je 0x14003d6b8
mov rcx, qword [rdi + 0xd8]
jmp 0x14003d6bf
lea rcx, [0x14022071c]
cmp ebx, 5
jne 0x14003d705
test rcx, rcx
je 0x14003d759
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x14003d6d1
and eax, 0x3fffffff
je 0x14003d759
cmp byte [rdi + 0x11], 0
mov rax, qword [rdi + 0x48]
mov rcx, qword [rax]
jne 0x14003d759
cmp byte [rdi + 8], 0
jne 0x14003d700
cmp dword [rcx], 2
jl 0x14003d759
cmp qword [rcx + 0x68], 0
je 0x14003d759
mov ebx, 5
cmp ebx, esi
je 0x14003d78d
cmp esi, 5
je 0x14003d717
cmp ebx, 5
jne 0x14003d78d
cmp byte [r12 + 0x65], 0
je 0x14003eb18
cmp dword [r12 + 0xdc], 1
jg 0x14003eb18
cmp esi, 5
jne 0x14003d75d
mov rdx, r12
mov rcx, rdi
call fcn.140019ba0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003d78d
mov edx, ebx
mov rcx, rdi
call fcn.1400197d0
jmp 0x14003d772
mov ebx, esi
jmp 0x14003d78d
cmp esi, 4
jne 0x14003d76d
lea edx, [rsi - 2]
mov rcx, rdi
call fcn.1400197d0
test r13d, r13d
jne 0x14003d790
xor eax, eax
mov rcx, r14
mov edx, eax
cmp ebx, 5
sete dl
inc edx
call fcn.14002af60
mov r13d, eax
mov dword [rsp + 0x54], eax
test r13d, r13d
cmove esi, ebx
mov rcx, rdi
mov edx, esi
call fcn.1400197d0
xor edi, edi
mov ecx, 0x2202
mov word [r15 + 0x14], cx
cmp eax, 6
jne 0x14003d7b2
mov ecx, edi
jmp 0x14003d7c3
cdqe
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x220e10]
mov qword [r15 + 8], rcx
test rcx, rcx
jne 0x14003d7d0
mov eax, edi
jmp 0x14003d7e2
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x14003d7d4
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 0x14003d801
mov byte [r15 + 0x16], al
jmp 0x14003d817
cmp eax, 1
je 0x14003d817
movzx edx, al
mov rcx, r15
call fcn.140009e40
movzx r9d, byte [rsp + 0x40]
mov rsi, qword [rsp + 0x68]
mov r15, r12
test r13d, r13d
jne 0x14003a303
mov r12, qword [rsp + 0x48]
xor r11d, r11d
mov r10, qword [rsp + 0x58]
mov r14, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x50]
jmp 0x14003783c
mov r13, qword [rsp + 0x48]
movsxd rax, dword [r13 + 8]
test eax, eax
je 0x14003d85a
imul r9, rax, 0x38
add r9, r10
jmp 0x14003d85d
mov r9, r11
mov r8d, dword [r13 + 4]
lea rcx, [rsi + 0xa8]
mov rdx, r15
call fcn.1400918e0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
jne 0x14003a303
jmp 0x140037e5a
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.140021900
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x14003e429
cmp eax, 0x65
jne 0x14003a303
mov r12, qword [rsp + 0x48]
xor r11d, r11d
mov r13d, r11d
mov dword [rsp + 0x54], r11d
jmp 0x140039238
mov rax, qword [rsp + 0x48]
cmp dword [rax + 4], 0
jne 0x14003d918
mov ecx, dword [rax + 8]
mov rax, qword [r15 + 8]
test rax, rax
je 0x140037f56
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 0x14003d8f0
mov r12, qword [rsp + 0x48]
mov rdi, qword [rbp - 0x58]
add r12, 0x18
jmp 0x140037641
mov eax, dword [rax + 8]
mov r12, qword [rsp + 0x48]
inc eax
xor eax, dword [rsi + 0xc8]
mov rdi, qword [rbp - 0x58]
and eax, 3
xor dword [rsi + 0xc8], eax
add r12, 0x18
jmp 0x140037641
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
mov rdi, qword [rbp - 0x58]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
or byte [rax + 1], 0x40
add r12, 0x18
jmp 0x140037641
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
mov rdi, qword [rbp - 0x58]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
and byte [rax + 1], 0xbf
add r12, 0x18
jmp 0x140037641
movzx r8d, byte [r12 + 0xc]
test r8b, r8b
jne 0x14003d9b3
movabs rax, 0x400000000
test qword [r15 + 0x30], rax
jne 0x140037893
mov r13, qword [rsp + 0x48]
mov rcx, qword [r15 + 0x20]
movsxd rax, dword [r13 + 4]
mov edx, dword [r13 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14002adc0
mov dword [rsp + 0x54], eax
mov r13d, eax
test eax, eax
je 0x140037e5a
mov r14, qword [rsp + 0x48]
cmp al, 6
jne 0x14003a308
mov r8, qword [r14 + 0x10]
lea rdx, str.database_table_is_locked:__s
mov rcx, rsi
call fcn.14002dbd0
jmp 0x14003a308
mov rax, qword [rsp + 0x48]
mov rcx, r15
mov rbx, qword [rax + 0x10]
mov rdx, rbx
call fcn.140093990
mov dword [rsp + 0x54], eax
mov r13d, eax
test rbx, rbx
je 0x14003da32
mov rdx, qword [rbx + 0x10]
mov rcx, rsi
call fcn.140033b90
test r13d, r13d
jne 0x14003a303
jmp 0x140037e5a
xor eax, eax
mov qword [rbp + 0x60], r15
mov qword [rbp + 0x48], rax
lea rcx, [rbp + 0x48]
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x68], rax
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], rax
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, r10
call fcn.14002cef0
mov rcx, qword [rbp + 0x5c]
mov r13d, eax
mov dword [rsp + 0x54], eax
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x14003da9e
cmp byte [rbp + 0x5e], 1
jne 0x14003da9e
mov rax, qword [rbp + 0x50]
jmp 0x14003dab2
test cl, 1
jne 0x14003dadc
mov dl, 1
lea rcx, [rbp + 0x48]
call fcn.14002d380
mov rcx, qword [rbp + 0x5c]
test rax, rax
je 0x14003dadc
mov r8, rax
lea r9, [rsi + 0xa8]
mov rax, qword [rsp + 0x48]
mov rcx, r15
mov edx, dword [rax + 4]
call fcn.1400931f0
mov rcx, qword [rbp + 0x5c]
mov r13d, eax
mov dword [rsp + 0x54], eax
mov eax, 0x9000
test ax, cx
jne 0x14003daec
cmp dword [rbp + 0x68], 0
je 0x14003daf5
lea rcx, [rbp + 0x48]
call fcn.14002c6f0
test r13d, r13d
jne 0x14003a303
jmp 0x140037e5a
mov rax, qword [rsp + 0x48]
mov rcx, r15
inc dword [r15 + 0xe8]
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.140093670
dec dword [r15 + 0xe8]
mov r13d, eax
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x14003a303
jmp 0x140037e5a
mov rax, qword [rsp + 0x48]
mov qword [rbp - 0x20], r11
mov rax, qword [rax + 0x10]
mov rdi, qword [rax + 0x10]
test rdi, rdi
je 0x14003eb69
mov rsi, qword [rdi]
test rsi, rsi
je 0x14003eb64
mov rbx, qword [rsi + 0x30]
mov rcx, rbx
call qword [fcn.1400059b0]
lea rdx, [rbp - 0x20]
mov rcx, rdi
call rbx
mov rbx, qword [rsp + 0x68]
mov rdx, rdi
mov rcx, rbx
mov dword [rsp + 0x54], eax
mov r13d, eax
call fcn.140033b90
test r13d, r13d
jne 0x14003ee12
mov rax, qword [rbp - 0x20]
mov r9b, 2
xor r8d, r8d
mov rcx, rbx
mov qword [rax], rdi
mov rax, qword [rsp + 0x48]
mov edx, dword [rax + 4]
call fcn.140036fa0
test rax, rax
je 0x14003eb4c
mov rcx, qword [rbp - 0x20]
mov rsi, rbx
mov qword [rax + 0x30], rcx
inc dword [rdi + 8]
jmp 0x140037e5a
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rbx, qword [rax + rcx*8]
call fcn.1400b1ab0
test eax, eax
jne 0x14003edb6
lea ecx, [rax + 0x10]
call fcn.140006390
mov rdi, rax
test rax, rax
je 0x14003edb6
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 + 0x58]
mov qword [rdi + 8], rdx
movsxd rcx, dword [rax + 8]
mov eax, 0x9000
imul rbx, rcx, 0x38
add rbx, qword [rsi + 0x68]
test word [rbx + 0x14], ax
je 0x14003dc41
mov rcx, rbx
call fcn.140037420
mov rbx, rax
jmp 0x14003dc4a
mov eax, 4
mov word [rbx + 0x14], ax
mov eax, 1
mov rcx, rbx
mov word [rbx + 0x14], ax
call fcn.14002c6f0
lea rax, str.ValueList
mov qword [rbx], rax
mov eax, 0x1a01
mov qword [rbx + 8], rdi
mov word [rbx + 0x14], ax
lea rax, [0x140034fc0]
mov byte [rbx + 0x17], 0x70
mov qword [rbx + 0x30], rax
jmp 0x140037e5a
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 4]
imul rdx, rax, 0x38
mov rax, qword [rsi + 0x78]
mov r13, qword [rax + rcx*8]
lea r11, [rdx + 0x38]
mov eax, dword [rdx + r10]
add r11, r10
mov dword [rbp - 0x60], eax
mov rax, qword [rsp + 0x68]
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 0x14003dcec
mov r10d, 1
movsxd rax, r10d
inc r10d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rdi + r8*8], rcx
inc r8
cmp r8, r12
jl 0x14003dcd3
mov rbx, qword [r14 + 0x40]
mov rcx, rbx
call qword [fcn.1400059b0]
mov rax, qword [rsp + 0x48]
mov r9d, r12d
mov edx, dword [rbp - 0x60]
mov rcx, rsi
mov qword [rsp + 0x20], rdi
mov r8, qword [rax + 0x10]
call rbx
mov rcx, qword [rsp + 0x68]
mov rdx, r15
mov r12d, eax
mov dword [rsp + 0x54], eax
call fcn.140033b90
test r12d, r12d
jne 0x14003eddd
mov rbx, qword [r14 + 0x50]
mov rcx, rbx
call qword [fcn.1400059b0]
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
jne 0x14003923d
mov r15, qword [rsp + 0x70]
jmp 0x140037b76
mov r12, qword [rsp + 0x48]
jmp 0x140039235
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov rsi, qword [rax + rcx*8]
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, r10
cmp byte [rsi + 2], 0
je 0x14003ddd4
mov eax, 0x9000
test word [rdi + 0x14], ax
je 0x14003ddb9
mov rcx, rdi
call fcn.14002c6a0
mov rsi, qword [rsp + 0x68]
jmp 0x140037e5a
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x68]
add r12, 0x18
mov word [rdi + 0x14], dx
mov rdi, qword [rbp - 0x58]
jmp 0x140037641
mov rax, qword [rsi + 0x30]
mov r13, qword [rsp + 0x48]
mov r14, qword [rax]
xor eax, eax
mov rbx, qword [r14]
mov qword [rbp + 0xd0], rax
mov byte [rbp + 0xd0], r9b
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], rax
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0xa8], rdi
test byte [r13 + 2], 1
je 0x14003de5a
mov eax, 0x9000
test word [rdi + 0x14], ax
je 0x14003de48
mov rcx, rdi
call fcn.14002c6a0
mov eax, 0x401
xor r11d, r11d
mov word [rdi + 0x14], ax
mov dword [rdi], r11d
jmp 0x14003de68
mov word [rdi + 0x14], dx
mov eax, 0x401
mov word [rdi + 0x14], ax
mov dword [rdi], r11d
jmp 0x14003de68
mov eax, 0xf241
and word [rdi + 0x14], ax
or word [rdi + 0x14], 1
mov rbx, qword [rbx + 0x58]
mov rcx, rbx
call qword [fcn.1400059b0]
mov r8d, dword [r13 + 8]
lea rdx, [rbp + 0xa8]
mov rcx, qword [rsi + 0x30]
call rbx
mov rsi, qword [rsp + 0x68]
mov rdx, r14
mov rcx, rsi
mov dword [rsp + 0x54], eax
mov r13d, eax
call fcn.140033b90
cmp dword [rbp + 0xcc], 0
jle 0x14003decc
mov rcx, rdi
call fcn.140034230
mov r8, rax
lea rdx, [0x140219f08]
mov rcx, rsi
call fcn.14002dbd0
mov r13d, dword [rbp + 0xcc]
mov dword [rsp + 0x54], r13d
test byte [rdi + 0x14], 2
movzx r9d, byte [rsp + 0x40]
mov ecx, r9d
jne 0x14003dee3
mov byte [rdi + 0x16], cl
jmp 0x14003d81f
movzx eax, byte [rdi + 0x16]
cmp eax, ecx
je 0x14003d81f
movzx edx, cl
mov rcx, rdi
call fcn.140009e40
movzx r9d, byte [rsp + 0x40]
jmp 0x14003d81f
mov rax, qword [rsp + 0x48]
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x78]
mov r14, qword [rax + rcx*8]
cmp byte [r14 + 2], 0
jne 0x14003bb56
mov rdi, qword [r14 + 0x30]
mov rsi, qword [rdi]
mov r15, qword [rsi]
mov rbx, qword [r15 + 0x48]
mov rcx, rbx
call qword [fcn.1400059b0]
mov rcx, rdi
call rbx
mov rdx, rsi
mov dword [rsp + 0x54], eax
mov rsi, qword [rsp + 0x68]
mov r13d, eax
mov rcx, rsi
call fcn.140033b90
test r13d, r13d
jne 0x14003ee00
mov rbx, qword [r15 + 0x50]
mov rcx, rbx
call qword [fcn.1400059b0]
mov rcx, qword [r14 + 0x30]
call rbx
mov r15, qword [rsp + 0x70]
test eax, eax
jne 0x14003c02c
mov r14, qword [rsp + 0x78]
mov rax, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
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 0x14003c037
mov rcx, qword [rsp + 0x48]
mov r14d, dword [r15 + 0x30]
or qword [r15 + 0x30], 0x4000000
and r14d, 0x4000000
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 0x14003dfe0
mov byte [rdi + 0x16], 1
jmp 0x14003dffb
cmp byte [rdi + 0x16], 1
je 0x14003dffb
mov dl, 1
mov rcx, rdi
call fcn.140009e40
mov r13d, eax
test eax, eax
jne 0x14003a2fe
mov rax, qword [rsi]
mov rbx, qword [rax + 0x98]
mov rcx, rbx
call qword [fcn.1400059b0]
mov rdx, qword [rdi + 8]
mov rcx, rsi
call rbx
mov dword [rsp + 0x54], eax
mov r13d, eax
test r14d, r14d
jne 0x14003e02b
and qword [r15 + 0x30], 0xfffffffffbffffff
mov rdx, rsi
mov rsi, qword [rsp + 0x68]
mov rcx, rsi
call fcn.140033b90
and dword [rsi + 0xc8], 0xfffffffc
test r13d, r13d
jne 0x14003a303
mov r12, qword [rsp + 0x48]
jmp 0x14003844f
mov qword [rbp], r11
cmp byte [r15 + 0x67], 0
jne 0x14003edb6
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov rsi, qword [rax + 0x10]
test rsi, rsi
je 0x14003eb94
mov rbx, qword [rsi]
test rbx, rbx
je 0x14003eb94
cmp qword [rbx + 0x68], 0
mov r12, qword [rsp + 0x48]
movsxd r14, dword [r12 + 8]
je 0x14003e70e
mov rax, qword [rsp + 0x68]
movzx r15d, byte [r15 + 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 0x14003e0d0
nop dword [rax]
mov qword [rdi + rax*8], rcx
add rcx, 0x38
inc rax
cmp rax, r14
jl 0x14003e0c0
movzx eax, byte [r12 + 2]
mov r12, qword [rsp + 0x70]
mov byte [r12 + 0x6c], al
mov rbx, qword [rbx + 0x68]
mov rcx, rbx
call qword [fcn.1400059b0]
lea r9, [rbp]
mov r8, rdi
mov edx, r14d
mov rcx, rsi
call rbx
mov rdx, rsi
mov dword [rsp + 0x54], eax
mov rsi, qword [rsp + 0x68]
mov r13d, eax
mov rcx, rsi
mov byte [r12 + 0x6c], r15b
call fcn.140033b90
mov r15, qword [rsp + 0x48]
test r13d, r13d
jne 0x14003e131
cmp dword [r15 + 4], r13d
je 0x14003e131
mov rax, qword [rbp]
mov qword [r12 + 0x38], rax
cmp r13b, 0x13
jne 0x14003e17d
mov rax, qword [r15 + 0x10]
cmp byte [rax + 0x1c], 0
je 0x14003e17d
movzx eax, word [r15 + 2]
cmp ax, 4
jne 0x14003e15f
xor r11d, r11d
mov r15, r12
mov r13d, r11d
mov dword [rsp + 0x54], r11d
jmp 0x14003b6a2
cmp ax, 5
jne 0x14003e172
mov eax, 2
mov byte [rsi + 0xc2], al
jmp 0x14003e181
movzx eax, ax
mov byte [rsi + 0xc2], al
jmp 0x14003e181
inc qword [rsi + 0x38]
mov r15, r12
test r13d, r13d
jne 0x14003a303
mov r12, qword [rsp + 0x48]
jmp 0x14003844f
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
mov eax, 0x9000
add rdx, qword [rsi + 0x68]
test word [rdx + 0x14], ax
je 0x14003e1c3
mov rcx, rdx
call fcn.140037420
mov rdx, rax
xor r11d, r11d
jmp 0x14003e1cc
mov eax, 4
mov word [rdx + 0x14], ax
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [r15 + 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 0x140037837
mov rbx, qword [rsp + 0x48]
movsxd rax, dword [rbx + 8]
imul rsi, rax, 0x38
mov rax, qword [rsp + 0x68]
add rsi, qword [rax + 0x68]
mov eax, 0x9000
test word [rsi + 0x14], ax
je 0x14003e232
mov rcx, rsi
call fcn.140037420
mov rsi, rax
xor r11d, r11d
jmp 0x14003e23b
mov eax, 4
mov word [rsi + 0x14], ax
movsxd rcx, dword [rbx + 4]
mov edi, r11d
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax + 0xc]
test ecx, ecx
je 0x14003e267
mov rax, qword [rbx + 8]
mov edi, dword [rax + 0x40]
cmp edi, ecx
cmovb edi, ecx
cmp byte [rbx + 0x11], 0
je 0x14003e27e
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14003e27e
mov rcx, rbx
call fcn.14001d730
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
test edi, edi
je 0x14003e28f
mov dword [rcx + 0xbc], edi
cmp byte [rbx + 0x11], 0
mov edi, dword [rcx + 0xbc]
je 0x14003e2a9
sub dword [rbx + 0x14], 1
jne 0x14003e2a9
mov rcx, rbx
call fcn.14001d6d0
mov qword [rsi], rdi
mov rsi, qword [rsp + 0x68]
jmp 0x140037e5a
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 - 0x48], r15
cmp qword [r14], r15
je 0x14003e322
mov qword [r14 + 0x18], rsi
mov qword [r14], r15
mov byte [r14 + 0x28], r9b
movzx edx, byte [r14 + 0x2a]
sub edx, 1
movsxd r8, edx
js 0x14003e322
mov r15, qword [rsp + 0x48]
lea r9, [r14 + 0x30]
lea r9, [r9 + r8*8]
nop dword [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 0x14003e300
mov r15, qword [rbp - 0x48]
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.1400059b0]
lea r8, [r14 + 0x30]
mov edx, edi
mov rcx, r14
call rsi
mov eax, dword [r14 + 0x24]
test eax, eax
je 0x14003e3f2
jle 0x14003e38b
mov rcx, r15
call fcn.140034230
mov rsi, qword [rsp + 0x68]
lea rdx, [0x140219f08]
mov rcx, rsi
mov r8, rax
call fcn.14002dbd0
mov r13d, dword [r14 + 0x24]
mov dword [rsp + 0x54], r13d
jmp 0x14003e390
mov rsi, qword [rsp + 0x68]
mov rax, qword [rsp + 0x48]
lea rdx, [rsi + 0x128]
mov r15, qword [rsp + 0x70]
mov r8d, dword [r14 + 0x20]
mov rcx, r15
mov r9d, dword [rax + 4]
call fcn.140031c80
xor r11d, r11d
mov dword [r14 + 0x24], r11d
test r13d, r13d
jne 0x14003a303
jmp 0x14003b6a2
mov r13d, dword [rsp + 0x54]
mov r12, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov r10, qword [rsp + 0x58]
mov r14, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x50]
xor r11d, r11d
mov rsi, qword [rsp + 0x68]
jmp 0x14003783c
mov r15, qword [rsp + 0x70]
jmp 0x14003e3cb
mov r15, r12
jmp 0x14003e3cb
mov r15, qword [rsp + 0x70]
mov r10, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov r14, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x68]
jmp 0x14003783c
mov r12, qword [rsp + 0x48]
jmp 0x14003e403
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x58]
xor r11d, r11d
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov rsi, qword [rsp + 0x68]
jmp 0x14003783c
mov r12, qword [rsp + 0x48]
xor r11d, r11d
mov r8d, dword [rsp + 0x50]
mov rsi, qword [rsp + 0x68]
jmp 0x14003783c
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x58]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov rsi, qword [rsp + 0x68]
jmp 0x14003783c
mov r12, qword [rsp + 0x48]
xor r11d, r11d
mov r10, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x50]
mov rsi, qword [rsp + 0x68]
jmp 0x14003783c
mov r12, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov rsi, qword [rsp + 0x68]
jmp 0x14003783c
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x68]
jmp 0x14003783c
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x48]
mov rdi, 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 0x140037641
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.140037470
movsxd rcx, dword [rbx + 0x10]
xor edx, edx
div rcx
mov rcx, qword [rbx + 8]
mov r8, rdx
and edx, 7
shr r8, 3
movsx eax, byte [r8 + rcx]
bts eax, edx
mov byte [r8 + rcx], al
jmp 0x140037e5a
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.140037470
movsxd rcx, dword [rbx + 0x10]
xor edx, edx
mov r12, qword [rsp + 0x48]
div rcx
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 0x14003e58d
inc dword [rsi + 0xf4]
xor r11d, r11d
jmp 0x14003923d
inc dword [rsi + 0xf0]
xor r11d, r11d
mov r10, qword [rsp + 0x58]
add r12, 0x18
movzx r9d, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x50]
mov rdi, qword [rbp - 0x58]
jmp 0x140037641
movzx eax, byte [r15 + 0x6e]
test al, 0x41
je 0x14003e69a
cmp byte [rsi + 0xc3], 0xfe
je 0x14003e69a
mov rdi, qword [r12 + 0x10]
test rdi, rdi
jne 0x14003e5e7
mov rdi, qword [rsi + 0xf8]
test rdi, rdi
je 0x14003e69a
test al, 0x40
je 0x14003e61f
mov rdx, rdi
mov rcx, rsi
call fcn.140036a70
mov rbx, qword [r15 + 0xf8]
mov rdi, rax
mov rcx, rbx
call qword [fcn.1400059b0]
mov rcx, qword [r15 + 0x100]
mov rdx, rdi
call rbx
mov rcx, rdi
call fcn.140006590
jmp 0x14003e693
cmp dword [r15 + 0xe4], 1
jle 0x14003e66f
mov r8, rdi
lea rdx, str.____s
mov rcx, r15
call fcn.1400094c0
mov rbx, qword [r15 + 0xf8]
mov rdi, rax
mov rcx, rbx
call qword [fcn.1400059b0]
mov rdx, qword [r15 + 0x100]
mov r9, rdi
mov r8, rsi
mov ecx, 1
call rbx
mov rdx, rdi
mov rcx, r15
call fcn.1400067b0
jmp 0x14003e693
mov rbx, qword [r15 + 0xf8]
mov rcx, rbx
call qword [fcn.1400059b0]
mov rdx, qword [r15 + 0x100]
mov r9, rdi
mov r8, rsi
mov ecx, 1
call rbx
xor r11d, r11d
lea edx, [r11 + 1]
mov eax, dword [0x1402809e8]
cmp dword [r12 + 4], eax
jl 0x14003e6e5
cmp byte [r12], 0xb5
je 0x140037888
cmp dword [rsi + 0x90], 1
jle 0x14003e6e0
mov eax, SafeArrayCopy
mov rcx, qword [rsi + 0x88]
cmp byte [rax + rcx], 0xf
jne 0x14003e6d2
mov dword [rax + rcx + 4], r11d
inc edx
add rax, 0x18
cmp edx, dword [rsi + 0x90]
jl 0x14003e6c0
mov dword [r12 + 4], r11d
inc dword [r12 + 4]
inc dword [rsi + 0xec]
jmp 0x140039238
mov r13d, dword [rsp + 0x54]
jmp 0x14003bb51
mov r15, qword [rsp + 0x70]
jmp 0x14003bb56
mov r15, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x68]
add r12, 0x18
mov r14, qword [rsp + 0x78]
mov rdi, qword [rbp - 0x58]
jmp 0x140037641
mov r13, qword [rsp + 0x48]
mov eax, dword [r13 + 4]
mov dword [rsi + 0x34], eax
movzx eax, byte [r13 + 8]
mov byte [rsi + 0xc2], al
cmp dword [rsi + 0x34], 0
je 0x14003e7f2
movzx eax, word [r13 + 2]
mov rcx, rsi
test ax, ax
je 0x14003e79e
movzx eax, ax
lea rdx, str._s_constraint_failed
dec eax
movsxd r8, eax
lea rax, [0x140000000]
mov r8, qword [rax + r8*8 + 0x220588]
call fcn.14002dbd0
mov r9, qword [r13 + 0x10]
test r9, r9
je 0x14003e7ae
mov r8, qword [rsi + 0xa8]
lea rdx, str._z:__s
mov rcx, r15
call fcn.1400094c0
mov qword [rsi + 0xa8], rax
jmp 0x14003e7ae
mov r8, qword [r13 + 0x10]
lea rdx, [0x140219f08]
call fcn.14002dbd0
mov r9, qword [rsi + 0xf8]
mov rcx, r13
sub rcx, r14
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [rsi + 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.140009770
mov rcx, rsi
call fcn.140031700
mov r14, qword [rsp + 0x48]
mov r13d, eax
mov r12, qword [rsp + 0x60]
cmp eax, 5
jne 0x14003e814
mov dword [rsi + 0x34], eax
jmp 0x14003f014
cmp dword [rsi + 0x34], 0
mov r13d, 0x65
mov eax, 1
cmovne r13d, eax
jmp 0x14003f014
mov r13d, 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [rsi + 0x34], r13d
mov rcx, rsi
mov byte [rsi + 0xc2], 2
call fcn.14002dbd0
cmp byte [rsi + 0xc4], 0
mov eax, 1
cmovge r13d, eax
jmp 0x14003a303
mov ecx, 0x16e90
call fcn.1400b6190
mov r13d, eax
jmp 0x14003a303
movsxd rax, esi
lea rdx, str.cannot_store__s_value_in__s_column__s._s
mov rsi, qword [rsp + 0x68]
lea rcx, [rax + rax*2]
movzx eax, word [rbx + 0x14]
mov r9d, dword [r15 + rcx*8 + 8]
lea rbx, [0x140000000]
and eax, 0x3f
shr r9d, 4
and r9d, 0xf
dec r9d
movzx eax, byte [rax + rbx + 0x2257c0]
dec eax
mov r9, qword [rbx + r9*8 + 0x280808]
movsxd r8, eax
mov rax, qword [r15 + rcx*8]
mov rcx, rsi
mov qword [rsp + 0x28], rax
mov rax, qword [r14]
mov r8, qword [rbx + r8*8 + 0x224490]
mov qword [rsp + 0x20], rax
call fcn.14002dbd0
mov r15, qword [rsp + 0x70]
mov r13d, 0xc13
mov r14, r12
jmp 0x14003a30f
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, rsi
call fcn.14002dbd0
mov r13d, 5
jmp 0x14003a303
mov rsi, qword [rsp + 0x68]
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, rsi
call fcn.14002dbd0
mov r13d, 5
jmp 0x14003a303
mov r14, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
mov r12, qword [rsp + 0x60]
mov rcx, r14
sub rcx, qword [rsp + 0x78]
mov r13d, 5
imul rcx
mov rsi, rbx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x30], edx
mov byte [r15 + 0x65], 0
mov dword [rbx + 0x34], r13d
jmp 0x14003f010
mov r13d, 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [rbx + 0x34], r13d
mov rsi, rbx
mov byte [rbx + 0xc2], 2
call fcn.14002dbd0
cmp byte [rbx + 0xc4], 0
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x60]
cmovge r13d, edi
jmp 0x14003f010
mov r14, qword [rsp + 0x48]
mov r13d, 0x65
mov r12, qword [rsp + 0x60]
jmp 0x14003f010
mov eax, dword [r15 + 0x30]
lea rbx, [0x140000000]
mov r14, qword [rsp + 0x48]
bt rax, 0x14
mov edi, SafeArrayDestroy
mov r13d, 8
cmovae r13d, edi
jmp 0x14003a314
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x60]
cmp r13b, 5
jne 0x14003eb83
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 [rsi + 0x30], edx
mov dword [rsi + 0x34], r13d
jmp 0x14003f014
mov r13d, 0x204
jmp 0x14003a303
mov r15, r12
mov rsi, qword [rsp + 0x68]
lea rdx, str.string_or_blob_too_big
mov rcx, rsi
call fcn.14002dbd0
mov r13d, SafeArrayAccessData
jmp 0x14003a303
lea rax, [0x14021ff34]
mov r13d, 0x30b
mov ecx, r13d
mov qword [rsp + 0x20], rax
mov r9d, 0x17b87
lea r8, str.index_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140009770
mov r14, r12
jmp 0x14003a308
mov ecx, 0x17c54
call fcn.1400b6190
mov r13d, eax
jmp 0x14003a303
mov r13d, 6
mov byte [rsi + 0xc2], 2
jmp 0x14003a303
mov r13d, 7
mov rcx, r15
call fcn.14005b030
mov r12, qword [rsp + 0x60]
cmp r13d, 7
je 0x14003edbb
jmp 0x14003eb7e
mov rcx, qword [rbp + 8]
call fcn.140006590
jmp 0x14003a303
mov r13d, edx
mov rcx, rsi
lea rdx, str.too_many_levels_of_trigger_recursion
call fcn.14002dbd0
mov r15, r12
jmp 0x14003a303
mov rcx, rbx
call fcn.140034230
mov r8, rax
lea rdx, [0x140219f08]
mov rcx, rsi
call fcn.14002dbd0
jmp 0x14003a303
mov rsi, qword [rsp + 0x68]
lea rax, str.into
mov r13d, r8d
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
cmp ebx, 5
lea r8, str.out_of
mov rcx, rsi
cmove r8, rax
call fcn.14002dbd0
mov r15, r12
jmp 0x14003a303
mov rbx, qword [rsi + 0x38]
mov rcx, rbx
call qword [fcn.1400059b0]
mov rcx, qword [rbp - 0x20]
call rbx
jmp 0x14003edb1
mov rsi, qword [rsp + 0x68]
mov r13d, 6
jmp 0x14003a303
or r12, 0xffffffffffffffff
mov r13d, 9
mov r14, qword [rsp + 0x48]
lea rbx, [0x140000000]
mov edi, SafeArrayDestroy
jmp 0x14003a319
mov r13d, 6
jmp 0x14003a2fe
mov eax, dword [rsi + 0x2c]
mov r13, qword [rsp + 0x48]
add eax, 2
or eax, 1
mov dword [rsi + 0x2c], eax
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, r10
mov qword [rsi + 0xa0], rcx
cmp byte [r15 + 0x67], 0
jne 0x14003edb6
test byte [r15 + 0x6e], 4
je 0x14003ebf7
mov rbx, qword [r15 + 0xf8]
mov rcx, rbx
call qword [fcn.1400059b0]
mov rdx, qword [r15 + 0x100]
xor r9d, r9d
mov r8, rsi
lea ecx, [r9 + 4]
call rbx
mov r12, qword [rsp + 0x60]
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 [rsi + 0x30], edx
jmp 0x14003f014
mov r13, qword [rsp + 0x48]
movzx eax, byte [r15 + 0x65]
mov ebx, dword [r13 + 4]
mov ecx, dword [r13 + 8]
cmp ebx, eax
je 0x14003ed67
test ecx, ecx
je 0x14003ec67
mov edx, 0x204
mov rcx, r15
call fcn.1400b33b0
mov byte [r15 + 0x65], 1
jmp 0x14003ece8
test ebx, ebx
je 0x14003ec8f
cmp dword [r15 + 0xe0], 0
jle 0x14003ec8f
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, rsi
call fcn.14002dbd0
mov r13d, 5
jmp 0x14003a303
mov rax, qword [rsi]
mov rcx, qword [rax + 0x300]
add rcx, qword [rax + 0x2f8]
test rcx, rcx
jle 0x14003ece4
mov r13d, 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [rsi + 0x34], r13d
mov rcx, rsi
mov byte [rsi + 0xc2], 2
call fcn.14002dbd0
cmp byte [rsi + 0xc4], 0
mov eax, 1
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x60]
cmovge r13d, eax
jmp 0x14003f014
mov byte [r15 + 0x65], bl
mov rcx, rsi
call fcn.140031700
cmp eax, 5
jne 0x14003ed3d
mov r12, qword [rsp + 0x60]
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 [rsi + 0x30], edx
sub al, bl
mov byte [r15 + 0x65], al
mov dword [rsi + 0x34], r13d
jmp 0x14003f014
mov rcx, r15
call fcn.1400b2990
cmp dword [rsi + 0x34], 0
mov r13d, 0x65
mov r14, qword [rsp + 0x48]
mov eax, 1
mov r12, qword [rsp + 0x60]
cmovne r13d, eax
jmp 0x14003f014
test ebx, ebx
jne 0x14003ed74
lea rdx, str.cannot_start_a_transaction_within_a_transaction
jmp 0x14003ed88
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, rsi
call fcn.14002dbd0
mov r13d, 1
jmp 0x14003a303
mov r12, qword [rsp + 0x60]
jmp 0x14003eb78
mov r15, qword [rsp + 0x70]
jmp 0x14003edb6
mov r15, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x68]
mov r12, qword [rsp + 0x60]
mov rcx, r15
call fcn.140007080
lea rdx, [0x140218fd0]
mov rcx, rsi
call fcn.14002dbd0
mov r13d, 7
jmp 0x14003eb7e
mov r13d, dword [rsp + 0x54]
mov r15, qword [rsp + 0x70]
jmp 0x14003a2fe
mov r13d, dword [rsp + 0x54]
jmp 0x14003a2fe
mov r13d, dword [rsp + 0x54]
jmp 0x14003a303
mov r15, qword [rsp + 0x70]
jmp 0x14003a303
mov r15, r12
jmp 0x14003a2fe
mov rsi, rbx
jmp 0x14003a303
mov r14, rbx
jmp 0x14003a308
cmp r13d, 0x210a
jne 0x14003ee55
lea rax, [0x14021ff34]
mov r9d, 0x184e6
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, edi
call fcn.140009770
mov r13d, edi
cmp qword [rsi + 0xa8], 0
jne 0x14003eec7
cmp r13d, 0xc0a
je 0x14003eec7
mov ecx, r13d
lea r8, str.unknown_error
sub ecx, 0x64
je 0x14003eeb1
sub ecx, 1
je 0x14003eea8
cmp ecx, 0x19f
je 0x14003ee9f
movzx eax, r13b
cmp eax, 0x1d
jae 0x14003eeb8
mov rcx, qword [rbx + rax*8 + 0x21ffc0]
test rcx, rcx
je 0x14003eeb8
mov r8, rcx
jmp 0x14003eeb8
lea r8, str.abort_due_to_ROLLBACK
jmp 0x14003eeb8
lea r8, str.no_more_rows_available
jmp 0x14003eeb8
lea r8, str.another_row_available
lea rdx, [0x140219f08]
mov rcx, rsi
call fcn.14002dbd0
mov dword [rsi + 0x34], r13d
cmp r13d, 0xc0a
je 0x14003ef0c
movzx eax, r13b
sub eax, 0xa
test eax, 0xfffffffb
jne 0x14003ef0c
mov rdi, qword [r15]
mov rbx, qword [rdi + 0x80]
test rbx, rbx
je 0x14003ef06
mov rcx, rbx
call qword [fcn.1400059b0]
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call rbx
jmp 0x14003ef08
xor eax, eax
mov dword [r15 + 0x5c], eax
mov r9, qword [rsi + 0xf8]
mov rcx, r14
sub rcx, qword [rsp + 0x78]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [rsi + 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.140009770
cmp byte [rsi + 0xc5], 2
jne 0x14003ef62
mov rcx, rsi
call fcn.140031700
cmp r13d, 0xc0a
jne 0x14003ef75
mov rcx, r15
call fcn.140007080
jmp 0x14003ef90
cmp r13d, 0xb
jne 0x14003ef90
cmp byte [r15 + 0x65], 0
jne 0x14003ef90
movabs rax, 0x200000000
or qword [r15 + 0x30], rax
mov eax, 1
mov r13d, eax
movzx eax, byte [rbp - 0x78]
test al, al
je 0x14003f010
movzx eax, al
sub eax, r13d
js 0x14003efcf
movsxd rcx, eax
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
or word [rcx + 0x72], 8
mov rax, qword [r15 + 0x20]
mov rcx, qword [rax + 0x38]
or word [rcx + 0x72], 8
and dword [r15 + 0x2c], 0xffffffef
cmp dword [r15 + 0x48], 0
jne 0x14003f010
xor eax, eax
mov edi, eax
cmp dword [r15 + 0x28], eax
jle 0x14003f010
mov ebx, eax
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r15 + 0x20]
mov rcx, qword [rax + rbx + 0x18]
test byte [rcx + 0x72], 8
je 0x14003f004
call fcn.140064ad0
inc edi
add rbx, 0x20
cmp edi, dword [r15 + 0x28]
jl 0x14003eff0
mov rdi, qword [rbp - 0x58]
cmp rdi, r12
jb 0x14003f05f
mov rbx, qword [r15 + 0x210]
test rbx, rbx
je 0x14003f05f
mov eax, dword [r15 + 0x220]
mov rcx, rbx
add r12, rax
call qword [fcn.1400059b0]
mov rcx, qword [r15 + 0x218]
call rbx
test eax, eax
je 0x14003f014
or r12, 0xffffffffffffffff
lea rbx, [0x140000000]
lea r13d, [r12 + 0xa]
lea edi, [r12 + 0xc]
jmp 0x14003a319
add dword [rsi + 0xe4], edi
cmp dword [rsi + 0xd0], 0
movaps xmm6, xmmword [rsp + 0x390]
mov r15, qword [rsp + 0x3a0]
mov r14, qword [rsp + 0x3a8]
mov r12, qword [rsp + 0x3e8]
mov rdi, qword [rsp + 0x3e0]
mov rbx, qword [rsp + 0x3d8]
je 0x14003f0a6
mov rcx, rsi
call fcn.14002fa00
mov eax, r13d
mov rcx, qword [rbp + 0x288]
xor rcx, rsp
call fcn.1401646e0
add rsp, 0x3b0
pop r13
pop rsi
pop rbp
ret