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

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x198
mov r14, qword [rcx]
mov rsi, qword [rcx + 8]
mov r9, qword [rcx + 0x10]
mov rax, qword [r14 + 0x10]
xor r12d, r12d
mov r13, rcx
mov rdx, qword [rax + 0x18]
lea ebp, [r12 + 1]
mov qword [rsp + 0x168], rsi
mov r8b, byte [rdx + 0x71]
lea eax, [rbp + 6]
mov edx, r12d
cmp dword [rcx + 0x94], eax
mov dword [rsp + 0x1f0], r12d
mov dword [rsp + 0x1f8], r12d
mov byte [rsp + 0x1e8], r8b
mov qword [rsp + 0x170], r14
mov qword [rsp + 0x40], r9
mov r15, r12
mov dword [rsp + 0x160], edx
mov qword [rsp + 0x180], r12
je 0x140043068
mov dword [rcx + 0x94], r12d
mov qword [rcx + 0x28], r12
mov eax, dword [r14 + 0x150]
cmp eax, r12d
mov dword [r14 + 0x2a0], r12d
jne 0x140042fba
mov r12d, dword [rcx + 0x90]
xor r11d, r11d
mov dword [rsp + 0x1f0], r12d
mov r12d, edx
mov eax, dword [rsp + 0x1f0]
cmp byte [r14 + 0x2a], r11b
lea r10, [0x140000000]
jne 0x140043068
movsxd rbx, eax
lea rdi, [rbx + rbx*2]
test byte [rsi + rdi*8 + 2], 2
je 0x14003e440
movsxd r15, dword [rsi + rdi*8 + 8]
imul r15, r15, 0x38
add r15, r9
mov rcx, r15
call fcn.140016138
mov eax, dword [rsp + 0x1f0]
mov r9, qword [rsp + 0x40]
mov r8b, byte [rsp + 0x1e8]
mov edx, dword [rsp + 0x160]
mov word [r15 + 0x24], 4
xor r11d, r11d
lea r10, [0x140000000]
movzx ecx, byte [rsi + rdi*8]
cmp ecx, 0x5a
jg 0x14004191e
cmp ecx, 0x56
jge 0x140041754
sub ecx, ebp
cmp ecx, 0x54
ja case.default.0x14003e46f
movsxd rax, ecx
mov ecx, dword [r10 + rax*4 + 0x43094]
add rcx, r10
jmp rcx
mov eax, dword [r14 + 0x150]
cmp eax, r11d
jne 0x140042fb7
mov eax, dword [rsi + rdi*8 + 8]
sub eax, ebp
jmp case.default.0x14003e46f
movsxd rax, dword [rsi + rdi*8 + 4]
imul rax, rax, 0x38
mov word [rax + r9 + 0x24], 4
mov qword [rax + r9 + 0x18], rbx
jmp 0x14003e481
movsxd rax, dword [rsi + rdi*8 + 4]
imul rax, rax, 0x38
mov eax, dword [rax + r9 + 0x18]
jmp case.default.0x14003e46f
movsxd rcx, dword [rsi + rdi*8 + 4]
imul rcx, rcx, 0x38
mov eax, dword [rcx + r9 + 0x18]
mov word [rcx + r9 + 0x24], 4
mov dword [rsp + 0x50], eax
mov qword [rcx + r9 + 0x18], rbx
mov eax, dword [rsp + 0x50]
jmp case.default.0x14003e46f
movsxd rax, dword [rsi + rdi*8 + 0xc]
imul rax, rax, 0x38
test byte [rax + r9 + 0x24], bpl
je case.0x14003e46f.16
xor ecx, ecx
cmp dword [rsi + rdi*8 + 4], ecx
jne 0x140042d6d
mov r8, qword [r13 + 0x140]
cmp r8, rcx
je 0x140042d6d
mov rax, qword [r8 + 0x60]
add dword [r13 + 0x150], 0xffffffff
mov qword [r13 + 0x140], rax
mov eax, dword [r13 + 0xa4]
add dword [r14 + 0x50], eax
mov dword [r14 + 0x4c], eax
mov rax, qword [r8 + 0x10]
mov rdx, qword [r8]
mov rcx, qword [rdx]
mov qword [rdx + 8], rax
mov eax, dword [r8 + 0x18]
mov dword [rdx + 0x34], eax
mov rax, qword [r8 + 0x20]
mov qword [rdx + 0x10], rax
mov eax, dword [r8 + 0x28]
mov dword [rdx + 0x30], eax
mov rax, qword [r8 + 0x30]
mov qword [rdx + 0x70], rax
movzx eax, word [r8 + 0x38]
mov word [rdx + 0x52], ax
mov rax, qword [r8 + 0x50]
mov qword [rcx + 0x40], rax
mov eax, dword [r8 + 0x58]
mov dword [rdx + 0xa4], eax
cmp dword [rsi + rdi*8 + 8], 4
mov eax, dword [r8 + 8]
jne 0x14003e595
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 8]
mov esi, dword [rax + rcx*8 + 8]
sub esi, ebp
mov eax, esi
mov rsi, qword [r13 + 8]
mov r9, qword [r13 + 0x10]
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x168], rsi
mov r8b, byte [rsp + 0x1e8]
jmp 0x14003e60f
movsxd rax, dword [rsi + rdi*8 + 4]
mov qword [r15 + 0x18], rax
mov eax, dword [rsp + 0x1f0]
jmp case.default.0x14003e46f
mov rax, qword [rsi + rdi*8 + 0x10]
mov rcx, qword [rax]
mov qword [r15 + 0x18], rcx
jmp case.0x14003e46f.16
mov word [r15 + 0x24], bp
jmp case.0x14003e46f.16
mov r8d, dword [rsi + rdi*8 + 4]
mov rdx, qword [rsi + rdi*8 + 0x10]
xor eax, eax
xor r9d, r9d
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.14001e648
mov r8b, byte [rsp + 0x1e8]
mov r9, qword [rsp + 0x40]
mov byte [r15 + 0x27], r8b
mov eax, dword [rsp + 0x1f0]
xor r11d, r11d
add eax, ebp
cmp r12d, r11d
mov dword [rsp + 0x1f0], eax
jne 0x140042ff8
mov edx, dword [rsp + 0x160]
jmp 0x14003e3e1
mov eax, dword [rsi + rdi*8 + 4]
sub eax, ebp
movsxd r9, eax
imul r9, r9, 0x38
add r9, qword [r13 + 0x78]
mov rcx, r9
mov qword [rsp + 0x50], r9
call fcn.14000c208
xor ecx, ecx
cmp eax, ecx
jne 0x140042f96
mov r8d, 0x800
mov rdx, r9
mov rcx, r15
call fcn.140017f88
mov r9, qword [rsp + 0x40]
mov r8b, byte [rsp + 0x1e8]
jmp 0x14003e608
mov edx, dword [rsi + rdi*8 + 0xc]
mov dword [rsp + 0x58], edx
movsxd rax, dword [rsi + rdi*8 + 4]
mov dword [rsp + 0x5c], eax
movsxd rcx, dword [rsi + rdi*8 + 8]
mov rbx, rax
imul rbx, rbx, 0x38
mov r15, rcx
xor eax, eax
add rbx, r9
mov dword [rsp + 0x60], ecx
imul r15, r15, 0x38
add r15, r9
cmp edx, eax
je 0x14003e6f4
xor r14d, r14d
sub edx, ebp
mov rcx, r15
mov dword [rsp + 0x58], edx
mov rax, qword [r15 + 0x30]
mov rdx, rbx
mov qword [rsp + 0x50], rax
mov qword [r15 + 0x30], r14
call fcn.140019d58
mov r11, qword [rsp + 0x50]
add rbx, 0x38
add r15, 0x38
mov qword [rbx - 8], r11
mov edx, dword [rsp + 0x58]
cmp edx, r14d
jne 0x14003e6af
mov r14, qword [rsp + 0x170]
mov r9, qword [rsp + 0x40]
sub edx, ebp
mov dword [rsp + 0x58], edx
jmp 0x14003e66e
movsxd r15, dword [rsi + rdi*8 + 8]
movsxd rdx, dword [rsi + rdi*8 + 4]
mov r8d, 0x1000
imul rdx, rdx, 0x38
imul r15, r15, 0x38
add r15, r9
mov rcx, r15
add rdx, r9
call fcn.140017f88
bt word [r15 + 0x24], 0xc
jae 0x14003e669
mov rcx, r15
call fcn.14001e8c8
xor r8d, r8d
cmp eax, r8d
jne 0x140043068
jmp 0x14003e669
movsxd r15, dword [rsi + rdi*8 + 8]
movsxd rdx, dword [rsi + rdi*8 + 4]
imul r15, r15, 0x38
imul rdx, rdx, 0x38
add r15, r9
add rdx, r9
mov r8d, 0x1000
jmp 0x14003e661
xor edx, edx
mov rcx, r13
call fcn.140020518
mov r12d, eax
mov dword [rsp + 0x1f8], eax
xor eax, eax
cmp r12d, eax
jne 0x14003e669
mov edx, ebp
mov rcx, r13
call fcn.140036848
mov r12d, eax
mov dword [rsp + 0x1f8], eax
xor eax, eax
cmp r12d, eax
jne 0x14003e669
mov eax, dword [r13 + 0x8c]
mov rdx, qword [rsp + 0x40]
xor r12d, r12d
add eax, 2
or eax, ebp
mov dword [r13 + 0x8c], eax
movsxd r8, dword [rsi + rdi*8 + 4]
imul r8, r8, 0x38
add r8, rdx
mov edx, r12d
mov dword [rsp + 0x58], edx
mov qword [r13 + 0x28], r8
mov qword [rsp + 0x50], r8
cmp dword [rsi + rdi*8 + 8], r12d
jle 0x140042e22
movsxd rcx, edx
imul rcx, rcx, 0x38
add rcx, r8
bt word [rcx + 0x24], 0xc
jae 0x14003e817
call fcn.14001e8c8
cmp eax, r12d
jne 0x140043068
mov edx, dword [rsp + 0x58]
mov r8, qword [rsp + 0x50]
movsxd rcx, edx
imul rcx, rcx, 0x38
add rcx, r8
call fcn.14001e7f8
movsxd rcx, dword [rsp + 0x58]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x50]
call fcn.14000bb18
mov edx, dword [rsp + 0x58]
add edx, ebp
mov dword [rsp + 0x58], edx
cmp edx, dword [rsi + rdi*8 + 8]
jge 0x140042e22
mov r8, qword [rsp + 0x50]
jmp 0x14003e7ee
movzx eax, byte [rsi + rdi*8 + 3]
mov r8, qword [r13 + 0x18]
xor r12d, r12d
mov dword [rsp + 0xc8], eax
mov qword [rsp + 0xc0], r8
movsxd rcx, dword [rsi + rdi*8 + 8]
movsxd r15, dword [rsi + rdi*8 + 0xc]
mov edx, r12d
imul rcx, rcx, 0x38
add rcx, r9
mov dword [rsp + 0x50], edx
mov qword [rsp + 0x58], rcx
imul r15, r15, 0x38
add r15, r9
cmp eax, r12d
jle 0x14003e8ef
movsxd rax, edx
mov qword [r8 + rax*8], rcx
mov rcx, qword [rsp + 0x58]
bt word [rcx + 0x24], 0xc
jae 0x14003e8bf
call fcn.14001e8c8
cmp eax, r12d
jne 0x140043068
mov rcx, qword [rsp + 0x58]
call fcn.14000bb18
mov edx, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
add edx, ebp
add rcx, 0x38
cmp edx, dword [rsp + 0xc8]
mov dword [rsp + 0x50], edx
mov qword [rsp + 0x58], rcx
jge 0x14003e8ef
mov r8, qword [rsp + 0xc0]
jmp 0x14003e898
cmp byte [rsi + rdi*8 + 1], 0xfb
mov rax, qword [rsi + rdi*8 + 0x10]
jne 0x14003e902
mov qword [rsp + 0x68], r12
jmp 0x14003e90a
mov qword [rsp + 0x68], rax
mov rax, qword [rax]
lea rcx, [rsp + 0x70]
mov rdx, r15
mov qword [rsp + 0x60], rax
mov word [rsp + 0x94], bp
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x98], r12
mov qword [rsp + 0xa0], r12
call fcn.140019d58
movzx r11d, word [rsp + 0x94]
mov r9, qword [rsp + 0x60]
and r11w, 0xbf01
mov dword [rsp + 0xb0], r12d
or r11w, bp
mov word [rsp + 0x94], r11w
test byte [r9 + 3], 8
je 0x14003e976
mov rax, qword [rsi + rdi*8 - 8]
mov qword [rsp + 0xb8], rax
mov r8, qword [rsp + 0xc0]
mov edx, dword [rsp + 0xc8]
lea rcx, [rsp + 0x60]
call qword [r9 + 0x18]
cmp byte [r14 + 0x2a], r12b
jne 0x140042e46
mov rcx, qword [rsp + 0x68]
cmp rcx, r12
je 0x14003e9ba
mov edx, dword [rsi + rdi*8 + 4]
call fcn.14000bee8
mov r11, qword [rsp + 0x68]
mov byte [rsi + rdi*8 + 1], 0xf9
mov qword [rsi + rdi*8 + 0x10], r11
cmp dword [rsp + 0xb0], r12d
je 0x14003e9f5
lea rcx, [rsp + 0x70]
mov dl, bpl
call fcn.140027c38
lea rcx, [r13 + 0x58]
lea r8, [0x14007d8d8]
mov r9, rax
mov rdx, r14
call fcn.14001ed98
mov eax, dword [rsp + 0xb0]
mov dword [rsp + 0x1f8], eax
lea rdx, [rsp + 0x70]
mov rcx, r15
call fcn.140019d58
mov rcx, r15
call fcn.14000c208
cmp eax, r12d
jne 0x140042f96
mov r12d, dword [rsp + 0x1f8]
jmp 0x14003e669
movsxd rcx, dword [rsi + rdi*8 + 8]
movsxd rbx, dword [rsi + rdi*8 + 4]
movsxd r15, dword [rsi + rdi*8 + 0xc]
imul rcx, rcx, 0x38
imul rbx, rbx, 0x38
imul r15, r15, 0x38
add rcx, r9
add rbx, r9
add r15, r9
mov al, byte [rcx + 0x24]
or al, byte [rbx + 0x24]
test bpl, al
je 0x14003ea5c
mov rcx, r15
call fcn.1400160d8
jmp 0x14003e669
call fcn.140012ce8
mov rcx, rbx
mov qword [rsp + 0x50], rax
call fcn.140012ce8
mov qword [rsp + 0x58], rax
movzx edx, byte [rsi + rdi*8]
mov r11, rax
sub edx, 0x52
je 0x14003eaa3
sub edx, ebp
je 0x14003ea99
cmp edx, ebp
mov rcx, rax
mov rax, qword [rsp + 0x50]
je 0x14003ea94
sar rax, cl
jmp 0x14003eaab
shl rax, cl
jmp 0x14003eaab
mov rax, qword [rsp + 0x50]
or rax, r11
jmp 0x14003eaab
mov rax, qword [rsp + 0x50]
and rax, r11
mov qword [rsp + 0x50], rax
and word [r15 + 0x24], 0xbf04
or word [r15 + 0x24], 4
mov qword [r15 + 0x18], rax
jmp 0x14003e669
movsxd rbx, dword [rsi + rdi*8 + 4]
imul rbx, rbx, 0x38
add rbx, r9
mov rcx, rbx
call fcn.140014c68
movsxd rax, dword [rsi + rdi*8 + 8]
add qword [rbx + 0x18], rax
jmp 0x14003e669
movsxd rbx, dword [rsi + rdi*8 + 4]
imul rbx, rbx, 0x38
add rbx, r9
mov rcx, rbx
call fcn.140012c08
test byte [rbx + 0x24], 8
je 0x14003eb0a
mov rcx, rbx
call fcn.14000ff48
movzx eax, word [rbx + 0x24]
test al, 4
jne 0x14003eb2f
mov eax, dword [rsi + rdi*8 + 8]
xor r8d, r8d
cmp eax, r8d
je 0x140042e55
add eax, 0xffffffff
mov r9, qword [rsp + 0x40]
jmp 0x14003e5aa
and ax, 0xbf04
or ax, 4
mov word [rbx + 0x24], ax
jmp 0x14003e669
movsxd rbx, dword [rsi + rdi*8 + 4]
movsxd r12, dword [rsi + rdi*8 + 0xc]
imul rbx, rbx, 0x38
imul r12, r12, 0x38
add rbx, r9
add r12, r9
movzx eax, word [rbx + 0x24]
mov word [rsp + 0x56], ax
movzx eax, word [r12 + 0x24]
mov word [rsp + 0x58], ax
movzx ecx, word [r12 + 0x24]
mov al, cl
or al, byte [rbx + 0x24]
test bpl, al
je 0x14003ebdf
mov al, byte [rsi + rdi*8 + 3]
test al, al
jns 0x14003eba0
and cl, byte [rbx + 0x24]
mov eax, 0
mov r8d, eax
test bpl, cl
sete r8b
mov dword [rsp + 0x50], r8d
jmp 0x14003ec54
test al, 0x10
je 0x14003ebbe
movsxd r15, dword [rsi + rdi*8 + 8]
imul r15, r15, 0x38
add r15, r9
and word [r15 + 0x24], 0xbf01
or word [r15 + 0x24], bp
jmp 0x14003ebd2
test al, 8
je 0x14003ebd2
mov r12d, dword [rsi + rdi*8 + 8]
sub r12d, ebp
mov dword [rsp + 0x1f0], r12d
mov r12d, dword [rsp + 0x1f8]
jmp case.0x14003e46f.16
mov dl, byte [rsi + rdi*8 + 3]
and dl, 0x67
mov byte [rsp + 0x54], dl
je 0x14003ec14
mov rcx, rbx
call fcn.140027ae8
mov r8b, byte [rsp + 0x1e8]
mov dl, byte [rsp + 0x54]
mov rcx, r12
call fcn.140027ae8
xor eax, eax
cmp byte [r14 + 0x2a], al
jne 0x140043068
bt word [rbx + 0x24], 0xe
jae 0x14003ec24
mov rcx, rbx
call fcn.14001e858
bt word [r12 + 0x24], 0xe
jae 0x14003ec36
mov rcx, r12
call fcn.14001e858
mov r8, qword [rsi + rdi*8 + 0x10]
mov rdx, rbx
mov rcx, r12
call fcn.140027cd8
mov r9, qword [rsp + 0x40]
mov r8d, eax
mov dword [rsp + 0x50], eax
xor eax, eax
movzx edx, byte [rsi + rdi*8]
xor ecx, ecx
sub edx, 0x4b
je 0x14003ec97
sub edx, ebp
je 0x14003ec8f
sub edx, ebp
je 0x14003ec87
sub edx, ebp
je 0x14003ec7f
cmp edx, ebp
je 0x14003ec77
cmp r8d, ecx
setge al
jmp 0x14003ec9d
cmp r8d, ecx
setl al
jmp 0x14003ec9d
cmp r8d, ecx
setle al
jmp 0x14003ec9d
cmp r8d, ecx
setg al
jmp 0x14003ec9d
cmp r8d, ecx
sete al
jmp 0x14003ec9d
cmp r8d, ecx
setne al
mov dword [rsp + 0x50], eax
test byte [rsi + rdi*8 + 3], 0x10
je 0x14003eccc
movsxd r15, dword [rsi + rdi*8 + 8]
imul r15, r15, 0x38
add r15, r9
and word [r15 + 0x24], 0xbf04
or word [r15 + 0x24], 4
movsxd rax, dword [rsp + 0x50]
mov qword [r15 + 0x18], rax
jmp 0x14003ece1
xor r8d, r8d
cmp eax, r8d
je 0x14003ece1
mov eax, dword [rsi + rdi*8 + 8]
sub eax, ebp
mov dword [rsp + 0x1f0], eax
mov al, byte [rsp + 0x56]
mov byte [rbx + 0x24], al
mov al, byte [rsp + 0x58]
mov byte [r12 + 0x24], al
mov r12d, dword [rsp + 0x1f8]
jmp 0x14003e66e
mov rcx, qword [rsi + rdi*8 + 0x10]
mov qword [rsp + 0x180], rcx
jmp case.0x14003e46f.16
mov eax, dword [rsi + rdi*8 + 0xc]
xor r8d, r8d
cmp eax, r8d
mov dword [rsp + 0x50], eax
mov rdx, qword [rsi + rdi*8 + 0x10]
mov qword [rsp + 0x60], rdx
mov r10d, dword [rsi + rdi*8 + 4]
mov ecx, r8d
mov dword [rsp + 0x58], r10d
mov r11d, dword [rsi + rdi*8 + 8]
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x5c], r11d
jle 0x14003eded
mov rbx, qword [rsp + 0x180]
cmp rbx, r8
je 0x14003ed64
movsxd rax, ecx
mov r9d, dword [rbx + rax*4]
mov dword [rsp + 0x68], r9d
jmp 0x14003ed6b
mov r9d, ecx
mov dword [rsp + 0x68], ecx
movsxd rcx, ecx
mov r8, qword [rdx + rcx*8 + 0x18]
mov qword [rsp + 0x70], r8
mov rax, qword [rdx + 0x10]
movzx ecx, byte [rax + rcx]
lea eax, [r9 + r11]
mov r11, qword [rsp + 0x40]
mov dword [rsp + 0x78], ecx
movsxd rdx, eax
lea eax, [r9 + r10]
movsxd rcx, eax
imul rdx, rdx, 0x38
add rdx, r11
imul rcx, rcx, 0x38
add rcx, r11
call fcn.140027cd8
xor r8d, r8d
cmp eax, r8d
mov dword [rsp + 0x160], eax
jne 0x14003eddd
mov ecx, dword [rsp + 0x54]
add ecx, ebp
cmp ecx, dword [rsp + 0x50]
mov dword [rsp + 0x54], ecx
jge 0x14003eded
mov rdx, qword [rsp + 0x60]
mov r11d, dword [rsp + 0x5c]
mov r10d, dword [rsp + 0x58]
jmp 0x14003ed51
cmp dword [rsp + 0x78], r8d
je 0x14003eded
neg eax
mov dword [rsp + 0x160], eax
mov qword [rsp + 0x180], r8
jmp 0x14003e669
xor eax, eax
cmp edx, eax
jge 0x14003ee0b
mov eax, dword [rsi + rdi*8 + 4]
sub eax, ebp
jmp 0x14003e60f
jne 0x14003ee13
mov eax, dword [rsi + rdi*8 + 8]
jmp 0x14003ee04
mov eax, dword [rsi + rdi*8 + 0xc]
jmp 0x14003ee04
movsxd rcx, dword [rsi + rdi*8 + 4]
imul rcx, rcx, 0x38
add rcx, r9
test byte [rcx + 0x24], bpl
je 0x14003ee35
mov ecx, 2
xor r15d, r15d
jmp 0x14003ee4b
call fcn.140012ce8
mov r9, qword [rsp + 0x40]
xor r15d, r15d
cmp rax, r15
mov ecx, r15d
setne cl
mov dword [rsp + 0x50], ecx
movsxd rax, dword [rsi + rdi*8 + 8]
imul rax, rax, 0x38
add rax, r9
test byte [rax + 0x24], bpl
je 0x14003ee68
mov edx, 2
jmp 0x14003ee82
mov rcx, rax
call fcn.140012ce8
mov ecx, dword [rsp + 0x50]
mov r9, qword [rsp + 0x40]
cmp rax, r15
mov edx, r15d
setne dl
movsxd rax, ecx
mov dword [rsp + 0x54], edx
lea rcx, [rax + rax*2]
movsxd rax, edx
add rcx, rax
cmp byte [rsi + rdi*8], 0x45
lea rax, [0x140000000]
jne 0x14003eeaa
movzx eax, byte [rcx + rax + 0x7a7e8]
jmp 0x14003eeb2
movzx eax, byte [rcx + rax + 0x7a7f8]
mov r8b, byte [rsp + 0x1e8]
mov dword [rsp + 0x50], eax
movsxd r15, dword [rsi + rdi*8 + 0xc]
imul r15, r15, 0x38
add r15, r9
cmp eax, 2
jne 0x14003eee0
and word [r15 + 0x24], 0xbf01
or word [r15 + 0x24], bp
jmp 0x14003e608
and word [r15 + 0x24], 0xbf04
or word [r15 + 0x24], 4
cdqe
mov qword [r15 + 0x18], rax
jmp 0x14003e608
movsxd rcx, dword [rsi + rdi*8 + 4]
movsxd r15, dword [rsi + rdi*8 + 8]
imul rcx, rcx, 0x38
imul r15, r15, 0x38
add rcx, r9
add r15, r9
test byte [rcx + 0x24], bpl
jne 0x14003ea4f
call fcn.140012ce8
xor ecx, ecx
cmp rax, rcx
mov rdx, rcx
sete dl
mov rcx, r15
call fcn.140019e58
jmp 0x14003e669
movsxd rcx, dword [rsi + rdi*8 + 4]
imul rcx, rcx, 0x38
add rcx, r9
test byte [rcx + 0x24], bpl
je 0x14003ef56
mov ecx, dword [rsi + rdi*8 + 0xc]
xor r8d, r8d
mov dword [rsp + 0x50], ecx
jmp 0x14003ef85
call fcn.140012ce8
mov r9, qword [rsp + 0x40]
xor r8d, r8d
cmp rax, r8
mov ecx, r8d
setne cl
mov dword [rsp + 0x50], ecx
cmp byte [rsi + rdi*8], 0x1b
jne 0x14003ef85
mov eax, r8d
cmp ecx, r8d
sete al
mov ecx, eax
mov dword [rsp + 0x50], eax
cmp ecx, r8d
mov r8b, byte [rsp + 0x1e8]
je 0x14003e608
jmp 0x14003ee0d
movsxd rax, dword [rsi + rdi*8 + 4]
imul rax, rax, 0x38
test byte [rax + r9 + 0x24], bpl
je case.0x14003e46f.16
jmp 0x14003e481
movsxd rax, dword [rsi + rdi*8 + 4]
imul rax, rax, 0x38
test byte [rax + r9 + 0x24], bpl
jne case.0x14003e46f.16
jmp 0x14003e481
mov eax, dword [rsi + rdi*8 + 4]
xor r12d, r12d
lea rcx, [rsp + 0xb0]
mov dword [rsp + 0x60], eax
mov eax, dword [rsi + rdi*8 + 8]
lea r8d, [r12 + 0x38]
xor edx, edx
mov qword [rsp + 0x68], r12
mov dword [rsp + 0x64], eax
call sub.msvcrt.dll_memset
movsxd r11, dword [rsi + rdi*8 + 0xc]
mov r9, qword [rsp + 0x40]
imul r11, r11, 0x38
add r11, r9
mov qword [rsp + 0xa8], r11
movzx eax, word [r11 + 0x24]
and ax, 0xbf01
or ax, bp
mov word [r11 + 0x24], ax
mov rax, qword [r13 + 0x70]
movsxd rcx, dword [rsp + 0x60]
mov qword [rsp + 0x70], r12
mov rdx, qword [rax + rcx*8]
mov qword [rsp + 0x68], rdx
mov rax, qword [rdx]
cmp rax, r12
mov qword [rsp + 0x78], rax
je 0x14003f0f8
mov rcx, rdx
call fcn.140037c68
cmp eax, r12d
mov dword [rsp + 0x1f8], eax
jne 0x140042f2f
mov rdx, qword [rsp + 0x68]
cmp byte [rdx + 0x28], r12b
je 0x14003f078
mov dword [rsp + 0x50], r12d
jmp 0x14003ea13
mov eax, dword [r13 + 0x8c]
cmp dword [rdx + 0x5c], eax
jne 0x14003f096
mov ecx, dword [rdx + 0x60]
mov dword [rsp + 0x50], ecx
mov rax, qword [rdx + 0x78]
mov qword [rsp + 0x70], rax
jmp 0x14003f0f1
cmp byte [rdx + 0x2b], r12b
mov rcx, qword [rsp + 0x78]
je 0x14003f0d7
cmp byte [rcx + 0x6f], bpl
je 0x14003f0b6
mov qword [rsp + 0x58], r12
mov dword [rsp + 0x1f8], r12d
jmp 0x14003f0cc
lea rdx, [rsp + 0x58]
call fcn.1400180c8
mov rdx, qword [rsp + 0x68]
mov dword [rsp + 0x1f8], eax
mov ecx, dword [rsp + 0x58]
mov r9, qword [rsp + 0x40]
jmp 0x14003f143
lea rdx, [rsp + 0x50]
call fcn.140018098
mov rdx, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x50]
mov dword [rsp + 0x1f8], eax
mov r9, qword [rsp + 0x40]
jmp 0x14003f147
cmp dword [rdx + 0x1c], r12d
jle 0x14003f140
movsxd rcx, dword [rdx + 0x1c]
imul rcx, rcx, 0x38
add rcx, r9
mov qword [rsp + 0x108], rcx
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x50], eax
mov rax, qword [rcx + 8]
mov qword [rsp + 0x70], rax
test byte [rsi + rdi*8 + 3], 0x20
mov eax, r12d
jne 0x14003f132
mov eax, dword [r13 + 0x8c]
mov dword [rdx + 0x5c], eax
mov rdx, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x50]
jmp 0x14003f147
mov ecx, r12d
mov dword [rsp + 0x50], ecx
cmp ecx, r12d
je 0x14003ecf1
cmp ecx, dword [r14 + 0x60]
ja 0x140042f96
movsxd r8, dword [rdx + 0x20]
mov eax, dword [r13 + 0x8c]
mov dword [rsp + 0x90], r8d
mov rcx, qword [rdx + 0x68]
mov qword [rsp + 0x80], rcx
cmp dword [rdx + 0x5c], eax
jne 0x14003f196
mov rax, qword [rdx + 0x70]
lea rbx, [0x140000000]
mov qword [rsp + 0x88], rax
jmp 0x14003f4ad
lea rcx, [rcx + r8*4]
mov dword [rsp + 0x104], r12d
mov qword [rsp + 0x88], rcx
mov qword [rdx + 0x70], rcx
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x50]
mov dword [rax + 0x60], ecx
mov rax, qword [rsp + 0x68]
mov ecx, dword [r13 + 0x8c]
mov dword [rax + 0x5c], ecx
mov rax, qword [rsp + 0x70]
cmp rax, r12
je 0x14003f1dd
mov qword [rsp + 0xa0], rax
jmp 0x14003f245
mov r8, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x78]
mov rdx, r12
cmp byte [r8 + 0x2b], r12b
je 0x14003f1fb
cmp byte [rcx + 0x6f], bpl
jne 0x14003f219
xor r8d, r8d
jmp 0x14003f204
cmp byte [rcx + 0x6f], bpl
jne 0x14003f219
mov r8d, ebp
lea rdx, [rsp + 0x104]
call fcn.1400161a8
mov r8, qword [rsp + 0x68]
mov rdx, rax
mov eax, dword [rsp + 0x104]
mov qword [rsp + 0xa0], rdx
cmp dword [rsp + 0x50], eax
ja 0x14003f239
mov qword [rsp + 0x70], rdx
mov qword [r8 + 0x78], rdx
jmp 0x14003f23d
mov qword [r8 + 0x78], r12
mov rax, qword [rsp + 0xa0]
cmp byte [rax], 0x80
jae 0x14003f258
movzx edx, byte [rax]
mov ecx, ebp
mov dword [rsp + 0xf8], edx
jmp 0x14003f27a
lea rdx, [rsp + 0xf8]
mov rcx, rax
call fcn.140011708
mov edx, dword [rsp + 0xf8]
movzx ecx, al
mov rax, qword [rsp + 0xa0]
cmp edx, 0x18003
movzx r8d, cl
mov dword [rsp + 0x100], r8d
jbe 0x14003f2a7
mov ecx, 0xf58b
call fcn.140020b18
mov r12d, eax
mov dword [rsp + 0x1f8], eax
jmp 0x14003e669
mov r11d, dword [rsp + 0x90]
lea ecx, [r11 + r11*4 + 3]
cmp ecx, edx
cmovg ecx, edx
cmp qword [rsp + 0x70], r12
mov dword [rsp + 0x94], ecx
jne 0x14003f351
cmp dword [rsp + 0x104], ecx
jge 0x14003f351
mov rax, qword [rsp + 0x68]
mov word [rsp + 0xd4], r12w
mov qword [rsp + 0xb0], r12
movzx r9d, byte [rax + 0x2b]
mov r8d, ecx
mov rcx, qword [rsp + 0x78]
lea rax, [rsp + 0xb0]
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.140037e18
mov r12d, eax
mov dword [rsp + 0x1f8], eax
xor eax, eax
cmp r12d, eax
jne 0x14003e669
mov rax, qword [rsp + 0xb8]
mov r8d, dword [rsp + 0x100]
mov edx, dword [rsp + 0xf8]
mov ecx, dword [rsp + 0x94]
mov r11d, dword [rsp + 0x90]
mov qword [rsp + 0xa0], rax
xor r12d, r12d
movsxd r9, r8d
movsxd r10, ecx
mov dword [rsp + 0x98], r12d
add r10, rax
add r9, rax
cmp r11d, r12d
mov r8d, r12d
lea rbx, [0x140000000]
mov qword [rsp + 0xf0], r10
mov qword [rsp + 0xe8], r9
jle 0x14003f44a
cmp r9, r10
mov rax, qword [rsp + 0x88]
movsxd rcx, r8d
jae 0x14003f508
mov dword [rax + rcx*4], edx
mov rcx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0x80]
cmp byte [rcx], 0x80
jae 0x14003f3c6
movzx edx, byte [rcx]
movsxd rcx, dword [rsp + 0x98]
mov dword [rax + rcx*4], edx
mov eax, ebp
jmp 0x14003f3da
movsxd rdx, dword [rsp + 0x98]
lea rdx, [rax + rdx*4]
call fcn.140011708
movzx eax, al
mov r9, qword [rsp + 0xe8]
movsxd r8, dword [rsp + 0x98]
movzx eax, al
add r9, rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xe8], r9
mov edx, dword [rax + r8*4]
cmp edx, 0xc
jb 0x14003f410
lea eax, [rdx - 0xc]
shr eax, 1
jmp 0x14003f418
movzx eax, byte [rdx + rbx + 0x7a7a0]
mov edx, dword [rsp + 0xf8]
mov dword [rsp + 0xfc], eax
add edx, eax
cmp edx, eax
mov dword [rsp + 0xf8], edx
jae 0x14003f523
mov rax, qword [rsp + 0xf0]
add rax, rbp
mov qword [rsp + 0xe8], rax
lea rcx, [rsp + 0xb0]
call fcn.140017fe8
mov rax, qword [rsp + 0xf0]
mov word [rsp + 0xd4], bp
cmp qword [rsp + 0xe8], rax
ja 0x14003f68f
mov ecx, dword [rsp + 0x50]
cmp dword [rsp + 0xf8], ecx
ja 0x14003f68f
cmp qword [rsp + 0xe8], rax
jne 0x14003f49d
cmp dword [rsp + 0xf8], ecx
jne 0x14003f68f
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
movsxd rdx, dword [rsp + 0x64]
cmp dword [rax + rdx*4], r12d
je 0x14003f610
cmp qword [rsp + 0x70], r12
je 0x14003f549
mov rcx, qword [rsp + 0xa8]
call fcn.140016138
movsxd r11, dword [rsp + 0x64]
mov rax, qword [rsp + 0x88]
mov ecx, dword [rax + r11*4]
mov rax, qword [rsp + 0x80]
mov r8, qword [rsp + 0xa8]
mov edx, dword [rax + r11*4]
add rcx, qword [rsp + 0x70]
call fcn.14000bc48
jmp 0x14003f5fa
mov dword [rax + rcx*4], r12d
mov edx, dword [rsp + 0xf8]
mov r9, qword [rsp + 0xe8]
mov r8d, dword [rsp + 0x98]
add r8d, ebp
cmp r8d, dword [rsp + 0x90]
mov dword [rsp + 0x98], r8d
jge 0x14003f44a
mov r10, qword [rsp + 0xf0]
jmp 0x14003f388
mov eax, dword [rcx + rdx*4]
cmp eax, 0xc
jb 0x14003f558
add eax, 0xfffffff4
shr eax, 1
jmp 0x14003f560
movzx eax, byte [rax + rbx + 0x7a7a0]
mov rdx, qword [rsp + 0xa8]
lea rcx, [rsp + 0xb0]
mov dword [rsp + 0x94], eax
call fcn.140019d58
movsxd rcx, dword [rsp + 0x64]
mov r11, qword [rsp + 0x68]
movzx r9d, byte [r11 + 0x2b]
mov r8d, dword [rsp + 0x94]
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x88]
mov edx, dword [rax + rcx*4]
mov rcx, qword [rsp + 0x78]
call fcn.140037e18
mov r12d, eax
mov dword [rsp + 0x1f8], eax
xor eax, eax
cmp r12d, eax
jne 0x14003e669
mov rcx, qword [rsp + 0xb8]
movsxd rdx, dword [rsp + 0x64]
mov rax, qword [rsp + 0x80]
mov r8, qword [rsp + 0xa8]
mov qword [rsp + 0xa0], rcx
mov edx, dword [rax + rdx*4]
call fcn.14000bc48
xor r12d, r12d
mov rax, qword [rsp + 0xa8]
mov r11b, byte [rsp + 0x1e8]
mov byte [rax + 0x27], r11b
jmp 0x14003f62f
cmp byte [rsi + rdi*8 + 1], 0xf8
jne 0x14003f62f
mov rdx, qword [rsi + rdi*8 + 0x10]
mov rcx, qword [rsp + 0xa8]
mov r8d, 0x800
call fcn.140017f88
cmp qword [rsp + 0xe0], r12
je 0x14003f67d
mov rax, qword [rsp + 0xa8]
and word [rax + 0x24], 0xe7ff
mov rax, qword [rsp + 0xa8]
or word [rax + 0x24], 0x200
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xb8]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xe0]
mov qword [rcx + 0x30], rax
mov rcx, qword [rsp + 0xa8]
call fcn.14001e8c8
jmp 0x14003f298
mov ecx, 0xf5d5
jmp 0x14003f293
mov rax, qword [rsi + rdi*8 + 0x10]
xor r8d, r8d
mov qword [rsp + 0x50], rax
movsxd rbx, dword [rsi + rdi*8 + 4]
mov cl, byte [rax]
imul rbx, rbx, 0x38
add rbx, r9
cmp cl, r8b
mov byte [rsp + 0x58], cl
je 0x14003f712
mov r14b, byte [rsp + 0x1e8]
add rax, rbp
mov qword [rsp + 0x50], rax
bt word [rbx + 0x24], 0xe
jae 0x14003f6e1
mov rcx, rbx
call fcn.14001e858
mov cl, byte [rsp + 0x58]
mov dl, cl
mov r8b, r14b
mov rcx, rbx
call fcn.140027ae8
mov rax, qword [rsp + 0x50]
xor r8d, r8d
mov cl, byte [rax]
add rbx, 0x38
cmp cl, r8b
mov byte [rsp + 0x58], cl
jne 0x14003f6c5
mov r14, qword [rsp + 0x170]
mov r9, qword [rsp + 0x40]
add rax, rbp
mov qword [rsp + 0x50], rax
jmp 0x14003e66e
xor r8d, r8d
mov qword [rsp + 0x60], r8
mov dword [rsp + 0x68], r8d
mov qword [rsp + 0x70], r8
mov ebx, r8d
mov r15, r8
mov r11d, r8d
mov dword [rsp + 0x78], ebx
movsxd rax, dword [rsi + rdi*8 + 4]
mov dword [rsp + 0x98], eax
mov r14, qword [rsi + rdi*8 + 0x10]
mov r13, rax
imul r13, r13, 0x38
add r13, r9
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0x88], r13
mov eax, dword [rsi + rdi*8 + 8]
mov r10, r13
mov dword [rsp + 0x98], eax
add eax, 0xffffffff
movsxd r12, eax
mov rax, qword [rsp + 0x1e0]
movzx eax, byte [rax + 0x9e]
imul r12, r12, 0x38
mov dword [rsp + 0xa8], eax
add r12, r13
mov qword [rsp + 0x90], r12
movsxd rax, dword [rsi + rdi*8 + 0xc]
mov qword [rsp + 0x58], r13
imul rax, rax, 0x38
add rax, r9
cmp r13, r12
mov qword [rsp + 0x188], rax
ja 0x14003f90c
mov sil, byte [rsp + 0x1e8]
cmp r14, r8
je 0x14003f82f
mov rdx, r10
movabs rax, 0x4924924924924925
mov r8b, sil
sub rdx, r13
mov rcx, r10
imul rdx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dl, byte [rdx + r14]
call fcn.140027ae8
mov r14, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x90]
mov r13, qword [rsp + 0x88]
mov ebx, dword [rsp + 0x78]
mov r11d, dword [rsp + 0x68]
mov r15, qword [rsp + 0x60]
mov r10, qword [rsp + 0x58]
xor r8d, r8d
bt word [r10 + 0x24], 0xe
jae 0x14003f871
cmp dword [r10 + 0x20], r8d
jle 0x14003f871
mov rcx, r10
call fcn.14001e858
mov r14, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x90]
mov r13, qword [rsp + 0x88]
mov ebx, dword [rsp + 0x78]
mov r11d, dword [rsp + 0x68]
mov r15, qword [rsp + 0x60]
mov r10, qword [rsp + 0x58]
mov edx, dword [rsp + 0xa8]
mov rcx, r10
call fcn.14000be38
cmp eax, 0xc
mov r9d, eax
mov dword [rsp + 0x80], r9d
jb 0x14003f898
lea ecx, [r9 - 0xc]
shr ecx, 1
jmp 0x14003f8a8
lea rcx, [0x140000000]
movzx ecx, byte [r9 + rcx + 0x7a7a0]
movsxd rax, ecx
mov dword [rsp + 0xb0], ecx
mov rdx, r9
add r15, rax
xor r8d, r8d
mov eax, r8d
mov qword [rsp + 0x60], r15
add eax, ebp
shr rdx, 7
je 0x14003f8d0
cmp eax, 9
jl 0x14003f8c3
add r11d, eax
mov dword [rsp + 0x68], r11d
bt word [r10 + 0x24], 0xe
jae 0x14003f8e7
add ebx, dword [r10 + 0x18]
jmp 0x14003f8ee
cmp ecx, r8d
cmovne ebx, r8d
add r10, 0x38
mov dword [rsp + 0x78], ebx
cmp r10, r12
mov qword [rsp + 0x58], r10
jbe 0x14003f7cc
mov rsi, qword [rsp + 0x168]
movsxd rcx, r11d
mov eax, r8d
add eax, ebp
shr rcx, 7
je 0x14003f91f
cmp eax, 9
jl 0x14003f912
add r11d, eax
mov dword [rsp + 0x7c], eax
mov ecx, r8d
mov dword [rsp + 0x68], r11d
movsxd rdx, r11d
add ecx, ebp
shr rdx, 7
je 0x14003f93e
cmp ecx, 9
jl 0x14003f931
cmp eax, ecx
jge 0x14003f94a
add r11d, ebp
mov dword [rsp + 0x68], r11d
mov r14, qword [rsp + 0x170]
movsxd rax, ebx
movsxd rcx, r11d
sub rcx, rax
add rcx, r15
mov qword [rsp + 0x70], rcx
movsxd rax, dword [r14 + 0x60]
cmp rcx, rax
jg 0x140042f8e
mov r15, qword [rsp + 0x188]
mov edx, ecx
xor r8d, r8d
mov rcx, r15
call fcn.14001d078
xor r12d, r12d
cmp eax, r12d
jne 0x140043060
mov edx, dword [rsp + 0x68]
mov rcx, qword [r15 + 8]
cmp edx, 0x80
mov qword [rsp + 0x50], rcx
jae 0x14003f9ae
mov al, dl
mov byte [rcx], dl
mov eax, ebp
jmp 0x14003f9b3
call fcn.1400117a8
mov rcx, qword [rsp + 0x90]
movzx r10d, al
mov rax, qword [rsp + 0x88]
cmp rax, rcx
mov dword [rsp + 0xac], r10d
mov qword [rsp + 0x58], rax
ja 0x14003fa99
mov edx, dword [rsp + 0xa8]
mov rcx, rax
call fcn.14000be38
cmp eax, 0x80
mov dword [rsp + 0x80], eax
jae 0x14003fa09
mov rcx, qword [rsp + 0x50]
movsxd rdx, r10d
mov byte [rdx + rcx], al
mov eax, ebp
jmp 0x14003fa18
movsxd rcx, r10d
mov edx, eax
add rcx, qword [rsp + 0x50]
call fcn.1400117a8
mov r10d, dword [rsp + 0xac]
mov rcx, qword [rsp + 0x90]
movzx eax, al
add r10d, eax
mov rax, qword [rsp + 0x58]
add rax, 0x38
mov dword [rsp + 0xac], r10d
cmp rax, rcx
mov qword [rsp + 0x58], rax
jbe 0x14003f9dd
mov rax, qword [rsp + 0x88]
cmp rax, rcx
jmp 0x14003fa99
mov edx, dword [rsp + 0x70]
mov r9d, dword [rsp + 0xa8]
movsxd rcx, r10d
add rcx, qword [rsp + 0x50]
mov r8, rax
sub edx, r10d
call fcn.14000fe48
mov r10d, dword [rsp + 0xac]
add r10d, eax
mov rax, qword [rsp + 0x58]
add rax, 0x38
mov dword [rsp + 0xac], r10d
cmp rax, qword [rsp + 0x90]
mov qword [rsp + 0x58], rax
jbe 0x14003fa56
mov eax, dword [rsp + 0x70]
mov word [r15 + 0x24], 0x410
mov qword [r15 + 0x28], r12
mov dword [r15 + 0x20], eax
mov eax, dword [rsp + 0x78]
cmp eax, r12d
je 0x14003fac7
mov dword [r15 + 0x18], eax
mov word [r15 + 0x24], 0x4410
mov r12d, dword [rsp + 0x1f8]
mov r13, qword [rsp + 0x1e0]
mov byte [r15 + 0x27], bpl
jmp 0x14003e669
movsxd rcx, dword [rsi + rdi*8 + 4]
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + rcx*8]
xor eax, eax
mov rcx, qword [rcx]
cmp rcx, rax
mov qword [rsp + 0x58], rcx
je 0x14003fb14
lea rdx, [rsp + 0x50]
call fcn.140034438
mov dword [rsp + 0x1f8], eax
mov rax, qword [rsp + 0x50]
jmp 0x14003fb19
mov qword [rsp + 0x50], rax
mov qword [r15 + 0x18], rax
jmp 0x14003ea13
mov ebx, dword [rsi + rdi*8 + 4]
xor eax, eax
cmp ebx, eax
mov dword [rsp + 0x50], ebx
mov r10, qword [rsi + rdi*8 + 0x10]
mov qword [rsp + 0x58], r10
jne 0x14003fc14
cmp dword [r14 + 0xb4], eax
jle 0x14003fb6d
lea r8, str.cannot_open_savepoint___SQL_statements_in_progress
lea rcx, [r13 + 0x58]
mov rdx, r14
call fcn.14001ed98
mov r12d, 5
mov dword [rsp + 0x1f8], r12d
jmp 0x14003e669
cmp r10, rax
jne 0x14003fb7a
mov r10d, eax
jmp 0x14003fb8b
add r10, rbp
cmp byte [r10], al
jne 0x14003fb77
sub r10d, dword [rsp + 0x58]
and r10d, 0x3fffffff
lea edx, [r10 + 0x19]
mov rcx, r14
mov dword [rsp + 0x60], r10d
call fcn.140016d48
xor r8d, r8d
cmp rax, r8
mov qword [rsp + 0x68], rax
je 0x14003e669
lea rcx, [rax + 0x18]
mov qword [rax], rcx
mov eax, dword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
add eax, ebp
movsxd r8, eax
call sub.msvcrt.dll_memcpy
xor eax, eax
cmp byte [r14 + 0x28], al
je 0x14003fbdc
mov byte [r14 + 0x28], al
mov byte [r14 + 0x300], bpl
jmp 0x14003fbe3
add dword [r14 + 0x2f8], ebp
mov rax, qword [rsp + 0x68]
mov rcx, qword [r14 + 0x2f0]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x68]
mov rcx, qword [r14 + 0x308]
mov qword [r14 + 0x2f0], rax
mov rax, qword [rsp + 0x68]
mov qword [rax + 8], rcx
jmp 0x14003e669
mov dword [rsp + 0x80], eax
mov r11, qword [r14 + 0x2f0]
mov edi, eax
cmp r11, rax
mov qword [rsp + 0x70], r11
je 0x14003fe71
xor esi, esi
mov rcx, qword [r11]
mov rdx, r10
call fcn.14000e058
cmp eax, esi
je 0x14003fc5a
add edi, ebp
mov dword [rsp + 0x80], edi
mov r11, qword [r11 + 0x10]
cmp r11, rsi
mov qword [rsp + 0x70], r11
jne 0x14003fc34
cmp r11, rsi
mov rsi, qword [rsp + 0x168]
je 0x14003fe71
xor ecx, ecx
cmp dword [r14 + 0xb4], ecx
jg 0x14003fe44
cmp ebx, 2
jne 0x14003fc8c
cmp dword [r14 + 0xb0], ebp
jg 0x14003fe44
cmp qword [r11 + 0x10], rcx
jne 0x14003fce7
cmp byte [r14 + 0x300], cl
je 0x14003fce7
cmp ebx, ebp
mov r12d, ebp
jne 0x14003fcea
mov edx, ebp
mov rcx, r13
call fcn.140020518
xor ebx, ebx
cmp eax, ebx
jne 0x14004304c
mov rcx, r13
mov byte [r14 + 0x28], bpl
call fcn.1400391d8
lea edi, [rbx + 5]
cmp eax, edi
je 0x140042e62
mov byte [r14 + 0x300], bl
mov eax, dword [r13 + 0x94]
mov dword [rsp + 0x1f8], eax
jmp 0x14003fd94
mov r12d, ecx
mov r8d, dword [r14 + 0x2f8]
mov dword [rsp + 0x84], ecx
mov eax, ecx
sub r8d, edi
sub r8d, ebp
mov dword [rsp + 0x80], r8d
cmp dword [r14 + 8], ecx
jle 0x14003fd5e
mov rcx, qword [r14 + 0x10]
cdqe
mov edx, ebx
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1400357d8
xor ecx, ecx
cmp eax, ecx
mov dword [rsp + 0x1f8], eax
jne 0x140042f2c
mov eax, dword [rsp + 0x84]
mov ebx, dword [rsp + 0x50]
add eax, ebp
mov dword [rsp + 0x84], eax
cmp eax, dword [r14 + 8]
jge 0x14003fd59
mov r8d, dword [rsp + 0x80]
jmp 0x14003fd0e
mov r11, qword [rsp + 0x70]
cmp ebx, 2
jne 0x14003fd9d
bt dword [r14 + 0x18], 9
jae 0x14003fd9d
mov rax, qword [r14 + 0xa8]
jmp 0x14003fd7f
mov byte [rax + 0x9c], bpl
mov rax, qword [rax + 0x68]
cmp rax, rcx
jne 0x14003fd74
xor edx, edx
mov rcx, r14
call fcn.14001c818
bts dword [r14 + 0x18], 9
mov ebx, dword [rsp + 0x50]
mov r11, qword [rsp + 0x70]
cmp qword [r14 + 0x2f0], r11
je 0x14003fde4
mov rax, qword [r14 + 0x2f0]
mov rcx, r14
mov qword [rsp + 0x78], rax
mov rax, qword [rax + 0x10]
mov qword [r14 + 0x2f0], rax
mov rdx, qword [rsp + 0x78]
call fcn.140013e78
add dword [r14 + 0x2f8], 0xffffffff
mov r11, qword [rsp + 0x70]
cmp qword [r14 + 0x2f0], r11
jne 0x14003fda6
mov ebx, dword [rsp + 0x50]
cmp ebx, ebp
jne 0x14003fe34
mov rax, qword [r11 + 0x10]
mov rcx, r14
mov qword [r14 + 0x2f0], rax
mov rdx, qword [rsp + 0x70]
call fcn.140013e78
mov r9, qword [rsp + 0x40]
mov r8b, byte [rsp + 0x1e8]
xor eax, eax
cmp r12d, eax
mov r12d, dword [rsp + 0x1f8]
mov eax, dword [rsp + 0x1f0]
jne 0x14003e60f
add dword [r14 + 0x2f8], 0xffffffff
jmp 0x14003e60f
mov rax, qword [r11 + 8]
mov qword [r14 + 0x308], rax
jmp 0x14003ea13
lea rax, str.rollback
cmp ebx, 2
lea r9, str.release
lea rcx, [r13 + 0x58]
lea r8, str.cannot__s_savepoint___SQL_statements_in_progress
mov rdx, r14
cmove r9, rax
call fcn.14001ed98
jmp 0x14003fb5a
lea rcx, [r13 + 0x58]
lea r8, str.no_such_savepoint:__s
mov r9, r10
mov rdx, r14
call fcn.14001ed98
mov r12d, ebp
mov dword [rsp + 0x1f8], ebp
jmp 0x14003e669
mov edx, dword [rsi + rdi*8 + 4]
xor r12d, r12d
cmp edx, r12d
mov dword [rsp + 0x50], edx
mov ecx, dword [rsi + rdi*8 + 8]
mov dword [rsp + 0x54], ecx
je 0x14003fee7
cmp byte [r14 + 0x28], r12b
jne 0x14003fee7
cmp ecx, r12d
mov dword [rsp + 0x58], ebp
je 0x14003fed2
cmp dword [r14 + 0xb0], ebp
jle 0x14003feec
lea r8, str.cannot_rollback_transaction___SQL_statements_in_progress
jmp 0x14003fb4e
cmp dword [r14 + 0xb4], r12d
jle 0x14003feec
lea r8, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x14003fb4e
mov dword [rsp + 0x58], r12d
movzx eax, byte [r14 + 0x28]
cmp edx, eax
jne 0x140042e82
cmp ecx, r12d
lea rax, str.cannot_rollback___no_transaction_is_active
lea r8, str.cannot_commit___no_transaction_is_active
cmovne r8, rax
cmp edx, r12d
lea rax, str.cannot_start_a_transaction_within_a_transaction
lea rcx, [r13 + 0x58]
cmove r8, rax
mov rdx, r14
call fcn.14001ed98
jmp 0x14003fe87
mov rax, qword [r14 + 0x10]
movsxd rcx, dword [rsi + rdi*8 + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
xor eax, eax
cmp rcx, rax
mov qword [rsp + 0x50], rcx
je 0x14003e608
mov edx, dword [rsi + rdi*8 + 8]
call fcn.140037418
mov ebx, 5
cmp eax, ebx
mov r12d, eax
mov dword [rsp + 0x1f8], eax
je 0x140042efb
xor eax, eax
cmp r12d, eax
jne 0x140042f2c
cmp dword [rsi + rdi*8 + 8], eax
je 0x14003e669
cmp byte [r13 + 0xa0], al
je 0x14003e669
cmp byte [r14 + 0x28], al
je 0x14003ffa4
cmp dword [r14 + 0xb0], ebp
jle 0x14003e669
cmp dword [r13 + 0xac], eax
jne 0x14003ffc9
add dword [r14 + 0x2fc], ebp
mov ecx, dword [r14 + 0x2fc]
add ecx, dword [r14 + 0x2f8]
mov dword [r13 + 0xac], ecx
mov rax, qword [rsp + 0x50]
mov edx, dword [r13 + 0xac]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx]
call fcn.14001a088
mov dword [rsp + 0x1f8], eax
mov rax, qword [r14 + 0x308]
mov qword [r13 + 0x128], rax
jmp 0x14003ea13
movsxd rax, dword [rsi + rdi*8 + 4]
lea r8, [rsp + 0x50]
mov dword [rsp + 0x54], eax
mov edx, dword [rsi + rdi*8 + 0xc]
shl rax, 5
mov dword [rsp + 0x58], edx
mov rcx, qword [r14 + 0x10]
mov rcx, qword [rax + rcx + 8]
call fcn.140010048
movsxd rdx, dword [rsp + 0x50]
mov eax, dword [rsp + 0x1f0]
mov r9, qword [rsp + 0x40]
mov r8b, byte [rsp + 0x1e8]
mov qword [r15 + 0x18], rdx
jmp case.default.0x14003e46f
movsxd rax, dword [rsi + rdi*8 + 4]
shl rax, 5
add rax, qword [r14 + 0x10]
mov qword [rsp + 0x50], rax
movsxd rbx, dword [rsi + rdi*8 + 0xc]
imul rbx, rbx, 0x38
add rbx, r9
mov rcx, rbx
call fcn.140014c68
mov rcx, qword [rsp + 0x50]
mov r8d, dword [rbx + 0x18]
mov rcx, qword [rcx + 8]
mov edx, dword [rsi + rdi*8 + 8]
call fcn.14002dc68
cmp dword [rsi + rdi*8 + 8], ebp
mov r12d, eax
mov dword [rsp + 0x1f8], eax
jne 0x1400400a7
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 0x18]
mov eax, dword [rbx + 0x18]
mov dword [rcx], eax
bts dword [r14 + 0x18], 9
jmp 0x1400400bd
cmp dword [rsi + rdi*8 + 8], 2
jne 0x1400400bd
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 0x18]
mov al, byte [rbx + 0x18]
mov byte [rcx + 0x70], al
cmp dword [rsi + rdi*8 + 4], ebp
jne 0x14003e669
mov rax, qword [r14 + 0xa8]
xor r8d, r8d
jmp 0x1400400de
mov byte [rax + 0x9c], bpl
mov rax, qword [rax + 0x68]
cmp rax, r8
jne 0x1400400d3
mov byte [r13 + 0x9c], r8b
jmp 0x14003e669
mov rax, qword [r14 + 0x10]
movsxd rcx, dword [rsi + rdi*8 + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
xor eax, eax
cmp rcx, rax
mov qword [rsp + 0x58], rcx
je 0x14004011f
lea r8, [rsp + 0x50]
mov edx, ebp
call fcn.140010048
mov edx, dword [rsp + 0x50]
jmp 0x140040125
mov edx, eax
mov dword [rsp + 0x50], eax
cmp edx, dword [rsi + rdi*8 + 8]
je 0x14003e669
mov rdx, qword [r13 + 0x58]
mov rcx, r14
call fcn.140013e78
lea rdx, str.database_schema_has_changed
mov rcx, r14
call fcn.140018c98
mov qword [r13 + 0x58], rax
mov rax, qword [r14 + 0x10]
movsxd rdx, dword [rsi + rdi*8 + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rsp + 0x50]
cmp dword [rcx], eax
je 0x140040173
mov rcx, r14
call fcn.14001c818
mov rax, qword [r14 + 0xa8]
xor r8d, r8d
jmp 0x14004018a
mov byte [rax + 0x9c], bpl
mov rax, qword [rax + 0x68]
cmp rax, r8
jne 0x14004017f
mov r12d, reloc.COMCTL32.dll_InitCommonControls
jmp 0x14003fb60
xor r12d, r12d
cmp byte [r13 + 0x9c], r12b
je 0x1400401b9
mov r12d, 4
mov dword [rsp + 0x1f8], r12d
jmp 0x14003e608
mov dword [rsp + 0x50], r12d
mov qword [rsp + 0x58], r12
movsxd rdx, dword [rsi + rdi*8 + 8]
mov dword [rsp + 0x60], edx
movsxd r9, dword [rsi + rdi*8 + 0xc]
mov r8d, r12d
mov dword [rsp + 0x64], r9d
mov rcx, r9
shl rcx, 5
add rcx, qword [r14 + 0x10]
mov qword [rsp + 0x80], rcx
mov rax, qword [rcx + 8]
mov qword [rsp + 0x70], rax
cmp byte [rsi + rdi*8], 0x27
jne 0x140040218
mov dword [rsp + 0x68], ebp
mov rax, qword [rcx + 0x18]
mov cl, byte [rax + 0x70]
cmp cl, byte [r13 + 0x9e]
jae 0x14004021d
mov byte [r13 + 0x9e], cl
jmp 0x14004021d
mov dword [rsp + 0x68], r12d
cmp byte [rsi + rdi*8 + 3], r12b
je 0x140040258
mov rbx, rdx
mov rdx, qword [rsp + 0x40]
imul rbx, rbx, 0x38
add rbx, rdx
mov rcx, rbx
call fcn.140014c68
mov r11d, dword [rbx + 0x18]
cmp r11d, 2
mov dword [rsp + 0x60], r11d
jl 0x140042f17
mov r9d, dword [rsp + 0x64]
mov r8d, dword [rsp + 0x50]
mov al, byte [rsi + rdi*8 + 1]
cmp al, 0xfa
jne 0x140040290
mov rax, qword [r13]
mov rdx, qword [rsi + rdi*8 + 0x10]
mov qword [rsp + 0x58], rdx
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx + 0x18]
mov cl, byte [rax + 0x71]
mov byte [rdx + 8], cl
mov rax, qword [rsp + 0x58]
mov r9d, dword [rsp + 0x64]
movzx r8d, word [rax + 0xa]
add r8d, ebp
jmp 0x140040299
cmp al, 0xf2
jne 0x14004029e
mov r8d, dword [rsi + rdi*8 + 0x10]
mov dword [rsp + 0x50], r8d
mov edx, dword [rsi + rdi*8 + 4]
mov rcx, r13
mov dword [rsp + 0x20], ebp
call fcn.140037b68
cmp rax, r12
mov qword [rsp + 0x78], rax
je 0x140043068
mov byte [rax + 0x28], bpl
mov rax, qword [rsp + 0x78]
mov byte [rax + 0x2c], bpl
mov rax, qword [rsp + 0x78]
mov r9, qword [rsp + 0x58]
mov rcx, qword [rax]
mov r8d, dword [rsp + 0x68]
mov edx, dword [rsp + 0x60]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x70]
call fcn.1400100a8
mov rcx, qword [rsp + 0x58]
mov dword [rsp + 0x1f8], eax
mov rax, qword [rsp + 0x78]
cmp dword [rsp + 0x1f8], 0x10
mov qword [rax + 0x10], rcx
jne 0x14004031d
mov rax, qword [rsp + 0x78]
mov dword [rsp + 0x1f8], r12d
mov qword [rax], r12
cmp byte [rsi + rdi*8 + 1], 0xfa
mov rax, qword [rsp + 0x78]
setne cl
mov byte [rax + 0x2a], cl
mov rax, qword [rsp + 0x78]
cmp cl, r12b
sete cl
mov byte [rax + 0x2b], cl
jmp 0x14003ea13
mov r8d, dword [rsi + rdi*8 + 8]
mov edx, dword [rsi + rdi*8 + 4]
or r9d, 0xffffffff
mov rcx, r13
mov dword [rsp + 0x20], ebp
call fcn.140037b68
xor r12d, r12d
cmp rax, r12
mov qword [rsp + 0x50], rax
je 0x140043068
mov byte [rax + 0x28], bpl
movzx r9d, byte [rsi + rdi*8 + 3]
mov r8, qword [rsp + 0x50]
or r9d, 9
add r8, 8
mov rdx, r14
xor ecx, ecx
mov dword [rsp + 0x20], 0x41e
call fcn.1400375c8
cmp eax, r12d
mov dword [rsp + 0x1f8], eax
jne 0x140040521
mov rcx, qword [rsp + 0x50]
mov edx, ebp
mov rcx, qword [rcx + 8]
call fcn.140037418
cmp eax, r12d
mov dword [rsp + 0x1f8], eax
jne 0x140040521
cmp qword [rsi + rdi*8 + 0x10], r12
je 0x1400404a6
mov rax, qword [rsp + 0x50]
lea r8d, [r12 + 2]
lea rdx, [rsp + 0x178]
mov rcx, qword [rax + 8]
call fcn.140030eb8
cmp eax, r12d
mov dword [rsp + 0x1f8], eax
jne 0x14004049b
mov r8, qword [rsp + 0x50]
mov r10, qword [rsi + rdi*8 + 0x10]
mov r9, qword [r8 + 8]
mov rax, qword [r8]
mov rcx, qword [r9 + 8]
cmp byte [rcx + 0x20], r12b
je 0x140040421
mov dword [rsp + 0x1f8], 8
jmp 0x140040480
mov edx, dword [rsp + 0x178]
cmp edx, ebp
jne 0x14004043f
cmp dword [rcx + 0x3c], r12d
jne 0x14004043f
mov dword [rsp + 0x1f8], InitCommonControls
jmp 0x140040480
or word [rax + 0x7a], 0xffff
mov dword [rax + 0x28], edx
mov qword [rax + 0x20], r10
mov qword [rax], r9
mov qword [rax + 8], rcx
mov byte [rax + 0x6c], bpl
mov rdx, qword [rcx + 0x10]
cmp rdx, r12
mov qword [rax + 0x10], rdx
je 0x140040467
mov qword [rdx + 0x18], rax
mov qword [rcx + 0x10], rax
mov byte [rax + 0x6f], r12b
mov qword [rax + 0x30], r12
mov r8, qword [rsp + 0x50]
mov dword [rsp + 0x1f8], r12d
mov rdx, qword [rsi + rdi*8 + 0x10]
mov qword [r8 + 0x10], rdx
mov rax, qword [r13]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx + 0x18]
mov al, byte [rax + 0x71]
mov byte [rdx + 8], al
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x2a], r12b
jmp 0x140040521
mov rdx, qword [rsp + 0x50]
mov r8, qword [rdx + 8]
mov rax, qword [rdx]
mov rcx, qword [r8 + 8]
cmp byte [rcx + 0x20], r12b
je 0x1400404c9
mov dword [rsp + 0x1f8], 8
jmp 0x14004051d
cmp dword [rcx + 0x3c], r12d
jne 0x1400404dc
mov dword [rsp + 0x1f8], InitCommonControls
jmp 0x14004051d
or word [rax + 0x7a], 0xffff
mov dword [rax + 0x28], ebp
mov qword [rax + 0x20], r12
mov qword [rax], r8
mov qword [rax + 8], rcx
mov byte [rax + 0x6c], bpl
mov rdx, qword [rcx + 0x10]
cmp rdx, r12
mov qword [rax + 0x10], rdx
je 0x140040504
mov qword [rdx + 0x18], rax
mov qword [rcx + 0x10], rax
mov byte [rax + 0x6f], r12b
mov qword [rax + 0x30], r12
mov rdx, qword [rsp + 0x50]
mov dword [rsp + 0x1f8], r12d
mov byte [rdx + 0x2a], bpl
cmp byte [rsi + rdi*8 + 3], 0x10
mov rax, qword [rsp + 0x50]
setne cl
mov byte [rax + 0x2c], cl
mov rcx, qword [rsp + 0x50]
cmp byte [rcx + 0x2a], r12b
sete al
mov byte [rcx + 0x2b], al
jmp 0x14003ea13
mov r8d, dword [rsi + rdi*8 + 0xc]
mov edx, dword [rsi + rdi*8 + 4]
xor eax, eax
or r9d, 0xffffffff
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.140037b68
xor r8d, r8d
cmp rax, r8
mov qword [rsp + 0x50], rax
je 0x140043068
mov byte [rax + 0x28], bpl
mov rax, qword [rsp + 0x50]
mov ecx, dword [rsi + rdi*8 + 8]
mov dword [rax + 0x1c], ecx
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x2a], bpl
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x2b], r8b
jmp 0x14003e669
movsxd rax, dword [rsi + rdi*8 + 4]
mov rdx, qword [r13 + 0x70]
mov rcx, r13
mov rdx, qword [rdx + rax*8]
call fcn.140036db8
movsxd r11, dword [rsi + rdi*8 + 4]
mov rax, qword [r13 + 0x70]
xor r8d, r8d
mov qword [rax + r11*8], r8
jmp 0x14003e669
movsxd rcx, dword [rsi + rdi*8 + 4]
mov rax, qword [r13 + 0x70]
mov rdx, qword [rax + rcx*8]
xor eax, eax
mov qword [rsp + 0x58], rdx
cmp qword [rdx], rax
je 0x14003ee0d
movzx eax, byte [rsi + rdi*8]
mov dword [rsp + 0x54], eax
xor eax, eax
mov byte [rdx + 0x28], al
mov r10, qword [rsp + 0x58]
cmp byte [r10 + 0x2a], al
je 0x14004076b
movsxd rbx, dword [rsi + rdi*8 + 0xc]
imul rbx, rbx, 0x38
add rbx, r9
mov rcx, rbx
call fcn.140012c08
mov rcx, rbx
call fcn.140012ce8
xor r9d, r9d
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x25], r9b
test byte [rbx + 0x24], 4
jne 0x14004070d
test byte [rbx + 0x24], 8
jne 0x140040646
mov eax, dword [rsi + rdi*8 + 8]
sub eax, ebp
jmp 0x14003eb25
mov r8, qword [rsp + 0x88]
movabs rax, 0x8000000000000000
cmp r8, rax
jne 0x1400406e1
cmp qword [rbx + 0x10], rax
jl 0x14004066d
cmp qword [rbx + 0x10], r9
jle 0x1400406e1
mov dword [rsp + 0x50], ebp
cmp qword [rbx + 0x10], r9
jge 0x140040692
cmp dword [rsp + 0x54], 0x2e
jl 0x1400406cc
mov rcx, qword [rsp + 0x58]
lea rdx, [rsp + 0x50]
mov rcx, qword [rcx]
call fcn.140034ae8
jmp 0x1400406ab
cmp dword [rsp + 0x54], 0x2d
jg 0x1400406cc
mov rcx, qword [rsp + 0x58]
lea rdx, [rsp + 0x50]
mov rcx, qword [rcx]
call fcn.140034a78
xor r9d, r9d
mov dword [rsp + 0x1f8], eax
mov r12d, eax
cmp eax, r9d
jne 0x140042f2c
cmp dword [rsp + 0x50], r9d
je 0x14003e669
mov r12d, dword [rsi + rdi*8 + 8]
sub r12d, ebp
mov dword [rsp + 0x1f0], r12d
jmp 0x14003ea13
cmp dword [rsp + 0x54], 0x2c
je 0x140040702
cmp dword [rsp + 0x54], 0x2e
je 0x140040702
cmp qword [rbx + 0x10], r8
jge 0x140040715
sub r8, rbp
mov qword [rsp + 0x88], r8
jmp 0x140040715
cmp qword [rbx + 0x10], r8
jle 0x140040715
add r8, rbp
jmp 0x1400406f8
mov r8, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x58]
lea rax, [rsp + 0x50]
xor edx, edx
mov rcx, qword [rcx]
mov qword [rsp + 0x20], rax
call fcn.1400346d8
xor r12d, r12d
cmp eax, r12d
mov dword [rsp + 0x1f8], eax
jne 0x140042f2f
cmp dword [rsp + 0x50], r12d
jne 0x1400407f8
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x25], bpl
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x88]
mov qword [rcx + 0x50], rax
jmp 0x1400407f8
mov eax, dword [rsi + rdi*8 + 0x10]
mov dword [rsp + 0x80], eax
mov rax, qword [r10 + 0x10]
mov qword [rsp + 0x60], rax
movzx eax, word [rsp + 0x80]
mov word [rsp + 0x68], ax
mov al, byte [rsp + 0x54]
and ax, bp
shl ax, 3
mov word [rsp + 0x6a], ax
movsxd rcx, dword [rsi + rdi*8 + 0xc]
imul rcx, rcx, 0x38
add rcx, r9
mov qword [rsp + 0x78], rcx
bt word [rcx + 0x24], 0xe
jae 0x1400407bf
call fcn.14001e858
mov r10, qword [rsp + 0x58]
mov rcx, qword [r10]
lea rax, [rsp + 0x50]
lea rdx, [rsp + 0x60]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call fcn.1400346d8
xor r12d, r12d
cmp eax, r12d
mov dword [rsp + 0x1f8], eax
jne 0x140042f2f
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x25], r12b
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x29], r12b
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x5c], r12d
mov ecx, dword [rsp + 0x54]
mov eax, dword [rsp + 0x50]
cmp ecx, 0x2e
jl 0x14004083f
cmp eax, r12d
jl 0x14004082b
jne 0x14003f06e
cmp ecx, 0x2f
jne 0x14003f06e
mov rcx, qword [rsp + 0x58]
lea rdx, [rsp + 0x50]
mov rcx, qword [rcx]
call fcn.140037228
jmp 0x140040875
cmp eax, r12d
jg 0x140040863
jne 0x14004084b
cmp ecx, 0x2c
je 0x140040863
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax]
mov eax, r12d
cmp byte [rcx + 0x6f], bpl
setne al
mov dword [rsp + 0x50], eax
jmp 0x14004088e
mov rcx, qword [rsp + 0x58]
lea rdx, [rsp + 0x50]
mov rcx, qword [rcx]
call fcn.1400370d8
cmp eax, r12d
mov dword [rsp + 0x1f8], eax
jne 0x140042f2f
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x25], r12b
cmp dword [rsp + 0x50], r12d
mov r8b, byte [rsp + 0x1e8]
mov r9, qword [rsp + 0x40]
je 0x1400408b2
mov r12d, dword [rsi + rdi*8 + 8]
sub r12d, ebp
mov dword [rsp + 0x1f0], r12d
mov r12d, dword [rsp + 0x1f8]
jmp 0x14003e608
movsxd rcx, dword [rsi + rdi*8 + 4]
mov rax, qword [r13 + 0x70]
mov rdx, qword [rax + rcx*8]
xor eax, eax
mov qword [rsp + 0x50], rdx
cmp qword [rdx], rax
je 0x14003e608
mov byte [rdx + 0x28], al
movsxd rcx, dword [rsi + rdi*8 + 8]
imul rcx, rcx, 0x38
add rcx, r9
call fcn.140012ce8
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov qword [rcx + 0x48], rax
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x25], r8b
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x29], bpl
jmp 0x14003e669
mov rax, qword [r13 + 0x70]
xor r8d, r8d
mov edx, r8d
mov dword [rsp + 0x50], edx
movsxd rcx, dword [rsi + rdi*8 + 4]
mov r10, qword [rax + rcx*8]
mov qword [rsp + 0x58], r10
movsxd rcx, dword [rsi + rdi*8 + 0xc]
imul rcx, rcx, 0x38
add rcx, r9
cmp qword [r10], r8
je 0x140040a24
cmp dword [rsi + rdi*8 + 0x10], r8d
jle 0x140040979
mov rax, qword [r10 + 0x10]
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x70], rax
movzx eax, word [rsi + rdi*8 + 0x10]
mov qword [rsp + 0x88], rcx
mov word [rsp + 0x7a], InitCommonControls
mov qword [rsp + 0x68], rdx
mov word [rsp + 0x78], ax
jmp 0x1400409b8
mov r8, qword [rcx + 8]
mov edx, dword [rcx + 0x20]
mov rcx, qword [r10 + 0x10]
lea r9, [rsp + 0x90]
mov dword [rsp + 0x20], 0xcf
call fcn.140017ac8
xor ecx, ecx
cmp rax, rcx
mov qword [rsp + 0x68], rax
je 0x140043068
or word [rax + 0xa], 0x10
mov rdx, qword [rsp + 0x68]
mov r10, qword [rsp + 0x58]
mov rcx, qword [r10]
lea rax, [rsp + 0x60]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call fcn.1400346d8
xor r8d, r8d
cmp dword [rsi + rdi*8 + 0x10], r8d
mov r12d, eax
mov dword [rsp + 0x1f8], eax
jne 0x1400409f1
mov rcx, qword [rsp + 0x68]
call fcn.140019bb8
xor r8d, r8d
cmp r12d, r8d
mov r9, qword [rsp + 0x40]
jne 0x14003e66e
cmp dword [rsp + 0x60], r8d
mov eax, r8d
sete al
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x29], r8b
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x5c], r8d
mov edx, dword [rsp + 0x50]
cmp byte [rsi + rdi*8], 0x32
jne 0x140040a32
cmp edx, r8d
jmp 0x14003ef88
cmp edx, r8d
mov r8b, byte [rsp + 0x1e8]
jne 0x14003e608
jmp 0x14003ee0d
movsxd rax, dword [rsi + rdi*8 + 0x10]
movsxd rbx, dword [rsi + rdi*8 + 0xc]
imul rax, rax, 0x38
imul rbx, rbx, 0x38
add rax, r9
add rbx, r9
mov qword [rsp + 0x70], rax
movsxd rcx, dword [rsi + rdi*8 + 4]
mov rax, qword [r13 + 0x70]
mov rdx, qword [rax + rcx*8]
xor ecx, ecx
mov qword [rsp + 0x58], rdx
mov dword [rdx + 0x58], ecx
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x5c], ecx
mov r10, qword [rsp + 0x58]
mov r9, qword [rsp + 0x70]
mov rdx, qword [r10]
mov qword [rsp + 0x60], rdx
mov rax, qword [r10 + 0x10]
movzx r8d, word [rax + 0xa]
xor eax, eax
mov word [rsp + 0x50], cx
cmp r8w, ax
mov word [rsp + 0x68], r8w
jbe 0x140040ae6
movzx eax, cx
imul rax, rax, 0x38
test byte [rax + r9 + 0x24], bpl
jne 0x140040ad0
add cx, bp
cmp cx, r8w
mov word [rsp + 0x50], cx
jb 0x140040ab2
jmp 0x140040ae4
mov edx, dword [rsi + rdi*8 + 8]
sub edx, ebp
mov dword [rsp + 0x1f0], edx
xor edx, edx
mov qword [rsp + 0x60], rdx
xor eax, eax
cmp rdx, rax
je 0x14003e669
mov rax, qword [r10 + 0x10]
add r8w, bp
mov rcx, rbx
mov word [rsp + 0x82], 0x20
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x78], rax
mov word [rsp + 0x80], r8w
call fcn.140014c68
mov rax, qword [rbx + 0x18]
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x58]
add rax, 0x58
lea rdx, [rsp + 0x78]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call fcn.1400346d8
test byte [rsp + 0x82], 0x20
mov r12d, eax
mov dword [rsp + 0x1f8], eax
jne 0x14004063b
mov rax, qword [rsp + 0x88]
cmp rax, qword [rsp + 0x98]
je 0x14004063b
mov qword [rbx + 0x18], rax
jmp 0x14003e669
movsxd rcx, dword [rsi + rdi*8 + 4]
movsxd rbx, dword [rsi + rdi*8 + 0xc]
mov rax, qword [r13 + 0x70]
imul rbx, rbx, 0x38
mov rdx, qword [rax + rcx*8]
xor eax, eax
add rbx, r9
mov qword [rsp + 0x50], rdx
mov rcx, qword [rdx]
cmp rcx, rax
mov qword [rsp + 0x58], rcx
je 0x140040c3d
lea rax, [rsp + 0x60]
xor r12d, r12d
xor r9d, r9d
mov dword [rsp + 0x60], r12d
mov r8, qword [rbx + 0x18]
xor edx, edx
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x20], rax
call fcn.1400346d8
mov rcx, qword [rbx + 0x18]
mov dword [rsp + 0x1f8], eax
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x50], rcx
cmp dword [rsp + 0x60], r12d
mov rax, qword [rsp + 0x50]
sete cl
mov byte [rax + 0x25], cl
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x28], r12b
mov rax, qword [rsp + 0x50]
mov dword [rax + 0x5c], r12d
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x29], r12b
mov ecx, dword [rsp + 0x60]
cmp ecx, r12d
je 0x140040c30
mov eax, dword [rsi + rdi*8 + 8]
sub eax, ebp
mov dword [rsp + 0x1f0], eax
mov rax, qword [rsp + 0x50]
mov dword [rax + 0x58], ecx
jmp 0x14003ea13
mov eax, dword [rsi + rdi*8 + 8]
sub eax, ebp
xor r11d, r11d
mov dword [rdx + 0x58], r11d
jmp case.default.0x14003e46f
mov rax, qword [r13 + 0x70]
movsxd rcx, dword [rsi + rdi*8 + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x40]
mov qword [r15 + 0x18], rax
movsxd rcx, dword [rsi + rdi*8 + 4]
mov rax, qword [r13 + 0x70]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x40], rbp
jmp case.0x14003e46f.16
mov rax, qword [r13 + 0x70]
xor r12d, r12d
mov dword [rsp + 0x60], r12d
mov rdx, r12
mov qword [rsp + 0x50], rdx
movsxd rcx, dword [rsi + rdi*8 + 4]
mov r10, qword [rax + rcx*8]
mov qword [rsp + 0x58], r10
cmp qword [r10], r12
je 0x140040e8b
mov dword [rsp + 0x64], r12d
cmp byte [r10 + 0x27], r12b
jne 0x140040da1
mov rax, qword [r10]
mov rcx, qword [rax + 0x30]
cmp rcx, r12
mov qword [rsp + 0x50], rcx
jne 0x140040d54
mov rcx, qword [r10]
lea rdx, [rsp + 0x60]
call fcn.140034a78
cmp eax, r12d
mov dword [rsp + 0x1f8], eax
jne 0x140042f2f
cmp dword [rsp + 0x60], r12d
mov r10, qword [rsp + 0x58]
je 0x140040cf7
mov rcx, rbp
jmp 0x140040d4f
mov rcx, qword [r10]
cmp byte [rcx + 0x6f], bpl
je 0x140040d0d
mov rcx, r12
mov dword [rsp + 0x1f8], r12d
jmp 0x140040d4c
lea rdx, [rsp + 0x50]
call fcn.1400180c8
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x1f8], eax
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
jne 0x140040d47
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x27], bpl
mov r10, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
jmp 0x140040d54
mov r10, qword [rsp + 0x58]
add rcx, rbp
mov qword [rsp + 0x50], rcx
lea rax, [rcx + 1]
movabs r8, 0x7fffffffffffffff
mov rdx, r12
cmp rcx, r8
mov r8, qword [r10]
cmovl rdx, rax
mov rax, qword [r8 + 8]
mov rcx, qword [rax + 0x10]
cmp rcx, r12
je 0x140040d97
mov eax, dword [r8 + 0x28]
cmp dword [rcx + 0x28], eax
jne 0x140040d89
mov qword [rcx + 0x30], rdx
mov rcx, qword [rcx + 0x10]
cmp rcx, r12
jne 0x140040d7c
mov r10, qword [rsp + 0x58]
cmp byte [r10 + 0x27], r12b
je 0x140040e70
mov r8, qword [r14 + 0x40]
mov dword [rsp + 0x64], r12d
lea rax, [rsp + 0x60]
movabs rbx, 0x3fffffffffffffff
xor r9d, r9d
xor edx, edx
and r8, rbx
mov qword [rsp + 0x20], rax
add r8, rbp
mov qword [rsp + 0x50], r8
mov rcx, qword [r10]
call fcn.1400346d8
cmp eax, r12d
mov edx, eax
mov dword [rsp + 0x1f8], eax
jne 0x140040e6b
mov ecx, dword [rsp + 0x60]
cmp ecx, r12d
jne 0x140040e5d
mov eax, dword [rsp + 0x64]
add eax, ebp
cmp eax, 0x64
mov dword [rsp + 0x64], eax
jge 0x140040e5d
lea rdx, [rsp + 0x50]
mov ecx, 8
call fcn.140013df8
cmp dword [rsp + 0x64], 5
mov r8, qword [rsp + 0x50]
jge 0x140040e24
and r8d, 0xffffff
jmp 0x140040e27
and r8, rbx
mov rcx, qword [rsp + 0x58]
add r8, rbp
lea rax, [rsp + 0x60]
mov qword [rsp + 0x50], r8
mov rcx, qword [rcx]
xor r9d, r9d
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.1400346d8
cmp eax, r12d
mov edx, eax
mov dword [rsp + 0x1f8], eax
je 0x140040de8
mov ecx, dword [rsp + 0x60]
cmp edx, r12d
jne 0x140040e6b
cmp ecx, r12d
je 0x140042f25
mov r10, qword [rsp + 0x58]
mov byte [r10 + 0x25], r12b
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x29], r12b
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x5c], r12d
mov rdx, qword [rsp + 0x50]
mov qword [r15 + 0x18], rdx
jmp 0x14003ea13
movsxd r9, dword [rsi + rdi*8 + 8]
mov rax, qword [r13 + 0x70]
mov rdx, qword [rsp + 0x40]
imul r9, r9, 0x38
add r9, rdx
mov qword [rsp + 0x50], r9
movsxd rcx, dword [rsi + rdi*8 + 4]
mov r10, qword [rax + rcx*8]
mov qword [rsp + 0x68], r10
cmp byte [rsi + rdi*8], 0x37
movsxd rax, dword [rsi + rdi*8 + 0xc]
jne 0x140040ed7
imul rax, rax, 0x38
add rax, rdx
mov qword [rsp + 0x58], rax
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x60], rax
test byte [rsi + rdi*8 + 3], bpl
je 0x140040eea
add dword [r13 + 0xa4], ebp
test byte [rsi + rdi*8 + 3], 2
je 0x140040f04
mov rax, qword [rsp + 0x60]
mov qword [r14 + 0x40], rax
mov r10, qword [rsp + 0x68]
mov r9, qword [rsp + 0x50]
xor r12d, r12d
test byte [r9 + 0x24], bpl
je 0x140040f24
mov qword [r9 + 8], r12
mov rax, qword [rsp + 0x50]
mov dword [rax + 0x20], r12d
mov r10, qword [rsp + 0x68]
mov r9, qword [rsp + 0x50]
test byte [rsi + rdi*8 + 3], 0x10
je 0x140040f36
mov r8d, dword [r10 + 0x58]
mov dword [rsp + 0x74], r8d
jmp 0x140040f3e
mov r8d, r12d
mov dword [rsp + 0x74], r12d
bt word [r9 + 0x24], 0xe
jae 0x140040f4d
mov edx, dword [r9 + 0x18]
jmp 0x140040f50
mov edx, r12d
mov dword [rsp + 0x70], edx
mov r11, qword [r10]
mov rax, qword [r11 + 8]
mov rcx, qword [rax + 0x10]
cmp rcx, r12
je 0x140040f8d
mov eax, dword [r11 + 0x28]
cmp dword [rcx + 0x28], eax
jne 0x140040f71
mov qword [rcx + 0x30], r12
mov rcx, qword [rcx + 0x10]
cmp rcx, r12
jne 0x140040f64
mov r8d, dword [rsp + 0x74]
mov edx, dword [rsp + 0x70]
mov r10, qword [rsp + 0x68]
mov r9, qword [rsp + 0x50]
mov al, byte [rsi + rdi*8 + 3]
mov rcx, qword [r10]
mov dword [rsp + 0x38], r8d
mov r8, qword [rsp + 0x60]
and eax, 8
mov dword [rsp + 0x30], eax
mov eax, dword [r9 + 0x20]
mov r9, qword [r9 + 8]
mov dword [rsp + 0x28], edx
xor edx, edx
mov dword [rsp + 0x20], eax
call fcn.140035548
mov dword [rsp + 0x1f8], eax
mov rax, qword [rsp + 0x68]
mov byte [rax + 0x25], r12b
mov rax, qword [rsp + 0x68]
mov byte [rax + 0x29], r12b
mov rax, qword [rsp + 0x68]
mov dword [rax + 0x5c], r12d
mov r12d, dword [rsp + 0x1f8]
xor eax, eax
cmp r12d, eax
jne 0x14003e669
cmp qword [r14 + 0x108], rax
je 0x14003e669
cmp qword [rsi + rdi*8 + 0x10], rax
je 0x14003e669
mov rax, qword [rsp + 0x68]
movsxd rcx, dword [rax + 0x18]
mov rax, qword [r14 + 0x10]
shl rcx, 5
mov r8, qword [rcx + rax]
mov qword [rsp + 0x78], r8
mov r9, qword [rsi + rdi*8 + 0x10]
mov qword [rsp + 0x80], r9
mov al, byte [rsi + rdi*8 + 3]
and al, 4
neg al
mov rax, qword [rsp + 0x60]
sbb edx, edx
mov qword [rsp + 0x20], rax
and edx, 5
add edx, 0x12
mov dword [rsp + 0x88], edx
mov rcx, qword [r14 + 0x100]
call qword [r14 + 0x108]
jmp 0x14003e669
mov rax, qword [r13 + 0x70]
xor r12d, r12d
mov qword [rsp + 0x50], r12
movsxd rcx, dword [rsi + rdi*8 + 4]
mov rcx, qword [rax + rcx*8]
mov qword [rsp + 0x58], rcx
cmp qword [r14 + 0x108], r12
je 0x140041097
cmp qword [rsi + rdi*8 + 0x10], r12
je 0x140041097
mov rax, qword [rcx + 0x50]
mov qword [rsp + 0x50], rax
call fcn.140037c68
cmp eax, r12d
mov dword [rsp + 0x1f8], eax
jne 0x140042f2f
mov rdx, qword [rsp + 0x58]
mov r8, qword [rdx]
mov rax, qword [r8 + 8]
mov rcx, qword [rax + 0x10]
cmp rcx, r12
je 0x1400410dc
mov eax, dword [r8 + 0x28]
cmp dword [rcx + 0x28], eax
jne 0x1400410ce
mov qword [rcx + 0x30], r12
mov rcx, qword [rcx + 0x10]
cmp rcx, r12
jne 0x1400410c1
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rdx]
call fcn.1400384e8
mov dword [rsp + 0x1f8], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x5c], r12d
mov r12d, dword [rsp + 0x1f8]
xor eax, eax
cmp r12d, eax
jne 0x140041147
mov r10, qword [r14 + 0x108]
cmp r10, rax
je 0x140041147
mov r9, qword [rsi + rdi*8 + 0x10]
cmp r9, rax
je 0x140041147
mov rax, qword [rsp + 0x58]
mov r8, qword [r14 + 0x10]
mov edx, 9
movsxd rcx, dword [rax + 0x18]
mov rax, qword [rsp + 0x50]
shl rcx, 5
mov qword [rsp + 0x20], rax
mov r8, qword [rcx + r8]
mov rcx, qword [r14 + 0x100]
call r10
test byte [rsi + rdi*8 + 8], bpl
mov eax, dword [rsp + 0x1f0]
mov r9, qword [rsp + 0x40]
mov r8b, byte [rsp + 0x1e8]
je 0x14003e60f
add dword [r13 + 0xa4], ebp
jmp 0x14003e60f
mov eax, dword [r13 + 0xa4]
add dword [r14 + 0x50], eax
mov dword [r14 + 0x4c], eax
xor eax, eax
mov dword [r13 + 0xa4], eax
jmp 0x14003e608
movsxd rcx, dword [rsi + rdi*8 + 4]
movsxd r15, dword [rsi + rdi*8 + 8]
mov rax, qword [r13 + 0x70]
imul r15, r15, 0x38
mov rcx, qword [rax + rcx*8]
add r15, r9
mov qword [rsp + 0x50], rcx
mov rax, qword [rcx]
mov qword [rsp + 0x58], rax
call fcn.140037c68
xor r12d, r12d
cmp eax, r12d
mov dword [rsp + 0x1f8], eax
jne 0x140042f2f
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
cmp byte [rax + 0x2b], r12b
je 0x140041213
cmp byte [rcx + 0x6f], bpl
je 0x1400411ed
mov rcx, r12
mov qword [rsp + 0x68], rcx
jmp 0x1400411fc
lea rdx, [rsp + 0x68]
call fcn.1400180c8
mov rcx, qword [rsp + 0x68]
movsxd rax, dword [r14 + 0x60]
cmp rcx, rax
jg 0x140042f96
mov edx, dword [rsp + 0x68]
mov dword [rsp + 0x60], edx
jmp 0x14004122b
lea rdx, [rsp + 0x60]
call fcn.140018098
mov edx, dword [rsp + 0x60]
cmp edx, dword [r14 + 0x60]
ja 0x140042f96
xor r8d, r8d
mov rcx, r15
call fcn.14001d078
cmp eax, r12d
jne 0x140043068
mov eax, dword [rsp + 0x60]
and word [r15 + 0x24], 0xbf10
or word [r15 + 0x24], 0x10
mov r9, qword [r15 + 8]
mov dword [r15 + 0x20], eax
mov rax, qword [rsp + 0x50]
mov r8d, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
xor edx, edx
cmp byte [rax + 0x2b], r12b
je 0x14004127b
mov dword [rsp + 0x20], r12d
call fcn.1400314a8
jmp 0x140041280
call fcn.140037368
mov dword [rsp + 0x1f8], eax
mov r12d, eax
mov byte [r15 + 0x27], bpl
jmp 0x14003e669
movsxd rcx, dword [rsi + rdi*8 + 4]
mov rax, qword [r13 + 0x70]
mov r8, qword [rax + rcx*8]
xor eax, eax
mov qword [rsp + 0x50], r8
cmp byte [r8 + 0x28], al
je 0x1400412b7
mov word [r15 + 0x24], bp
jmp 0x14003e66e
xor r12d, r12d
cmp byte [r8 + 0x29], r12b
je 0x1400412c6
mov rax, qword [r8 + 0x48]
jmp 0x140041329
cmp qword [r8 + 0x30], r12
je 0x140041302
mov rax, qword [r8 + 0x30]
lea rdx, [rsp + 0x58]
mov rcx, qword [rax]
mov qword [rsp + 0x60], rcx
mov rax, qword [rcx]
mov qword [rsp + 0x68], rax
mov rcx, qword [r8 + 0x30]
call qword [rax + 0x60]
mov rdx, qword [rsp + 0x60]
mov rcx, r13
mov dword [rsp + 0x1f8], eax
call fcn.140019b58
jmp 0x140041359
mov rcx, r8
call fcn.140037c68
cmp eax, r12d
mov dword [rsp + 0x1f8], eax
jne 0x140042f2f
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x25], r12b
je 0x140041330
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x58], rax
jmp 0x140041359
mov rcx, qword [rax]
cmp byte [rcx + 0x6f], bpl
je 0x140041348
mov qword [rsp + 0x58], r12
mov dword [rsp + 0x1f8], r12d
jmp 0x140041359
lea rdx, [rsp + 0x58]
call fcn.1400180c8
mov dword [rsp + 0x1f8], eax
mov rax, qword [rsp + 0x58]
jmp 0x14003fb19
movsxd rcx, dword [rsi + rdi*8 + 4]
mov rax, qword [r13 + 0x70]
mov rdx, qword [rax + rcx*8]
xor ecx, ecx
mov qword [rsp + 0x50], rdx
mov byte [rdx + 0x28], bpl
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x25], cl
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax]
xor eax, eax
cmp rcx, rax
je 0x14003e608
call fcn.140013088
jmp 0x14003e669
movsxd rcx, dword [rsi + rdi*8 + 4]
mov rax, qword [r13 + 0x70]
xor r12d, r12d
mov rdx, qword [rax + rcx*8]
mov qword [rsp + 0x50], rdx
mov rcx, qword [rdx]
cmp rcx, r12
mov qword [rsp + 0x58], rcx
jne 0x1400413c8
mov dword [rsp + 0x60], ebp
jmp 0x1400413de
lea rdx, [rsp + 0x60]
call fcn.140034a78
mov rdx, qword [rsp + 0x50]
mov dword [rsp + 0x1f8], eax
mov al, byte [rsp + 0x60]
mov byte [rdx + 0x28], al
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x29], r12b
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x25], r12b
mov rax, qword [rsp + 0x50]
mov dword [rax + 0x5c], r12d
mov eax, dword [rsi + rdi*8 + 8]
cmp eax, r12d
jle 0x14003ea13
mov r9, qword [rsp + 0x40]
mov r8b, byte [rsp + 0x1e8]
xor r11d, r11d
cmp dword [rsp + 0x60], r12d
je 0x14003ebd2
lea r12d, [rax - 1]
jmp 0x14003ebca
add dword [r13 + 0xb4], ebp
movsxd rcx, dword [rsi + rdi*8 + 4]
mov rax, qword [r13 + 0x70]
xor r12d, r12d
mov rdx, qword [rax + rcx*8]
mov dword [rsp + 0x60], ebp
mov qword [rsp + 0x50], rdx
mov rcx, qword [rdx]
cmp rcx, r12
mov qword [rsp + 0x58], rcx
je 0x14004149f
lea rdx, [rsp + 0x60]
call fcn.140034ae8
cmp dword [rsp + 0x60], r12d
mov dword [rsp + 0x1f8], eax
mov rax, qword [rsp + 0x50]
sete cl
mov byte [rax + 0x26], cl
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x29], r12b
mov rax, qword [rsp + 0x50]
mov dword [rax + 0x5c], r12d
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x25], r12b
mov rdx, qword [rsp + 0x50]
mov al, byte [rsp + 0x60]
mov byte [rdx + 0x28], al
cmp dword [rsp + 0x60], r12d
jmp 0x140040893
mov eax, dword [r14 + 0x150]
xor ecx, ecx
cmp eax, ecx
jne 0x140042fb7
movsxd rcx, dword [rsi + rdi*8 + 4]
mov rax, qword [r13 + 0x70]
mov rdx, qword [rax + rcx*8]
xor eax, eax
cmp rdx, rax
mov qword [rsp + 0x50], rdx
je 0x14003e608
mov rcx, qword [rdx]
cmp rcx, rax
mov qword [rsp + 0x58], rcx
jne 0x1400414f4
mov byte [rdx + 0x28], bpl
jmp 0x14003e608
mov dword [rsp + 0x60], ebp
cmp byte [rsi + rdi*8], 0x43
lea rdx, [rsp + 0x60]
jne 0x14004150a
call fcn.140037228
jmp 0x14004150f
call fcn.1400370d8
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x1f8], eax
mov al, byte [rsp + 0x60]
mov byte [rcx + 0x28], al
mov rax, qword [rsp + 0x50]
xor r8d, r8d
mov dword [rax + 0x5c], r8d
cmp dword [rsp + 0x60], r8d
jne 0x140041556
mov eax, dword [rsi + rdi*8 + 8]
sub eax, ebp
mov dword [rsp + 0x1f0], eax
mov al, byte [rsi + rdi*8 + 3]
cmp al, r8b
je 0x140041556
movzx eax, al
add dword [r13 + rax*4 + 0xac], ebp
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x25], r8b
jmp 0x14003ea13
movsxd rcx, dword [rsi + rdi*8 + 4]
mov rax, qword [r13 + 0x70]
mov rdx, qword [rax + rcx*8]
xor eax, eax
mov qword [rsp + 0x50], rdx
movsxd rbx, dword [rsi + rdi*8 + 8]
mov rcx, qword [rdx]
imul rbx, rbx, 0x38
add rbx, r9
cmp rcx, rax
mov qword [rsp + 0x58], rcx
je 0x14003e608
bt word [rbx + 0x24], 0xe
jae 0x1400415c2
mov rcx, rbx
call fcn.14001e858
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
mov r9, qword [rsp + 0x40]
mov dword [rsp + 0x1f8], eax
mov r12d, eax
xor eax, eax
jmp 0x1400415cc
mov r12d, eax
mov dword [rsp + 0x1f8], eax
cmp r12d, eax
jne 0x14003e66e
movsxd r8, dword [rbx + 0x20]
mov dword [rsp + 0x60], r8d
mov r10, qword [rbx + 8]
mov qword [rsp + 0x68], r10
test byte [rsi + rdi*8 + 3], 0x10
je 0x1400415f1
mov eax, dword [rdx + 0x58]
mov dword [rsp + 0x38], eax
mov eax, dword [rsi + rdi*8 + 0xc]
xor r12d, r12d
mov dword [rsp + 0x30], eax
lea r9, [0x140076a68]
mov rdx, r10
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
call fcn.140035548
mov dword [rsp + 0x1f8], eax
mov rax, qword [rsp + 0x50]
mov dword [rax + 0x5c], r12d
jmp 0x14003ea13
movsxd rcx, dword [rsi + rdi*8 + 4]
mov rax, qword [r13 + 0x70]
mov rax, qword [rax + rcx*8]
mov qword [rsp + 0x50], rax
mov rcx, qword [rax]
cmp rcx, r11
mov qword [rsp + 0x58], rcx
je case.0x14003e46f.16
mov rax, qword [rax + 0x10]
xor r12d, r12d
lea rdx, [rsp + 0x68]
mov qword [rsp + 0x68], rax
movzx eax, word [rsi + rdi*8 + 0xc]
mov word [rsp + 0x72], r12w
mov word [rsp + 0x70], ax
movsxd rax, dword [rsi + rdi*8 + 8]
xor r8d, r8d
imul rax, rax, 0x38
add rax, r9
xor r9d, r9d
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
call fcn.1400346d8
cmp eax, r12d
mov dword [rsp + 0x1f8], eax
jne 0x140041620
cmp dword [rsp + 0x60], r12d
jne 0x140041620
mov rcx, qword [rsp + 0x58]
call fcn.1400384e8
jmp 0x140041619
movsxd rcx, dword [rsi + rdi*8 + 4]
mov rax, qword [r13 + 0x70]
mov rax, qword [rax + rcx*8]
mov qword [rsp + 0x58], rax
mov rax, qword [rax]
mov qword [rsp + 0x50], rax
xor eax, eax
mov word [r15 + 0x24], bp
cmp qword [rsp + 0x50], rax
je 0x14003e608
mov rcx, qword [rsp + 0x58]
call fcn.140037c68
xor r12d, r12d
cmp eax, r12d
mov dword [rsp + 0x1f8], eax
jne 0x140042f2f
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x28], r12b
jne 0x14003ea13
mov rdx, qword [rsp + 0x50]
lea r8, [rsp + 0x60]
mov rcx, r14
call fcn.140039078
cmp eax, r12d
mov dword [rsp + 0x1f8], eax
jne 0x140042f2f
mov rax, qword [rsp + 0x60]
mov word [r15 + 0x24], 4
mov qword [r15 + 0x18], rax
jmp 0x14003ea13
movsxd rbx, dword [rsi + rdi*8 + 4]
imul rbx, rbx, 0x38
add rbx, r9
mov rcx, rbx
call fcn.140012c08
movsxd r12, dword [rsi + rdi*8 + 8]
mov rdx, qword [rsp + 0x40]
imul r12, r12, 0x38
add r12, rdx
mov rcx, r12
call fcn.140012c08
movsxd r15, dword [rsi + rdi*8 + 0xc]
movzx ecx, word [r12 + 0x24]
imul r15, r15, 0x38
movzx eax, word [rbx + 0x24]
mov r9, qword [rsp + 0x40]
or ecx, eax
add r15, r9
test bpl, cl
mov dword [rsp + 0x50], ecx
jne 0x140041911
mov al, byte [r12 + 0x24]
and al, byte [rbx + 0x24]
test al, 4
je 0x14004186a
mov rcx, qword [rbx + 0x18]
mov qword [rsp + 0x58], rcx
mov rdx, qword [r12 + 0x18]
mov qword [rsp + 0x60], rdx
movzx r8d, byte [rsi + rdi*8]
sub r8d, 0x56
je 0x14004184c
sub r8d, ebp
je 0x140041847
sub r8d, ebp
je 0x140041841
xor eax, eax
sub r8d, ebp
je 0x14004180a
cmp rcx, rax
je 0x140041911
cmp rcx, 0xffffffffffffffff
mov rax, rdx
cmove rcx, rbp
cqo
mov qword [rsp + 0x58], rcx
idiv rcx
jmp 0x14004184f
cmp rcx, rax
je 0x140041911
cmp rcx, 0xffffffffffffffff
jne 0x14004182f
movabs rax, 0x8000000000000000
cmp rdx, rax
cmove rcx, rbp
mov qword [rsp + 0x58], rcx
mov rax, rdx
cqo
idiv rcx
mov rdx, rax
mov qword [rsp + 0x60], rax
jmp 0x140041854
imul rdx, rcx
jmp 0x14004184f
sub rdx, rcx
jmp 0x14004184f
add rdx, rcx
mov qword [rsp + 0x60], rdx
and word [r15 + 0x24], 0xbf04
or word [r15 + 0x24], 4
mov qword [r15 + 0x18], rdx
jmp 0x14003ecf1
mov rcx, rbx
call fcn.140012c88
mov rcx, r12
mov qword [rsp + 0x68], rax
call fcn.140012c88
mov rdx, rax
mov qword [rsp + 0x70], rax
movzx eax, byte [rsi + rdi*8]
sub eax, 0x56
je 0x1400418f1
sub eax, ebp
je 0x1400418ea
sub eax, ebp
je 0x1400418e2
cmp eax, ebp
mov rcx, qword [rsp + 0x68]
je 0x1400418c9
xor eax, eax
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rdx
cmp rcx, rax
je 0x140041911
cmp rcx, 0xffffffffffffffff
mov rax, rdx
cmove rcx, rbp
cqo
mov qword [rsp + 0x58], rcx
idiv rcx
jmp 0x1400418f6
xor eax, eax
cmp rcx, rax
je 0x140041911
mov rax, rdx
cqo
idiv rcx
mov rdx, rax
mov qword [rsp + 0x70], rax
jmp 0x1400418fb
imul rdx, qword [rsp + 0x68]
jmp 0x1400418f6
sub rdx, qword [rsp + 0x68]
jmp 0x1400418f6
add rdx, qword [rsp + 0x68]
mov qword [rsp + 0x70], rdx
and word [r15 + 0x24], 0xbf04
or word [r15 + 0x24], 4
mov qword [r15 + 0x18], rdx
jmp 0x14003ea13
mov rcx, r15
call fcn.1400160d8
jmp 0x14003ea13
cmp ecx, 0x71
jg 0x140042344
je 0x14004232b
cmp ecx, 0x65
jg 0x140041ea8
je 0x140041e92
cmp ecx, 0x5f
jg 0x140041cab
je 0x140041c04
sub ecx, 0x5b
je 0x140041a91
sub ecx, ebp
je case.0x14003e46f.80
sub ecx, ebp
je 0x1400419c0
cmp ecx, ebp
jne case.0x14003e46f.16
mov rcx, qword [rsi + rdi*8 + 0x10]
xor edx, edx
mov byte [rsi + rdi*8], 9
cmp rcx, rdx
mov rax, rcx
jne 0x14004197f
xor eax, eax
jmp 0x140041991
cmp byte [rcx], dl
je 0x14004198a
add rax, rbp
cmp byte [rax], dl
jne 0x140041983
sub eax, ecx
and eax, 0x3fffffff
mov dword [rsi + rdi*8 + 4], eax
cmp eax, dword [r14 + 0x60]
jg 0x140042f96
mov word [r15 + 0x24], 0xa02
mov rax, qword [rsi + rdi*8 + 0x10]
mov qword [r15 + 8], rax
mov eax, dword [rsi + rdi*8 + 4]
mov byte [r15 + 0x27], r8b
mov dword [r15 + 0x20], eax
jmp 0x14003e608
movsxd rcx, dword [rsi + rdi*8 + 4]
movsxd r15, dword [rsi + rdi*8 + 8]
imul rcx, rcx, 0x38
imul r15, r15, 0x38
add rcx, r9
add r15, r9
test byte [rcx + 0x24], bpl
jne 0x14003ea4f
call fcn.140012ce8
not rax
mov rdx, rax
jmp 0x14003ef2a
movsxd rcx, dword [rsi + rdi*8 + 4]
mov rax, qword [r13 + 0x70]
mov rcx, qword [rax + rcx*8]
xor eax, eax
mov qword [rsp + 0x50], rcx
cmp qword [rcx], rax
je 0x14003e608
mov rax, qword [rcx + 0x10]
lea r8, [rsp + 0x58]
mov qword [rsp + 0x60], rax
movzx eax, word [rsi + rdi*8 + 0x10]
mov word [rsp + 0x68], ax
mov al, byte [rsi + rdi*8 + 3]
neg al
sbb dx, dx
and dx, 8
add dx, 4
mov word [rsp + 0x6a], dx
movsxd rax, dword [rsi + rdi*8 + 0xc]
lea rdx, [rsp + 0x60]
imul rax, rax, 0x38
add rax, r9
mov qword [rsp + 0x78], rax
call fcn.140038fa8
cmp byte [rsi + rdi*8], 0x51
mov dword [rsp + 0x1f8], eax
mov eax, dword [rsp + 0x58]
jne 0x140041a6d
neg eax
jmp 0x140041a6f
add eax, ebp
mov r9, qword [rsp + 0x40]
xor r8d, r8d
mov dword [rsp + 0x58], eax
cmp eax, r8d
mov r8b, byte [rsp + 0x1e8]
jle 0x1400408b2
jmp 0x1400408a2
movsxd r12, dword [rsi + rdi*8 + 4]
movsxd rbx, dword [rsi + rdi*8 + 8]
movsxd r15, dword [rsi + rdi*8 + 0xc]
imul r12, r12, 0x38
imul rbx, rbx, 0x38
imul r15, r15, 0x38
add r12, r9
add rbx, r9
add r15, r9
mov al, byte [r12 + 0x24]
or al, byte [rbx + 0x24]
test bpl, al
jne 0x140041911
bt word [r12 + 0x24], 0xe
jae 0x140041adc
mov rcx, r12
call fcn.14001e858
xor edx, edx
jmp 0x140041ae0
xor edx, edx
mov eax, edx
cmp eax, edx
jne 0x140043068
bt word [rbx + 0x24], 0xe
jae 0x140041afc
mov rcx, rbx
call fcn.14001e858
xor edx, edx
jmp 0x140041afe
mov eax, edx
cmp eax, edx
jne 0x140043068
test byte [r12 + 0x24], 0x12
jne 0x140041b2c
movzx edi, byte [rsp + 0x1e8]
mov rcx, r12
mov edx, edi
call fcn.140024518
xor edx, edx
cmp eax, edx
jne 0x140043068
jmp 0x140041b34
mov dil, byte [rsp + 0x1e8]
test byte [rbx + 0x24], 0x12
jne 0x140041b50
movzx edx, dil
mov rcx, rbx
call fcn.140024518
xor edx, edx
cmp eax, edx
jne 0x140043068
mov eax, dword [rbx + 0x20]
add eax, dword [r12 + 0x20]
movsxd rcx, eax
mov qword [rsp + 0x50], rcx
movsxd rax, dword [r14 + 0x60]
cmp rcx, rax
jg 0x140042f96
and word [r15 + 0x24], 0xbf02
or word [r15 + 0x24], 2
mov r8d, edx
mov edx, dword [rsp + 0x50]
cmp r15, rbx
mov rcx, r15
sete r8b
add edx, 2
call fcn.14001d078
xor ecx, ecx
cmp eax, ecx
jne 0x140043068
cmp r15, rbx
je 0x140041bb3
movsxd r8, dword [rbx + 0x20]
mov rdx, qword [rbx + 8]
mov rcx, qword [r15 + 8]
call sub.msvcrt.dll_memcpy
movsxd rcx, dword [rbx + 0x20]
movsxd r8, dword [r12 + 0x20]
mov rdx, qword [r12 + 8]
add rcx, qword [r15 + 8]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x50]
mov r11, qword [r15 + 8]
mov r12d, dword [rsp + 0x1f8]
xor r8d, r8d
mov byte [rax + r11], r8b
mov rax, qword [rsp + 0x50]
mov rcx, qword [r15 + 8]
mov byte [rcx + rax + 1], r8b
or word [r15 + 0x24], 0x200
mov eax, dword [rsp + 0x50]
mov dword [r15 + 0x20], eax
jmp 0x14003e5f7
xor r12d, r12d
mov ecx, r12d
mov dword [rsp + 0x54], ecx
mov rax, qword [r14 + 0xa8]
jmp 0x140041c3c
cmp dword [rax + 0x54], 0xbdf20da3
jne 0x140041c38
cmp byte [rax + 0x9f], 2
jae 0x140041c38
cmp dword [rax + 0x90], r12d
jl 0x140041c38
add ecx, ebp
mov dword [rsp + 0x54], ecx
mov rax, qword [rax + 0x68]
cmp rax, r12
mov qword [rsp + 0x58], rax
jne 0x140041c17
mov word [r15 + 0x24], bp
cmp dword [rsp + 0x54], ebp
jle 0x140041c6c
mov r12d, 6
mov byte [r13 + 0x98], 2
mov dword [rsp + 0x1f8], r12d
jmp 0x14003e608
movsxd rax, dword [rsi + rdi*8 + 0xc]
lea r8, [rsp + 0x50]
mov dword [rsp + 0x60], eax
mov edx, dword [rsi + rdi*8 + 4]
mov rcx, rax
mov rax, qword [r14 + 0x10]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.140037018
mov word [r15 + 0x24], 4
mov dword [rsp + 0x1f8], eax
movsxd rax, dword [rsp + 0x50]
jmp 0x14003fb19
cmp ecx, 0x60
je 0x140041e13
jle case.default.0x14003e46f
cmp ecx, 0x62
jle 0x140041dd5
cmp ecx, 0x63
je 0x140041ce2
cmp ecx, 0x64
jne case.default.0x14003e46f
mov edx, dword [rsi + rdi*8 + 4]
mov rcx, r14
call fcn.140023c18
jmp 0x14003f298
movsxd rdx, dword [rsi + rdi*8 + 4]
xor eax, eax
mov dword [rsp + 0x50], edx
cmp dword [rsi + rdi*8 + 8], eax
jne 0x140041d0d
mov rax, qword [r14 + 0x10]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
test byte [rcx + 0x72], bpl
je 0x14003e608
mov qword [rsp + 0x68], r14
mov rcx, rdx
lea rbx, str.sqlite_master
mov qword [rsp + 0x58], rbx
mov eax, dword [rsi + rdi*8 + 4]
shl rcx, 5
mov dword [rsp + 0x70], eax
lea rax, [r13 + 0x58]
lea rdx, str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
mov qword [rsp + 0x78], rax
mov r8, qword [r14 + 0x10]
mov rax, qword [rsi + rdi*8 + 0x10]
mov r8, qword [rcx + r8]
mov r9, rbx
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.140020948
xor r12d, r12d
cmp rax, r12
mov qword [rsp + 0x60], rax
je 0x140043068
mov byte [r14 + 0x94], bpl
mov rdx, qword [rsp + 0x60]
lea r9, [rsp + 0x68]
lea r8, [fcn.14003c468]
mov rcx, r14
mov dword [rsp + 0x80], r12d
mov qword [rsp + 0x20], r12
call fcn.140043468
mov rdx, qword [rsp + 0x60]
cmp eax, r12d
mov rcx, r14
cmove eax, dword [rsp + 0x80]
mov dword [rsp + 0x1f8], eax
call fcn.140013e78
mov byte [r14 + 0x94], r12b
mov r12d, dword [rsp + 0x1f8]
cmp r12d, 7
je 0x140043068
jmp 0x14003e669
xor eax, eax
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x50], eax
movsxd rcx, dword [rsi + rdi*8 + 4]
mov r8d, eax
shl rcx, 5
add rcx, qword [r14 + 0x10]
mov qword [rsp + 0x58], rcx
cmp byte [rsi + rdi*8], 0x62
setne r8b
add r8d, ebp
mov dword [rsp + 0x54], r8d
mov rcx, qword [rcx + 8]
call fcn.140030eb8
jmp 0x140041c9a
xor eax, eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsi + rdi*8 + 0xc]
mov rcx, qword [r14 + 0x10]
mov edx, dword [rsi + rdi*8 + 4]
neg eax
lea rax, [rsp + 0x50]
sbb r8, r8
and r8, rax
movsxd rax, dword [rsi + rdi*8 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1400354d8
xor r8d, r8d
cmp dword [rsi + rdi*8 + 0xc], r8d
mov r12d, eax
mov dword [rsp + 0x1f8], eax
je 0x14003e669
movsxd rax, dword [rsp + 0x50]
mov r9, qword [rsp + 0x40]
add dword [r13 + 0xa4], eax
movsxd rcx, dword [rsi + rdi*8 + 0xc]
cmp ecx, r8d
mov r8b, byte [rsp + 0x1e8]
jle 0x14003e608
imul rcx, rcx, 0x38
add qword [rcx + r9 + 0x18], rax
jmp 0x14003e608
mov r8, qword [rsi + rdi*8 + 0x10]
mov edx, dword [rsi + rdi*8 + 4]
mov rcx, r14
call fcn.14001c7a8
jmp 0x14003e669
sub ecx, 0x66
je 0x140042315
sub ecx, ebp
je 0x1400422ff
sub ecx, 2
je 0x1400422bd
sub ecx, ebp
je 0x14004225e
sub ecx, ebp
je 0x1400421c6
sub ecx, ebp
je 0x140041f64
sub ecx, ebp
je 0x140041f2f
sub ecx, ebp
je 0x140041f0a
cmp ecx, ebp
jne case.0x14003e46f.16
xor eax, eax
cmp dword [rsi + rdi*8 + 4], eax
je 0x140041efe
cmp qword [r14 + 0x308], rax
jmp 0x140040a3d
cmp qword [r13 + 0x120], rax
jmp 0x140040a3d
xor eax, eax
cmp dword [rsi + rdi*8 + 4], eax
movsxd rax, dword [rsi + rdi*8 + 8]
je 0x140041f23
add qword [r14 + 0x308], rax
jmp 0x14003e608
add qword [r13 + 0x120], rax
jmp 0x14003e608
mov r8, qword [r13 + 0x140]
mov qword [rsp + 0x50], r8
movsxd rax, dword [r8 + 8]
lea rcx, [rax + rax*2]
mov rax, qword [r8 + 0x10]
mov edx, dword [rax + rcx*8 + 4]
add edx, dword [rsi + rdi*8 + 4]
movsxd rdx, edx
imul rdx, rdx, 0x38
add rdx, qword [r8 + 0x20]
mov qword [rsp + 0x58], rdx
jmp 0x14003e763
mov r8, qword [rsi + rdi*8 + 0x10]
xor eax, eax
mov qword [rsp + 0x78], r8
movsxd rcx, dword [rsi + rdi*8 + 0xc]
imul rcx, rcx, 0x38
add rcx, r9
mov qword [rsp + 0x58], rcx
cmp byte [rsi + rdi*8 + 3], al
je 0x140041fc4
mov rax, qword [r13 + 0x140]
mov rdx, qword [r8 + 0x18]
xor r11d, r11d
cmp rax, r11
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x70], rax
je 0x140041fc4
cmp qword [rax + 0x40], rdx
je 0x140041fbb
mov rax, qword [rax + 0x60]
cmp rax, r11
mov qword [rsp + 0x70], rax
jne 0x140041fa7
cmp rax, r11
jne 0x140042d60
mov eax, dword [r14 + 0x88]
cmp dword [r13 + 0x150], eax
jl 0x140041ff3
lea rcx, [r13 + 0x58]
lea r8, str.too_many_levels_of_trigger_recursion
mov rdx, r14
mov dword [rsp + 0x1f8], ebp
call fcn.14001ed98
jmp 0x14003ea13
test byte [rcx + 0x24], 0x40
jne 0x140042136
mov edx, dword [r8 + 0xc]
mov rcx, r14
add edx, dword [r8 + 0x10]
mov dword [rsp + 0x50], edx
imul edx, edx, 7
add edx, dword [r8 + 0x10]
lea edx, [rdx*8 + 0x68]
mov dword [rsp + 0x54], edx
call fcn.140016de8
xor ecx, ecx
cmp rax, rcx
mov qword [rsp + 0x70], rax
je 0x140043068
mov rcx, qword [rsp + 0x58]
call fcn.140017fe8
mov r11, qword [rsp + 0x58]
mov word [r11 + 0x24], 0x40
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x70]
mov qword [rcx + 0x18], rax
mov rax, qword [rsp + 0x70]
mov qword [rax], r13
mov ecx, dword [rsp + 0x50]
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x48], ecx
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x10]
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x4c], ecx
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x1f0]
mov dword [rax + 8], ecx
mov rcx, qword [r13 + 0x10]
mov rax, qword [rsp + 0x70]
mov qword [rax + 0x20], rcx
mov rax, qword [rsp + 0x70]
mov ecx, dword [r13 + 0x30]
mov dword [rax + 0x28], ecx
mov rcx, qword [r13 + 0x70]
mov rax, qword [rsp + 0x70]
mov qword [rax + 0x30], rcx
mov rax, qword [rsp + 0x70]
movzx ecx, word [r13 + 0x52]
mov word [rax + 0x38], cx
mov rcx, qword [r13 + 8]
mov rax, qword [rsp + 0x70]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x70]
mov ecx, dword [r13 + 0x34]
mov dword [rax + 0x18], ecx
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + 0x18]
mov rax, qword [rsp + 0x70]
mov qword [rax + 0x40], rcx
mov rdx, qword [rsp + 0x70]
movsxd rax, dword [rdx + 0x48]
imul rax, rax, 0x38
lea rcx, [rax + rdx + 0x68]
lea rax, [rdx + 0x68]
cmp rax, rcx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x60], rax
je 0x14004213f
mov word [rax + 0x24], bp
mov rax, qword [rsp + 0x60]
mov qword [rax], r14
mov rax, qword [rsp + 0x60]
add rax, 0x38
cmp rax, qword [rsp + 0x68]
mov qword [rsp + 0x60], rax
jne 0x14004210e
mov rdx, qword [rsp + 0x70]
jmp 0x14004213f
mov rdx, qword [rcx + 0x18]
mov qword [rsp + 0x70], rdx
add dword [r13 + 0x150], ebp
mov rax, qword [r13 + 0x140]
mov qword [rdx + 0x60], rax
mov rcx, qword [r14 + 0x40]
mov rax, qword [rsp + 0x70]
mov qword [rax + 0x50], rcx
mov ecx, dword [r13 + 0xa4]
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x58], ecx
xor eax, eax
mov dword [r13 + 0xa4], eax
mov rax, qword [rsp + 0x70]
mov qword [r13 + 0x140], rax
lea r9, [rax + 0x30]
mov qword [r13 + 0x10], r9
mov ecx, dword [rax + 0x48]
mov dword [r13 + 0x30], ecx
movzx eax, word [rax + 0x4c]
mov word [r13 + 0x52], ax
lea eax, [rbp + rcx]
cdqe
imul rax, rax, 0x38
add rax, r9
mov qword [r13 + 0x70], rax
mov rax, qword [rsp + 0x78]
mov rsi, qword [rax]
mov qword [r13 + 8], rsi
mov eax, dword [rax + 8]
mov dword [r13 + 0x34], eax
or eax, 0xffffffff
jmp 0x14003e59d
movsxd rbx, dword [rsi + rdi*8 + 4]
movsxd r12, dword [rsi + rdi*8 + 0xc]
mov edx, dword [rsi + rdi*8 + 0x10]
imul rbx, rbx, 0x38
imul r12, r12, 0x38
add rbx, r9
add r12, r9
mov dword [rsp + 0x50], edx
test byte [rbx + 0x24], 0x20
jne 0x140042202
mov rcx, rbx
call fcn.140019da8
test byte [rbx + 0x24], 0x20
je 0x140043068
mov edx, dword [rsp + 0x50]
xor r8d, r8d
cmp edx, r8d
je 0x14004224b
mov al, byte [rsp + 0x50]
mov ecx, 0xff
and al, 0xf
cmp edx, r8d
mov r8, qword [r12 + 0x18]
movzx eax, al
cmovge ecx, eax
mov dl, cl
mov rcx, qword [rbx + 0x18]
call fcn.1400150e8
xor r8d, r8d
cmp eax, r8d
mov dword [rsp + 0x54], eax
jne 0x1400406cc
mov edx, dword [rsp + 0x50]
cmp edx, r8d
jl 0x14003ea13
mov rdx, qword [r12 + 0x18]
mov rcx, qword [rbx + 0x18]
call fcn.140018598
jmp 0x14003ea13
mov eax, dword [r14 + 0x150]
xor ecx, ecx
cmp eax, ecx
jne 0x140042fb7
movsxd rbx, dword [rsi + rdi*8 + 4]
imul rbx, rbx, 0x38
add rbx, r9
test byte [rbx + 0x24], 0x20
je 0x1400422b0
mov rcx, qword [rbx + 0x18]
lea rdx, [rsp + 0x50]
call fcn.140016638
xor ecx, ecx
cmp eax, ecx
je 0x1400422b0
mov rdx, qword [rsp + 0x40]
movsxd rcx, dword [rsi + rdi*8 + 0xc]
imul rcx, rcx, 0x38
add rcx, rdx
mov rdx, qword [rsp + 0x50]
jmp 0x14003ef2d
mov rcx, rbx
call fcn.1400160d8
jmp 0x14004063b
movsxd rbx, dword [rsi + rdi*8 + 4]
movsxd rdi, dword [rsi + rdi*8 + 8]
imul rbx, rbx, 0x38
imul rdi, rdi, 0x38
add rbx, r9
add rdi, r9
test byte [rbx + 0x24], 0x20
jne 0x1400422ed
mov rcx, rbx
call fcn.140019da8
test byte [rbx + 0x24], 0x20
je 0x140043068
mov rdx, qword [rdi + 0x18]
mov rcx, qword [rbx + 0x18]
call fcn.140018598
jmp 0x14003e669
mov r8, qword [rsi + rdi*8 + 0x10]
mov edx, dword [rsi + rdi*8 + 4]
mov rcx, r14
call fcn.14001dda8
jmp 0x14003e669
mov r8, qword [rsi + rdi*8 + 0x10]
mov edx, dword [rsi + rdi*8 + 4]
mov rcx, r14
call fcn.140019568
jmp 0x14003e669
movsxd rax, dword [rsi + rdi*8 + 4]
imul rax, rax, 0x38
cmp qword [rax + r9 + 0x18], r11
jle case.0x14003e46f.16
jmp 0x14003e481
cmp ecx, 0x7d
jg 0x140042810
je 0x1400427f6
sub ecx, 0x72
je 0x1400427dd
sub ecx, ebp
je 0x1400427c5
sub ecx, ebp
je 0x140042684
sub ecx, ebp
je 0x14004262d
sub ecx, ebp
je 0x14004261c
sub ecx, ebp
je 0x140042416
sub ecx, ebp
je 0x140042405
sub ecx, 2
je 0x1400423d0
cmp ecx, 2
jne case.0x14003e46f.16
mov rdx, qword [rsi + rdi*8 + 0x10]
mov rcx, r14
mov qword [rsp + 0x50], rdx
call fcn.14001c078
mov rdx, qword [rsp + 0x50]
mov dword [rsp + 0x1f8], eax
xor eax, eax
cmp rdx, rax
je 0x14003ea13
mov rdx, qword [rdx + 0x10]
mov rcx, r13
call fcn.140019b58
jmp 0x14003ea13
xor eax, eax
xor r11d, r11d
cmp dword [rsi + rdi*8 + 4], eax
jne 0x1400423f9
mov rax, qword [r14 + 0xa8]
jmp 0x1400423ef
mov byte [rax + 0x9c], bpl
mov rax, qword [rax + 0x68]
cmp rax, r11
jne 0x1400423e4
jmp case.0x14003e46f.16
mov byte [r13 + 0x9c], bpl
jmp case.0x14003e46f.16
lea rcx, [r13 + 0x58]
mov rdx, r14
call fcn.14003dfd8
jmp 0x14003f298
mov r8d, dword [rsi + rdi*8 + 0xc]
xor r12d, r12d
cmp dword [r13 + 0xc0], r12d
mov dword [rsp + 0x60], r8d
jne 0x140042448
mov ecx, dword [rsi + rdi*8 + 4]
mov eax, ebp
shl eax, cl
mov ecx, dword [r13 + 0xa8]
test ecx, eax
jne 0x140042448
or eax, ecx
mov dword [r13 + 0xa8], eax
mov rax, qword [r14 + 0x10]
movsxd rcx, dword [rsi + rdi*8 + 4]
shl rcx, 5
cmp r8d, 0xffffffff
mov r10, qword [rcx + rax + 8]
mov qword [rsp + 0x50], r10
mov rax, qword [r10 + 8]
mov rcx, qword [rax]
mov qword [rsp + 0x58], rcx
movzx edx, byte [rcx + 9]
cmove r8d, edx
mov dword [rsp + 0x64], edx
mov dword [rsp + 0x60], r8d
cmp byte [rcx + 0x13], 3
jae 0x140042495
mov rax, qword [rcx + 0x50]
cmp qword [rax], r12
je 0x14004249c
cmp qword [rcx + 0x60], r12
jle 0x14004249c
mov r8d, edx
mov dword [rsp + 0x60], edx
mov rax, qword [rcx + 0xb0]
mov ebx, 5
cmp r8d, ebx
mov qword [rsp + 0x68], rax
jne 0x1400424d7
cmp byte [rax], r12b
je 0x1400424d0
cmp byte [rcx + 8], r12b
mov rax, qword [rcx + 0x48]
mov r9, qword [rax]
jne 0x1400424d7
cmp dword [r9], 2
jl 0x1400424d0
cmp qword [r9 + 0x68], r12
jne 0x1400424d7
mov r8d, edx
mov dword [rsp + 0x60], edx
cmp r8d, edx
je 0x140042572
cmp edx, ebx
je 0x1400424ed
cmp r8d, ebx
jne 0x140042572
cmp byte [r14 + 0x28], r12b
je 0x1400425a2
cmp dword [r14 + 0xb0], ebp
jg 0x1400425a2
cmp edx, ebx
jne 0x140042524
call fcn.14002ecd8
cmp eax, r12d
mov dword [rsp + 0x1f8], eax
jne 0x14004255c
mov edx, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
jmp 0x14004252e
cmp edx, 4
jne 0x14004253d
mov edx, 2
call fcn.140035cb8
mov r10, qword [rsp + 0x50]
mov r8d, dword [rsp + 0x60]
mov edx, r12d
cmp r8d, ebx
mov rcx, r10
sete dl
add edx, ebp
call fcn.1400383b8
cmp eax, r12d
mov dword [rsp + 0x1f8], eax
je 0x140042568
mov r8d, dword [rsp + 0x64]
mov dword [rsp + 0x60], r8d
jmp 0x14004256d
mov r8d, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov edx, r8d
call fcn.140035cb8
mov r9, qword [rsp + 0x40]
mov dword [rsp + 0x60], eax
movsxd r15, dword [rsi + rdi*8 + 8]
imul r15, r15, 0x38
add r15, r9
mov word [r15 + 0x24], 0xa02
cmp dword [rsp + 0x60], 6
jne 0x1400425d6
mov rcx, r12
jmp 0x1400425ea
cmp r8d, ebx
lea rax, str.into
lea r9, str.out_of
lea rcx, [r13 + 0x58]
lea r8, str.cannot_change__s_wal_mode_from_within_a_transaction
mov rdx, r14
cmove r9, rax
mov dword [rsp + 0x1f8], ebp
call fcn.14001ed98
jmp 0x14003ea13
movsxd rax, dword [rsp + 0x60]
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x7b050]
cmp rcx, r12
mov qword [r15 + 8], rcx
mov rax, rcx
jne 0x1400425fb
mov eax, r12d
jmp 0x14004260f
cmp byte [rcx], r12b
je 0x140042608
add rax, rbp
cmp byte [rax], r12b
jne 0x140042600
sub eax, ecx
and eax, 0x3fffffff
mov dword [r15 + 0x20], eax
mov byte [r15 + 0x27], bpl
jmp 0x14003ecf1
mov edx, dword [rsi + rdi*8 + 4]
mov rcx, r14
call fcn.140031d68
jmp 0x14003f298
movsxd rcx, dword [rsi + rdi*8 + 4]
imul rcx, rcx, 0x38
add rcx, r9
mov qword [rsp + 0x50], rcx
mov rdx, qword [rsi + rdi*8 + 0x10]
call fcn.140014c98
xor r12d, r12d
cmp eax, r12d
mov dword [rsp + 0x1f8], eax
je 0x14004267a
mov rcx, qword [rsp + 0x50]
mov dl, bpl
call fcn.140027c38
lea rcx, [r13 + 0x58]
lea r8, [0x14007d8d8]
mov r9, rax
mov rdx, r14
call fcn.14001ed98
mov rcx, qword [rsp + 0x50]
jmp 0x14003ea05
movzx eax, byte [rsi + rdi*8 + 3]
mov r8, qword [r13 + 0x18]
xor r12d, r12d
mov dword [rsp + 0x50], eax
movsxd rcx, dword [rsi + rdi*8 + 8]
mov edx, r12d
mov qword [rsp + 0xc8], r8
mov dword [rsp + 0x54], edx
imul rcx, rcx, 0x38
add rcx, r9
cmp eax, r12d
mov qword [rsp + 0x60], rcx
jle 0x1400426f2
movsxd rax, edx
mov qword [r8 + rax*8], rcx
mov rcx, qword [rsp + 0x60]
call fcn.14000bb18
mov edx, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x60]
add edx, ebp
add rcx, 0x38
cmp edx, dword [rsp + 0x50]
mov dword [rsp + 0x54], edx
mov qword [rsp + 0x60], rcx
jge 0x1400426f2
mov r8, qword [rsp + 0xc8]
jmp 0x1400426b9
mov rax, qword [rsi + rdi*8 + 0x10]
mov qword [rsp + 0x68], rax
movsxd rax, dword [rsi + rdi*8 + 0xc]
imul rax, rax, 0x38
add rax, r9
mov qword [rsp + 0x58], rax
mov qword [rsp + 0xb0], rax
add dword [rax + 0x20], ebp
mov r9, qword [rsp + 0x68]
mov word [rsp + 0x9c], bp
mov qword [rsp + 0x80], r12
mov qword [rsp + 0xa8], r12
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0x78], r14
mov dword [rsp + 0xb8], r12d
mov qword [rsp + 0xc0], r12
test byte [r9 + 3], 8
je 0x140042766
mov rax, qword [rsi + rdi*8 - 8]
mov qword [rsp + 0xc0], rax
mov r8, qword [rsp + 0xc8]
mov edx, dword [rsp + 0x50]
lea rcx, [rsp + 0x68]
call qword [r9 + 0x20]
cmp dword [rsp + 0xb8], r12d
je 0x1400427b6
lea rcx, [rsp + 0x78]
mov dl, bpl
call fcn.140027c38
lea rcx, [r13 + 0x58]
lea r8, [0x14007d8d8]
mov r9, rax
mov rdx, r14
call fcn.14001ed98
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0x1f8], eax
lea rcx, [rsp + 0x78]
call fcn.140017fe8
jmp 0x14003ea13
movsxd rcx, dword [rsi + rdi*8 + 4]
movsxd rax, dword [rsi + rdi*8 + 0xc]
imul rcx, rcx, 0x38
add qword [rcx + r9 + 0x18], rax
jmp 0x14003efc2
movsxd rax, dword [rsi + rdi*8 + 4]
imul rax, rax, 0x38
cmp qword [rax + r9 + 0x18], r11
jge case.0x14003e46f.16
jmp 0x14003e481
mov r8, qword [rsi + rdi*8 + 0x10]
mov edx, dword [rsi + rdi*8 + 4]
lea r9, [r13 + 0x58]
mov rcx, r14
call fcn.140025da8
jmp 0x14003f298
sub ecx, 0x7e
je 0x140042d2f
sub ecx, ebp
je 0x140042c77
sub ecx, ebp
je 0x140042b18
sub ecx, ebp
je 0x140042a3f
sub ecx, 2
je 0x14004299c
sub ecx, ebp
je 0x14004294e
sub ecx, ebp
je 0x14004286f
cmp ecx, 0xb
jne case.0x14003e46f.16
movsxd rcx, dword [rsi + rdi*8 + 4]
imul rcx, rcx, 0x38
add rcx, r9
test byte [rcx + 0x24], bpl
jne case.0x14003e46f.16
call fcn.140014c68
jmp 0x14003e669
mov rax, qword [rsi + rdi*8 + 0x10]
mov r10, qword [rax + 0x10]
mov qword [rsp + 0x50], r10
mov rax, qword [r10]
mov qword [rsp + 0x58], rax
mov edx, dword [rsi + rdi*8 + 8]
mov dword [rsp + 0x60], edx
cmp qword [rax + 0x68], r11
je case.0x14003e46f.16
mov r8, qword [r13 + 0x18]
mov qword [rsp + 0x70], r8
movsxd rcx, dword [rsi + rdi*8 + 0xc]
imul rcx, rcx, 0x38
add rcx, r9
xor r9d, r9d
cmp edx, r9d
mov qword [rsp + 0x78], rcx
mov dword [rsp + 0x64], r9d
jle 0x140042905
call fcn.14000bb18
movsxd rdx, dword [rsp + 0x64]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
mov qword [rcx + rdx*8], rax
mov eax, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x78]
mov edx, dword [rsp + 0x60]
add eax, ebp
add rcx, 0x38
cmp eax, edx
mov qword [rsp + 0x78], rcx
mov dword [rsp + 0x64], eax
jl 0x1400428be
mov r8, qword [rsp + 0x70]
mov rax, qword [rsp + 0x58]
mov r10, qword [rsp + 0x50]
lea r9, [rsp + 0x68]
mov rcx, r10
call qword [rax + 0x68]
mov rdx, qword [rsp + 0x50]
mov rcx, r13
mov dword [rsp + 0x1f8], eax
call fcn.140019b58
mov r12d, dword [rsp + 0x1f8]
xor eax, eax
cmp r12d, eax
jne 0x140042942
cmp dword [rsi + rdi*8 + 4], eax
je 0x140042942
mov rax, qword [rsp + 0x68]
mov qword [r14 + 0x40], rax
add dword [r13 + 0xa4], ebp
jmp 0x14003e669
mov rax, qword [rsi + rdi*8 + 0x10]
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x50], rcx
movsxd rdx, dword [rsi + rdi*8 + 4]
imul rdx, rdx, 0x38
add rdx, r9
mov qword [rsp + 0x58], rdx
mov rax, qword [rcx]
mov rdx, qword [rdx + 8]
call qword [rax + 0x98]
mov rdx, qword [rsp + 0x50]
mov rcx, r13
mov dword [rsp + 0x1f8], eax
call fcn.140019b58
xor eax, eax
mov byte [r13 + 0x9c], al
jmp 0x14003ea13
xor eax, eax
mov dword [rsp + 0x60], eax
movsxd rcx, dword [rsi + rdi*8 + 4]
mov rax, qword [r13 + 0x70]
mov rdx, qword [rax + rcx*8]
xor eax, eax
mov qword [rsp + 0x68], rdx
cmp byte [rdx + 0x28], al
jne 0x14003e608
mov rax, qword [rdx + 0x30]
mov rcx, qword [rax]
mov qword [rsp + 0x50], rcx
mov rax, qword [rcx]
mov byte [r13 + 0x9f], bpl
mov qword [rsp + 0x58], rax
mov rcx, qword [rdx + 0x30]
call qword [rax + 0x48]
mov rdx, qword [rsp + 0x50]
xor r12d, r12d
mov rcx, r13
mov byte [r13 + 0x9f], r12b
mov dword [rsp + 0x1f8], eax
call fcn.140019b58
cmp dword [rsp + 0x1f8], r12d
jne 0x140042a20
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x30]
call qword [rax + 0x50]
mov dword [rsp + 0x60], eax
jmp 0x140042a24
mov eax, dword [rsp + 0x60]
cmp eax, r12d
mov r9, qword [rsp + 0x40]
mov r8b, byte [rsp + 0x1e8]
jne 0x1400408b2
jmp 0x1400408a2
movsxd rcx, dword [rsi + rdi*8 + 4]
mov rax, qword [r13 + 0x70]
mov rbx, qword [rax + rcx*8]
movsxd rcx, dword [rsi + rdi*8 + 0xc]
xor eax, eax
imul rcx, rcx, 0x38
add rcx, r9
mov qword [rsp + 0x60], rcx
cmp byte [rbx + 0x28], al
jne 0x14003ea52
mov rax, qword [rbx + 0x30]
xor edx, edx
lea rcx, [rsp + 0x68]
mov rax, qword [rax]
lea r8d, [rdx + 0x60]
mov qword [rsp + 0x50], rax
mov rax, qword [rax]
mov qword [rsp + 0x58], rax
call sub.msvcrt.dll_memset
mov rdx, qword [rsp + 0x60]
lea rcx, [rsp + 0x78]
call fcn.140019d58
movzx r11d, word [rsp + 0x9c]
mov rax, qword [rsp + 0x58]
and r11w, 0xbf01
lea rdx, [rsp + 0x68]
or r11w, bp
mov word [rsp + 0x9c], r11w
mov r8d, dword [rsi + rdi*8 + 8]
mov rcx, qword [rbx + 0x30]
call qword [rax + 0x58]
mov rdx, qword [rsp + 0x50]
mov rcx, r13
mov dword [rsp + 0x1f8], eax
call fcn.140019b58
mov eax, dword [rsp + 0xb8]
mov ecx, dword [rsp + 0x1f8]
xor r12d, r12d
lea rdx, [rsp + 0x78]
cmp eax, r12d
cmovne ecx, eax
mov dword [rsp + 0x1f8], ecx
mov rcx, qword [rsp + 0x60]
call fcn.140019d58
mov rcx, qword [rsp + 0x60]
jmp 0x14003ea05
movsxd r8, dword [rsi + rdi*8 + 0xc]
mov rax, qword [r13 + 0x70]
xor r12d, r12d
imul r8, r8, 0x38
add r8, r9
mov qword [rsp + 0x60], r8
lea r10, [r8 + 0x38]
mov qword [rsp + 0x68], r10
movsxd rcx, dword [rsi + rdi*8 + 4]
mov rdx, qword [rax + rcx*8]
mov qword [rsp + 0x80], rdx
mov rcx, qword [rdx + 0x30]
mov edx, r12d
mov qword [rsp + 0x70], rcx
mov rax, qword [rcx]
mov qword [rsp + 0x78], rax
mov r11, qword [rax]
mov qword [rsp + 0x58], r11
mov r9d, dword [r10 + 0x18]
cmp r9d, r12d
mov dword [rsp + 0x50], r9d
mov eax, dword [r8 + 0x18]
mov r8, qword [r13 + 0x18]
mov dword [rsp + 0x88], r12d
mov dword [rsp + 0x8c], edx
mov qword [rsp + 0x90], r8
mov dword [rsp + 0x54], eax
jle 0x140042bfb
lea eax, [rdx + 1]
movsxd rcx, eax
movsxd rax, edx
imul rcx, rcx, 0x38
add rcx, r10
mov qword [r8 + rax*8], rcx
movsxd rax, dword [rsp + 0x8c]
mov rcx, qword [rsp + 0x90]
mov rcx, qword [rcx + rax*8]
call fcn.14000bb18
mov edx, dword [rsp + 0x8c]
mov r9d, dword [rsp + 0x50]
mov r8, qword [rsp + 0x90]
add edx, ebp
cmp edx, r9d
mov dword [rsp + 0x8c], edx
jge 0x140042bed
mov r10, qword [rsp + 0x68]
jmp 0x140042b97
mov rcx, qword [rsp + 0x70]
mov r11, qword [rsp + 0x58]
mov eax, dword [rsp + 0x54]
mov byte [r13 + 0x9f], bpl
mov qword [rsp + 0x20], r8
mov r8, qword [rsi + rdi*8 + 0x10]
mov edx, eax
call qword [r11 + 0x40]
mov rdx, qword [rsp + 0x78]
mov rcx, r13
mov dword [rsp + 0x1f8], eax
mov byte [r13 + 0x9f], r12b
call fcn.140019b58
cmp dword [rsp + 0x1f8], r12d
jne 0x140042c4d
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x70]
call qword [rax + 0x50]
mov dword [rsp + 0x88], eax
jmp 0x140042c54
mov eax, dword [rsp + 0x88]
cmp eax, r12d
je 0x140042c66
mov eax, dword [rsi + rdi*8 + 8]
sub eax, ebp
mov dword [rsp + 0x1f0], eax
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x28], r12b
jmp 0x14003ea13
xor eax, eax
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
mov rax, qword [rsi + rdi*8 + 0x10]
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x60], rcx
mov rax, qword [rcx]
mov qword [rsp + 0x68], rax
call qword [rax + 0x30]
mov rdx, qword [rsp + 0x60]
mov rcx, r13
mov dword [rsp + 0x1f8], eax
call fcn.140019b58
mov r12d, dword [rsp + 0x1f8]
xor r8d, r8d
cmp r12d, r8d
jne 0x14003e669
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x60]
or r9d, 0xffffffff
mov qword [rcx], rax
mov edx, dword [rsi + rdi*8 + 4]
mov rcx, r13
mov dword [rsp + 0x20], r8d
call fcn.140037b68
xor ecx, ecx
cmp rax, rcx
mov qword [rsp + 0x50], rax
je 0x140042d19
mov rcx, qword [rsp + 0x58]
mov qword [rax + 0x30], rcx
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax]
mov rax, qword [rsp + 0x50]
mov rdx, qword [rcx]
mov qword [rax + 0x38], rdx
jmp 0x14003e669
mov byte [r14 + 0x2a], bpl
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
call qword [rax + 0x38]
jmp 0x14003e669
mov byte [r13 + 0x9f], 2
mov r8, qword [rsi + rdi*8 + 0x10]
mov edx, dword [rsi + rdi*8 + 4]
mov rcx, r14
call fcn.140015be8
mov r12d, eax
mov dword [rsp + 0x1f8], eax
xor eax, eax
mov byte [r13 + 0x9f], al
jmp 0x14003e669
mov r8b, byte [rsp + 0x1e8]
jmp case.0x14003e46f.16
mov eax, dword [rsi + rdi*8 + 4]
mov ebx, dword [rsp + 0x1f0]
mov dword [r13 + 0x94], eax
mov al, byte [rsi + rdi*8 + 8]
mov dword [r13 + 0x90], ebx
mov byte [r13 + 0x98], al
mov r9, qword [rsi + rdi*8 + 0x10]
cmp r9, rcx
je 0x140042dd4
lea rcx, [r13 + 0x58]
lea r8, [0x14007d8d8]
mov rdx, r14
call fcn.14001ed98
mov r11, qword [rsi + rdi*8 + 0x10]
mov r9, qword [r13 + 0x130]
mov ecx, dword [rsi + rdi*8 + 4]
lea rdx, str.abort_at__d_in___s_:__s
mov r8d, ebx
mov qword [rsp + 0x20], r11
call fcn.140020888
jmp 0x140042df7
cmp dword [r13 + 0x94], ecx
je 0x140042df7
mov r9, qword [r13 + 0x130]
mov ecx, dword [rsi + rdi*8 + 4]
lea rdx, str.constraint_failed_at__d_in___s_
mov r8d, ebx
call fcn.140020888
mov rcx, r13
call fcn.1400391d8
mov ecx, 5
cmp eax, ecx
je 0x140042eed
mov eax, dword [r13 + 0x94]
neg eax
sbb eax, eax
and eax, 0xffffff9c
add eax, 0x65
jmp 0x14004304c
cmp byte [r14 + 0x2a], r12b
jne 0x140043068
mov eax, dword [rsp + 0x1f0]
add eax, ebp
mov dword [r13 + 0x90], eax
mov eax, 0x64
jmp 0x14004304c
lea rcx, [rsp + 0x70]
call fcn.140017fe8
jmp 0x140043068
mov esi, 0x14
xor r12d, r12d
jmp 0x140042f36
mov eax, dword [rsp + 0x1f0]
mov dword [r13 + 0x90], eax
mov byte [r14 + 0x28], bl
mov dword [r13 + 0x94], edi
mov eax, edi
jmp 0x14004304c
cmp ecx, r12d
je 0x140042eaa
mov rcx, r14
call fcn.1400361a8
mov byte [r14 + 0x28], bpl
mov rcx, r14
call fcn.140014018
mov r11d, dword [r13 + 0x94]
neg r11d
jmp 0x140042e15
mov edx, ebp
mov rcx, r13
call fcn.140020518
cmp eax, r12d
jne 0x14004304c
mov al, byte [rsp + 0x50]
mov rcx, r13
mov byte [r14 + 0x28], al
call fcn.1400391d8
mov ecx, 5
cmp eax, ecx
jne 0x140042e93
mov eax, dword [rsp + 0x1f0]
sub bpl, byte [rsp + 0x50]
mov dword [r13 + 0x90], eax
mov byte [r14 + 0x28], bpl
mov eax, ecx
mov dword [r13 + 0x94], ecx
jmp 0x14004304c
mov eax, dword [rsp + 0x1f0]
mov dword [r13 + 0x94], ebx
mov dword [r13 + 0x90], eax
mov eax, ebx
jmp 0x14004304c
mov ecx, 0xf8d0
call fcn.140020b18
mov esi, eax
jmp 0x140042f36
mov esi, InitCommonControls
jmp 0x140042f36
xor r12d, r12d
mov esi, dword [rsp + 0x1f8]
cmp byte [r14 + 0x2a], r12b
mov eax, 7
cmovne esi, eax
cmp esi, 0xc0a
mov dword [rsp + 0x1f8], esi
je 0x140042fff
movzx eax, sil
cmp eax, 0x1a
ja 0x140042f72
lea rcx, [0x140000000]
mov r9, qword [rcx + rax*8 + 0x7d6e0]
cmp r9, r12
jne 0x140042f79
lea r9, str.unknown_error
lea rcx, [r13 + 0x58]
lea r8, [0x14007d8d8]
mov rdx, r14
call fcn.14001ed98
jmp 0x140042fff
mov r13, qword [rsp + 0x1e0]
lea rcx, [r13 + 0x58]
lea r8, str.string_or_blob_too_big
mov rdx, r14
call fcn.14001ed98
mov esi, 0x12
mov dword [rsp + 0x1f8], esi
jmp 0x140042fff
xor r12d, r12d
mov dword [r13 + 0x94], 9
mov rax, qword [str.interrupted]
lea r9, str.unknown_error
cmp rax, r12
lea rcx, [r13 + 0x58]
lea r8, [0x14007d8d8]
mov rdx, r14
cmovne r9, rax
mov dword [rsp + 0x1f8], 9
call fcn.14001ed98
mov esi, dword [rsp + 0x1f8]
mov rax, qword [r13 + 0x58]
mov r9, qword [r13 + 0x130]
mov r8d, dword [rsp + 0x1f0]
mov ecx, dword [rsp + 0x1f8]
lea rdx, str.statement_aborts_at__d:___s___s
mov qword [rsp + 0x20], rax
mov dword [r13 + 0x94], esi
call fcn.140020888
mov rcx, r13
call fcn.1400391d8
cmp dword [rsp + 0x1f8], 0xc0a
jne 0x14004304a
mov byte [r14 + 0x2a], bpl
mov eax, ebp
add rsp, 0x198
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov r13, qword [rsp + 0x1e0]
lea rcx, [r13 + 0x58]
lea r8, str.out_of_memory
mov rdx, r14
mov byte [r14 + 0x2a], bpl
call fcn.14001ed98
mov eax, 7
mov esi, eax
mov dword [rsp + 0x1f8], eax
jmp 0x140042fff