Function at 0x140078520
Capabilities:
Parse credit card information
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, 0x328
mov rsi, qword [rcx]
mov rdi, qword [rcx + 8]
mov r11, qword [rcx + 0x10]
movzx r12d, byte [rsi + 0x4e]
mov r10, qword [rsi + 0x30]
xor r14d, r14d
cmp dword [rcx + 0x84], 7
mov edx, r14d
mov rbp, rcx
mov byte [rsp + 0x378], r12b
mov qword [rsp + 0x58], r10
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x380], r14d
mov qword [rsp + 0x60], rsi
mov r9d, r14d
mov dword [rsp + 0xa0], r14d
mov dword [rsp + 0xa4], edx
mov qword [rsp + 0x48], r11
mov r8, r14
mov qword [rsp + 0x50], r14
lea r15d, [r14 + 1]
je 0x14007a0f6
mov dword [rcx + 0x84], r14d
mov qword [rcx + 0xb8], r14
mov qword [rcx + 0x28], r14
mov eax, dword [rsi + 0x138]
mov dword [rsi + 0x250], r14d
test eax, eax
jne 0x14007ccd0
movsxd rax, dword [rcx + 0x80]
lea rcx, [rax + rax*2]
lea r13, [rdi + rcx*8]
mov ecx, r14d
mov qword [rsp + 0x40], r13
nop
nop
nop
cmp byte [rsi + 0x51], 0
jne 0x14007a0f6
movzx ebx, byte [r13]
add edx, 1
lea eax, [rbx - 1]
mov dword [rsp + 0xa4], edx
cmp eax, 0x9d
ja case.default.0x140078632
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0x7cf54]
mov ecx, dword [rdx + rax*4 + 0x7cdc0]
add rcx, rdx
jmp rcx
movsxd r8, dword [r13 + 4]
mov rcx, r13
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rdi
imul r8, r8, 0x38
imul rcx
mov word [r8 + r11 + 8], 4
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r11], rax
jmp 0x14007c996
movsxd rdx, dword [r13 + 4]
imul rdx, rdx, 0x38
mov rax, qword [rdx + r11]
lea rcx, [rax + rax*2]
mov word [rdx + r11 + 8], 0x80
lea r13, [rdi + rcx*8]
mov ecx, dword [rsp + 0x380]
jmp case.default.0x140078632
mov eax, dword [r13 + 0xc]
movsxd rcx, dword [r13 + 4]
sub eax, 1
cdqe
imul rcx, rcx, 0x38
mov qword [rcx + r11], rax
mov word [rcx + r11 + 8], 4
cmp dword [r13 + 8], 0
jne 0x14007c996
mov ecx, dword [rsp + 0x380]
jmp case.default.0x140078632
movsxd rdx, dword [r13 + 4]
imul rdx, rdx, 0x38
mov rax, qword [rdx + r11]
lea rcx, [rax + rax*2]
mov eax, dword [rdi + rcx*8 + 8]
sub eax, 1
cdqe
jmp 0x14007867c
mov rbx, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
movsxd r8, dword [rbx + 4]
sub rbx, rdi
imul rbx
imul r8, r8, 0x38
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
movsxd rcx, dword [r8 + r11]
cdqe
mov word [r8 + r11 + 8], 4
lea rcx, [rcx + rcx*2]
mov qword [r8 + r11], rax
lea r13, [rdi + rcx*8]
mov ecx, dword [rsp + 0x380]
jmp 0x14007895b
movsxd rax, dword [r13 + 0xc]
imul rax, rax, 0x38
test byte [rax + r11 + 8], 1
je case.0x140078632.101
mov rcx, r13
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rdi
imul rcx
mov rbx, rdx
mov rdx, qword [rsp + 0x40]
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
add rbx, rax
cmp dword [rdx + 4], 0
jne 0x14007c9e9
mov rcx, qword [rbp + 0xe8]
test rcx, rcx
je 0x14007c9e9
mov rax, qword [rcx + 8]
add dword [rbp + 0xf8], 0xffffffff
mov qword [rbp + 0xe8], rax
mov eax, dword [rbp + 0x90]
add dword [rsi + 0x64], eax
mov dword [rsi + 0x60], eax
call fcn.140072650
mov r13, qword [rsp + 0x40]
mov r10, qword [rsi + 0x30]
cmp dword [r13 + 8], 4
mov qword [rsp + 0x58], r10
jne 0x1400787d8
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rbp + 8]
mov eax, dword [rax + rcx*8 + 8]
sub eax, 1
mov rdi, qword [rbp + 8]
mov r11, qword [rbp + 0x10]
cdqe
lea rcx, [rax + rax*2]
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x48], r11
lea r13, [rdi + rcx*8]
mov ecx, dword [rsp + 0x380]
jmp 0x14007895b
mov rdx, r13
mov rcx, rbp
call fcn.140021410
mov r11, rax
movsxd rax, dword [r13 + 4]
mov qword [r11], rax
mov ecx, dword [rsp + 0x380]
jmp 0x140078951
mov rdx, r13
mov rcx, rbp
call fcn.140021410
mov r11, rax
mov rax, qword [r13 + 0x10]
mov rcx, qword [rax]
mov qword [r11], rcx
mov ecx, dword [rsp + 0x380]
jmp 0x140078951
mov rbx, qword [rsp + 0x40]
mov rcx, rbp
mov rdx, rbx
call fcn.140021410
mov rcx, qword [rbx + 0x10]
mov byte [rbx], 0x19
call fcn.1400083e0
mov dword [rbx + 4], eax
cmp eax, dword [rsi + 0x68]
jg 0x14007ccb3
jmp 0x140078874
mov rbx, qword [rsp + 0x40]
mov rdx, rbx
mov rcx, rbp
call fcn.140021410
mov rcx, qword [rsp + 0x40]
mov r11, rax
mov word [rax + 8], 0xa02
mov rax, qword [rcx + 0x10]
mov qword [r11 + 0x10], rax
mov eax, dword [rcx + 4]
mov byte [r11 + 0xa], r12b
mov dword [r11 + 0xc], eax
cmp byte [rcx + 3], 0
je 0x14007c3d5
movsxd rax, dword [rcx + 0xc]
mov rdx, qword [rsp + 0x48]
mov r13, qword [rsp + 0x40]
imul rax, rax, 0x38
cmp qword [rax + rdx], 0
mov ecx, dword [rsp + 0x380]
mov r8, qword [rsp + 0x50]
mov r10, qword [rsp + 0x58]
je 0x1400788db
mov word [r11 + 8], 0xa10
mov r11, rdx
jmp case.default.0x140078632
mov rdx, r13
mov rcx, rbp
call fcn.140021410
mov rcx, qword [rsp + 0x40]
mov esi, r15d
mov edi, dword [rcx + 0xc]
mov rbx, rax
mov eax, 0x101
sub edi, dword [rcx + 8]
cmp dword [rcx + 4], 0
cmovne si, ax
test edi, edi
mov word [rbx + 8], si
jle 0x14007893b
add rbx, 0x38
test word [rbx + 8], 0x2460
je 0x14007892a
mov rcx, rbx
call fcn.1400198b0
jmp 0x140078930
mov word [rbx + 8], 1
sub edi, 1
mov word [rbx + 8], si
test edi, edi
jg 0x140078914
mov ecx, dword [rsp + 0x380]
mov r13, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov r11, qword [rsp + 0x48]
mov r10, qword [rsp + 0x58]
mov r8, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x370]
add r13, 0x18
test ecx, ecx
mov qword [rsp + 0x40], r13
jne 0x14007cd2a
mov r9d, dword [rsp + 0xa0]
mov r12b, byte [rsp + 0x378]
mov edx, dword [rsp + 0xa4]
lea r15d, [rcx + 1]
jmp 0x1400785f0
movsxd rax, dword [r13 + 4]
mov ecx, dword [rsp + 0x380]
imul rax, rax, 0x38
add rax, r11
and word [rax + 8], 0xff7f
or word [rax + 8], 1
jmp case.default.0x140078632
mov rdx, r13
mov rcx, rbp
call fcn.140021410
mov r8d, dword [r13 + 4]
mov rdx, qword [r13 + 0x10]
mov rcx, rax
xor r9d, r9d
mov rbx, rax
mov qword [rsp + 0x20], r14
call fcn.140028f80
mov ecx, dword [rsp + 0x380]
mov byte [rbx + 0xa], r12b
jmp 0x140078951
mov eax, dword [r13 + 4]
sub eax, 1
movsxd rbx, eax
imul rbx, rbx, 0x38
add rbx, qword [rbp + 0x68]
movzx eax, word [rbx + 8]
test al, 0x12
je 0x140078a29
bt ax, 0xe
mov edx, dword [rbx + 0xc]
jae 0x140078a14
add edx, dword [rbx]
mov rax, qword [rbx + 0x28]
mov ecx, r14d
cmp edx, dword [rax + 0x68]
setg cl
test ecx, ecx
jne 0x14007ccb3
mov rdx, r13
mov rcx, rbp
call fcn.140021410
mov r8d, 0x800
mov rdx, rbx
mov rcx, rax
call fcn.1400215f0
mov ecx, dword [rsp + 0x380]
jmp 0x140078951
mov rax, qword [rsp + 0x40]
movsxd rdi, dword [rax + 4]
movsxd rbx, dword [rax + 8]
mov esi, dword [rax + 0xc]
imul rdi, rdi, 0x38
imul rbx, rbx, 0x38
add rdi, r11
add rbx, r11
nop
mov rdx, rdi
mov rcx, rbx
call fcn.140023f50
bt word [rbx + 8], 0xc
jae 0x140078a93
mov rcx, rbx
call fcn.1400259c0
test eax, eax
jne 0x14007a0f1
add rdi, 0x38
add rbx, 0x38
sub esi, 1
jne 0x140078a70
jmp 0x14007893b
mov rax, qword [rsp + 0x40]
movsxd rdi, dword [rax + 4]
movsxd rbx, dword [rax + 8]
mov esi, dword [rax + 0xc]
imul rdi, rdi, 0x38
imul rbx, rbx, 0x38
add rdi, r11
add rbx, r11
test word [rbx + 8], 0x2460
je 0x140078ade
mov r8d, 0x1000
mov rdx, rdi
mov rcx, rbx
call fcn.14001e060
jmp 0x140078b08
mov rax, qword [rdi]
mov qword [rbx], rax
mov rax, qword [rdi + 8]
mov qword [rbx + 8], rax
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x10], rax
bt word [rdi + 8], 0xb
jb 0x140078b08
and word [rbx + 8], 0xf3ff
or word [rbx + 8], 0x1000
bt word [rbx + 8], 0xc
jae 0x140078b20
mov rcx, rbx
call fcn.1400259c0
test eax, eax
jne 0x14007a0f1
mov eax, esi
sub esi, 1
test eax, eax
je 0x14007893b
add rbx, 0x38
add rdi, 0x38
jmp 0x140078ac3
movsxd rdx, dword [r13 + 4]
movsxd rcx, dword [r13 + 8]
mov r8d, 0x1000
imul rdx, rdx, 0x38
imul rcx, rcx, 0x38
add rdx, r11
add rcx, r11
call fcn.1400215f0
mov ecx, dword [rsp + 0x380]
jmp 0x140078951
cmp qword [rbp + 0xc0], 0
mov rcx, rbp
jle 0x140078b9d
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [rbp + 0x84], 0x313
mov byte [rbp + 0x8a], 2
call fcn.140034680
mov ecx, r15d
mov dword [rsp + 0x380], ecx
jmp 0x140078951
mov edx, r15d
call fcn.14005c330
test eax, eax
mov ecx, eax
mov dword [rsp + 0x380], eax
jne 0x140078951
mov eax, dword [rbp + 0x7c]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
add eax, 2
or eax, 1
mov dword [rbp + 0x7c], eax
movsxd rdi, dword [rcx + 4]
imul rdi, rdi, 0x38
add rdi, rdx
mov qword [rbp + 0x28], rdi
cmp dword [rcx + 8], 0
jle 0x140078c31
lea rbx, [rdi + 8]
bt word [rbx], 0xc
jae 0x140078c08
movsxd rcx, r14d
imul rcx, rcx, 0x38
add rcx, rdi
call fcn.1400259c0
test eax, eax
jne 0x14007a0f6
mov rcx, qword [rsp + 0x40]
movzx eax, word [rbx]
and ax, 0x202
cmp ax, 2
jne 0x140078c23
lea rcx, [rbx - 8]
call fcn.1400258f0
mov rcx, qword [rsp + 0x40]
add r14d, 1
add rbx, 0x38
cmp r14d, dword [rcx + 8]
jl 0x140078be5
cmp byte [rsi + 0x51], 0
jne 0x14007a0f6
sub rcx, qword [rsp + 0x68]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 0x64
add edx, 1
mov dword [rbp + 0x80], edx
jmp 0x14007cd96
mov rax, qword [rsp + 0x40]
movsxd rsi, dword [rax + 4]
movsxd rdi, dword [rax + 8]
movsxd rbx, dword [rax + 0xc]
imul rsi, rsi, 0x38
imul rdi, rdi, 0x38
imul rbx, rbx, 0x38
add rsi, r11
add rdi, r11
add rbx, r11
movzx ecx, word [rsi + 8]
movzx eax, cl
or al, byte [rdi + 8]
test al, 1
je 0x140078cd8
test word [rbx + 8], 0x2460
je 0x140078cb7
mov rcx, rbx
call fcn.1400198b0
jmp 0x14007893b
mov ecx, dword [rsp + 0x380]
mov r13, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov word [rbx + 8], 1
jmp case.default.0x140078632
bt cx, 0xe
jae 0x140078cef
mov rcx, rsi
call fcn.140025950
test eax, eax
jne 0x14007a0f1
bt word [rdi + 8], 0xe
jae 0x140078d07
mov rcx, rdi
call fcn.140025950
test eax, eax
jne 0x14007a0f1
test byte [rsi + 8], 0x12
jne 0x140078d24
xor r8d, r8d
movzx edx, r12b
mov rcx, rsi
call fcn.140029230
test eax, eax
jne 0x14007a0f1
test byte [rdi + 8], 0x12
jne 0x140078d41
xor r8d, r8d
movzx edx, r12b
mov rcx, rdi
call fcn.140029230
test eax, eax
jne 0x14007a0f1
mov eax, dword [rsi + 0xc]
mov r8, qword [rsp + 0x60]
add eax, dword [rdi + 0xc]
movsxd rbp, eax
movsxd rax, dword [r8 + 0x68]
cmp rbp, rax
jg 0x14007cca3
mov r8d, r14d
cmp rbx, rdi
lea edx, [rbp + 2]
sete r8b
mov rcx, rbx
call fcn.140024170
test eax, eax
jne 0x14007a0e9
and word [rbx + 8], 0xbe02
or word [rbx + 8], 2
cmp rbx, rdi
je 0x140078d9a
movsxd r8, dword [rdi + 0xc]
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rbx + 0x10]
call sub.msvcrt.dll_memcpy
movsxd rcx, dword [rdi + 0xc]
movsxd r8, dword [rsi + 0xc]
mov rdx, qword [rsi + 0x10]
add rcx, qword [rbx + 0x10]
call sub.msvcrt.dll_memcpy
mov r11, qword [rbx + 0x10]
mov byte [r11 + rbp], 0
mov rax, qword [rbx + 0x10]
mov byte [rax + rbp + 1], 0
or word [rbx + 8], 0x200
mov dword [rbx + 0xc], ebp
mov byte [rbx + 0xa], r12b
jmp 0x14007893b
movsxd rbp, dword [r13 + 4]
imul rbp, rbp, 0x38
add rbp, r11
movzx eax, word [rbp + 8]
movzx ebx, ax
and bx, 0xc
jne 0x140078e04
test al, 0x12
je 0x140078e01
mov rcx, rbp
call fcn.14000fb30
mov r11, qword [rsp + 0x48]
mov bx, ax
jmp 0x140078e04
xor bx, bx
movsxd rsi, dword [r13 + 8]
imul rsi, rsi, 0x38
add rsi, r11
movzx eax, word [rsi + 8]
movzx ecx, ax
and cx, 0xc
jne 0x140078e35
test al, 0x12
je 0x140078e32
mov rcx, rsi
call fcn.14000fb30
mov r11, qword [rsp + 0x48]
mov cx, ax
jmp 0x140078e35
xor cx, cx
movsxd rdi, dword [r13 + 0xc]
movzx eax, byte [rsi + 8]
or al, byte [rbp + 8]
imul rdi, rdi, 0x38
add rdi, r11
test al, 1
jne 0x140078ffb
and cl, bl
test cl, 4
je 0x140078f35
movzx ecx, byte [r13]
mov rdx, qword [rsi]
mov r8, qword [rbp]
sub ecx, 0x59
mov qword [rsp + 0x98], rdx
je 0x140078f19
sub ecx, 1
je 0x140078ef8
sub ecx, 1
je 0x140078ed2
cmp ecx, 1
je 0x140078ea4
test r8, r8
je 0x140078ffb
cmp r8, 0xffffffffffffffff
mov rax, rdx
cmove r8, r15
cqo
idiv r8
jmp 0x140078f9e
test r8, r8
je 0x140078ffb
cmp r8, 0xffffffffffffffff
jne 0x140078ec2
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x140078f35
mov rax, rdx
cqo
idiv r8
mov rdx, rax
jmp 0x140078f9e
lea rcx, [rsp + 0x98]
mov rdx, r8
call fcn.14000d4e0
test eax, eax
jne 0x140078f35
mov rdx, qword [rsp + 0x98]
mov r11, qword [rsp + 0x48]
jmp 0x140078f9e
lea rcx, [rsp + 0x98]
mov rdx, r8
call fcn.14000d5d0
test eax, eax
jne 0x140078f35
mov rdx, qword [rsp + 0x98]
jmp 0x140078f9e
test r8, r8
js 0x140078f80
test rdx, rdx
jle 0x140078f9b
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, r8
jge 0x140078f9b
mov rcx, rbp
call fcn.14000fe00
mov rcx, rsi
mov rbx, rax
call fcn.14000fe00
movzx edx, byte [r13]
sub edx, 0x59
je 0x140078fd9
sub edx, 1
je 0x140078fd4
sub edx, 1
je 0x140078fce
cmp edx, 1
je 0x140078fc2
test rbx, rbx
je 0x140078ff6
cmp rbx, 0xffffffffffffffff
cqo
cmove rbx, r15
idiv rbx
mov rax, rdx
jmp 0x140078fdc
test rdx, rdx
jns 0x140078f9b
movabs rax, 0x8000000000000001
lea rcx, [r8 + 1]
sub rax, rdx
cmp rax, rcx
jg 0x140078f35
add rdx, r8
and word [rdi + 8], 0xbe04
or word [rdi + 8], 4
mov ecx, dword [rsp + 0x380]
mov rsi, qword [rsp + 0x60]
mov qword [rdi], rdx
mov rdi, qword [rsp + 0x68]
jmp 0x140078956
test rbx, rbx
je 0x140078ff6
cqo
idiv rbx
jmp 0x140078fdc
imul rax, rbx
jmp 0x140078fdc
sub rax, rbx
jmp 0x140078fdc
add rax, rbx
and word [rdi + 8], 0xbe04
mov ecx, dword [rsp + 0x380]
or word [rdi + 8], 4
mov qword [rdi], rax
jmp 0x140078947
mov r11, qword [rsp + 0x48]
test word [rdi + 8], 0x2460
je 0x140079017
mov rcx, rdi
call fcn.1400198b0
mov ecx, dword [rsp + 0x380]
jmp 0x140078947
mov ecx, dword [rsp + 0x380]
mov rsi, qword [rsp + 0x60]
mov word [rdi + 8], 1
mov rdi, qword [rsp + 0x68]
jmp 0x140078956
movsxd rax, dword [r13 + 4]
test eax, eax
je case.0x140078632.101
imul rax, rax, 0x38
add rax, r11
test word [rax + 8], 0x2460
je 0x140079064
xor edx, edx
mov rcx, rax
call fcn.140021630
mov ecx, dword [rsp + 0x380]
jmp 0x140078951
mov ecx, dword [rsp + 0x380]
mov qword [rax], r14
mov word [rax + 8], 4
jmp case.default.0x140078632
movzx ebx, byte [r13 + 3]
mov rcx, rsi
lea eax, [rbx - 1]
movsxd rdx, eax
lea rdx, [rdx*8 + 0x38]
call fcn.140015b90
test rax, rax
mov r11, rax
je 0x14007a0f6
mov r10, qword [rsp + 0x58]
mov qword [rax], r14
mov rcx, qword [r13 + 0x10]
mov qword [rax + 8], rcx
mov qword [r11 + 0x18], rbp
mov byte [r11 + 0x2a], bl
mov rcx, r13
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rdi
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [rsp + 0x40]
mov dword [r11 + 0x20], edx
mov qword [rax + 0x10], r11
mov r11, qword [rsp + 0x48]
mov byte [rax + 1], 0xec
mov byte [rax], 0x24
jmp 0x1400790f9
mov rax, qword [rsp + 0x40]
movsxd rdi, dword [rax + 0xc]
mov rbx, qword [rax + 0x10]
imul rdi, rdi, 0x38
add rdi, r11
cmp qword [rbx], rdi
mov qword [rsp + 0x88], rdi
je 0x140079157
movzx edx, byte [rbx + 0x2a]
mov qword [rbx], rdi
sub edx, 1
movsxd r8, edx
js 0x140079157
mov rdi, qword [rsp + 0x40]
lea r9, [rbx + r8*8 + 0x30]
nop
mov eax, dword [rdi + 8]
sub r9, 8
add eax, edx
sub edx, 1
cdqe
imul rax, rax, 0x38
add rax, r11
sub r8, 1
mov qword [r9 + 8], rax
jns 0x140079130
mov rdi, qword [rsp + 0x88]
mov rcx, qword [rbx]
lea r8, [rbx + 0x30]
movzx eax, word [rcx + 8]
and ax, 0xbe01
or ax, 1
mov word [rcx + 8], ax
mov byte [rbx + 0x29], 0
mov qword [rsi + 0x30], r10
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
mov rcx, rbx
call qword [rax + 0x18]
cmp byte [rbx + 0x29], 0
mov r10, qword [rsi + 0x30]
mov qword [rsp + 0x58], r10
je 0x1400791d8
cmp dword [rbx + 0x24], 0
je 0x1400791bd
mov rcx, qword [rbx]
call fcn.14002f310
lea rdx, [0x1400af02c]
mov rcx, rbp
mov r8, rax
call fcn.140034680
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x380], eax
mov r13, qword [rsp + 0x40]
mov edx, dword [rbx + 0x20]
mov rcx, rbp
mov r8d, dword [r13 + 4]
call fcn.140014a60
mov r10, qword [rsp + 0x58]
jmp 0x1400791dd
mov r13, qword [rsp + 0x40]
test byte [rdi + 8], 0x12
je 0x140079210
mov rax, qword [rbx]
movzx ecx, word [rax + 8]
test cl, 0x12
je 0x140079210
bt cx, 0xe
mov edx, dword [rax + 0xc]
jae 0x1400791fb
add edx, dword [rax]
mov rax, qword [rax + 0x28]
mov ecx, r14d
cmp edx, dword [rax + 0x68]
setg cl
test ecx, ecx
jne 0x14007ccb3
mov ecx, dword [rsp + 0x380]
mov r11, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x68]
jmp 0x14007895b
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 8]
movsxd rdi, dword [rax + 4]
movsxd rsi, dword [rax + 0xc]
imul rcx, rcx, 0x38
imul rdi, rdi, 0x38
imul rsi, rsi, 0x38
add rcx, r11
add rdi, r11
add rsi, r11
movzx eax, byte [rcx + 8]
or al, byte [rdi + 8]
test al, 1
je 0x14007928d
test word [rsi + 8], 0x2460
je 0x14007926c
mov rcx, rsi
call fcn.1400198b0
jmp 0x14007893b
mov ecx, dword [rsp + 0x380]
mov r13, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x68]
mov word [rsi + 8], 1
mov rsi, qword [rsp + 0x60]
jmp case.default.0x140078632
call fcn.14000fe60
mov rcx, rdi
mov rbx, rax
call fcn.14000fe60
mov r13, qword [rsp + 0x40]
movzx edx, byte [r13]
mov rcx, rax
cmp dl, 0x55
jne 0x1400792b4
and rbx, rax
jmp 0x140079326
cmp dl, 0x56
jne 0x1400792be
or rbx, rax
jmp 0x140079326
test rax, rax
je 0x140079326
jns 0x1400792d7
mov eax, 0xaf
sub al, dl
cmp rcx, 0xffffffffffffffc0
mov dl, al
jle 0x1400792dd
neg rcx
cmp rcx, 0x40
jl 0x1400792f7
test rbx, rbx
jns 0x1400792ef
cmp dl, 0x57
je 0x1400792ef
or eax, 0xffffffff
movsxd rbx, eax
jmp 0x140079326
mov eax, r14d
movsxd rbx, eax
jmp 0x140079326
cmp dl, 0x57
jne 0x140079304
shl rbx, cl
mov r8, rbx
jmp 0x140079323
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x140079323
or rdx, 0xffffffffffffffff
mov eax, 0x40
sub al, cl
movzx ecx, al
shl rdx, cl
or r8, rdx
mov rbx, r8
and word [rsi + 8], 0xbe04
or word [rsi + 8], 4
mov qword [rsi], rbx
mov ecx, dword [rsp + 0x380]
jmp 0x140078947
movsxd rbx, dword [r13 + 4]
imul rbx, rbx, 0x38
add rbx, r11
mov rcx, rbx
call fcn.1400126c0
movsxd r11, dword [r13 + 8]
mov ecx, dword [rsp + 0x380]
add qword [rbx], r11
jmp 0x140078951
movsxd rbx, dword [r13 + 4]
imul rbx, rbx, 0x38
add rbx, r11
movzx ecx, word [rbx + 8]
test cl, 4
jne 0x1400793e8
test cl, 8
jne 0x1400793a0
test cl, 2
je 0x1400793c3
mov edx, r15d
mov rcx, rbx
call fcn.14000fb90
mov r11, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov r10, qword [rsp + 0x58]
jmp 0x1400793c3
mov rax, qword [rbx]
movabs rdx, 0x7fffffffffffffff
add rax, rdx
cmp rax, 0xfffffffffffffffd
ja 0x1400793c3
and cx, 0xbe04
or cx, 4
mov word [rbx + 8], cx
mov cx, word [rbx + 8]
test cl, 4
jne 0x1400793e8
cmp dword [r13 + 8], 0
jne 0x14007c996
mov ecx, 0x14
mov dword [rsp + 0x380], ecx
jmp 0x14007b7a2
and cx, 0xbe04
or cx, 4
mov word [rbx + 8], cx
mov ecx, dword [rsp + 0x380]
jmp case.default.0x140078632
movsxd rbx, dword [r13 + 0xc]
movsxd rsi, dword [r13 + 4]
imul rbx, rbx, 0x38
imul rsi, rsi, 0x38
add rbx, r11
add rsi, r11
movzx ebp, word [rbx + 8]
movzx edi, word [rsi + 8]
movzx eax, bpl
or al, dil
test al, 1
movzx eax, byte [r13 + 3]
je 0x14007949a
test al, al
jns 0x140079456
test dil, 1
je 0x14007944e
test bpl, 1
je 0x14007944e
bt bp, 8
jb 0x14007944e
mov r8d, r14d
jmp 0x14007957e
mov r8d, r15d
jmp 0x14007957e
test al, 0x20
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
je 0x140079486
movsxd rax, dword [r13 + 8]
mov ecx, dword [rsp + 0x380]
imul rax, rax, 0x38
add rax, r11
and word [rax + 8], 0xbe01
or word [rax + 8], 1
jmp case.default.0x140078632
test al, 0x10
jne 0x14007c996
mov ecx, dword [rsp + 0x380]
jmp case.default.0x140078632
and al, 0x47
cmp al, 0x43
jl 0x1400794ca
movzx eax, dil
and al, 0xe
cmp al, 2
jne 0x1400794b4
xor edx, edx
mov rcx, rsi
call fcn.14000fb90
movzx eax, byte [rbx + 8]
and al, 0xe
cmp al, 2
jne 0x140079528
xor edx, edx
mov rcx, rbx
call fcn.14000fb90
jmp 0x140079528
cmp al, 0x42
jne 0x140079528
test dil, 2
jne 0x1400794fb
test dil, 0xc
je 0x1400794fb
mov r8b, 1
movzx edx, r12b
mov rcx, rsi
call fcn.140029230
movzx r11d, word [rsi + 8]
xor di, r11w
and di, 0x1ff
xor di, r11w
movzx eax, word [rbx + 8]
test al, 2
jne 0x140079528
test al, 0xc
je 0x140079528
mov r8b, 1
movzx edx, r12b
mov rcx, rbx
call fcn.140029230
movzx r11d, word [rbx + 8]
xor bp, r11w
and bp, 0x1ff
xor bp, r11w
bt word [rsi + 8], 0xe
jae 0x14007953d
mov rcx, rsi
call fcn.140025950
and di, 0xbfff
bt word [rbx + 8], 0xe
jae 0x140079552
mov rcx, rbx
call fcn.140025950
and bp, 0xbfff
mov r8, qword [rsp + 0x60]
cmp byte [r8 + 0x51], 0
jne 0x14007cd12
mov r8, qword [r13 + 0x10]
mov rdx, rsi
mov rcx, rbx
call fcn.14002fd90
mov r11, qword [rsp + 0x48]
mov r10, qword [rsp + 0x58]
mov r8d, eax
movzx edx, byte [r13]
mov eax, r14d
sub edx, 0x4e
je 0x1400795c7
sub edx, 1
je 0x1400795bf
sub edx, 1
je 0x1400795b7
sub edx, 1
je 0x1400795af
cmp edx, 1
je 0x1400795a7
test r8d, r8d
setns al
jmp 0x1400795cd
test r8d, r8d
sets al
jmp 0x1400795cd
test r8d, r8d
setle al
jmp 0x1400795cd
test r8d, r8d
setg al
jmp 0x1400795cd
test r8d, r8d
sete al
jmp 0x1400795cd
test r8d, r8d
setne al
mov word [rsi + 8], di
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov word [rbx + 8], bp
test byte [r13 + 3], 0x20
je 0x14007960d
movsxd rcx, dword [r13 + 8]
cdqe
imul rcx, rcx, 0x38
add rcx, r11
and word [rcx + 8], 0xbe04
or word [rcx + 8], 4
mov qword [rcx], rax
mov ecx, dword [rsp + 0x380]
jmp 0x14007895b
test eax, eax
jne 0x14007c996
mov ecx, dword [rsp + 0x380]
jmp 0x14007895b
mov r8, qword [r13 + 0x10]
mov ecx, dword [rsp + 0x380]
mov qword [rsp + 0x50], r8
jmp case.default.0x140078632
mov rcx, qword [rsp + 0x40]
test byte [rcx + 3], 1
movsxd rax, dword [rcx + 0xc]
mov r13, qword [rcx + 0x10]
mov r15d, dword [rcx + 8]
cmove r8, r14
mov r14d, dword [rcx + 4]
xor edx, edx
test eax, eax
mov qword [rsp + 0x50], r8
mov edi, edx
mov rbx, rdx
jle 0x1400796ec
mov r12, rax
lea rsi, [r13 + 0x20]
nop
test r8, r8
je 0x14007967b
mov ecx, dword [r8 + rbx*4]
jmp 0x14007967d
mov ecx, edi
mov rax, qword [r13 + 0x18]
mov r8, qword [rsi]
movzx ebp, byte [rax + rbx]
lea eax, [rcx + r15]
movsxd rdx, eax
lea eax, [rcx + r14]
movsxd rcx, eax
imul rdx, rdx, 0x38
add rdx, r11
imul rcx, rcx, 0x38
add rcx, r11
call fcn.14002fd90
mov r11, qword [rsp + 0x48]
test eax, eax
mov r9d, eax
mov dword [rsp + 0xa0], eax
jne 0x1400796d3
mov r8, qword [rsp + 0x50]
add rbx, 1
add edi, 1
add rsi, 8
cmp rbx, r12
jl 0x140079670
jmp 0x1400796e2
test ebp, ebp
je 0x1400796e2
neg r9d
mov dword [rsp + 0xa0], r9d
mov rsi, qword [rsp + 0x60]
mov r10, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x380]
mov r13, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x68]
xor r14d, r14d
mov r8, r14
mov qword [rsp + 0x50], r14
jmp case.default.0x140078632
test r9d, r9d
jns 0x14007972f
mov eax, dword [r13 + 4]
sub eax, 1
cdqe
lea rcx, [rax + rax*2]
lea r13, [rdi + rcx*8]
mov ecx, dword [rsp + 0x380]
jmp case.default.0x140078632
jne 0x14007974e
mov eax, dword [r13 + 8]
sub eax, 1
cdqe
lea rcx, [rax + rax*2]
lea r13, [rdi + rcx*8]
mov ecx, dword [rsp + 0x380]
jmp case.default.0x140078632
mov eax, dword [r13 + 0xc]
sub eax, 1
cdqe
lea rcx, [rax + rax*2]
lea r13, [rdi + rcx*8]
mov ecx, dword [rsp + 0x380]
jmp case.default.0x140078632
movsxd rcx, dword [r13 + 4]
imul rcx, rcx, 0x38
add rcx, r11
test byte [rcx + 8], 1
je 0x140079783
mov ebx, 2
jmp 0x140079796
call fcn.14000fe60
mov r11, qword [rsp + 0x48]
mov ebx, r14d
test rax, rax
setne bl
movsxd rcx, dword [r13 + 8]
imul rcx, rcx, 0x38
add rcx, r11
test byte [rcx + 8], 1
je 0x1400797ae
mov edx, 2
jmp 0x1400797c1
call fcn.14000fe60
mov r11, qword [rsp + 0x48]
mov edx, r14d
test rax, rax
setne dl
movsxd rax, ebx
lea rcx, [rax + rax*2]
movsxd rax, edx
add rcx, rax
cmp byte [r13], 0x48
lea rax, [0x140000000]
jne 0x1400797e6
movzx eax, byte [rcx + rax + 0xabed0]
jmp 0x1400797ee
movzx eax, byte [rcx + rax + 0xabee0]
movsxd rcx, dword [r13 + 0xc]
mov r8, qword [rsp + 0x50]
mov r10, qword [rsp + 0x58]
imul rcx, rcx, 0x38
add rcx, r11
cmp eax, 2
jne 0x14007981f
and word [rcx + 8], 0xbe01
or word [rcx + 8], 1
mov ecx, dword [rsp + 0x380]
jmp case.default.0x140078632
and word [rcx + 8], 0xbe04
or word [rcx + 8], 4
cdqe
mov qword [rcx], rax
mov ecx, dword [rsp + 0x380]
jmp case.default.0x140078632
movsxd rbx, dword [r13 + 8]
movsxd rdi, dword [r13 + 4]
imul rbx, rbx, 0x38
imul rdi, rdi, 0x38
add rbx, r11
add rdi, r11
test word [rbx + 8], 0x2460
je 0x140079872
mov rcx, rbx
call fcn.1400198b0
mov r11, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov r10, qword [rsp + 0x58]
jmp 0x140079878
mov word [rbx + 8], 1
test byte [rdi + 8], 1
jne 0x14007c9d8
mov rcx, rdi
mov word [rbx + 8], 4
call fcn.14000fe60
mov rcx, r14
test rax, rax
sete cl
mov qword [rbx], rcx
mov ecx, dword [rsp + 0x380]
jmp 0x14007894c
movsxd rbx, dword [r13 + 8]
movsxd rdi, dword [r13 + 4]
imul rbx, rbx, 0x38
imul rdi, rdi, 0x38
add rbx, r11
add rdi, r11
test word [rbx + 8], 0x2460
je 0x1400798df
mov rcx, rbx
call fcn.1400198b0
mov r11, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov r10, qword [rsp + 0x58]
jmp 0x1400798e5
mov word [rbx + 8], 1
test byte [rdi + 8], 1
jne 0x14007c9d8
mov rcx, rdi
mov word [rbx + 8], 4
call fcn.14000fe60
mov ecx, dword [rsp + 0x380]
not rax
mov qword [rbx], rax
jmp 0x14007894c
movsxd rax, dword [r13 + 4]
mov rcx, qword [rbp + 0x110]
cmp byte [rax + rcx], 0
jne 0x14007c996
mov byte [rax + rcx], 1
mov ecx, dword [rsp + 0x380]
jmp case.default.0x140078632
movsxd rcx, dword [r13 + 4]
imul rcx, rcx, 0x38
add rcx, r11
test byte [rcx + 8], 1
je 0x14007994b
mov ecx, dword [r13 + 0xc]
jmp 0x140079979
call fcn.14000fe60
mov r11, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov r10, qword [rsp + 0x58]
test rax, rax
mov ecx, r14d
setne cl
cmp byte [r13], 0x2e
jne 0x140079979
test ecx, ecx
mov eax, r14d
sete al
mov ecx, eax
test ecx, ecx
jne 0x14007c996
mov ecx, dword [rsp + 0x380]
jmp case.default.0x140078632
movsxd rax, dword [r13 + 4]
imul rax, rax, 0x38
test byte [rax + r11 + 8], 1
jne 0x14007c996
mov ecx, dword [rsp + 0x380]
jmp case.default.0x140078632
movsxd rax, dword [r13 + 4]
imul rax, rax, 0x38
test byte [rax + r11 + 8], 1
je 0x14007c996
mov ecx, dword [rsp + 0x380]
jmp case.default.0x140078632
mov rax, qword [rsp + 0x40]
mov ebx, dword [rax + 8]
movsxd r15, dword [rax + 0xc]
movsxd rcx, dword [rax + 4]
imul r15, r15, 0x38
mov rax, qword [rbp + 0x60]
add r15, r11
mov dword [rsp + 0x70], ebx
mov r12, qword [rax + rcx*8]
cmp byte [r12 + 0x26], 0
mov rdx, qword [r12 + 0x68]
mov rdi, qword [r12]
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x88], rdi
je 0x140079a18
mov rcx, r12
call fcn.14006e310
jmp 0x140079a2b
test rdi, rdi
je 0x140079a48
cmp byte [rdi + 0x5e], 1
je 0x140079a48
mov rcx, r12
call fcn.140070c50
test eax, eax
mov dword [rsp + 0x380], eax
mov ecx, eax
jne 0x14007b7a2
mov rdx, qword [rsp + 0x78]
mov r11, qword [rsp + 0x48]
jmp 0x140079a50
mov dword [rsp + 0x380], r14d
mov eax, dword [rbp + 0x7c]
cmp dword [r12 + 0x50], eax
je 0x140079c07
cmp byte [r12 + 0x25], 0
je 0x140079abe
test rdi, rdi
jne 0x140079a92
movsxd rax, dword [r12 + 0x1c]
imul rax, rax, 0x38
mov ebx, dword [rax + r11 + 0xc]
mov dword [r12 + 0x58], ebx
mov dword [r12 + 0x54], ebx
mov rax, qword [rax + r11 + 0x10]
mov qword [r12 + 0x60], rax
jmp 0x140079b5d
test word [r15 + 8], 0x2460
je 0x140079aad
mov rcx, r15
call fcn.1400198b0
mov r13, qword [rsp + 0x40]
jmp 0x140079f3f
mov r13, qword [rsp + 0x40]
mov word [r15 + 8], 1
jmp 0x140079f3f
test byte [r12 + 0x28], 4
mov rcx, rdi
jne 0x140079b0d
call fcn.14000baa0
mov r11, qword [rdi + 0x20]
mov qword [rsp + 0xe0], r11
movsx rax, byte [rdi + 0x60]
mov rcx, qword [rdi + rax*8 + 0xa0]
movzx eax, word [rdi + 0x34]
mov ebx, dword [rcx + 0x58]
sub ebx, dword [rdi + 0x28]
cmp eax, ebx
cmovb ebx, eax
mov rax, qword [rdi + 0x28]
mov qword [r12 + 0x60], rax
mov eax, dword [rsp + 0xe0]
mov dword [r12 + 0x54], eax
jmp 0x140079b3f
call fcn.14000baa0
mov eax, dword [rdi + 0x30]
mov dword [r12 + 0x54], eax
movsx rax, byte [rdi + 0x60]
mov rcx, qword [rdi + rax*8 + 0xa0]
movzx eax, word [rdi + 0x34]
mov ebx, dword [rcx + 0x58]
sub ebx, dword [rdi + 0x28]
cmp eax, ebx
cmovb ebx, eax
mov rax, qword [rdi + 0x28]
mov qword [r12 + 0x60], rax
mov eax, dword [r12 + 0x54]
cmp eax, ebx
ja 0x140079b4f
mov dword [r12 + 0x58], eax
jmp 0x140079b54
mov dword [r12 + 0x58], ebx
cmp eax, dword [rsi + 0x68]
ja 0x14007ccb3
mov eax, dword [rbp + 0x7c]
mov rcx, qword [r12 + 0x60]
mov dword [r12 + 0x50], eax
movzx eax, byte [rcx]
cmp al, 0x80
jae 0x140079b82
movzx ecx, al
mov eax, 1
mov dword [rsp + 0xac], ecx
jmp 0x140079b99
lea rdx, [rsp + 0xac]
call fcn.14000d650
mov ecx, dword [rsp + 0xac]
movzx eax, al
cmp ecx, 0x18003
mov rdx, qword [rsp + 0x78]
movzx eax, al
mov dword [r12 + 0x5c], eax
mov word [r12 + 0x22], 0
mov dword [rdx], ecx
ja 0x140079bd3
cmp ecx, dword [r12 + 0x54]
ja 0x140079bd3
cmp ebx, ecx
mov ebx, dword [rsp + 0x70]
jae 0x140079c15
mov qword [r12 + 0x60], r14
mov dword [r12 + 0x58], r14d
jmp 0x140079c15
lea r9, [0x1400b0b4c]
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov r8d, 0x12365
mov ecx, 0xb
call fcn.140034d20
mov ecx, 0xb
mov dword [rsp + 0x380], ecx
mov r13, qword [rsp + 0x40]
jmp 0x14007894c
movzx eax, word [r12 + 0x22]
cmp eax, ebx
jg 0x140079e48
mov eax, dword [rdx]
cmp dword [r12 + 0x5c], eax
jae 0x140079df9
mov r14, qword [r12 + 0x60]
test r14, r14
jne 0x140079cb2
xor eax, eax
mov rcx, rdi
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], rax
mov r9d, dword [r12 + 0x28]
mov r8d, dword [rdx]
shr r9d, 2
lea rax, [rsp + 0x120]
xor edx, edx
not r9d
mov qword [rsp + 0x20], rax
and r9d, 1
call fcn.1400718f0
test eax, eax
mov ecx, eax
mov dword [rsp + 0x380], eax
jne 0x14007a3d3
mov r14, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x78]
movzx ebp, word [r12 + 0x22]
mov ebx, dword [r12 + 0x5c]
mov r13d, dword [rdx]
mov esi, dword [rdx + rbp*4]
add rbx, r14
mov rdi, rbp
add r13, r14
nop
movzx eax, byte [rbx]
cmp al, 0x80
jae 0x140079ce7
movzx eax, al
add rbx, 1
mov dword [rsp + 0x90], eax
jmp 0x140079d0a
lea rdx, [rsp + 0x90]
mov rcx, rbx
call fcn.14000d650
mov rdx, qword [rsp + 0x78]
movzx r11d, al
mov eax, dword [rsp + 0x90]
add rbx, r11
cmp eax, 0xc
mov dword [r12 + rdi*4 + 0x70], eax
jb 0x140079d1b
add eax, 0xfffffff4
shr eax, 1
jmp 0x140079d2a
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0xabe48]
add esi, eax
cmp esi, eax
mov dword [rsp + 0xac], esi
jb 0x140079d4d
add ebp, 1
cmp ebp, dword [rsp + 0x70]
movsxd rdi, ebp
mov dword [rdx + rdi*4], esi
jg 0x140079d51
cmp rbx, r13
jb 0x140079cd0
jmp 0x140079d51
lea rbx, [r13 + 1]
mov eax, ebx
mov word [r12 + 0x22], bp
sub eax, r14d
cmp qword [r12 + 0x60], 0
mov dword [r12 + 0x5c], eax
jne 0x140079d96
test word [rsp + 0x128], 0x2460
jne 0x140079d7f
cmp dword [rsp + 0x140], 0
je 0x140079d8c
lea rcx, [rsp + 0x120]
call fcn.14001e0c0
mov word [rsp + 0x128], 1
cmp rbx, r13
jb 0x140079da4
ja 0x140079dab
cmp esi, dword [r12 + 0x54]
jne 0x140079dab
cmp esi, dword [r12 + 0x54]
jbe 0x140079ddd
lea r9, [0x1400b0b4c]
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov r8d, 0x123b9
mov ecx, 0xb
call fcn.140034d20
mov ecx, 0xb
xor r14d, r14d
mov dword [rsp + 0x380], ecx
jmp 0x140078942
mov ebx, dword [rsp + 0x70]
mov rdi, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x370]
xor r14d, r14d
movzx eax, word [r12 + 0x22]
cmp eax, ebx
jg 0x140079e48
mov r13, qword [rsp + 0x40]
cmp byte [r13 + 1], 0xf8
jne 0x140079e26
mov rdx, qword [r13 + 0x10]
mov r8d, 0x800
mov rcx, r15
call fcn.1400215f0
jmp 0x140079f3f
test word [r15 + 8], 0x2460
je 0x140079e3c
mov rcx, r15
call fcn.1400198b0
jmp 0x140079f3f
mov word [r15 + 8], 1
jmp 0x140079f3f
test word [r15 + 8], 0x2460
je 0x140079e59
mov rcx, r15
call fcn.1400198b0
mov rdx, qword [rsp + 0x78]
movsxd rcx, ebx
mov eax, dword [rdx + rcx*4 + 4]
mov ebx, dword [r12 + rcx*4 + 0x70]
cmp dword [r12 + 0x58], eax
mov dword [rsp + 0x90], ebx
jb 0x140079e94
mov ecx, dword [rdx + rcx*4]
mov r8, r15
mov edx, ebx
add rcx, qword [r12 + 0x60]
call fcn.14000b790
mov r13, qword [rsp + 0x40]
jmp 0x140079f34
mov r13, qword [rsp + 0x40]
movzx eax, byte [r13 + 3]
test al, 0xc0
je 0x140079eb0
cmp ebx, 0xc
jb 0x140079eac
test bl, 1
je 0x140079ed3
test al, al
js 0x140079ed3
cmp ebx, 0xc
jb 0x140079ebe
lea r8d, [rbx - 0xc]
shr r8d, 1
jmp 0x140079ece
lea r8, [0x140000000]
movzx r8d, byte [rbx + r8 + 0xabe48]
test r8d, r8d
jne 0x140079eee
cmp ebx, 0xd
lea rcx, [rsp + 0xe0]
mov r8, r15
cmova rcx, r14
mov edx, ebx
call fcn.14000b790
jmp 0x140079f34
mov r9d, dword [r12 + 0x28]
mov edx, dword [rdx + rcx*4]
mov rcx, rdi
shr r9d, 2
mov qword [rsp + 0x20], r15
not r9d
and r9d, 1
call fcn.1400718f0
test eax, eax
mov ecx, eax
mov dword [rsp + 0x380], eax
jne 0x14007894c
mov rcx, qword [r15 + 0x10]
mov r8, r15
mov edx, ebx
call fcn.14000b790
and word [r15 + 8], 0xefff
mov al, byte [rsp + 0x378]
mov byte [r15 + 0xa], al
movzx ecx, word [r15 + 8]
bt cx, 0xc
jae 0x14007989c
mov rsi, qword [r15 + 0x10]
test rsi, rsi
je 0x140079334
movsxd rbx, dword [r15 + 0xc]
mov dil, cl
lea edx, [rbx + 2]
and di, 0x12
cmp dword [r15 + 0x20], edx
jge 0x140079f85
xor r8d, r8d
mov rcx, r15
call fcn.140024170
test eax, eax
jne 0x14007a0f1
jmp 0x140079f98
mov rax, qword [r15 + 0x18]
mov qword [r15 + 0x10], rax
mov al, cl
and ax, 0xd
mov word [r15 + 8], ax
mov rcx, qword [r15 + 0x10]
mov r8, rbx
mov rdx, rsi
call sub.msvcrt.dll_memcpy
mov r11, qword [r15 + 0x10]
mov ecx, dword [rsp + 0x380]
mov byte [rbx + r11], 0
mov rax, qword [r15 + 0x10]
or di, 0x200
mov byte [rbx + rax + 1], 0
mov word [r15 + 8], di
jmp 0x140078947
movsxd rbx, dword [r13 + 4]
mov rdi, qword [r13 + 0x10]
movzx eax, byte [rdi]
imul rbx, rbx, 0x38
add rbx, r11
test al, al
je 0x14007c9d8
mov sil, byte [rsp + 0x378]
movzx r8d, sil
movzx edx, al
mov rcx, rbx
add rdi, 1
call fcn.14002b260
mov al, byte [rdi]
add rbx, 0x38
test al, al
jne 0x140079ff1
mov ecx, dword [rsp + 0x380]
jmp 0x140078947
mov rcx, qword [rsp + 0x40]
movzx ebp, byte [rbp + 0x8b]
xor edx, edx
mov eax, dword [rcx + 8]
movsxd r13, dword [rcx + 4]
mov rbx, qword [rcx + 0x10]
imul r13, r13, 0x38
sub eax, 1
add r13, r11
mov r12, r14
movsxd rsi, eax
movsxd rax, dword [rcx + 0xc]
mov r15, rdx
imul rsi, rsi, 0x38
add rsi, r13
mov qword [rsp + 0x98], rsi
imul rax, rax, 0x38
add rax, r11
test rbx, rbx
mov qword [rsp + 0x78], rax
je 0x14007a0a6
movzx eax, byte [rbx]
mov sil, byte [rsp + 0x378]
mov rdi, r13
nop
nop
movzx r8d, sil
movzx edx, al
mov rcx, rdi
call fcn.14002b260
mov al, byte [rbx + 1]
add rbx, 1
add rdi, 0x38
test al, al
jne 0x14007a080
mov rsi, qword [rsp + 0x98]
mov edx, ebp
mov rcx, rsi
call fcn.140006350
cmp eax, 0xc
mov edi, eax
mov dword [rsi + 0x24], edi
jb 0x14007a0c1
lea ebx, [rdi - 0xc]
shr ebx, 1
jmp 0x14007a0d0
lea rcx, [0x140000000]
movzx ebx, byte [rdi + rcx + 0xabe48]
bt word [rsi + 8], 0xe
jae 0x14007a122
test r12, r12
je 0x14007a11a
mov rcx, rsi
call fcn.140025950
test eax, eax
je 0x14007a122
mov rbp, qword [rsp + 0x370]
mov rsi, qword [rsp + 0x60]
lea rdx, str.out_of_memory
mov rcx, rbp
mov byte [rsi + 0x51], 1
call fcn.140034680
mov ecx, 7
mov dword [rsp + 0x380], ecx
jmp 0x14007cd2a
movsxd rcx, dword [rsi]
add r15, rcx
sub ebx, ecx
movsxd rax, ebx
add r12, rax
cmp edi, 0x7f
ja 0x14007a134
mov eax, 1
jmp 0x14007a14e
mov rcx, rdi
xor eax, eax
nop
nop
add eax, 1
shr rcx, 7
je 0x14007a14e
cmp eax, 9
jl 0x14007a140
sub rsi, 0x38
add r14d, eax
cmp rsi, r13
jae 0x14007a0a6
cmp r14d, 0x7e
jle 0x14007a198
movsxd rax, r14d
xor ecx, ecx
nop
nop
add ecx, 1
shr rax, 7
je 0x14007a17e
cmp ecx, 9
jl 0x14007a170
add r14d, ecx
xor eax, eax
movsxd rdx, r14d
add eax, 1
shr rdx, 7
je 0x14007a194
cmp eax, 9
jl 0x14007a186
cmp ecx, eax
jge 0x14007a19c
add r14d, 1
mov r8, qword [rsp + 0x60]
movsxd rbx, r14d
movsxd rax, dword [r8 + 0x68]
lea rsi, [r12 + rbx]
lea rcx, [rsi + r15]
cmp rcx, rax
jg 0x14007cca3
mov r12, qword [rsp + 0x78]
cmp dword [r12 + 0x20], esi
jge 0x14007a1dc
xor r8d, r8d
mov edx, esi
mov rcx, r12
call fcn.140024170
test eax, eax
jne 0x14007a0e9
jmp 0x14007a1ed
mov rax, qword [r12 + 0x18]
and word [r12 + 8], 0xd
mov qword [r12 + 0x10], rax
cmp r14d, 0x80
mov rdi, qword [r12 + 0x10]
jae 0x14007a209
mov r12d, 1
mov byte [rdi], r14b
mov eax, r12d
jmp 0x14007a251
cmp rbx, 0x7f
ja 0x14007a21f
and bl, 0x7f
mov r12d, 1
mov byte [rdi], bl
mov eax, r12d
jmp 0x14007a251
cmp rbx, 0x3fff
ja 0x14007a240
mov rax, rbx
shr rax, 7
or al, 0x80
and bl, 0x7f
mov byte [rdi], al
mov byte [rdi + 1], bl
mov eax, 2
jmp 0x14007a24b
mov rdx, rbx
mov rcx, rdi
call fcn.140007fd0
mov r12d, 1
mov rbp, qword [rsp + 0x98]
movzx ebx, al
nop
mov r10d, dword [r13 + 0x24]
cmp r10d, 0x80
jae 0x14007a279
movsxd rax, ebx
mov byte [rax + rdi], r10b
mov eax, r12d
jmp 0x14007a2b8
movsxd rcx, ebx
mov rdx, r10
add rcx, rdi
cmp r10, 0x7f
ja 0x14007a292
and dl, 0x7f
mov eax, r12d
mov byte [rcx], dl
jmp 0x14007a2b8
cmp rdx, 0x3fff
ja 0x14007a2b3
mov rax, rdx
shr rax, 7
or al, 0x80
and dl, 0x7f
mov byte [rcx], al
mov byte [rcx + 1], dl
mov eax, 2
jmp 0x14007a2b8
call fcn.140007fd0
movzx eax, al
movsxd rcx, r14d
mov r8d, r10d
add rcx, rdi
mov rdx, r13
add ebx, eax
call fcn.1400062a0
add r13, 0x38
add r14d, eax
cmp r13, rbp
jbe 0x14007a260
test r15, r15
mov r12, qword [rsp + 0x78]
mov dword [r12 + 0xc], esi
mov word [r12 + 8], InitCommonControls
je 0x14007a2fd
mov dword [r12], r15d
mov word [r12 + 8], 0x4010
mov byte [r12 + 0xa], 1
xor r14d, r14d
jmp 0x14007893b
mov rax, qword [rsp + 0x40]
mov r14d, dword [rax + 4]
mov rbx, qword [rax + 0x10]
test r14d, r14d
jne 0x14007a3e0
cmp dword [rsi + 0xac], r14d
jle 0x14007a352
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, rbp
call fcn.140034680
mov r13, qword [rsp + 0x40]
mov ecx, 5
mov dword [rsp + 0x380], ecx
xor r14d, r14d
jmp 0x140078951
mov rcx, rbx
call fcn.1400083e0
mov rcx, qword [rsp + 0x60]
movsxd rsi, eax
lea rdx, [rsi + 0x21]
call fcn.140015b90
test rax, rax
mov rdi, rax
je 0x14007a303
lea edx, [rsi + 1]
lea rcx, [rax + 0x20]
movsxd r8, edx
mov rdx, rbx
mov qword [rax], rcx
call sub.msvcrt.dll_memcpy
mov rsi, qword [rsp + 0x60]
cmp byte [rsi + 0x4f], 0
je 0x14007a39d
mov byte [rsi + 0x4f], 0
mov byte [rsi + 0x56], 1
jmp 0x14007a3a4
add dword [rsi + 0x2a4], 1
mov rax, qword [rsi + 0x298]
mov ecx, dword [rsp + 0x380]
mov qword [rdi + 0x18], rax
mov rax, qword [rsi + 0x2b0]
mov qword [rsi + 0x298], rdi
mov qword [rdi + 8], rax
mov rax, qword [rsi + 0x2b8]
mov qword [rdi + 0x10], rax
mov r13, qword [rsp + 0x40]
xor r14d, r14d
jmp 0x14007894c
mov r13, qword [rsi + 0x298]
xor r11d, r11d
test r13, r13
mov r10d, r11d
je 0x14007a40f
mov rcx, qword [r13]
mov rdx, rbx
call fcn.1400082f0
test eax, eax
je 0x14007a438
mov r13, qword [r13 + 0x18]
add r10d, 1
test r13, r13
jne 0x14007a3f2
lea rdx, str.no_such_savepoint:__s
mov r8, rbx
mov rcx, rbp
call fcn.140034680
mov r13, qword [rsp + 0x40]
mov ecx, r15d
mov dword [rsp + 0x380], ecx
xor r14d, r14d
jmp 0x140078951
cmp dword [rsi + 0xac], r11d
jle 0x14007a46f
cmp r14d, 1
jne 0x14007a46f
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, rbp
call fcn.140034680
mov r13, qword [rsp + 0x40]
mov ecx, 5
mov dword [rsp + 0x380], ecx
xor r14d, r14d
jmp 0x140078951
cmp qword [r13 + 0x18], r11
jne 0x14007a4c7
cmp byte [rsi + 0x56], r11b
je 0x14007a4c7
cmp r14d, 1
jne 0x14007a4ca
mov rax, qword [rbp]
mov rcx, qword [rax + 0x2b8]
add rcx, qword [rax + 0x2b0]
test rcx, rcx
mov rcx, rbp
jg 0x14007caf1
mov byte [rsi + 0x4f], r14b
call fcn.140076830
cmp eax, 5
je 0x14007cab4
mov byte [rsi + 0x56], 0
mov ebx, dword [rbp + 0x84]
mov dword [rsp + 0x380], ebx
jmp 0x14007a5b1
mov r15d, r11d
mov ebp, dword [rsi + 0x2a4]
sub ebp, r10d
cmp r14d, 2
jne 0x14007a540
mov r12d, dword [rsi + 0x2c]
mov edi, r11d
shr r12d, 1
and r12d, 1
cmp dword [rsi + 0x28], r11d
jle 0x14007a543
mov rax, qword [rsp + 0x60]
test r12d, r12d
mov esi, r11d
sete sil
mov rbx, r11
nop
mov rcx, qword [rax + 0x20]
mov r8d, esi
mov edx, 0x204
mov rcx, qword [rbx + rcx + 8]
call fcn.14006e6e0
test eax, eax
mov ecx, eax
mov dword [rsp + 0x380], eax
jne 0x14007b79d
mov rax, qword [rsp + 0x60]
add edi, 1
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x14007a500
mov rsi, rax
xor r11d, r11d
jmp 0x14007a543
mov r12d, r11d
cmp dword [rsi + 0x28], 0
mov edi, r11d
jle 0x14007a582
mov rbx, r11
nop
mov rcx, qword [rsi + 0x20]
lea r8d, [rbp - 1]
mov edx, r14d
mov rcx, qword [rbx + rcx + 8]
call fcn.14005be10
test eax, eax
mov ecx, eax
mov dword [rsp + 0x380], eax
jne 0x14007b7a2
add edi, 1
add rbx, 0x20
cmp edi, dword [rsi + 0x28]
jl 0x14007a550
test r12d, r12d
je 0x14007a5ac
mov rax, qword [rsi + 8]
test rax, rax
je 0x14007a5a0
or dword [rax + 0x8c], 8
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x14007a590
mov rcx, rsi
call fcn.1400234e0
or dword [rsi + 0x2c], 2
mov rdi, qword [rsp + 0x68]
cmp qword [rsi + 0x298], r13
je 0x14007a659
nop
cmp qword [rsi + 0x2c0], 0
mov rbx, qword [rsi + 0x298]
mov rax, qword [rbx + 0x18]
mov qword [rsi + 0x298], rax
je 0x14007a5e9
mov rdx, rbx
mov rcx, rsi
call fcn.140011800
jmp 0x14007a645
cmp dword [0x1400bf010], 0
je 0x14007a63c
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x14007a604
call qword [0x1400bf098]
mov rcx, rbx
call qword [0x1400bf050]
sub qword [0x1400c5018], 1
movsxd rcx, eax
sub qword [0x1400c4fd0], rcx
mov rcx, rbx
call qword [0x1400bf040]
mov rcx, qword [0x1400c52b8]
test rcx, rcx
je 0x14007a645
call qword [0x1400bf0a8]
jmp 0x14007a645
mov rcx, rbx
call qword [0x1400bf040]
add dword [rsi + 0x2a4], 0xffffffff
cmp qword [rsi + 0x298], r13
jne 0x14007a5c0
cmp r14d, 1
jne 0x14007a69c
mov rax, qword [r13 + 0x18]
mov rdx, r13
mov rcx, rsi
mov qword [rsi + 0x298], rax
call fcn.1400130c0
test r15d, r15d
jne 0x14007c9c4
add dword [rsi + 0x2a4], 0xffffffff
mov r13, qword [rsp + 0x40]
xor r14d, r14d
mov ecx, r14d
mov dword [rsp + 0x380], ecx
jmp 0x140078951
test r15d, r15d
mov rax, qword [r13 + 8]
mov qword [rsi + 0x2b0], rax
mov rax, qword [r13 + 0x10]
mov qword [rsi + 0x2b8], rax
je 0x14007a6c1
cmp r14d, 2
jne 0x14007c9c4
mov r13, qword [rsp + 0x40]
xor r14d, r14d
mov ecx, r14d
mov dword [rsp + 0x380], ecx
jmp 0x140078951
mov rax, qword [rsp + 0x40]
mov ebx, dword [rax + 4]
mov ecx, dword [rax + 8]
test ebx, ebx
je 0x14007a71e
cmp byte [rsi + 0x4f], 0
jne 0x14007a71e
test ecx, ecx
jne 0x14007a71e
cmp dword [rsi + 0xac], ecx
jle 0x14007a71e
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, rbp
call fcn.140034680
mov r13, qword [rsp + 0x40]
mov ecx, 5
mov dword [rsp + 0x380], ecx
jmp 0x140078951
movzx eax, byte [rsi + 0x4f]
cmp ebx, eax
jne 0x14007cb13
test ebx, ebx
jne 0x14007a737
lea rdx, str.cannot_start_a_transaction_within_a_transaction
jmp 0x14007a74b
lea rdx, str.cannot_commit___no_transaction_is_active
lea rax, str.cannot_rollback___no_transaction_is_active
test ecx, ecx
cmovne rdx, rax
mov rcx, rbp
call fcn.140034680
mov r13, qword [rsp + 0x40]
mov ecx, r15d
mov dword [rsp + 0x380], ecx
jmp 0x140078951
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 8]
test edx, edx
je 0x14007a77e
bt dword [rsi + 0x2c], 0x19
jb 0x14007cbd4
movsxd rcx, dword [rax + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x14007a885
mov rcx, rbx
call fcn.140069a70
cmp eax, 5
mov ecx, eax
mov dword [rsp + 0x380], eax
je 0x14007cbe5
test eax, eax
jne 0x14007b7a2
mov r13, qword [rsp + 0x40]
cmp dword [r13 + 8], eax
je 0x14007a84f
test byte [rbp + 0x8c], 0x20
je 0x14007a84f
cmp byte [rsi + 0x4f], al
je 0x14007a7e0
cmp dword [rsi + 0xa8], 1
jle 0x14007a84f
cmp dword [rbp + 0x9c], 0
jne 0x14007a802
add dword [rsi + 0x2a8], 1
mov ecx, dword [rsi + 0x2a8]
add ecx, dword [rsi + 0x2a4]
mov dword [rbp + 0x9c], ecx
mov rax, qword [rbx + 8]
mov edx, dword [rbp + 0x9c]
mov rcx, qword [rax]
cmp edx, dword [rcx + 0x80]
jle 0x14007a82b
cmp byte [rcx + 0xa], 0
je 0x14007a82b
call fcn.14001e200
mov dword [rsp + 0x380], eax
jmp 0x14007a833
mov dword [rsp + 0x380], r14d
mov rax, qword [rsi + 0x2b0]
mov qword [rbp + 0xc8], rax
mov rax, qword [rsi + 0x2b8]
mov qword [rbp + 0xd0], rax
mov rax, qword [rbx + 8]
mov r11, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov rcx, qword [rax + 0x18]
mov r10, qword [rsp + 0x58]
mov rax, qword [rcx + 0x50]
movsxd rcx, dword [r13 + 4]
mov ebx, dword [rax + 0x28]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
bswap ebx
mov eax, dword [rcx + 4]
jmp 0x14007a88b
mov ebx, r14d
mov eax, r14d
mov rcx, qword [rsp + 0x40]
cmp byte [rcx + 3], 0
je 0x14007c9b3
cmp ebx, dword [rcx + 0xc]
jne 0x14007a8a8
cmp eax, dword [rcx + 0x10]
je 0x14007c9b3
mov rdx, qword [rbp + 0x48]
mov rcx, rsi
call fcn.1400130c0
lea rdx, str.database_schema_has_changed
mov rcx, rsi
call fcn.14001b3f0
mov r13, qword [rsp + 0x40]
mov qword [rbp + 0x48], rax
movsxd rdx, dword [r13 + 4]
mov rax, qword [rsi + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
cmp dword [rcx], ebx
je 0x14007a8ec
mov rcx, rsi
call fcn.140023540
or dword [rbp + 0x8c], 8
mov ecx, reloc.COMCTL32.dll_InitCommonControls
mov dword [rsp + 0x380], ecx
jmp 0x140078951
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
movsxd r9, dword [rax + 0xc]
mov rax, qword [rsi + 0x20]
shl rcx, 5
cmp r9d, 0xf
mov rdx, qword [rcx + rax + 8]
mov r8, qword [rdx + 8]
jne 0x14007a936
mov rax, qword [r8]
mov ebx, dword [rdx + 0x1c]
add ebx, dword [rax + 0x84]
jmp 0x14007a955
cmp r9d, 4
mov rax, qword [r8 + 0x18]
mov rcx, qword [rax + 0x50]
mov ebx, dword [rcx + r9*4 + 0x24]
bswap ebx
jne 0x14007a955
test ebx, ebx
je 0x14007a955
or word [r8 + 0x24], 1
mov r13, qword [rsp + 0x40]
mov rcx, rbp
mov rdx, r13
call fcn.140021410
movsxd rcx, ebx
mov qword [rax], rcx
mov ecx, dword [rsp + 0x380]
jmp 0x140078951
mov rax, qword [rsp + 0x40]
movsxd rbx, dword [rax + 0xc]
movsxd rdi, dword [rax + 4]
shl rdi, 5
add rdi, qword [rsi + 0x20]
imul rbx, rbx, 0x38
add rbx, r11
mov rcx, rbx
call fcn.1400126c0
mov r13, qword [rsp + 0x40]
mov r8d, dword [rbx]
mov edx, dword [r13 + 8]
mov rcx, qword [rdi + 8]
call fcn.140046750
mov dword [rsp + 0x380], eax
mov eax, dword [r13 + 8]
cmp eax, 1
jne 0x14007a9ce
mov rcx, qword [rdi + 0x18]
mov eax, dword [rbx]
mov dword [rcx], eax
or dword [rsi + 0x2c], 2
jmp 0x14007a9dd
cmp eax, 2
jne 0x14007a9dd
mov rcx, qword [rdi + 0x18]
movzx eax, byte [rbx]
mov byte [rcx + 0x70], al
cmp dword [r13 + 4], 1
jne 0x14007989c
mov rax, qword [rsi + 8]
test rax, rax
je 0x14007aa10
nop
nop
nop
nop
or dword [rax + 0x8c], 8
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x14007aa00
and dword [rbp + 0x8c], 0xfffffff7
mov ecx, dword [rsp + 0x380]
jmp 0x14007894c
movsxd rcx, dword [r13 + 4]
mov rax, qword [rbp + 0x60]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x40]
test rdi, rdi
je 0x14007aa45
mov eax, dword [rcx + 8]
cmp dword [rdi + 0x2c], eax
je 0x14007ab9a
mov rdi, qword [rsp + 0x68]
test byte [rbp + 0x8c], 8
je 0x14007aa70
mov r13, qword [rsp + 0x40]
mov ecx, 0x204
mov dword [rsp + 0x380], ecx
jmp case.default.0x140078632
mov rcx, qword [rsp + 0x40]
jmp 0x14007aa4a
movsxd r13, dword [rcx + 0xc]
mov r8, qword [rsp + 0x60]
movsxd rbp, dword [rcx + 8]
mov rax, r13
mov edi, r14d
mov rsi, r14
shl rax, 5
add rax, qword [r8 + 0x20]
cmp bl, 0x37
mov r14, qword [rax + 8]
jne 0x14007aaff
mov rax, qword [rax + 0x18]
mov r12d, r15d
mov r15, qword [rsp + 0x370]
movzx ecx, byte [rax + 0x70]
cmp cl, byte [r15 + 0x8b]
jae 0x14007aaba
mov byte [r15 + 0x8b], cl
mov rcx, qword [rsp + 0x40]
test byte [rcx + 3], 4
je 0x14007aae7
mov rbx, rbp
imul rbx, rbx, 0x38
add rbx, r11
mov rcx, rbx
call fcn.1400126c0
mov ebp, dword [rbx]
cmp ebp, 2
jl 0x14007cc1e
mov rcx, qword [rsp + 0x40]
movzx eax, byte [rcx + 1]
cmp al, 0xfa
jne 0x14007ab0e
mov rsi, qword [rcx + 0x10]
movzx edi, word [rsi + 8]
movzx eax, word [rsi + 6]
add edi, eax
jmp 0x14007ab15
mov r15, qword [rsp + 0x370]
xor edx, edx
mov r12d, edx
jmp 0x14007aabf
cmp al, 0xf2
jne 0x14007ab15
mov edi, dword [rcx + 0x10]
mov edx, dword [rcx + 4]
mov r9d, r13d
mov r8d, edi
mov rcx, r15
mov dword [rsp + 0x20], 1
call fcn.1400714d0
test rax, rax
mov rdi, rax
je 0x14007a0e9
mov rdx, qword [rax]
or dword [rax + 0x28], 8
mov r9, rsi
mov qword [rsp + 0x20], rdx
mov r8d, r12d
mov rcx, r14
mov edx, ebp
mov byte [rax + 0x25], 1
mov dword [rax + 0x2c], ebp
call fcn.140039220
mov rcx, qword [rsp + 0x40]
mov r11, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov r10, qword [rsp + 0x58]
mov dword [rsp + 0x380], eax
xor r14d, r14d
mov qword [rdi + 0x10], rsi
cmp byte [rcx + 1], 0xfa
mov rsi, qword [rsp + 0x60]
mov eax, r14d
setne al
shl eax, 2
xor eax, dword [rdi + 0x28]
and eax, 4
xor dword [rdi + 0x28], eax
movzx ecx, byte [rcx + 3]
mov rax, qword [rdi]
mov r13, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x68]
and cl, 3
mov byte [rax + 0x5f], cl
mov ecx, dword [rsp + 0x380]
jmp case.default.0x140078632
mov rax, qword [rsp + 0x40]
or r9d, 0xffffffff
mov rcx, rbp
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
mov dword [rsp + 0x20], r15d
call fcn.1400714d0
test rax, rax
mov r12, rax
je 0x14007a0f6
or dword [rax + 0x28], 1
mov r13, qword [rsp + 0x40]
mov byte [rax + 0x25], 1
movzx ecx, byte [r13 + 3]
mov dword [rsp + 0x28], 0x41e
lea r9, [rax + 8]
or ecx, 5
mov r8, rsi
xor edx, edx
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsi]
call fcn.14005c4c0
test eax, eax
mov dword [rsp + 0x380], eax
jne 0x14007afee
mov rsi, qword [r12 + 8]
cmp byte [rsi + 0x10], 2
mov rbx, qword [rsi + 8]
je 0x14007ad9d
movzx eax, word [rbx + 0x24]
test al, 1
je 0x14007ac4c
mov eax, 8
jmp 0x14007adc1
and ax, 0xfff7
cmp dword [rbx + 0x3c], 0
mov ecx, r14d
mov dword [rsp + 0x380], ecx
mov word [rbx + 0x24], ax
jne 0x14007ac70
or ax, 8
mov word [rbx + 0x24], ax
nop
cmp qword [rbx + 0x18], 0
jne 0x14007ac8e
mov rcx, rbx
call fcn.140063470
test eax, eax
mov ecx, eax
mov dword [rsp + 0x380], eax
je 0x14007ac70
jmp 0x14007acdb
test ecx, ecx
jne 0x14007acdb
test byte [rbx + 0x24], 1
je 0x14007aca5
mov dword [rsp + 0x380], 8
jmp 0x14007acdb
mov rax, qword [rsi]
mov rcx, qword [rbx]
mov r8d, r14d
cmp byte [rax + 0x50], 2
sete r8b
xor edx, edx
call fcn.1400129c0
test eax, eax
mov dword [rsp + 0x380], eax
jne 0x14007acdb
mov rcx, rbx
call fcn.140046aa0
test eax, eax
mov dword [rsp + 0x380], eax
je 0x14007acf3
cmp byte [rbx + 0x21], 0
jne 0x14007acf3
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x14007acf3
mov qword [rbx + 0x18], r14
call fcn.14005caf0
mov eax, dword [rsp + 0x380]
cmp al, 5
jne 0x14007ad48
cmp byte [rbx + 0x21], 0
jne 0x14007ad48
mov rdi, qword [rbx + 8]
add rdi, 0x240
je 0x14007ad48
mov rax, qword [rdi]
test rax, rax
je 0x14007ad41
mov edx, dword [rdi + 0x10]
test edx, edx
js 0x14007ad41
mov rcx, qword [rdi + 8]
call rax
test eax, eax
je 0x14007ad3a
add dword [rdi + 0x10], 1
mov ecx, dword [rsp + 0x380]
jmp 0x14007ac70
mov dword [rdi + 0x10], 0xffffffff
mov eax, dword [rsp + 0x380]
test eax, eax
jne 0x14007afe4
cmp byte [rsi + 0x10], al
jne 0x14007ad59
add dword [rbx + 0x38], 1
mov byte [rsi + 0x10], 2
cmp byte [rbx + 0x21], 2
jae 0x14007ad67
mov byte [rbx + 0x21], 2
mov rdi, qword [rbx + 0x18]
mov rax, qword [rdi + 0x50]
mov ecx, dword [rax + 0x1c]
bswap ecx
cmp dword [rbx + 0x3c], ecx
je 0x14007ad9d
mov rcx, qword [rdi + 0x70]
call fcn.1400427b0
test eax, eax
mov dword [rsp + 0x380], eax
jne 0x14007afe4
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rdi + 0x50]
bswap ecx
mov dword [rax + 0x1c], ecx
mov rax, qword [rsi]
mov rcx, qword [rbx]
mov edx, dword [rax + 0x2a4]
cmp edx, dword [rcx + 0x80]
jle 0x14007adbe
cmp byte [rcx + 0xa], 0
je 0x14007adbe
call fcn.14001e200
jmp 0x14007adc1
mov eax, r14d
test eax, eax
mov dword [rsp + 0x380], eax
jne 0x14007afe4
mov rax, r13
mov rdi, qword [rax + 0x10]
test rdi, rdi
je 0x14007af3c
movzx ebx, byte [rax + 3]
mov rax, qword [r12 + 8]
lea r8, [rsp + 0xd4]
mov rcx, qword [rax + 8]
lea rdx, [rsp + 0x118]
mov r9d, r15d
or ebx, 2
mov byte [rsp + 0x20], 0
call fcn.1400687b0
test eax, eax
mov dword [rsp + 0x380], eax
je 0x14007ae24
mov ecx, dword [rsp + 0xd0]
jmp 0x14007af06
test bl, 1
mov rbx, qword [rsp + 0x118]
mov edx, 0xa
mov eax, InitCommonControls
mov rcx, rbx
cmovne edx, eax
call fcn.14003c880
mov r11, qword [rbx + 0x70]
test r11, r11
je 0x14007aeee
test byte [r11 + 0x2c], 0x40
mov rbx, qword [r11 + 0x20]
je 0x14007ae9b
add dword [rbx + 0x98], 0xffffffff
mov rax, qword [rbx + 0xa8]
mov qword [r11 + 0x18], rax
mov rcx, qword [rbx + 0x48]
movsxd rax, dword [rbx + 0xbc]
mov qword [rbx + 0xa8], r11
mov edx, dword [r11 + 0x28]
mov r9, qword [rcx]
mov r8, qword [r11 + 8]
add edx, 0xffffffff
imul rdx, rax
call qword [r9 + 0x90]
jmp 0x14007aea3
mov rcx, r11
call fcn.14000cd20
cmp dword [rbx + 0x98], 0
jne 0x14007aeee
mov rax, qword [rbx + 0x110]
cmp dword [rax + 0x18], 0
jne 0x14007aeee
movzx eax, byte [rbx + 0x14]
cmp al, 6
je 0x14007aee6
test al, al
je 0x14007aee6
cmp al, 2
jb 0x14007aed3
mov rcx, rbx
call fcn.140056500
jmp 0x14007aee6
cmp byte [rbx + 8], 0
jne 0x14007aee6
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.140014df0
mov rcx, rbx
call fcn.140019fc0
mov ecx, dword [rsp + 0xd4]
mov eax, r14d
mov dword [rsp + 0xd0], ecx
mov dword [rsp + 0x380], eax
test eax, eax
jne 0x14007af31
mov rax, qword [r12]
mov edx, ecx
mov rcx, qword [r12 + 8]
mov r9, rdi
mov r8d, r15d
mov qword [r12 + 0x10], rdi
mov qword [rsp + 0x20], rax
call fcn.140039220
mov dword [rsp + 0x380], eax
and dword [r12 + 0x28], 0xfffffffb
jmp 0x14007afe4
mov rdi, qword [r12 + 8]
mov rbx, qword [r12]
mov rsi, qword [rdi + 8]
cmp qword [rsi + 0x60], 0
jne 0x14007af7f
mov ecx, dword [rsi + 0x30]
call fcn.140015450
test rax, rax
mov qword [rsi + 0x60], rax
je 0x14007af6b
xor ecx, ecx
mov qword [rax], rcx
add qword [rsi + 0x60], 4
cmp qword [rsi + 0x60], 0
jne 0x14007af7f
mov dword [rsp + 0x380], 7
jmp 0x14007afde
cmp dword [rsi + 0x3c], 0
mov ecx, r15d
mov byte [rbx + 0x60], 0xff
cmove ecx, r14d
mov qword [rbx + 0x68], r14
mov qword [rbx], rdi
mov qword [rbx + 8], rsi
mov byte [rbx + 0x5c], 1
mov byte [rbx + 0x5d], 0
mov dword [rbx + 0x50], ecx
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x14007afc6
nop
cmp dword [rax + 0x50], ecx
jne 0x14007afbd
or byte [rax + 0x5c], 0x20
or byte [rbx + 0x5c], 0x20
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14007afb0
mov rax, qword [rsi + 0x10]
mov dword [rsp + 0x380], r14d
mov qword [rbx + 0x10], rax
mov qword [rsi + 0x10], rbx
mov byte [rbx + 0x5e], 0
or dword [r12 + 0x28], 4
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
cmp byte [r13 + 3], 8
mov ecx, dword [rsp + 0x380]
mov eax, r14d
setne al
shl eax, 3
xor eax, dword [r12 + 0x28]
and eax, 8
xor dword [r12 + 0x28], eax
jmp 0x140078951
mov rax, qword [rsp + 0x40]
or r9d, 0xffffffff
mov rcx, rbp
mov r8d, dword [rax + 8]
mov edx, dword [rax + 4]
mov dword [rsp + 0x20], r15d
call fcn.1400714d0
test rax, rax
je 0x14007a0f6
mov r13, qword [rsp + 0x40]
mov r8, rax
mov rcx, qword [r13 + 0x10]
mov qword [rax + 0x10], rcx
mov edx, dword [r13 + 0xc]
mov rcx, rsi
call fcn.1400191f0
mov ecx, eax
mov dword [rsp + 0x380], eax
jmp 0x140078951
movsxd rcx, dword [r13 + 4]
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x38]
test rcx, rcx
lea rax, [rcx + 1]
mov qword [rdx + 0x38], rax
je 0x14007c996
mov ecx, dword [rsp + 0x380]
jmp case.default.0x140078632
mov rax, qword [rsp + 0x40]
or r9d, 0xffffffff
mov rcx, rbp
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
mov dword [rsp + 0x20], r14d
call fcn.1400714d0
test rax, rax
je 0x14007a0f6
mov r13, qword [rsp + 0x40]
mov byte [rax + 0x25], 1
mov ecx, dword [r13 + 8]
or dword [rax + 0x28], 4
mov dword [rax + 0x1c], ecx
mov ecx, dword [rsp + 0x380]
jmp 0x140078951
movsxd rax, dword [r13 + 4]
mov rdx, qword [rbp + 0x60]
mov rcx, rbp
mov rdx, qword [rdx + rax*8]
call fcn.140070cb0
movsxd r11, dword [r13 + 4]
mov rax, qword [rbp + 0x60]
mov ecx, dword [rsp + 0x380]
mov qword [rax + r11*8], r14
jmp 0x140078951
movsxd rcx, dword [r13 + 4]
mov rax, qword [rbp + 0x60]
mov rsi, qword [rax + rcx*8]
test byte [rsi + 0x28], 4
mov byte [rsi + 0x25], 0
je 0x14007b1b2
movsxd rdi, dword [r13 + 0xc]
imul rdi, rdi, 0x38
add rdi, r11
movzx eax, byte [rdi + 8]
and al, 0xe
cmp al, 2
jne 0x14007b13d
xor edx, edx
mov rcx, rdi
call fcn.14000fb90
mov rcx, rdi
call fcn.14000fe60
movzx ecx, word [rdi + 8]
test cl, 4
mov rbp, rax
jne 0x14007b176
test cl, 8
je 0x14007c98c
mov rcx, qword [rdi]
cmp rcx, rax
jge 0x14007b16c
test bl, 1
jne 0x14007b176
sub ebx, 1
jmp 0x14007b176
jle 0x14007b176
test bl, 1
je 0x14007b176
add ebx, 1
mov rcx, qword [rsi]
lea rax, [rsp + 0x388]
xor r9d, r9d
mov r8, rbp
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.14006d510
mov qword [rsi + 0x40], rbp
test eax, eax
mov ecx, eax
mov dword [rsp + 0x380], eax
jne 0x14007b79d
mov rdi, qword [rsp + 0x68]
jmp 0x14007b236
mov rax, qword [rsi + 0x10]
mov ecx, 0xffffffff
mov qword [rsp + 0x1f0], rax
movzx eax, word [r13 + 0x10]
mov word [rsp + 0x1f8], ax
lea eax, [rbx - 1]
test al, 1
mov eax, r15d
cmovne eax, ecx
movsxd rcx, dword [r13 + 0xc]
mov byte [rsp + 0x1fa], al
imul rcx, rcx, 0x38
add rcx, r11
mov qword [rsp + 0x200], rcx
bt word [rcx + 8], 0xe
jae 0x14007b202
call fcn.140025950
mov rcx, qword [rsi]
lea rax, [rsp + 0x388]
lea rdx, [rsp + 0x1f0]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call fcn.14006d510
test eax, eax
mov ecx, eax
mov dword [rsp + 0x380], eax
jne 0x14007b79d
cmp ebx, 0x41
mov byte [rsi + 0x26], 0
mov dword [rsi + 0x50], r14d
mov eax, dword [rsp + 0x388]
jl 0x14007b309
test eax, eax
js 0x14007b26b
jne 0x14007b259
cmp ebx, 0x42
je 0x14007b26b
mov rsi, qword [rsp + 0x60]
mov dword [rsp + 0x388], r14d
jmp 0x140078951
mov dword [rsp + 0x388], r14d
mov rcx, qword [rsi]
and byte [rcx + 0x5c], 0xf9
mov word [rcx + 0x38], 0
mov dword [rsp + 0x388], r14d
cmp byte [rcx + 0x5e], 1
je 0x14007b2a4
lea rdx, [rsp + 0x388]
call fcn.14006f270
mov ecx, eax
test eax, eax
jmp 0x14007b393
movsx rax, byte [rcx + 0x60]
mov r8, qword [rcx + rax*8 + 0xa0]
add word [rcx + rax*2 + 0x78], 1
movsx rdx, byte [rcx + 0x60]
movzx eax, word [r8 + 0x12]
cmp word [rcx + rdx*2 + 0x78], ax
jb 0x14007b2e5
add word [rcx + rdx*2 + 0x78], 0xffff
lea rdx, [rsp + 0x388]
call fcn.14006f270
mov ecx, eax
test eax, eax
jmp 0x14007b393
cmp byte [r8 + 5], 0
je 0x14007b2fb
mov ecx, r14d
mov dword [rsp + 0x380], ecx
jmp 0x14007b3a0
call fcn.140069090
mov ecx, eax
test eax, eax
jmp 0x14007b393
test eax, eax
jg 0x14007b331
jne 0x14007b314
cmp ebx, 0x3f
je 0x14007b331
mov rax, qword [rsi]
mov ecx, r14d
cmp byte [rax + 0x5e], 1
setne cl
mov dword [rsp + 0x388], ecx
mov ecx, dword [rsp + 0x380]
jmp 0x14007b3a0
mov dword [rsp + 0x388], r14d
mov rcx, qword [rsi]
mov dword [rsp + 0x388], r14d
and byte [rcx + 0x5c], 0xf1
cmp byte [rcx + 0x5e], 1
mov word [rcx + 0x38], 0
jne 0x14007b382
movsx rdx, byte [rcx + 0x60]
cmp word [rcx + rdx*2 + 0x78], 0
je 0x14007b382
mov rax, qword [rcx + rdx*8 + 0xa0]
cmp byte [rax + 5], 0
je 0x14007b382
add word [rcx + rdx*2 + 0x78], 0xffff
mov ecx, r14d
mov dword [rsp + 0x380], ecx
jmp 0x14007b3a0
lea rdx, [rsp + 0x388]
call fcn.14006efe0
mov ecx, eax
test eax, eax
mov dword [rsp + 0x380], eax
jne 0x14007b79d
cmp dword [rsp + 0x388], 0
mov rsi, qword [rsp + 0x60]
jne 0x14007c996
jmp 0x140078951
movsxd rcx, dword [r13 + 4]
mov rax, qword [rbp + 0x60]
mov rbx, qword [rax + rcx*8]
mov byte [rbx + 0x25], 0
movsxd rcx, dword [r13 + 8]
imul rcx, rcx, 0x38
add rcx, r11
call fcn.14000fe60
mov ecx, dword [rsp + 0x380]
mov byte [rbx + 0x26], 1
mov qword [rbx + 0x40], rax
jmp 0x140078951
mov rbx, qword [rsp + 0x40]
mov rax, qword [rbp + 0x60]
mov r12, r14
movsxd rsi, dword [rbx + 0xc]
movsxd rcx, dword [rbx + 4]
mov qword [rsp + 0xe8], r14
mov rbp, qword [rax + rcx*8]
imul rsi, rsi, 0x38
add rsi, r11
cmp dword [rbx + 0x10], 0
jle 0x14007b484
movzx ecx, word [rbx + 0x10]
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x1a0], rsi
test cx, cx
mov qword [rsp + 0x190], rax
mov word [rsp + 0x198], cx
mov ebx, r14d
je 0x14007b47a
mov rdi, r14
bt word [rdi + rsi + 8], 0xe
jae 0x14007b46c
movsxd rcx, ebx
imul rcx, rcx, 0x38
add rcx, rsi
call fcn.140025950
mov rsi, qword [rsp + 0x1a0]
mov cx, word [rsp + 0x198]
add ebx, 1
movzx eax, cx
add rdi, 0x38
cmp ebx, eax
jl 0x14007b444
lea rbx, [rsp + 0x190]
jmp 0x14007b4da
mov rcx, qword [rbp + 0x10]
lea r9, [rsp + 0xe8]
lea rdx, [rsp + 0x210]
mov r8d, 0x107
call fcn.1400195e0
test rax, rax
mov rbx, rax
je 0x14007a0e9
bt word [rsi + 8], 0xe
jae 0x14007b4bf
mov rcx, rsi
call fcn.140025950
mov r8, qword [rsi + 0x10]
mov edx, dword [rsi + 0xc]
mov rcx, qword [rbp + 0x10]
mov r9, rbx
call fcn.14000fc60
mov r12, qword [rsp + 0xe8]
mov r13, qword [rsp + 0x40]
mov byte [rbx + 0xa], 0
mov edi, r14d
cmp byte [r13], 0x44
jne 0x14007b519
cmp word [rbx + 8], 0
mov edx, r14d
jbe 0x14007b519
mov rcx, qword [rbx + 0x10]
add rcx, 8
nop
test byte [rcx], 1
jne 0x14007b516
movzx eax, word [rbx + 8]
add edx, 1
add rcx, 0x38
cmp edx, eax
jl 0x14007b500
jmp 0x14007b519
mov edi, r15d
mov rcx, qword [rbp]
lea rax, [rsp + 0xd8]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.14006d510
mov rsi, qword [rsp + 0x60]
mov rdx, r12
mov rcx, rsi
mov dword [rsp + 0x380], eax
call fcn.1400130c0
mov ecx, dword [rsp + 0x380]
test ecx, ecx
jne 0x14007894c
mov eax, dword [rsp + 0xd8]
mov ecx, r14d
mov byte [rbp + 0x26], 0
test eax, eax
mov dword [rbp + 0x18], eax
mov eax, r15d
sete cl
mov dword [rbp + 0x50], r14d
sub al, cl
mov byte [rbp + 0x25], al
cmp byte [r13], 0x46
jne 0x14007b5a0
test ecx, ecx
mov rdi, qword [rsp + 0x68]
jne 0x14007c996
mov ecx, dword [rsp + 0x380]
jmp 0x140078951
test edi, edi
mov rdi, qword [rsp + 0x68]
jne 0x14007c996
test ecx, ecx
je 0x14007c996
mov ecx, dword [rsp + 0x380]
jmp 0x140078951
movsxd rcx, dword [r13 + 4]
mov rax, qword [rbp + 0x60]
xor r9d, r9d
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
xor edx, edx
mov rcx, qword [rdi]
mov dword [rsp + 0xb8], r14d
imul rax, rax, 0x38
mov rbx, qword [rax + r11]
lea rax, [rsp + 0xb8]
mov r8, rbx
mov qword [rsp + 0x20], rax
call fcn.14006d510
mov qword [rdi + 0x40], rbx
mov byte [rdi + 0x25], 0
mov dword [rsp + 0x380], eax
mov eax, dword [rsp + 0xb8]
mov dword [rdi + 0x50], r14d
test eax, eax
mov dword [rdi + 0x18], eax
mov byte [rdi + 0x26], 0
mov rdi, qword [rsp + 0x68]
jne 0x14007c996
mov ecx, dword [rsp + 0x380]
jmp 0x140078951
mov rdx, r13
mov rcx, rbp
call fcn.140021410
mov rcx, qword [rbp + 0x60]
movsxd rdx, dword [r13 + 4]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x38]
mov qword [rax], rcx
movsxd rcx, dword [r13 + 4]
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax + rcx*8]
mov ecx, dword [rsp + 0x380]
add qword [rdx + 0x38], 1
jmp 0x140078951
mov rbx, r14
mov rdx, r13
mov rcx, rbp
mov qword [rsp + 0x78], rbx
mov dword [rsp + 0x70], r14d
call fcn.140021410
mov r15, qword [rsp + 0x370]
movsxd rdx, dword [r13 + 4]
mov rbp, rax
mov rcx, qword [r15 + 0x60]
mov rsi, qword [rcx + rdx*8]
test byte [rsi + 0x28], 2
jne 0x14007b716
mov rcx, qword [rsi]
lea rdx, [rsp + 0x70]
call fcn.14006db90
test eax, eax
mov ecx, eax
mov dword [rsp + 0x380], eax
jne 0x14007b79d
cmp dword [rsp + 0x70], eax
je 0x14007b6d8
mov ebx, 1
mov qword [rsp + 0x78], rbx
jmp 0x14007b71d
mov rbx, qword [rsi]
mov rcx, rbx
call fcn.14000baa0
mov rbx, qword [rbx + 0x20]
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
mov ecx, r14d
mov qword [rsp + 0x78], rbx
mov dword [rsp + 0x380], ecx
jl 0x14007b70b
or dword [rsi + 0x28], 2
jmp 0x14007b71d
add rbx, 1
mov qword [rsp + 0x78], rbx
jmp 0x14007b71d
mov ecx, dword [rsp + 0x380]
test byte [rsi + 0x28], 2
je 0x14007b7d4
mov edi, r14d
nop
nop
lea rdx, [rsp + 0x78]
mov ecx, 8
call fcn.14000d970
mov rbx, qword [rsp + 0x78]
mov rcx, qword [rsi]
movabs rax, 0x3fffffffffffffff
xor r9d, r9d
xor edx, edx
and rbx, rax
lea rax, [rsp + 0x70]
add rbx, 1
mov qword [rsp + 0x20], rax
mov r8, rbx
mov qword [rsp + 0x78], rbx
call fcn.14006d510
test eax, eax
mov ecx, eax
mov dword [rsp + 0x380], eax
jne 0x14007b7cf
cmp dword [rsp + 0x70], eax
jne 0x14007b7cf
add edi, 1
cmp edi, 0x64
jl 0x14007b730
mov eax, InitCommonControls
mov ecx, eax
mov dword [rsp + 0x380], eax
mov rsi, qword [rsp + 0x60]
cmp byte [rsi + 0x51], 0
je 0x14007cc4d
mov dword [rsp + 0x380], 7
lea rdx, str.unknown_error
mov ecx, dword [rsp + 0x380]
call fcn.140003990
jmp 0x14007cc7d
mov rdi, qword [rsp + 0x68]
mov byte [rsi + 0x26], 0
mov dword [rsi + 0x50], r14d
mov rsi, qword [rsp + 0x60]
mov qword [rbp], rbx
jmp 0x140078951
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
movsxd r9, dword [rax + 8]
mov rax, qword [rbp + 0x60]
imul r9, r9, 0x38
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x40]
add r9, r11
cmp bl, 0x54
jne 0x14007b81e
movsxd rax, dword [rcx + 0xc]
imul rax, rax, 0x38
mov rbx, qword [rax + r11]
jmp 0x14007b822
movsxd rbx, dword [rcx + 0xc]
test byte [rcx + 3], 1
je 0x14007b82f
add dword [rbp + 0x90], 1
test byte [rcx + 3], 2
je 0x14007b83e
mov qword [rsp + 0x58], rbx
mov qword [rsi + 0x30], rbx
movzx eax, word [r9 + 8]
test al, 1
je 0x14007b84f
mov qword [r9 + 0x10], r14
mov dword [r9 + 0xc], r14d
movzx r8d, byte [rcx + 3]
test r8b, 0x10
je 0x14007b85f
mov edx, dword [rdi + 0x18]
jmp 0x14007b862
mov edx, r14d
bt ax, 0xe
jae 0x14007b86e
mov ecx, dword [r9]
jmp 0x14007b871
mov ecx, r14d
mov dword [rsp + 0x38], edx
mov al, r8b
mov r8, rbx
shr eax, 3
xor edx, edx
and eax, 1
mov dword [rsp + 0x30], eax
mov eax, dword [r9 + 0xc]
mov r9, qword [r9 + 0x10]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rdi]
mov dword [rsp + 0x20], eax
call fcn.14006ec70
mov r13, qword [rsp + 0x40]
mov byte [rdi + 0x26], 0
test eax, eax
mov ecx, eax
mov dword [rsp + 0x380], eax
mov dword [rdi + 0x50], r14d
jne 0x14007894c
mov r10, qword [rsi + 0x110]
test r10, r10
je 0x14007894c
mov r9, qword [r13 + 0x10]
test r9, r9
je 0x14007894c
movsx rax, byte [rdi + 0x24]
mov r8, qword [rsi + 0x20]
mov edx, 0x12
shl rax, 5
test byte [r13 + 3], 4
mov ecx, 0x17
mov r8, qword [rax + r8]
cmovne edx, ecx
mov rcx, qword [rsi + 0x108]
mov qword [rsp + 0x20], rbx
call r10
mov ecx, dword [rsp + 0x380]
jmp 0x14007894c
movsxd rcx, dword [r13 + 4]
mov rax, qword [rbp + 0x60]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx]
call fcn.1400719a0
mov dword [rbx + 0x50], r14d
test eax, eax
mov ecx, eax
mov dword [rsp + 0x380], eax
jne 0x14007b988
mov r10, qword [rsi + 0x110]
test r10, r10
je 0x14007b988
mov r9, qword [r13 + 0x10]
test r9, r9
je 0x14007b988
test byte [rbx + 0x28], 4
je 0x14007b988
movsx rcx, byte [rbx + 0x24]
mov r8, qword [rsi + 0x20]
mov rax, qword [rbx + 0x40]
shl rcx, 5
mov edx, 9
mov qword [rsp + 0x20], rax
mov r8, qword [rcx + r8]
mov rcx, qword [rsi + 0x108]
call r10
mov ecx, dword [rsp + 0x380]
test byte [r13 + 8], 1
mov r11, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov r10, qword [rsp + 0x58]
je case.default.0x140078632
add dword [rbp + 0x90], 1
jmp case.default.0x140078632
mov eax, dword [rbp + 0x90]
mov ecx, dword [rsp + 0x380]
add dword [rsi + 0x64], eax
mov dword [rsi + 0x60], eax
mov dword [rbp + 0x90], r14d
jmp case.default.0x140078632
movsxd rdx, dword [r13 + 0xc]
movsxd rcx, dword [r13 + 4]
mov rax, qword [rbp + 0x60]
imul rdx, rdx, 0x38
mov r8d, dword [r13 + 0x10]
mov rcx, qword [rax + rcx*8]
lea r9, [rsp + 0xbc]
add rdx, r11
mov dword [rsp + 0xbc], r14d
call fcn.140041c50
cmp dword [rsp + 0xbc], 0
mov ecx, eax
mov dword [rsp + 0x380], eax
jne 0x14007c996
jmp 0x140078951
mov rax, qword [rsp + 0x40]
movsxd rdx, dword [rax + 8]
movsxd rcx, dword [rax + 4]
mov rax, qword [rbp + 0x60]
imul rdx, rdx, 0x38
mov rcx, qword [rax + rcx*8]
add rdx, r11
call fcn.140027f30
mov r13, qword [rsp + 0x40]
movsxd rcx, dword [r13 + 0xc]
mov dword [rsp + 0x380], eax
mov rax, qword [rbp + 0x60]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x50], r14d
mov ecx, dword [rsp + 0x380]
jmp 0x140078951
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
movsxd rbx, dword [rax + 8]
mov rax, qword [rbp + 0x60]
imul rbx, rbx, 0x38
mov rbp, qword [rax + rcx*8]
add rbx, r11
test byte [rbp + 0x28], 4
mov rsi, qword [rbp]
mov rcx, rsi
jne 0x14007baac
call fcn.14000baa0
mov rax, qword [rsp + 0x60]
mov rdi, qword [rsi + 0x20]
movsxd rax, dword [rax + 0x68]
cmp rdi, rax
jle 0x14007bac2
mov rsi, qword [rsp + 0x60]
jmp 0x14007ccab
call fcn.14000baa0
mov rax, qword [rsp + 0x60]
mov edi, dword [rsi + 0x30]
cmp edi, dword [rax + 0x68]
ja 0x14007cca8
mov edx, 0x20
cmp edi, edx
cmova edx, edi
cmp dword [rbx + 0x20], edx
jge 0x14007bae6
xor r8d, r8d
mov rcx, rbx
call fcn.140024170
test eax, eax
jne 0x14007a0e9
jmp 0x14007baf3
mov rax, qword [rbx + 0x18]
and word [rbx + 8], 0xd
mov qword [rbx + 0x10], rax
and word [rbx + 8], 0xbe10
or word [rbx + 8], 0x10
mov r9, qword [rbx + 0x10]
mov dword [rbx + 0xc], edi
xor edx, edx
test byte [rbp + 0x28], 4
mov r8d, edi
mov rcx, rsi
jne 0x14007bb2f
mov dword [rsp + 0x20], r14d
call fcn.140069510
mov byte [rbx + 0xa], 1
mov dword [rsp + 0x380], eax
mov ecx, eax
jmp 0x140078942
call fcn.14006f520
mov byte [rbx + 0xa], 1
mov dword [rsp + 0x380], eax
mov ecx, eax
jmp 0x140078942
mov rdx, r13
mov rcx, rbp
call fcn.140021410
movsxd rdx, dword [r13 + 4]
mov rcx, qword [rbp + 0x60]
mov rbx, qword [rcx + rdx*8]
mov rdi, rax
cmp byte [rbx + 0x25], 0
je 0x14007bb78
mov ecx, dword [rsp + 0x380]
mov word [rax + 8], 1
jmp 0x14007894c
cmp byte [rbx + 0x26], 0
je 0x14007bb91
mov rax, qword [rbx + 0x40]
mov ecx, dword [rsp + 0x380]
mov qword [rdi], rax
jmp 0x14007894c
mov rax, qword [rbx]
cmp byte [rax + 0x5e], 1
je 0x14007bbb5
mov rcx, rbx
call fcn.140070c50
test eax, eax
mov ecx, eax
mov dword [rsp + 0x380], eax
jne 0x14007b7a2
jmp 0x14007bbbf
mov ecx, r14d
mov dword [rsp + 0x380], ecx
cmp byte [rbx + 0x25], 0
je 0x14007bbd0
mov word [rdi + 8], 1
jmp 0x14007894c
mov rbx, qword [rbx]
mov rcx, rbx
call fcn.14000baa0
mov rax, qword [rbx + 0x20]
mov ecx, r14d
mov qword [rdi], rax
mov dword [rsp + 0x380], ecx
jmp 0x14007894c
movsxd rcx, dword [r13 + 4]
mov rax, qword [rbp + 0x60]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx]
mov byte [rdx + 0x25], 1
mov dword [rdx + 0x50], r14d
test rcx, rcx
je case.0x140078632.101
call fcn.14000ff20
mov ecx, dword [rsp + 0x380]
jmp 0x140078951
movsxd rcx, dword [r13 + 4]
mov rax, qword [rbp + 0x60]
lea rdx, [rsp + 0xc4]
mov rbx, qword [rax + rcx*8]
mov dword [rsp + 0xc4], r14d
mov rcx, qword [rbx]
call fcn.14006db90
mov ecx, dword [rsp + 0xc4]
mov byte [rbx + 0x26], 0
mov byte [rbx + 0x25], cl
mov dword [rbx + 0x50], r14d
mov dword [rsp + 0x380], eax
mov eax, dword [r13 + 0xc]
mov dword [rbx + 0x18], eax
cmp dword [r13 + 8], 0
jle 0x140078815
test ecx, ecx
jne 0x14007c996
mov ecx, dword [rsp + 0x380]
jmp 0x140078951
add dword [rbp + 0xa8], 1
movsxd rcx, dword [r13 + 4]
mov rax, qword [rbp + 0x60]
mov ebx, r15d
mov rdi, qword [rax + rcx*8]
mov dword [rsp + 0xb4], ebx
cmp qword [rdi + 0x48], 0
je 0x14007bcc9
lea rdx, [rsp + 0xb4]
mov rcx, rdi
call fcn.14005bb20
mov ebx, dword [rsp + 0xb4]
mov dword [rsp + 0x380], eax
jmp 0x14007bd03
mov rsi, qword [rdi]
mov rcx, rsi
call fcn.140069270
test eax, eax
mov dword [rsp + 0x380], eax
jne 0x14007bcf6
cmp byte [rsi + 0x5e], al
je 0x14007bcf6
mov rcx, rsi
mov ebx, r14d
call fcn.140069090
mov dword [rsp + 0x380], eax
mov rsi, qword [rsp + 0x60]
mov byte [rdi + 0x26], 0
mov dword [rdi + 0x50], r14d
test ebx, ebx
mov byte [rdi + 0x25], bl
mov rdi, qword [rsp + 0x68]
jne 0x14007c996
mov ecx, dword [rsp + 0x380]
jmp 0x140078951
movsxd rcx, dword [r13 + 4]
mov rax, qword [rbp + 0x60]
lea r8, [rsp + 0x80]
mov rbx, qword [rax + rcx*8]
mov rcx, rsi
mov dword [rsp + 0x80], r14d
mov rdx, rbx
call fcn.140024f50
jmp 0x14007bd81
movsxd rcx, dword [r13 + 4]
mov rax, qword [rbp + 0x60]
cmp qword [rax + rcx*8], 0
je case.0x140078632.101
movsxd rcx, dword [r13 + 4]
mov rax, qword [rbp + 0x60]
lea rdx, [rsp + 0x80]
mov rbx, qword [rax + rcx*8]
mov eax, dword [r13 + 0xc]
mov dword [rsp + 0x80], eax
mov rcx, qword [rbx]
call qword [r13 + InitCommonControls]
mov dword [rbx + 0x50], r14d
cmp dword [rsp + 0x80], 0
mov dword [rsp + 0x380], eax
jne 0x14007bdac
mov byte [rbx + 0x25], 0
movzx eax, byte [r13 + 3]
add dword [rbp + rax*4 + 0xa0], 1
jmp case.0x140078632.7
mov byte [rbx + 0x25], 1
jmp 0x14007c4ea
movsxd rcx, dword [r13 + 4]
mov rax, qword [rbp + 0x60]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x40]
movsxd rbx, dword [rcx + 8]
imul rbx, rbx, 0x38
add rbx, r11
test byte [rcx + 3], 1
je 0x14007bdde
add dword [rbp + 0x90], 1
bt word [rbx + 8], 0xe
jae 0x14007be04
mov rcx, rbx
call fcn.140025950
test eax, eax
mov ecx, eax
mov dword [rsp + 0x380], eax
jne 0x140079bfd
mov rcx, qword [rsp + 0x40]
cmp byte [rcx], 0x6e
jne 0x14007be27
mov rdx, rbx
mov rcx, rdi
call fcn.14005bbc0
mov r13, qword [rsp + 0x40]
mov ecx, eax
mov dword [rsp + 0x380], eax
jmp 0x14007894c
test byte [rcx + 3], 0x10
je 0x14007be32
mov eax, dword [rdi + 0x18]
jmp 0x14007be35
mov eax, r14d
movsxd r8, dword [rbx + 0xc]
mov rdx, qword [rbx + 0x10]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0xc]
mov rcx, qword [rdi]
lea r9, [0x1400a8a48]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r14d
call fcn.14006ec70
mov r13, qword [rsp + 0x40]
mov dword [rdi + 0x50], r14d
mov ecx, eax
mov dword [rsp + 0x380], eax
jmp 0x14007894c
movsxd rcx, dword [r13 + 4]
mov rax, qword [rbp + 0x60]
lea rdx, [rsp + 0x1b0]
mov rbx, qword [rax + rcx*8]
xor r9d, r9d
xor r8d, r8d
mov rax, qword [rbx + 0x10]
mov rdi, qword [rbx]
mov byte [rsp + 0x1ba], 0
mov qword [rsp + 0x1b0], rax
movzx eax, word [r13 + 0xc]
mov rcx, rdi
mov word [rsp + 0x1b8], ax
movsxd rax, dword [r13 + 8]
imul rax, rax, 0x38
add rax, r11
mov qword [rsp + 0x1c0], rax
lea rax, [rsp + 0xcc]
mov qword [rsp + 0x20], rax
call fcn.14006d510
test eax, eax
mov ecx, eax
mov dword [rsp + 0x380], eax
jne 0x14007bf05
cmp dword [rsp + 0xcc], eax
jne 0x14007bf05
mov rcx, rdi
call fcn.1400719a0
mov ecx, eax
mov dword [rsp + 0x380], eax
mov dword [rbx + 0x50], r14d
jmp 0x14007894c
mov rdx, r13
mov rcx, rbp
call fcn.140021410
mov rcx, qword [rbp + 0x60]
movsxd rdx, dword [r13 + 4]
mov rbx, qword [rcx + rdx*8]
mov rdi, rax
mov rsi, qword [rbx]
mov word [rax + 8], 1
mov rcx, qword [rbx]
cmp byte [rcx + 0x5e], 1
je 0x14007bf55
mov rcx, rbx
call fcn.140070c50
test eax, eax
mov ecx, eax
mov dword [rsp + 0x380], eax
jne 0x14007b79d
jmp 0x14007bf5f
mov ecx, r14d
mov dword [rsp + 0x380], ecx
cmp byte [rbx + 0x25], 0
jne 0x140078947
mov rdx, rsi
mov rsi, qword [rsp + 0x60]
lea r8, [rsp + 0x88]
mov rcx, rsi
mov qword [rsp + 0x88], r14
call fcn.1400723f0
test eax, eax
mov ecx, eax
mov dword [rsp + 0x380], eax
jne 0x14007b7a2
mov rax, qword [rsp + 0x88]
mov word [rdi + 8], 4
mov qword [rdi], rax
jmp 0x14007894c
movsxd rcx, dword [r13 + 4]
mov rax, qword [rbp + 0x60]
cmp bl, 0x74
mov rdx, qword [rax + rcx*8]
lea r9, [rsp + 0xa8]
lea r8, [rsp + 0x1d0]
mov rax, qword [rdx + 0x10]
mov rcx, rsi
mov dword [rsp + 0xa8], r14d
mov qword [rsp + 0x1d0], rax
movzx eax, word [r13 + 0x10]
mov word [rsp + 0x1d8], ax
sbb al, al
mov byte [rsp + 0x1da], al
movsxd rax, dword [r13 + 0xc]
imul rax, rax, 0x38
add rax, r11
mov qword [rsp + 0x1e0], rax
call fcn.1400722b0
test byte [r13], 1
mov dword [rsp + 0x380], eax
mov eax, dword [rsp + 0xa8]
jne 0x14007c02d
neg eax
jmp 0x14007c030
add eax, 1
test eax, eax
jg 0x14007c996
mov ecx, dword [rsp + 0x380]
jmp 0x140078951
mov rdx, r13
mov rcx, rbp
call fcn.140021410
mov rbx, rax
mov word [rax + 8], 1
mov ecx, dword [rsi + 0xb4]
add ecx, 1
cmp dword [rsi + 0xa8], ecx
jle 0x14007c081
mov ecx, 6
mov byte [rbp + 0x8a], 2
mov dword [rsp + 0x380], ecx
jmp 0x140078951
movsxd rcx, dword [r13 + 0xc]
mov rax, qword [rsi + 0x20]
mov edx, dword [r13 + 4]
shl rcx, 5
lea r8, [rsp + 0xb0]
mov dword [rsp + 0xb0], r14d
mov rcx, qword [rcx + rax + 8]
call fcn.140070f30
mov word [rbx + 8], 4
mov dword [rsp + 0x380], eax
movsxd rax, dword [rsp + 0xb0]
mov ecx, dword [rsp + 0x380]
mov qword [rbx], rax
jmp 0x140078951
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsi + 0x20]
mov r13, qword [rsp + 0x40]
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 8]
mov edx, dword [r13 + 4]
mov dword [rsp + 0xc0], r14d
lea r8, [rsp + 0xc0]
cmove r8, r14
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14006ebc0
cmp dword [r13 + 0xc], 0
mov ecx, eax
mov dword [rsp + 0x380], eax
je 0x140078951
movsxd rax, dword [rsp + 0xc0]
mov r11, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
add dword [rbp + 0x90], eax
movsxd rcx, dword [r13 + 0xc]
mov r10, qword [rsp + 0x58]
test ecx, ecx
jle case.0x140078632.101
imul rcx, rcx, 0x38
add qword [rcx + r11], rax
mov ecx, dword [rsp + 0x380]
jmp case.default.0x140078632
movsxd rcx, dword [r13 + 4]
mov rax, qword [rbp + 0x60]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x48]
test rdx, rdx
je 0x14007c185
mov rcx, rsi
call fcn.14001d950
mov ecx, dword [rsp + 0x380]
jmp 0x140078951
mov rcx, qword [rcx]
call fcn.140071090
mov ecx, eax
mov dword [rsp + 0x380], eax
jmp 0x140078951
mov rdx, r13
mov rcx, rbp
call fcn.140021410
mov r8, qword [rsp + 0x60]
mov ebx, r14d
mov rsi, rax
mov rax, qword [rsp + 0x40]
lea rdx, [rsp + 0xf8]
movsxd rcx, dword [rax + 4]
mov r9d, r15d
mov edi, r14d
shl rcx, 5
mov byte [rsp + 0x20], 0
add rcx, qword [r8 + 0x20]
cmp byte [rax], 0x7a
lea r8, [rsp + 0xc8]
mov rcx, qword [rcx + 8]
setne bl
mov rcx, qword [rcx + 8]
add ebx, 1
call fcn.1400687b0
test eax, eax
mov dword [rsp + 0x380], eax
jne 0x14007c2db
test bl, 1
mov rbx, qword [rsp + 0xf8]
mov edx, 0xa
mov eax, InitCommonControls
mov rcx, rbx
cmovne edx, eax
call fcn.14003c880
mov r11, qword [rbx + 0x70]
test r11, r11
je 0x14007c2cc
test byte [r11 + 0x2c], 0x40
mov rbx, qword [r11 + 0x20]
je 0x14007c279
add dword [rbx + 0x98], 0xffffffff
mov rax, qword [rbx + 0xa8]
mov qword [r11 + 0x18], rax
mov rcx, qword [rbx + 0x48]
movsxd rax, dword [rbx + 0xbc]
mov qword [rbx + 0xa8], r11
mov edx, dword [r11 + 0x28]
mov r9, qword [rcx]
mov r8, qword [r11 + 8]
add edx, 0xffffffff
imul rdx, rax
call qword [r9 + 0x90]
jmp 0x14007c281
mov rcx, r11
call fcn.14000cd20
cmp dword [rbx + 0x98], 0
jne 0x14007c2cc
mov rax, qword [rbx + 0x110]
cmp dword [rax + 0x18], 0
jne 0x14007c2cc
movzx eax, byte [rbx + 0x14]
cmp al, 6
je 0x14007c2c4
test al, al
je 0x14007c2c4
cmp al, 2
jb 0x14007c2b1
mov rcx, rbx
call fcn.140056500
jmp 0x14007c2c4
cmp byte [rbx + 8], 0
jne 0x14007c2c4
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.140014df0
mov rcx, rbx
call fcn.140019fc0
mov edi, dword [rsp + 0xc8]
mov dword [rsp + 0x380], r14d
movsxd rax, edi
mov qword [rsi], rax
jmp 0x14007893b
movsxd rcx, dword [r13 + 4]
mov r8, qword [rsi + 0x20]
lea rax, [rbp + 0x48]
mov rdx, rcx
mov qword [rsp + 0x108], rax
mov rax, qword [r13 + 0x10]
shl rdx, 5
mov dword [rsp + 0x110], ecx
mov qword [rsp + 0x100], rsi
mov r8, qword [rdx + r8]
lea r9, str.sqlite_master
lea rdx, str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.140034e20
test rax, rax
mov rbx, rax
jne 0x14007c348
mov dword [rsp + 0x380], 7
jmp 0x14007c3a4
lea r9, [rsp + 0x100]
lea r8, [fcn.140078220]
mov rdx, rax
mov rcx, rsi
mov byte [rsi + 0xa1], 1
mov dword [rsp + 0x114], r14d
mov qword [rsp + 0x20], r14
call fcn.14007d480
mov rdx, rbx
test eax, eax
mov rcx, rsi
cmove eax, dword [rsp + 0x114]
mov dword [rsp + 0x380], eax
call fcn.1400130c0
mov ecx, dword [rsp + 0x380]
test ecx, ecx
mov byte [rsi + 0xa1], 0
je 0x14007c3b3
mov rcx, rsi
call fcn.1400234e0
mov ecx, dword [rsp + 0x380]
cmp ecx, 7
je 0x14007a0f6
jmp 0x140078951
mov rax, qword [rsp + 0x40]
mov rcx, rsi
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.140023380
mov ecx, dword [rsp + 0x380]
mov r13, qword [rsp + 0x40]
jmp 0x140078951
mov rax, qword [rsp + 0x40]
mov rcx, rsi
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.14001c3f0
mov ecx, dword [rsp + 0x380]
mov r13, qword [rsp + 0x40]
jmp 0x140078951
mov rax, qword [rsp + 0x40]
movsxd rbx, dword [rax + 4]
movsxd rdi, dword [rax + 8]
imul rbx, rbx, 0x38
imul rdi, rdi, 0x38
add rbx, r11
add rdi, r11
test byte [rbx + 8], 0x20
jne 0x14007c43e
mov rcx, rbx
call fcn.140023fd0
test byte [rbx + 8], 0x20
je 0x14007a0f6
mov rdx, qword [rdi]
mov rcx, qword [rbx]
call fcn.14001eb70
mov ecx, dword [rsp + 0x380]
mov r13, qword [rsp + 0x40]
jmp 0x14007894c
movsxd rbx, dword [r13 + 4]
imul rbx, rbx, 0x38
add rbx, r11
test byte [rbx + 8], 0x20
je 0x14007c4b9
mov rcx, qword [rbx]
lea rdx, [rsp + 0xf0]
call fcn.14001a180
test eax, eax
je 0x14007c4b9
movsxd rcx, dword [r13 + 0xc]
mov r11, qword [rsp + 0x48]
imul rcx, rcx, 0x38
add rcx, r11
test word [rcx + 8], 0x2460
je 0x14007c4a6
mov rdx, qword [rsp + 0xf0]
call fcn.140021630
jmp 0x14007c4ea
mov rax, qword [rsp + 0xf0]
mov word [rcx + 8], 4
mov qword [rcx], rax
jmp 0x14007c4ef
test word [rbx + 8], 0x2460
je 0x14007c4cb
mov rcx, rbx
call fcn.1400198b0
jmp case.0x140078632.7
mov word [rbx + 8], 1
mov eax, dword [r13 + 8]
sub eax, 1
cdqe
lea rcx, [rax + rax*2]
lea rax, [rdi + rcx*8]
mov qword [rsp + 0x40], rax
mov r13, rax
mov r11, qword [rsp + 0x48]
mov eax, dword [rsi + 0x138]
test eax, eax
jne 0x14007ccd0
mov ecx, dword [rsp + 0x380]
jmp 0x140078956
mov rax, qword [rsp + 0x40]
movsxd rbx, dword [rax + 4]
movsxd rdi, dword [rax + 0xc]
mov esi, dword [rax + 0x10]
imul rbx, rbx, 0x38
imul rdi, rdi, 0x38
add rbx, r11
add rdi, r11
test byte [rbx + 8], 0x20
jne 0x14007c53f
mov rcx, rbx
call fcn.140023fd0
test byte [rbx + 8], 0x20
je 0x14007a0f1
test esi, esi
je 0x14007c55a
mov r8, qword [rdi]
mov rcx, qword [rbx]
mov edx, esi
call fcn.14001e8b0
test eax, eax
jne 0x14007c987
test esi, esi
js 0x14007893b
mov rdx, qword [rdi]
mov rcx, qword [rbx]
call fcn.14001eb70
jmp 0x14007893b
bt dword [rsi + 0x2c], 0x18
jae 0x14007c58e
movsxd rax, dword [r13 + 8]
mov ecx, dword [rsp + 0x380]
add qword [rsi + 0x2b8], rax
jmp case.default.0x140078632
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x380]
cmp dword [rax + 4], 0
mov r13, rax
movsxd rax, dword [rax + 8]
je 0x14007c5b3
add qword [rsi + 0x2b0], rax
jmp case.default.0x140078632
add qword [rbp + 0xc0], rax
jmp case.default.0x140078632
cmp dword [r13 + 4], 0
je 0x14007c5ee
cmp qword [rsi + 0x2b0], 0
jne case.0x140078632.101
cmp qword [rsi + 0x2b8], 0
je 0x14007c996
mov ecx, dword [rsp + 0x380]
jmp case.default.0x140078632
cmp qword [rbp + 0xc0], 0
jne case.0x140078632.101
cmp qword [rsi + 0x2b8], 0
je 0x14007c996
mov ecx, dword [rsp + 0x380]
jmp case.default.0x140078632
movsxd rax, dword [r13 + 4]
imul rax, rax, 0x38
cmp qword [rax + r11], 0
jg 0x14007c996
mov ecx, dword [rsp + 0x380]
jmp case.default.0x140078632
mov rax, qword [rsp + 0x40]
mov r13, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
movsxd rax, dword [rax + 0xc]
imul rcx, rcx, 0x38
add qword [rcx + r11], rax
js 0x14007c996
mov ecx, dword [rsp + 0x380]
jmp case.default.0x140078632
movsxd rcx, dword [r13 + 4]
imul rcx, rcx, 0x38
mov rdx, qword [rcx + r11]
test rdx, rdx
je case.0x140078632.101
movsxd rax, dword [r13 + 0xc]
add rax, rdx
mov qword [rcx + r11], rax
jmp 0x14007c996
movsxd rax, dword [r13 + 4]
imul rax, rax, 0x38
add qword [rax + r11], 0xffffffffffffffff
je 0x14007c996
mov ecx, dword [rsp + 0x380]
jmp case.default.0x140078632
movsxd rdx, dword [r13 + 4]
imul rdx, rdx, 0x38
mov rcx, qword [rdx + r11]
test rcx, rcx
lea rax, [rcx + 1]
mov qword [rdx + r11], rax
je 0x14007c996
mov ecx, dword [rsp + 0x380]
jmp case.default.0x140078632
movzx ebx, byte [r13 + 3]
mov rcx, rsi
lea eax, [rbx - 1]
movsxd rdx, eax
lea rdx, [rdx*8 + 0x38]
call fcn.140015b90
test rax, rax
mov r11, rax
je 0x14007a0f6
mov qword [rax + 0x10], r14
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x10]
mov qword [r11 + 0x18], rbp
mov byte [r11 + 0x2a], bl
mov qword [r11 + 8], rcx
mov rcx, rax
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rdi
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [rsp + 0x40]
mov dword [r11 + 0x20], edx
mov qword [rax + 0x10], r11
mov r11, qword [rsp + 0x48]
mov byte [rax + 1], 0xec
mov byte [rax], 0x90
jmp 0x14007c74f
mov rax, qword [rsp + 0x40]
movsxd r10, dword [rax + 0xc]
mov rbx, qword [rax + 0x10]
imul r10, r10, 0x38
add r10, r11
cmp qword [rbx + 0x10], r10
mov qword [rsp + 0x88], r10
je 0x14007c7b8
movzx edx, byte [rbx + 0x2a]
mov qword [rbx + 0x10], r10
sub edx, 1
movsxd r8, edx
js 0x14007c7b8
mov r10, qword [rsp + 0x40]
lea r9, [rbx + r8*8 + 0x30]
nop
nop
nop
mov eax, dword [r10 + 8]
sub r9, 8
add eax, edx
sub edx, 1
cdqe
imul rax, rax, 0x38
add rax, r11
sub r8, 1
mov qword [r9 + 8], rax
jns 0x14007c790
mov r10, qword [rsp + 0x88]
add dword [r10 + 0xc], 1
mov word [rsp + 0x160], 1
mov qword [rsp + 0x180], rsi
mov dword [rsp + 0x178], r14d
movzx edx, byte [rbx + 0x2a]
lea rax, [rsp + 0x158]
mov qword [rbx], rax
mov rax, qword [rbx + 8]
lea r8, [rbx + 0x30]
mov rcx, rbx
mov byte [rbx + 0x29], 0
mov byte [rbx + 0x28], 0
call qword [rax + 0x20]
cmp byte [rbx + 0x29], 0
je 0x14007c88f
cmp dword [rbx + 0x24], 0
je 0x14007c86c
movzx eax, word [rsp + 0x160]
and ax, 0x202
cmp ax, 0x202
jne 0x14007c832
cmp byte [rsp + 0x162], 1
jne 0x14007c832
mov rax, qword [rsp + 0x168]
jmp 0x14007c850
test byte [rsp + 0x160], 1
je 0x14007c841
mov rax, r14
jmp 0x14007c850
lea rcx, [rsp + 0x158]
mov dl, 1
call fcn.14002c9a0
lea rdx, [0x1400af02c]
mov r8, rax
mov rcx, rbp
call fcn.140034680
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x380], eax
test word [rsp + 0x160], 0x2460
jne 0x14007c882
cmp dword [rsp + 0x178], 0
je 0x14007c88f
lea rcx, [rsp + 0x158]
call fcn.14001e0c0
cmp byte [rbx + 0x28], 0
mov r13, qword [rsp + 0x40]
je 0x140078815
movsxd rax, dword [r13 - 0x14]
mov r11, qword [rsp + 0x48]
test eax, eax
je 0x14007c4fd
imul rax, rax, 0x38
add rax, r11
test word [rax + 8], 0x2460
je 0x14007c8d5
mov rdx, r15
mov rcx, rax
call fcn.140021630
mov ecx, dword [rsp + 0x380]
jmp 0x140078951
mov ecx, dword [rsp + 0x380]
mov qword [rax], r15
mov word [rax + 8], 4
jmp 0x140078956
mov rax, qword [rsp + 0x40]
movsxd rbx, dword [rax + 4]
mov rdx, qword [rax + 0x10]
imul rbx, rbx, 0x38
add rbx, r11
mov rcx, rbx
call fcn.140014cc0
test eax, eax
mov dword [rsp + 0x380], eax
je 0x14007c92b
mov rcx, rbx
call fcn.14002f310
lea rdx, [0x1400af02c]
mov rcx, rbp
mov r8, rax
call fcn.140034680
mov rcx, rbx
call fcn.140006690
test eax, eax
jne 0x14007ccb3
mov ecx, dword [rsp + 0x380]
mov r13, qword [rsp + 0x40]
jmp 0x140078951
cmp dword [r13 + 4], 0
jne 0x14007c967
mov rcx, rsi
call fcn.140006050
mov ecx, dword [rsp + 0x380]
jmp case.default.0x140078632
or dword [rbp + 0x8c], 8
mov ecx, dword [rsp + 0x380]
jmp case.default.0x140078632
cmp dword [r13 + 8], 0
je case.0x140078632.101
jmp 0x14007c996
mov r13, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov eax, dword [r13 + 8]
sub eax, 1
cdqe
lea rcx, [rax + rax*2]
lea r13, [rdi + rcx*8]
mov ecx, dword [rsp + 0x380]
jmp 0x140078951
mov ecx, dword [rsp + 0x380]
mov r13, qword [rsp + 0x40]
jmp case.default.0x140078632
mov ecx, dword [rsp + 0x380]
mov r13, qword [rsp + 0x40]
xor r14d, r14d
jmp 0x140078951
mov ecx, dword [rsp + 0x380]
mov rdi, qword [rsp + 0x68]
jmp case.default.0x140078632
mov ecx, dword [rdx + 4]
test ecx, ecx
mov dword [rbp + 0x84], ecx
movzx eax, byte [rdx + 8]
mov byte [rbp + 0x8a], al
mov dword [rbp + 0x80], ebx
je 0x14007ca92
movzx eax, byte [rdx + 3]
test al, al
je 0x14007ca46
lea rcx, [0x140000000]
movzx eax, al
mov r14, qword [rcx + rax*8 + 0xabea8]
test r14, r14
je 0x14007ca46
mov r9, qword [rdx + 0x10]
test r9, r9
je 0x14007ca46
lea rdx, str._s_constraint_failed:__s
mov r8, r14
mov rcx, rbp
call fcn.140034680
jmp 0x14007ca6a
mov r8, qword [rdx + 0x10]
mov rcx, rbp
test r8, r8
je 0x14007ca5b
lea rdx, [0x1400af02c]
jmp 0x14007ca65
mov r8, r14
lea rdx, str._s_constraint_failed
call fcn.140034680
mov rax, qword [rbp + 0x48]
mov r13, qword [rsp + 0x40]
mov r9, qword [rbp + 0xd8]
mov ecx, dword [r13 + 4]
lea rdx, str.abort_at__d_in___s_:__s
mov r8d, ebx
mov qword [rsp + 0x20], rax
call fcn.140034d20
mov rcx, rbp
call fcn.140076830
cmp eax, 5
je 0x14007cae1
cmp dword [rbp + 0x84], 0
mov eax, 0x65
cmovne eax, r15d
jmp 0x14007cd96
mov rcx, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rdi
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbp + 0x80], edx
mov byte [rsi + 0x4f], 0
mov eax, 5
mov dword [rbp + 0x84], eax
jmp 0x14007cd96
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [rbp + 0x84], 0x313
mov byte [rbp + 0x8a], 2
call fcn.140034680
jmp 0x14007cd91
test ecx, ecx
je 0x14007cb48
mov edx, 0x204
mov rcx, rsi
call fcn.14006f980
mov byte [rsi + 0x4f], 1
mov rcx, rsi
call fcn.1400132f0
cmp dword [rbp + 0x84], 0
mov eax, 0x65
cmove r15d, eax
mov eax, r15d
jmp 0x14007cd96
mov rax, qword [rbp]
mov rcx, qword [rax + 0x2b8]
add rcx, qword [rax + 0x2b0]
test rcx, rcx
mov rcx, rbp
jle 0x14007cb87
lea rdx, str.FOREIGN_KEY_constraint_failed
mov dword [rbp + 0x84], 0x313
mov byte [rbp + 0x8a], 2
call fcn.140034680
mov eax, r15d
jmp 0x14007cd96
mov byte [rsi + 0x4f], bl
call fcn.140076830
cmp eax, 5
jne 0x14007cb28
mov rcx, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rdi
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
sub r15b, bl
mov eax, 5
mov dword [rbp + 0x80], edx
mov byte [rsi + 0x4f], r15b
mov dword [rbp + 0x84], eax
jmp 0x14007cd96
mov ecx, 8
mov dword [rsp + 0x380], ecx
jmp 0x14007b7a2
mov rcx, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rdi
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 5
mov dword [rbp + 0x84], eax
mov dword [rbp + 0x80], edx
jmp 0x14007cd96
lea r9, [0x1400b0b4c]
lea rdx, str.database_corruption_at_line__d_of___.10s_
mov r8d, 0x12705
mov ecx, 0xb
call fcn.140034d20
mov ecx, 0xb
mov dword [rsp + 0x380], ecx
jmp 0x14007b79d
cmp ecx, 0xc0a
je 0x14007cd22
cmp ecx, 0x204
je 0x14007cc76
mov ecx, dword [rsp + 0x380]
lea rdx, str.unknown_error
call fcn.140003990
jmp 0x14007cc7d
lea rax, str.abort_due_to_ROLLBACK
mov rbp, qword [rsp + 0x370]
lea rdx, [0x1400af02c]
mov r8, rax
mov rcx, rbp
call fcn.140034680
mov ecx, dword [rsp + 0x380]
jmp 0x14007cd2a
mov rsi, r8
jmp 0x14007ccab
mov rsi, rax
mov rbp, qword [rsp + 0x370]
lea rdx, str.string_or_blob_too_big
mov rcx, rbp
call fcn.140034680
mov ecx, 0x12
mov dword [rsp + 0x380], ecx
jmp 0x14007cd2a
mov dword [rbp + 0x84], 9
mov rax, qword [str.interrupted]
lea r8, str.unknown_error
test rax, rax
lea rdx, [0x1400af02c]
mov rcx, rbp
cmovne r8, rax
mov dword [rsp + 0x380], 9
call fcn.140034680
mov ecx, dword [rsp + 0x380]
jmp 0x14007cd2a
mov rbp, qword [rsp + 0x370]
mov rsi, r8
jmp 0x14007a0f6
mov rbp, qword [rsp + 0x370]
mov r9, qword [rbp + 0xd8]
mov dword [rbp + 0x84], ecx
mov rcx, qword [rsp + 0x40]
sub rcx, qword [rsp + 0x68]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [rbp + 0x48]
mov ecx, dword [rsp + 0x380]
sar rdx, 2
mov qword [rsp + 0x20], rax
mov r8, rdx
shr r8, 0x3f
add r8, rdx
lea rdx, str.statement_aborts_at__d:___s___s
call fcn.140034d20
mov rcx, rbp
call fcn.140076830
cmp dword [rsp + 0x380], 0xc0a
jne 0x14007cd91
mov byte [rsi + 0x51], 1
mov eax, 1
mov rdx, qword [rsp + 0x58]
mov ecx, dword [rsp + 0xa4]
mov qword [rsi + 0x30], rdx
add dword [rbp + 0xb0], ecx
add rsp, 0x328
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret