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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x168]
sub rsp, 0x228
mov r14, qword [rcx + 0x88]
mov r11, rcx
xor ecx, ecx
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
mov rdi, r14
mov qword [rsp + 0x38], r14
mov bl, cl
mov r15, qword [r11]
mov r9d, ecx
mov r12, qword [r11 + 0x68]
lea eax, [rcx + 7]
lea r13d, [rcx + 1]
mov dword [rsp + 0x34], ecx
mov edx, ecx
mov qword [rsp + 0x48], r15
mov sil, byte [r15 + 0x5e]
mov byte [rbp + 0x180], sil
mov byte [rbp + 0x178], cl
mov dword [rsp + 0x30], ecx
mov dword [rbp - 0x5c], ecx
mov qword [rsp + 0x40], r12
cmp dword [r11 + 0x38], eax
je 0x14003d0e4
mov qword [r11 + 0x48], rcx
mov qword [r11 + 0xa0], rcx
mov eax, dword [r15 + 0x160]
mov dword [r15 + 0x228], ecx
test eax, eax
jne 0x140037d8a
movsxd rax, dword [r11 + 0x34]
lea r10d, [r13 + 1]
lea r8d, [r13 + 3]
xorps xmm7, xmm7
lea rcx, [rax + rax*2]
lea eax, [r13 + 4]
lea rdi, [r14 + rcx*8]
lea ecx, [rax + 3]
movzx ebx, byte [rdi]
add edx, r13d
mov qword [rbp - 0x80], rdi
mov dword [rbp - 0x5c], edx
cmp ebx, 0x52
ja 0x140039beb
je 0x140039bbb
cmp ebx, 0x29
ja 0x140038bff
je 0x140038bb3
cmp ebx, 0x14
ja 0x1400384cb
je 0x1400384a4
cmp ebx, 0xa
ja 0x14003821a
je 0x14003810a
cmp ebx, eax
ja 0x140037dc9
je 0x14003771a
xor eax, eax
test ebx, ebx
je 0x1400378dc
sub ebx, 1
je 0x14003cd90
sub ebx, 1
je 0x140037778
sub ebx, 1
je 0x14003775f
cmp ebx, 1
jne 0x1400378c5
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov edx, dword [rdi + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
call qword [rdi + 0x10]
mov dword [rsp + 0x34], eax
xor r12d, r12d
mov dword [rbx + 0x28], r12d
test eax, eax
jne 0x140037d5c
mov r11, qword [rbp + 0x170]
mov byte [rbx + 2], r12b
movzx eax, word [rdi + 2]
add dword [r11 + rax*4 + 0xd4], r13d
jmp 0x140039246
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r15
mov rdx, rbx
call fcn.14003f544
jmp 0x140037730
mov edx, dword [rdi + 8]
mov dword [rbp + 0x188], eax
test edx, edx
je 0x140037794
mov eax, dword [r15 + 0x30]
bt rax, 0x14
jb 0x14003ccda
movsxd rcx, dword [rdi + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x1400378d6
lea r8, [rbp + 0x188]
mov rcx, rbx
call fcn.140027d64
xor ecx, ecx
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14003cce1
mov r11, qword [rbp + 0x170]
cmp dword [rdi + 8], ecx
je 0x140037871
mov edx, 0x80
test byte [r11 + 0xc8], dl
je 0x140037871
cmp byte [r15 + 0x5f], cl
je 0x1400377fc
cmp dword [r15 + 0xcc], r13d
jle 0x140037871
mov r8d, dword [r11 + 0x40]
test r8d, r8d
jne 0x14003781e
add dword [r15 + 0x280], r13d
mov r8d, dword [r15 + 0x27c]
add r8d, dword [r15 + 0x280]
mov dword [r11 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, r15
call fcn.14006f430
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037850
mov r12, qword [rbp + 0x170]
mov rcx, rbx
mov edx, dword [r12 + 0x40]
call fcn.140028cbc
mov r12, qword [rsp + 0x40]
mov dword [rsp + 0x34], eax
mov rax, qword [r15 + 0x288]
mov r11, qword [rbp + 0x170]
mov qword [r11 + 0x58], rax
mov rax, qword [r15 + 0x290]
mov qword [r11 + 0x60], rax
mov eax, dword [rsp + 0x34]
mov r9d, dword [rsp + 0x30]
mov r10d, 2
lea r8d, [r10 + 2]
xor ebx, ebx
cmp word [rdi + 2], bx
je 0x1400378b8
mov eax, dword [rdi + 0xc]
cmp dword [rbp + 0x188], eax
jne 0x14003cd1d
mov rax, qword [r15 + 0x20]
movsxd rcx, dword [rdi + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rdi + 0x10]
cmp dword [rcx + 4], eax
jne 0x14003cd1d
mov eax, dword [rsp + 0x34]
test eax, eax
jne 0x140037a27
mov ecx, 8
mov eax, 5
mov edx, dword [rbp - 0x5c]
add rdi, 0x18
jmp 0x1400376a1
mov eax, dword [rsp + 0x34]
jmp 0x140037880
mov r13d, dword [rdi + 4]
mov r14, qword [rdi + 0x10]
test r13d, r13d
jne 0x1400379d4
cmp dword [r15 + 0xd0], eax
jg 0x14003ce91
test r14, r14
jne 0x140037903
mov ebx, eax
jmp 0x140037916
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [r14 + rbx], al
jne 0x140037907
and ebx, 0x3fffffff
mov r8d, dword [r15 + 0x280]
xor edx, edx
add r8d, dword [r15 + 0x27c]
mov rcx, r15
call fcn.14006f430
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037a27
mov edx, ebx
mov rcx, r15
add rdx, 0x21
call fcn.140016d7c
mov rsi, rax
test rax, rax
je 0x1400379a5
lea rcx, [rax + 0x20]
mov rdx, r14
lea r8d, [rbx + 1]
mov qword [rax], rcx
call sub.VCRUNTIME140.dll_memcpy
xor ebx, ebx
cmp byte [r15 + 0x5f], bl
je 0x140037976
mov byte [r15 + 0x5f], bl
mov byte [r15 + 0x67], 1
jmp 0x14003797d
inc dword [r15 + 0x27c]
mov rax, qword [r15 + 0x270]
mov qword [rsi + 0x18], rax
mov rax, qword [r15 + 0x288]
mov qword [r15 + 0x270], rsi
mov qword [rsi + 8], rax
mov rax, qword [r15 + 0x290]
mov qword [rsi + 0x10], rax
mov r13d, 1
mov r11, qword [rbp + 0x170]
mov r14, qword [rsp + 0x38]
mov sil, byte [rbp + 0x180]
mov r9d, dword [rsp + 0x30]
mov r8d, 4
mov r10d, 2
jmp 0x1400378c0
mov r10, qword [rsp + 0x48]
mov r15d, eax
mov rsi, qword [r10 + 0x270]
test rsi, rsi
je 0x140037a10
xor ebx, ebx
mov rcx, qword [rsi]
mov rdx, r14
call fcn.140019468
test eax, eax
je 0x140037afc
mov rsi, qword [rsi + 0x18]
inc r15d
test rsi, rsi
jne 0x1400379ea
mov r11, qword [rbp + 0x170]
mov r8, r14
lea rdx, str.no_such_savepoint:__s
mov rcx, r11
call fcn.14003187c
mov eax, 1
mov r12, qword [rbp + 0x170]
mov bl, byte [rbp + 0x178]
mov ecx, 7
mov r13, qword [rsp + 0x48]
xor r14d, r14d
mov esi, 0xc0a
cmp byte [r13 + 0x61], r14b
cmovne eax, ecx
mov dword [rsp + 0x34], eax
cmp qword [r12 + 0xa8], r14
jne 0x140037a7c
cmp eax, esi
je 0x140037a7c
mov ecx, eax
call fcn.140081b58
mov r8, rax
lea rdx, [0x1400e6fd0]
mov rcx, r12
call fcn.14003187c
mov eax, dword [rsp + 0x34]
mov edx, eax
mov dword [r12 + 0x38], eax
mov rcx, r13
call fcn.1400192a0
mov rax, qword [r12 + 0xa8]
lea rdx, str.statement_aborts_at__d:___s___s
sub rdi, qword [rsp + 0x38]
movabs r8, 0xaaaaaaaaaaaaaaab
mov r9, qword [r12 + 0xf0]
mov ecx, dword [rsp + 0x34]
sar rdi, 3
imul r8, rdi
mov qword [rsp + 0x20], rax
call fcn.1400189a8
mov rcx, r12
call fcn.140033ca4
cmp dword [rsp + 0x34], esi
jne 0x140037add
mov rcx, r13
call fcn.140017044
mov edi, 1
test bl, bl
je 0x14003d0fb
movzx edx, bl
mov rcx, r13
dec edx
call fcn.14004d578
jmp 0x14003d0fb
mov r9, qword [rsp + 0x48]
mov ecx, 1
cmp dword [r9 + 0xd0], ebx
jle 0x140037b18
cmp r13d, ecx
je 0x14003ce9d
lea r14, [rsi + 0x18]
mov qword [rbp - 0x80], r14
cmp qword [r14], rbx
jne 0x140037b8d
cmp byte [r9 + 0x67], bl
je 0x140037b8d
mov dword [rbp + 0x188], ecx
mov ebx, ecx
cmp r13d, ecx
jne 0x140037b95
mov r12, qword [rbp + 0x170]
mov edx, ecx
mov rcx, r12
call fcn.140033c54
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14003d0f7
mov r10, qword [rsp + 0x48]
mov rcx, r12
mov byte [r10 + 0x5f], 1
call fcn.140033ca4
mov edx, 5
cmp eax, edx
je 0x14003cebd
mov r9, qword [rsp + 0x48]
xor eax, eax
mov byte [r9 + 0x67], al
mov ecx, dword [r12 + 0x38]
mov dword [rsp + 0x34], ecx
jmp 0x140037c92
mov dword [rbp + 0x188], ebx
jmp 0x140037b97
xor ebx, ebx
mov eax, dword [r9 + 0x27c]
mov edx, 2
sub eax, r15d
mov r15d, eax
mov eax, dword [r9 + 0x28]
sub r15d, ecx
mov dword [rbp - 0x78], r15d
cmp r13d, edx
jne 0x140037c0f
mov r12d, dword [r9 + 0x2c]
mov r15d, ebx
and r12d, ecx
test eax, eax
jle 0x140037c09
mov r14d, r12d
xor r14d, ecx
mov rcx, qword [r9 + 0x20]
mov r8d, r14d
mov edx, 0x204
mov rcx, qword [rbx + rcx + 8]
call fcn.140028afc
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037a27
mov r9, qword [rsp + 0x48]
lea ecx, [rax + 1]
add r15d, ecx
add rbx, 0x20
mov eax, dword [r9 + 0x28]
cmp r15d, eax
jl 0x140037bcd
xor ebx, ebx
mov r15d, dword [rbp - 0x78]
jmp 0x140037c12
mov r12d, ebx
mov r14d, ebx
test eax, eax
jle 0x140037c4e
mov rcx, qword [r9 + 0x20]
mov r8d, r15d
mov edx, r13d
mov rcx, qword [rbx + rcx + 8]
call fcn.140028ce0
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037a27
mov r9, qword [rsp + 0x48]
lea ecx, [rax + 1]
add r14d, ecx
add rbx, 0x20
cmp r14d, dword [r9 + 0x28]
jl 0x140037c19
test r12d, r12d
je 0x140037c81
mov rax, qword [r9 + 8]
jmp 0x140037c6a
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], ecx
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140037c59
mov rcx, r9
call fcn.14004d5f4
mov r9, qword [rsp + 0x48]
or dword [r9 + 0x2c], 1
mov r12, qword [rbp + 0x170]
mov r14, qword [rbp - 0x80]
mov ebx, dword [rbp + 0x188]
mov rcx, qword [r9 + 0x270]
jmp 0x140037cc4
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r9
mov qword [r9 + 0x270], rax
call fcn.140016b08
mov r9, qword [rsp + 0x48]
mov rcx, qword [r9 + 0x270]
dec dword [r9 + 0x27c]
cmp rcx, rsi
jne 0x140037c9b
cmp r13d, 1
jne 0x140037cf6
mov rax, qword [r14]
mov rdx, rsi
mov rcx, r9
mov qword [r9 + 0x270], rax
call fcn.140016b08
test ebx, ebx
jne 0x140037d36
mov r9, qword [rsp + 0x48]
dec dword [r9 + 0x27c]
jmp 0x140037d1a
mov rax, qword [rsi + 8]
mov qword [r9 + 0x288], rax
mov rax, qword [rsi + 0x10]
mov qword [r9 + 0x290], rax
test ebx, ebx
je 0x140037d1a
mov eax, 2
cmp r13d, eax
jne 0x140037d36
mov r8d, r15d
mov edx, r13d
mov rcx, r9
call fcn.14006f430
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037a2e
jmp 0x140037d3a
mov eax, dword [rsp + 0x34]
test eax, eax
jne 0x140037a2e
lea r13d, [rax + 1]
mov r11, qword [rbp + 0x170]
mov r15, qword [rsp + 0x48]
mov r12, qword [rsp + 0x40]
jmp 0x1400379b2
cmp eax, 0x65
jne 0x140037a27
mov dword [rsp + 0x34], r12d
mov byte [rbx + 2], r13b
mov r11, qword [rbp + 0x170]
mov eax, dword [r15 + 0x160]
test eax, eax
je 0x1400381d1
mov bl, byte [rbp + 0x178]
mov al, byte [r15 + 0x61]
neg al
sbb eax, eax
and eax, 0xfffffffe
add eax, 9
mov ecx, eax
mov dword [rsp + 0x34], eax
mov dword [r11 + 0x38], eax
call fcn.140081b58
mov r12, qword [rbp + 0x170]
lea rdx, [0x1400e6fd0]
mov rcx, r12
mov r8, rax
call fcn.14003187c
mov eax, dword [rsp + 0x34]
jmp 0x140037a34
sub ebx, 6
je 0x140038091
sub ebx, 1
je 0x140037f00
sub ebx, 1
je 0x140037ebe
cmp ebx, 1
jne 0x1400378c5
movsxd rax, dword [rdi + 0xc]
lea r10, [r12 + 0x38]
movsxd rcx, dword [rdi + 4]
mov rsi, qword [r11 + 0x70]
imul rdx, rax, 0x38
mov rax, qword [r11 + 0x78]
add r10, rdx
mov r13, qword [rax + rcx*8]
xor eax, eax
movsxd r9, dword [r10]
mov r12d, dword [rdx + r12]
mov edx, eax
mov qword [rbp + 0x188], r13
mov rbx, qword [r13 + 0x38]
mov r15, qword [rbx]
mov r14, qword [r15]
test r9d, r9d
jle 0x140037e55
lea r13d, [rax + 1]
mov r8d, r13d
movsxd rax, r8d
add r8d, r13d
imul rcx, rax, 0x38
add rcx, r10
mov qword [rsi + rdx*8], rcx
add rdx, r13
cmp rdx, r9
jl 0x140037e35
mov r13, qword [rbp + 0x188]
mov r8, qword [rdi + 0x10]
mov edx, r12d
mov rcx, rbx
mov qword [rsp + 0x20], rsi
call qword [r14 + 0x40]
mov r12, qword [rbp + 0x170]
mov rdx, r15
mov rcx, r12
mov dword [rsp + 0x34], eax
call fcn.1400355a4
mov eax, dword [rsp + 0x34]
test eax, eax
jne 0x140037a2e
mov rcx, rbx
call qword [r14 + 0x50]
mov r12, qword [rsp + 0x40]
xor ebx, ebx
mov r14, qword [rsp + 0x38]
mov byte [r13 + 2], bl
lea r13d, [rbx + 1]
test eax, eax
jne 0x1400383e1
mov r11, qword [rbp + 0x170]
mov r15, qword [rsp + 0x48]
jmp 0x1400379b7
xor ebx, ebx
cmp dword [rdi + 8], ebx
je 0x140037ed2
movsxd rax, dword [rdi + 8]
imul r9, rax, 0x38
add r9, r12
jmp 0x140037ed5
mov r9, rbx
mov r8d, dword [rdi + 4]
lea rcx, [r11 + 0xa8]
mov rdx, r15
call fcn.14006de14
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037a27
mov r11, qword [rbp + 0x170]
jmp 0x1400379be
mov rdx, rdi
mov rcx, r11
call fcn.1400375b4
mov r10, qword [rsp + 0x48]
mov r15, rax
movsxd rcx, dword [rdi + 4]
mov ebx, dword [rdi + 0xc]
shl rcx, 5
mov rax, qword [r10 + 0x20]
mov r12, qword [rcx + rax + 8]
mov rcx, r12
call fcn.14002e94c
mov rcx, rax
mov r14, rax
call fcn.140022d4c
cmp ebx, 0xffffffff
mov rcx, r14
mov esi, eax
cmove ebx, eax
call fcn.140022d54
test eax, eax
mov edx, r13d
mov rcx, r14
cmove ebx, esi
call fcn.140022aac
mov edx, 5
cmp ebx, edx
jne 0x140037ff4
mov rcx, rax
call fcn.140019234
test eax, eax
je 0x140037f81
mov rcx, r14
call fcn.140022d74
xor ecx, ecx
test eax, eax
jne 0x140037ff8
mov ebx, esi
mov eax, dword [rsp + 0x34]
test eax, eax
je 0x140037f8d
mov ebx, esi
mov edx, ebx
mov rcx, r14
call fcn.140022c38
mov ecx, 0xa02
mov word [r15 + 8], cx
mov ecx, eax
call fcn.14005d748
mov rcx, rax
mov qword [r15 + 0x10], rax
call fcn.140019234
movzx esi, byte [rbp + 0x180]
mov rcx, r15
mov edx, esi
mov dword [r15 + 0xc], eax
mov byte [r15 + 0xa], r13b
call fcn.140030224
mov eax, dword [rsp + 0x34]
test eax, eax
jne 0x140037a27
mov r15, qword [rsp + 0x48]
mov r12, qword [rsp + 0x40]
mov r11, qword [rbp + 0x170]
mov r14, qword [rsp + 0x38]
jmp 0x1400379be
xor ecx, ecx
jmp 0x140037ffd
mov edx, 5
cmp ebx, esi
je 0x140037f83
cmp esi, edx
je 0x14003800d
cmp ebx, edx
jne 0x140037f83
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x5f], cl
je 0x14003ceef
cmp dword [rax + 0xcc], r13d
jg 0x14003ceef
cmp esi, edx
jne 0x140038051
mov rdx, rax
mov rcx, r14
call fcn.140022e94
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037f8b
mov edx, ebx
mov rcx, r14
call fcn.140022c38
xor ecx, ecx
jmp 0x140038071
mov eax, 4
cmp esi, eax
jne 0x140038067
lea edx, [rax - 2]
mov rcx, r14
call fcn.140022c38
xor ecx, ecx
cmp dword [rsp + 0x34], ecx
jne 0x140037f8b
mov edx, ecx
mov ecx, 5
cmp ebx, ecx
mov rcx, r12
sete dl
add edx, r13d
call fcn.14002f7d0
mov dword [rsp + 0x34], eax
jmp 0x140037f87
mov r8d, dword [rdi + 8]
lea rax, [rbp + 8]
mov edx, dword [rdi + 4]
lea r9, [rbp + 4]
or dword [rbp + 8], 0xffffffff
xor ebx, ebx
or dword [rbp + 4], 0xffffffff
mov rcx, r15
mov dword [rbp], ebx
mov qword [rsp + 0x20], rax
call fcn.140082564
mov dword [rsp + 0x34], eax
test eax, eax
je 0x1400380d5
lea ecx, [rbx + 5]
cmp eax, ecx
jne 0x140037a27
mov dword [rsp + 0x34], ebx
mov dword [rbp], r13d
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
add rbx, r12
xor eax, eax
mov esi, eax
movsxd rdx, dword [rbp + rsi*4]
mov rcx, rbx
call fcn.140030b94
add rsi, r13
add rbx, 0x38
cmp rsi, 3
jl 0x1400380e4
mov r11, qword [rbp + 0x170]
jmp 0x1400379b7
xor eax, eax
cmp byte [r15 + 0x61], al
jne 0x14003d0d8
mov rax, qword [rdi + 0x10]
mov rbx, qword [rax + 0x10]
xor eax, eax
test rbx, rbx
je 0x14003cf44
mov r10, qword [rbx]
test r10, r10
je 0x14003cf44
movsxd r11, dword [rdi + 8]
cmp qword [r10 + 0x68], rax
je 0x14003ccb3
movsxd rax, dword [rdi + 0xc]
xor r9d, r9d
mov r12, qword [rbp + 0x170]
mov sil, byte [r15 + 0x66]
imul rcx, rax, 0x38
mov r8, qword [r12 + 0x70]
mov eax, r9d
add rcx, qword [rsp + 0x40]
test r11d, r11d
jle 0x14003817b
mov qword [r8 + rax*8], rcx
add rcx, 0x38
add rax, r13
cmp rax, r11
jl 0x14003816b
mov al, byte [rdi + 2]
lea r9, [rbp + 0x40]
mov edx, r11d
mov byte [r15 + 0x66], al
mov rcx, rbx
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r15 + 0x66], sil
mov rcx, r12
mov dword [rsp + 0x34], eax
call fcn.1400355a4
mov eax, dword [rsp + 0x34]
xor ebx, ebx
test eax, eax
jne 0x1400381db
cmp dword [rdi + 4], ebx
je 0x1400381be
mov rax, qword [rbp + 0x40]
mov qword [r15 + 0x38], rax
mov eax, dword [rsp + 0x34]
mov r11, qword [rbp + 0x170]
add dword [r11 + 0x3c], r13d
test eax, eax
jne 0x140037a27
mov r12, qword [rsp + 0x40]
jmp 0x1400379b7
cmp al, 0x13
jne 0x1400381be
mov rax, qword [rdi + 0x10]
cmp byte [rax + 0x1c], bl
je 0x1400381ba
mov r8d, 4
cmp word [rdi + 2], r8w
jne 0x14003cf27
mov r12, qword [rsp + 0x40]
mov dword [rsp + 0x34], ebx
mov sil, byte [rbp + 0x180]
mov r11, qword [rbp + 0x170]
mov r9d, dword [rsp + 0x30]
jmp 0x1400379c9
sub ebx, 0xb
je 0x140039246
sub ebx, 1
je 0x140038477
sub ebx, 1
je 0x14003844d
sub ebx, 1
je 0x140038417
sub ebx, 1
je 0x1400383a6
sub ebx, 1
je 0x140038380
sub ebx, 1
je 0x140038309
sub ebx, 1
je 0x1400382e9
cmp ebx, 1
jne 0x1400378c5
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rcx, r12
add rbx, r12
test byte [rcx + 8], r13b
jne 0x1400382c7
xor edx, edx
call fcn.140030888
xor r9d, r9d
test eax, eax
mov ecx, r9d
mov eax, 0x2400
sete cl
test word [rbx + 8], ax
je 0x1400382b4
mov rdx, rcx
mov rcx, rbx
call fcn.140030b5c
jmp 0x140037ef4
mov r8d, 4
mov qword [rbx], rcx
mov word [rbx + 8], r8w
jmp 0x140038209
mov eax, 0x2400
test word [rbx + 8], ax
je 0x1400382df
mov rcx, rbx
call fcn.14003070c
jmp 0x140037ef4
mov word [rbx + 8], r13w
jmp 0x1400378c0
movsxd rax, dword [rdi + 4]
mov edx, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r12
call fcn.140030888
test eax, eax
jne 0x1400383e1
jmp 0x140037ef4
mov rcx, qword [r11 + 0x100]
test rcx, rcx
je 0x140038362
mov r8, qword [rcx + 0x30]
movabs rdx, 0xaaaaaaaaaaaaaaab
mov rax, rdi
sub rax, qword [r11 + 0x88]
sar rax, 3
imul rax, rdx
mov edx, eax
and eax, 7
shr rdx, 3
movzx ecx, byte [rdx + r8]
bt ecx, eax
jb 0x1400391ce
bts ecx, eax
mov byte [rdx + r8], cl
mov r8d, 4
mov rcx, qword [r11 + 0x88]
jmp 0x140038375
mov rcx, qword [r11 + 0x88]
mov eax, dword [rdi + 4]
cmp dword [rcx + 4], eax
je 0x1400391ce
mov eax, dword [rcx + 4]
mov dword [rdi + 4], eax
jmp 0x1400378c0
test r9d, r9d
jns 0x14003839a
mov eax, dword [rdi + 4]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r14 + rcx*8]
jmp 0x1400378c0
jne 0x1400383a1
mov eax, dword [rdi + 8]
jmp 0x140038388
mov eax, dword [rdi + 0xc]
jmp 0x140038388
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
add rbx, r12
movzx eax, word [rbx + 8]
test r8b, al
jne 0x140038402
mov r8b, sil
mov dl, 0x43
mov rcx, rbx
call fcn.1400373f0
movzx eax, word [rbx + 8]
mov r8d, 4
test r8b, al
jne 0x1400383ed
xor eax, eax
cmp dword [rdi + 8], eax
je 0x14003cf4e
mov r11, qword [rbp + 0x170]
jmp 0x1400391ce
mov r11, qword [rbp + 0x170]
mov ecx, 8
mov r9d, dword [rsp + 0x30]
lea r10d, [rcx - 6]
mov edx, 0x3e40
and ax, dx
or ax, r8w
mov word [rbx + 8], ax
jmp 0x1400378c5
movsxd rax, dword [rdi + 4]
sub rdi, r14
imul rdx, rax, 0x38
sar rdi, 3
movabs rax, 0xaaaaaaaaaaaaaaab
imul rax, rdi
movsxd rcx, dword [rdx + r12]
cdqe
mov word [rdx + r12 + 8], r8w
mov qword [rdx + r12], rax
lea rcx, [rcx + rcx*2]
jmp 0x140038391
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov eax, dword [rdi + 0xc]
sub eax, r13d
cdqe
mov qword [rcx + r12], rax
xor eax, eax
mov word [rcx + r12 + 8], r8w
cmp dword [rdi + 8], eax
jne 0x1400383e1
jmp 0x1400378c0
movsxd rax, dword [rdi + 4]
movabs rdx, 0xaaaaaaaaaaaaaaab
imul rcx, rax, 0x38
mov rax, rdi
sub rax, r14
sar rax, 3
imul rax, rdx
mov word [rcx + r12 + 8], r8w
cdqe
jmp 0x140039083
movsxd rax, dword [rdi + 4]
xor ebx, ebx
cmp dword [rdi + 0xc], ebx
mov edx, ebx
sete dl
imul rcx, rax, 0x38
add rcx, r12
call fcn.140030888
test eax, eax
je 0x1400383e1
jmp 0x140037ef4
cmp ebx, 0x1f
ja 0x140038a2f
je 0x14003898d
cmp ebx, 0x1a
ja 0x1400387e5
je 0x140038787
mov ecx, ebx
sub ecx, 0x15
je 0x140038746
sub ecx, 1
je 0x14003850c
sub ecx, 1
je 0x14003850c
sub ecx, 1
je 0x14003850c
cmp ecx, 1
jne 0x1400378c0
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov r15, qword [rax + rcx*8]
xor ecx, ecx
mov r13d, ecx
mov word [r15 + 2], cx
mov dword [r15 + 0x28], ecx
cmp byte [r15 + 4], cl
je 0x1400385fc
movsxd rax, dword [rdi + 0xc]
imul rsi, rax, 0x38
add rsi, r12
movzx r14d, word [rsi + 8]
mov al, r14b
and al, 0x2e
cmp al, r10b
jne 0x140038554
xor edx, edx
mov rcx, rsi
call fcn.140037304
mov rcx, rsi
call fcn.140030804
movzx edx, word [rsi + 8]
mov r12, rax
mov word [rsi + 8], r14w
test dl, 0x24
jne 0x1400385cf
mov r9d, 8
test r9b, dl
jne 0x1400385ab
test dl, 1
jne 0x14003bd33
cmp ebx, 0x18
jae 0x14003bd33
mov rcx, qword [r15 + 0x38]
lea rdx, [rsp + 0x60]
call fcn.1400297c8
xor ebx, ebx
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037a27
jmp 0x1400386f4
movsd xmm1, qword [rsi]
xorps xmm0, xmm0
cvtsi2sd xmm0, r12
comisd xmm1, xmm0
jae 0x1400385c6
test bl, 1
je 0x1400385cf
dec ebx
jmp 0x1400385cf
jbe 0x1400385cf
test bl, 1
jne 0x1400385cf
inc ebx
mov rcx, qword [r15 + 0x38]
lea rax, [rsp + 0x60]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, r12
xor edx, edx
call fcn.140029830
mov dword [rsp + 0x34], eax
mov qword [r15 + 0x58], r12
test eax, eax
jne 0x140037a27
jmp 0x140038675
mov rax, qword [r15 + 0x38]
lea rdx, [rbp - 0x50]
mov sil, byte [rax + 3]
mov rax, qword [r15 + 0x40]
and sil, r10b
mov qword [rbp - 0x50], rax
movzx eax, word [rdi + 0x10]
setne r13b
mov word [rbp - 0x40], ax
mov eax, ebx
and al, 1
neg al
movsxd rax, dword [rdi + 0xc]
sbb cl, cl
xor r9d, r9d
and cl, 0xfe
xor r8d, r8d
inc cl
mov byte [rbp - 0x3e], cl
imul rcx, rax, 0x38
lea rax, [rsp + 0x60]
add rcx, r12
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x48], rcx
xor r12d, r12d
mov byte [rbp - 0x3a], r12b
mov rcx, qword [r15 + 0x38]
call fcn.140029830
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037a27
test sil, sil
je 0x140038675
cmp byte [rbp - 0x3a], r12b
je 0x1400386f2
mov eax, dword [rsp + 0x60]
cmp ebx, 0x18
jl 0x1400386c1
test eax, eax
js 0x140038691
jne 0x140038689
cmp ebx, 0x19
je 0x140038691
xor ebx, ebx
mov dword [rsp + 0x60], ebx
jmp 0x1400386fe
xor ebx, ebx
xor edx, edx
mov dword [rsp + 0x60], ebx
mov rcx, qword [r15 + 0x38]
call fcn.140029e5c
mov dword [rsp + 0x34], eax
test eax, eax
je 0x1400386f4
cmp eax, 0x65
jne 0x140037a27
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x60], 1
jmp 0x1400386f4
test eax, eax
jg 0x1400386df
jne 0x1400386cc
cmp ebx, 0x16
je 0x1400386df
mov rax, qword [r15 + 0x38]
xor ebx, ebx
mov ecx, ebx
cmp byte [rax], bl
setne cl
mov dword [rsp + 0x60], ecx
jmp 0x1400386f4
xor ebx, ebx
xor edx, edx
mov dword [rsp + 0x60], ebx
mov rcx, qword [r15 + 0x38]
call fcn.140029fb0
jmp 0x1400386a2
xor ebx, ebx
cmp dword [rsp + 0x60], ebx
jne 0x14003bd33
mov r11, qword [rbp + 0x170]
mov eax, 5
mov r15, qword [rsp + 0x48]
test r13d, r13d
mov r12, qword [rsp + 0x40]
mov r14, qword [rsp + 0x38]
mov sil, byte [rbp + 0x180]
lea ecx, [rax + 3]
mov r9d, dword [rsp + 0x30]
lea r8d, [rax - 1]
lea r10d, [rax - 3]
lea r13d, [rax - 4]
je 0x1400378ca
add rdi, 0x18
jmp 0x1400378ca
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rcx, qword [rax + rcx*8]
xor eax, eax
cmp byte [rcx + 2], al
je 0x1400378c0
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r12
test word [rcx + 8], ax
je 0x14003877d
call fcn.14003070c
jmp 0x1400383e1
mov word [rcx + 8], r13w
jmp 0x1400391ce
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rcx, qword [rax + rcx*8]
mov eax, 8
test byte [rcx + 8], al
jne 0x1400378c0
mov rax, qword [r11 + 0x78]
xor r8d, r8d
movsxd rcx, dword [rdi + 4]
mov r14, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
add rbx, r12
cmp dword [rdi + 0x10], r8d
jle 0x140038872
mov rax, qword [r14 + 0x40]
lea rsi, [rbp - 0x50]
mov qword [rbp - 0x50], rax
mov r15d, r8d
movzx eax, word [rdi + 0x10]
mov word [rbp - 0x40], ax
mov qword [rbp - 0x48], rbx
jmp 0x1400388bb
sub ebx, 0x1b
je 0x1400387a1
sub ebx, 1
je 0x1400387a1
sub ebx, 1
je 0x1400387a1
cmp ebx, 1
jne 0x1400378c5
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r12
test byte [rcx + 8], 0x24
jne 0x14003898d
movups xmm0, xmmword [rcx]
mov r8b, sil
mov dl, 0x43
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp + 0xc8], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp + 0xd8], xmm1
movsd xmm1, qword [rcx + 0x30]
lea rcx, [rbp + 0xc8]
movups xmmword [rbp + 0xe8], xmm0
movsd qword [rbp + 0xf8], xmm1
call fcn.1400373f0
lea eax, [rbx + 3]
test byte [rbp + 0xd0], al
je 0x1400383e1
mov rsi, qword [rbp + 0xc8]
mov r11, qword [rbp + 0x170]
jmp 0x140038999
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14003888d
mov rcx, rbx
call fcn.140030470
test eax, eax
jne 0x14003d0d8
mov rcx, qword [r14 + 0x40]
call fcn.140034688
mov rsi, rax
mov r15, rax
test rax, rax
je 0x14003d0d8
mov r8, qword [rbx + 0x10]
mov r9, rax
mov edx, dword [rbx + 0xc]
mov rcx, qword [r14 + 0x40]
call fcn.1400346e0
xor r8d, r8d
mov byte [rsi + 0x12], r8b
mov ebx, r8d
cmp byte [rdi], 0x1b
jne 0x1400388ef
movzx edx, word [rsi + 0x10]
mov ecx, r8d
test edx, edx
je 0x1400388ef
mov rax, qword [rsi + 8]
add rax, 8
test byte [rax], r13b
jne 0x1400388ec
add ecx, r13d
add rax, 0x38
cmp ecx, edx
jl 0x1400388da
jmp 0x1400388ef
mov ebx, r13d
mov rcx, qword [r14 + 0x38]
lea rax, [rbp - 0x10]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rsi
call fcn.140029830
mov dword [rsp + 0x34], eax
test r15, r15
je 0x140038929
mov rdx, r15
mov r15, qword [rsp + 0x48]
mov rcx, r15
call fcn.140016b08
mov eax, dword [rsp + 0x34]
jmp 0x14003892e
mov r15, qword [rsp + 0x48]
test eax, eax
jne 0x140037a27
mov eax, dword [rbp - 0x10]
mov dword [r14 + 0x2c], eax
xor eax, eax
mov ecx, eax
mov eax, dword [rbp - 0x10]
test eax, eax
sete cl
test eax, eax
setne al
mov byte [r14 + 2], al
xor eax, eax
mov byte [r14 + 3], al
mov dword [r14 + 0x28], eax
cmp byte [rdi], 0x1d
jne 0x140038973
mov r14, qword [rsp + 0x38]
test ecx, ecx
jne 0x1400383e1
jmp 0x1400380fe
test ebx, ebx
jne 0x14003bd3e
mov r14, qword [rsp + 0x38]
test ecx, ecx
je 0x1400383e1
jmp 0x1400380fe
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov rsi, qword [rcx + r12]
movsxd rcx, dword [rdi + 4]
xor r9d, r9d
mov rax, qword [r11 + 0x78]
mov r8, rsi
xor edx, edx
mov rbx, qword [rax + rcx*8]
xor eax, eax
mov rcx, qword [rbx + 0x38]
mov dword [rbp - 0x68], eax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
call fcn.140029830
mov qword [rbx + 0x58], rsi
mov dword [rsp + 0x34], eax
xor eax, eax
mov word [rbx + 2], ax
mov dword [rbx + 0x28], eax
mov eax, dword [rbp - 0x68]
mov dword [rbx + 0x2c], eax
xor ebx, ebx
cmp dword [rbp - 0x68], ebx
je 0x140038a1e
cmp dword [rdi + 8], ebx
jne 0x1400383e1
mov r9d, 0x159cf
lea rax, [0x1400ec094]
mov ebx, reloc.Cabinet.dll_FCIAddFile
mov ecx, ebx
mov qword [rsp + 0x20], rax
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.1400189a8
mov eax, ebx
jmp 0x140037a27
mov eax, dword [rsp + 0x34]
test eax, eax
jne 0x140037a27
jmp 0x1400380fe
mov ecx, ebx
sub ecx, 0x20
je 0x14003bccb
sub ecx, 1
je 0x140038b49
sub ecx, 1
je 0x140038aee
sub ecx, 1
je 0x140038aee
sub ecx, 1
je 0x140038af5
sub ecx, 1
je 0x140038a76
sub ecx, 1
je 0x140038a76
sub ecx, 1
je 0x140038a76
cmp ecx, 1
jne 0x1400378c0
movsxd rcx, dword [rdi + 4]
lea r9, [rsp + 0x70]
mov rax, qword [r11 + 0x78]
lea r8, [rbp - 0x50]
cmp bl, 0x27
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x40]
mov qword [rbp - 0x50], rax
movzx eax, word [rdi + 0x10]
mov word [rbp - 0x40], ax
sbb al, al
mov byte [rbp - 0x3e], al
xor ebx, ebx
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov dword [rsp + 0x70], ebx
add rcx, r12
mov qword [rbp - 0x48], rcx
mov rcx, r15
call fcn.1400354bc
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x70]
test byte [rdi], r13b
je 0x140038ad1
neg eax
jmp 0x140038ad3
inc eax
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x34], ebx
jne 0x14003cf6c
test eax, eax
jg 0x1400383e1
jmp 0x140037ef4
add dword [r11 + 0xdc], r13d
movsxd rcx, dword [rdi + 4]
lea rdx, [rsp + 0x74]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rcx*8]
mov dword [rsp + 0x74], r13d
cmp byte [rbx], r13b
jne 0x140038b1a
mov rcx, rbx
call fcn.14003f4dc
jmp 0x140038b2b
mov rcx, qword [rbx + 0x38]
call fcn.140029788
xor ecx, ecx
mov byte [rbx + 3], cl
mov dword [rbx + 0x28], ecx
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037a27
mov al, byte [rsp + 0x74]
mov byte [rbx + 2], al
xor eax, eax
cmp dword [rsp + 0x74], eax
jmp 0x1400382fe
movsxd rcx, dword [rdi + 4]
lea rdx, [rsp + 0x78]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.140029788
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037a27
xor eax, eax
cmp dword [rsp + 0x78], eax
jne 0x1400383e1
mov rcx, rbx
call fcn.140029d04
test rax, rax
js 0x140038baa
mov rcx, rax
call fcn.14001a2e8
movsx ecx, ax
mov eax, dword [rsp + 0x78]
cmp ecx, dword [rdi + 0xc]
cmovl eax, r13d
mov dword [rsp + 0x78], eax
jmp 0x1400382fc
mov eax, dword [rsp + 0x78]
jmp 0x1400382fc
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
mov eax, 0x10
add rbx, r12
test byte [rbx + 8], al
je 0x140038bf2
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0x48]
call fcn.14001e89c
test eax, eax
je 0x140038bf2
movsxd rax, dword [rdi + 0xc]
mov rdx, qword [rbp + 0x48]
imul rcx, rax, 0x38
add rcx, r12
call fcn.140030b94
jmp 0x140037d6e
mov rcx, rbx
call fcn.140030af0
jmp 0x14003923f
cmp ebx, 0x3e
ja 0x14003953a
je 0x1400396b4
cmp ebx, 0x34
ja 0x14003908c
je 0x14003929f
cmp ebx, 0x2f
ja 0x140038ff6
je 0x140038fd1
sub ebx, 0x2a
je 0x140038f6c
sub ebx, 1
je 0x140038ec8
sub ebx, 1
je 0x140038ec8
sub ebx, 1
je 0x140038c81
cmp ebx, 1
jne 0x1400378c5
xor ebx, ebx
cmp dword [rdi + 4], ebx
je 0x140038c7b
cmp qword [r15 + 0x288], rbx
jne 0x1400378c5
cmp qword [r15 + 0x290], rbx
je 0x1400391ce
jmp 0x1400378c5
cmp qword [r11 + 0x50], rbx
jmp 0x140038c63
movsxd rax, dword [rdi + 0xc]
xor ebx, ebx
mov r12, qword [rdi + 0x10]
imul rsi, rax, 0x38
add rsi, qword [rsp + 0x40]
cmp word [rdi + 2], bx
je 0x140038cbb
mov rcx, qword [r12 + 0x20]
mov rax, qword [r11 + 0x100]
jmp 0x140038cb6
cmp qword [rax + 0x38], rcx
je 0x14003ccd0
mov rax, qword [rax + 8]
test rax, rax
jne 0x140038ca8
mov eax, dword [r11 + 0x110]
cmp eax, dword [r15 + 0xa4]
jge 0x14003cf58
mov ecx, 0x10
test byte [rsi + 8], cl
jne 0x140038df7
mov edx, dword [r12 + 0x10]
mov ecx, dword [r12 + 0xc]
add ecx, edx
test edx, edx
lea r15d, [rcx + 1]
cmovne r15d, ecx
lea eax, [r15 + 2]
imul ecx, eax, 7
mov eax, dword [r12 + 8]
add ecx, edx
mov edx, 7
add eax, edx
jns 0x140038d0c
add eax, edx
sar eax, 3
lea r14d, [rax + rcx*8]
mov rcx, qword [rsp + 0x48]
movsxd rdx, r14d
call fcn.140016d0c
mov rbx, rax
test rax, rax
je 0x14003d0d8
mov rcx, rsi
call fcn.140030788
mov r11, qword [rbp + 0x170]
mov eax, 0x410
sub rdi, qword [rsp + 0x38]
mov word [rsi + 8], ax
lea rax, [0x1400329e8]
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x10], rbx
mov dword [rsi + 0xc], r14d
mov dword [rbx + 0x60], r15d
mov qword [rbx], r11
mov eax, dword [r12 + 0x10]
mov dword [rbx + 0x64], eax
movabs rax, 0xaaaaaaaaaaaaaaab
sar rdi, 3
imul rdi, rax
mov dword [rbx + 0x54], edi
mov rax, qword [r11 + 0x68]
mov qword [rbx + 0x20], rax
mov eax, dword [r11 + 0x28]
mov dword [rbx + 0x5c], eax
mov rax, qword [r11 + 0x78]
mov qword [rbx + 0x28], rax
mov eax, dword [r11 + 0x2c]
mov dword [rbx + 0x50], eax
mov rax, qword [r11 + 0x88]
mov qword [rbx + 0x10], rax
mov eax, dword [r11 + 0x90]
mov dword [rbx + 0x58], eax
mov rax, qword [r12 + 0x20]
mov qword [rbx + 0x38], rax
movsxd rax, r15d
mov r15, qword [rsp + 0x48]
add rax, 2
imul rcx, rax, 0x38
lea rax, [rbx + 0x70]
add rcx, rbx
cmp rax, rcx
je 0x140038dee
mov edx, 0x80
mov word [rax + 8], dx
mov qword [rax + 0x28], r15
add rax, 0x38
cmp rax, rcx
jne 0x140038ddd
mov eax, dword [r11 + 0x110]
jmp 0x140038dfb
mov rbx, qword [rsi + 0x10]
inc eax
lea rdx, [rbx + 0x70]
mov dword [r11 + 0x110], eax
mov r8d, 7
mov rax, qword [r11 + 0x100]
mov qword [rbx + 8], rax
mov rax, qword [r15 + 0x38]
mov qword [rbx + 0x40], rax
mov eax, dword [r11 + 0x3c]
mov dword [rbx + 0x68], eax
mov rax, qword [r11]
mov qword [rsp + 0x40], rdx
mov ecx, dword [rax + 0x74]
mov dword [rbx + 0x6c], ecx
mov rax, qword [r11 + 0x120]
mov qword [rbx + 0x48], rax
xor eax, eax
mov qword [r11 + 0x120], rax
mov dword [r11 + 0x3c], eax
mov qword [r11 + 0x68], rdx
mov qword [r11 + 0x100], rbx
movsxd rcx, dword [rbx + 0x60]
mov dword [r11 + 0x28], ecx
movzx eax, word [rbx + 0x64]
mov dword [r11 + 0x2c], eax
imul rcx, rcx, 0x38
add rdx, rcx
mov qword [r11 + 0x78], rdx
movsxd rax, dword [r12 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [rbx + 0x30], rcx
mov eax, dword [r12 + 8]
add eax, r8d
cdq
and edx, r8d
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call sub.VCRUNTIME140.dll_memset
mov r14, qword [r12]
mov r11, qword [rbp + 0x170]
mov qword [rsp + 0x38], r14
lea rdi, [r14 - 0x18]
mov qword [r11 + 0x88], r14
mov eax, dword [r12 + 8]
mov dword [r11 + 0x90], eax
jmp 0x140037d75
movsxd rax, dword [rdi + 4]
mov edx, r10d
imul rcx, rax, 0x38
add rcx, r12
call fcn.140030888
mov ebx, eax
mov edx, 2
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
add rcx, r12
call fcn.140030888
lea eax, [rax + rbx*2]
add eax, ebx
cmp byte [rdi], 0x2c
movsxd rcx, eax
lea rax, [0x140000000]
jne 0x140038f10
mov r8b, byte [rcx + rax + 0xcc8c0]
jmp 0x140038f18
mov r8b, byte [rcx + rax + 0xd0af8]
movsxd rax, dword [rdi + 0xc]
mov r10d, 2
imul rdx, rax, 0x38
mov eax, 0x3e40
movzx ecx, word [rdx + r12 + 8]
and cx, ax
cmp r8b, r10b
jne 0x140038f43
or cx, r13w
lea r8d, [r10 + 2]
jmp 0x140038f55
movzx eax, r8b
mov r8d, 4
or cx, r8w
mov qword [rdx + r12], rax
mov r11, qword [rbp + 0x170]
mov r9d, dword [rsp + 0x30]
mov word [rdx + r12 + 8], cx
jmp 0x1400378c0
movsxd rax, dword [rdi + 4]
mov esi, dword [rdi + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
imul r14, rax, 0x38
add rbx, r12
mov eax, 0x10
test byte [rbx + 8], al
jne 0x140038f9c
mov rcx, rbx
call fcn.140030c28
test eax, eax
jne 0x14003d0d8
test esi, esi
je 0x140038fbf
mov r8, qword [r14 + r12]
mov edx, esi
mov rcx, qword [rbx + 0x10]
call fcn.14001e90c
test eax, eax
jne 0x14003bd3e
test esi, esi
js 0x1400379ab
mov rdx, qword [r14 + r12]
mov rcx, qword [rbx + 0x10]
call fcn.14001e62c
jmp 0x1400379ab
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r12]
test rdx, rdx
jle 0x1400378c0
movsxd rax, dword [rdi + 0xc]
sub rdx, rax
mov qword [rcx + r12], rdx
jmp 0x1400391ce
sub ebx, 0x30
je 0x140039065
sub ebx, 1
je 0x14003903e
sub ebx, 1
je 0x140039026
cmp ebx, 1
jne 0x1400378c5
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
test byte [rcx + r12 + 8], r13b
je 0x1400391ce
jmp 0x1400378c0
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
test byte [rcx + r12 + 8], r13b
jne 0x1400391ce
jmp 0x1400378c0
movsxd rax, dword [rdi + 4]
movabs rdx, 0x8000000000000000
imul rcx, rax, 0x38
mov rax, qword [rcx + r12]
cmp rax, rdx
jle 0x140039060
dec rax
mov qword [rcx + r12], rax
test rax, rax
jmp 0x14003901b
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r12]
test rax, rax
je 0x1400378c0
jle 0x1400391ce
dec rax
mov qword [rcx + r12], rax
jmp 0x1400391ce
sub ebx, 0x35
je 0x14003929f
sub ebx, 1
je 0x14003929f
sub ebx, 1
je 0x14003929f
sub ebx, 1
je 0x14003929f
sub ebx, 1
je 0x14003929f
sub ebx, 1
je 0x140039291
sub ebx, 1
je 0x14003925b
sub ebx, 1
je 0x1400391e3
cmp ebx, 1
jne 0x1400378c5
test byte [r15 + 0x68], r13b
je 0x140039178
lea eax, [rbx + 0xf]
xor ebx, ebx
test byte [r11 + 0xc8], al
jne 0x14003917a
mov r9, qword [rdi + 0x10]
test r9, r9
jne 0x140039112
mov r9, qword [r11 + 0xf0]
test r9, r9
je 0x14003c985
cmp dword [r15 + 0xd4], r13d
jle 0x14003c953
mov r8, r9
lea rdx, str.____s
mov rcx, r15
call fcn.140018838
mov r8, qword [rbp + 0x170]
mov r9, rax
mov rdx, qword [r15 + 0xf0]
mov ecx, r13d
mov rbx, rax
call qword [r15 + 0xe8]
mov rdx, rbx
mov rcx, r15
call fcn.140016b48
mov r11, qword [rbp + 0x170]
mov ecx, 8
mov r12, qword [rsp + 0x40]
mov r9d, dword [rsp + 0x30]
lea r8d, [rcx - 4]
lea r10d, [rcx - 6]
xor ebx, ebx
mov eax, dword [rdi + 4]
cmp eax, dword [0x14012e2e0]
jl 0x1400391c2
cmp byte [rdi], 0xa8
je 0x1400378c5
mov edx, r13d
cmp dword [r11 + 0x90], r13d
jle 0x1400391c0
mov eax, reloc.ODBC32.dll_SQLAllocHandle
mov rcx, qword [r11 + 0x88]
cmp byte [rax + rcx], 0x11
jne 0x1400391b0
mov dword [rax + rcx + 4], ebx
add edx, r13d
add rax, 0x18
cmp edx, dword [r11 + 0x90]
jl 0x14003919f
mov eax, ebx
inc eax
mov dword [rdi + 4], eax
add dword [r11 + 0xec], r13d
mov eax, dword [rdi + 8]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r14 + rcx*8]
jmp 0x140037eb4
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rsi, qword [rax + rcx*8]
xor eax, eax
cmp byte [rsi + 2], al
jne 0x14003933e
mov rcx, qword [rsi + 0x38]
mov rbx, qword [rcx]
mov r14, qword [rbx]
call qword [r14 + SQLSetEnvAttr]
mov r12, qword [rbp + 0x170]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x34], eax
call fcn.1400355a4
mov eax, dword [rsp + 0x34]
test eax, eax
jne 0x140037a2e
mov rcx, qword [rsi + 0x38]
call qword [r14 + 0x50]
mov r14, qword [rsp + 0x38]
test eax, eax
jne 0x140037d6e
mov r11, qword [rbp + 0x170]
mov eax, dword [rdi + 8]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r14 + rcx*8]
jmp 0x140037d75
movsxd rcx, dword [rdi + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.1400286e0
xor ebx, ebx
mov dword [rsp + 0x34], eax
test eax, eax
je 0x140037ef4
cmp eax, 0x65
jne 0x140037a27
mov dword [rsp + 0x34], ebx
jmp 0x1400383e1
test r9d, r9d
jne 0x1400391ce
jmp 0x1400378c5
movsxd rax, dword [rdi + 4]
imul rsi, rax, 0x38
movsxd rax, dword [rdi + 0xc]
imul r15, rax, 0x38
add rsi, r12
add r15, r12
movzx r14d, word [rsi + 8]
movzx ebx, word [r15 + 8]
movzx edx, bx
or dx, r14w
test r13b, dl
je 0x140039364
mov eax, 0x80
test byte [rdi + 2], al
je 0x140039309
mov al, bl
and al, r14b
test r13b, al
je 0x1400392f4
mov eax, 0x100
test ax, bx
jne 0x1400392f4
xor eax, eax
jmp 0x140039478
movzx eax, bx
not ax
and eax, r13d
lea ecx, [rax*2 - 1]
jmp 0x14003947a
mov eax, Ordinal_36
test byte [rdi + 2], al
je 0x14003934a
movsxd rax, dword [rdi + 8]
mov r9d, r13d
mov r15, qword [rsp + 0x48]
imul rcx, rax, 0x38
mov eax, 0x3e40
mov dword [rsp + 0x30], r13d
add rcx, r12
and word [rcx + 8], ax
or word [rcx + 8], r13w
mov r14, qword [rsp + 0x38]
mov sil, byte [rbp + 0x180]
jmp 0x1400378c0
mov r14, qword [rsp + 0x38]
mov eax, 0x10
test byte [rdi + 2], al
jne 0x1400391ce
mov r15, qword [rsp + 0x48]
jmp 0x14003933e
mov al, byte [rdi + 2]
and al, 0x47
cmp al, 0x43
jb 0x1400393f5
movzx ecx, bx
test r10b, dl
je 0x1400393bd
mov al, r14b
and al, 0x2e
cmp al, r10b
jne 0x14003939c
xor edx, edx
mov rcx, rsi
call fcn.140037304
movzx ebx, word [r15 + 8]
mov r8d, 4
lea r10d, [r8 - 2]
mov al, bl
movzx ecx, bx
and al, 0x2e
cmp al, r10b
jne 0x1400393bd
xor edx, edx
mov rcx, r15
call fcn.140037304
movzx ecx, word [r15 + 8]
mov r8d, 4
and cl, byte [rsi + 8]
test r8b, cl
je 0x14003945d
mov rax, qword [rsi]
mov r11, qword [rbp + 0x170]
mov r9d, dword [rsp + 0x30]
cmp qword [r15], rax
jle 0x1400393e5
mov ecx, r13d
jmp 0x14003947a
xor ecx, ecx
cmp qword [r15], rax
setge cl
sub ecx, r13d
jmp 0x14003947a
cmp al, 0x42
jne 0x14003945d
test r10b, r14b
jne 0x14003942f
test r14b, 0x2c
je 0x14003942f
mov dl, byte [rbp + 0x180]
mov r8b, r13b
mov rcx, rsi
call fcn.1400304cc
movzx eax, r14w
mov ecx, 0x3e40
xor ax, word [rsi + 8]
mov r10d, 2
and ax, cx
xor r14w, ax
test r10b, bl
jne 0x14003945d
test bl, 0x2c
je 0x14003945d
mov dl, byte [rbp + 0x180]
mov r8b, r13b
mov rcx, r15
call fcn.1400304cc
movzx eax, bx
mov ecx, 0x3e40
xor ax, word [r15 + 8]
and ax, cx
xor bx, ax
mov r8, qword [rdi + 0x10]
mov rdx, rsi
mov rcx, r15
call fcn.140034a4c
mov r11, qword [rbp + 0x170]
mov r9d, dword [rsp + 0x30]
mov ecx, eax
movzx eax, byte [rdi]
lea rdx, [0x140000000]
test ecx, ecx
jns 0x140039491
mov al, byte [rax + rdx + 0xcd800]
jmp 0x1400394a3
jne 0x14003949c
mov al, byte [rax + rdx + 0xcf0c4]
jmp 0x1400394a3
mov al, byte [rax + rdx + 0xc98c4]
mov word [rsi + 8], r14w
movzx r8d, al
mov eax, Ordinal_36
mov word [r15 + 8], bx
test byte [rdi + 2], al
je 0x14003951b
movsxd rax, dword [rdi + 8]
mov r9d, ecx
imul rdx, rax, 0x38
mov dword [rsp + 0x30], ecx
mov ecx, 8
add rdx, r12
test byte [rdi + 2], cl
je 0x1400394e4
xor eax, eax
cmp byte [rdi], 0x35
sete al
cmp eax, r8d
je 0x1400394f9
mov eax, 0x3e40
mov qword [rdx], r8
and word [rdx + 8], ax
mov eax, 4
or word [rdx + 8], ax
mov r8d, 4
mov r15, qword [rsp + 0x48]
mov sil, byte [rbp + 0x180]
mov r14, qword [rsp + 0x38]
mov r10d, 2
jmp 0x1400378c5
mov r14, qword [rsp + 0x38]
test r8d, r8d
jne 0x1400383e1
mov r15, qword [rsp + 0x48]
mov sil, byte [rbp + 0x180]
jmp 0x1400379c3
cmp ebx, 0x48
ja 0x140039826
je 0x14003b3a5
sub ebx, 0x3f
je 0x1400396b4
sub ebx, 1
je 0x14003971f
sub ebx, 1
je 0x14003971f
sub ebx, 1
je 0x1400396a6
sub ebx, 1
je 0x140039674
sub ebx, 1
je 0x1400395c5
sub ebx, 1
je 0x1400395d8
sub ebx, 1
je 0x1400395ab
cmp ebx, 1
jne 0x1400378c5
mov rdx, rdi
mov rcx, r11
call fcn.1400375b4
mov rdx, rax
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x140037ef4
mov rdx, rdi
mov rcx, r11
call fcn.1400375b4
mov rcx, rax
movsxd rax, dword [rdi + 4]
mov qword [rcx], rax
jmp 0x140037ef4
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r12 + 8], r13b
je 0x1400378c0
mov edx, dword [rdi + 4]
mov rbx, rdi
sub rbx, r14
movabs rax, 0xaaaaaaaaaaaaaaab
sar rbx, 3
xor r14d, r14d
imul rbx, rax
test edx, edx
jne 0x14003cf75
mov rcx, qword [r11 + 0x100]
test rcx, rcx
je 0x14003cf75
mov rax, qword [rcx + 8]
dec dword [r11 + 0x110]
mov qword [r11 + 0x100], rax
mov eax, dword [r11 + 0x3c]
add dword [r15 + 0x78], eax
mov dword [r15 + 0x74], eax
call fcn.1400332a8
mov r11, qword [rbp + 0x170]
lea r8d, [r14 + 4]
mov r14, qword [r11 + 0x88]
mov qword [rsp + 0x38], r14
cmp dword [rdi + 8], r8d
jne 0x14003965c
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [r14 + rcx*8 + 8]
sub eax, r13d
mov r12, qword [r11 + 0x68]
cdqe
mov qword [rsp + 0x40], r12
lea rcx, [rax + rax*2]
lea rdi, [r14 + rcx*8]
jmp 0x140038210
movsxd rax, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r12]
lea rcx, [rax + rax*2]
mov eax, dword [r14 + rcx*8 + 8]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
mov eax, 0x80
mov word [rdx + r12 + 8], ax
lea rdi, [r14 + rcx*8]
jmp 0x1400378c0
movsxd rax, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r12]
jmp 0x14003968e
movzx ebx, word [rdi + 2]
mov rcx, r15
lea rdx, [rbx*8 + 0x30]
call fcn.140016d7c
mov r12, qword [rbp + 0x170]
xor r11d, r11d
mov rcx, rax
test rax, rax
je 0x14003bb8d
mov qword [rax], r11
movabs rdx, 0xaaaaaaaaaaaaaaab
mov rax, qword [rdi + 0x10]
mov qword [rcx + 8], rax
mov rax, rdi
sub rax, r14
mov qword [rcx + 0x18], r12
sar rax, 3
imul rax, rdx
mov dword [rcx + 0x24], r11d
mov dword [rcx + 0x20], eax
lea eax, [r11 + 2]
mov byte [rcx + 0x29], bl
add byte [rdi], al
mov byte [rdi + 1], 0xf0
mov qword [rdi + 0x10], rcx
jmp 0x140039726
mov r12, qword [rbp + 0x170]
movsxd rax, dword [rdi + 0xc]
mov rbx, qword [rdi + 0x10]
mov r10, qword [rsp + 0x40]
imul rsi, rax, 0x38
add rsi, r10
cmp qword [rbx], rsi
je 0x140039782
movzx eax, byte [rbx + 0x29]
mov edx, eax
mov qword [rbx], rsi
sub rdx, 1
lea r9d, [rax - 1]
js 0x140039782
lea r8, [rdx + 6]
mov r14d, 8
lea r8, [rbx + r8*8]
mov eax, dword [rdi + 8]
add eax, r9d
sub r9d, r13d
cdqe
imul rcx, rax, 0x38
add rcx, r10
mov qword [r8], rcx
sub r8, r14
sub rdx, r13
jns 0x140039760
mov r14, qword [rsp + 0x38]
mov eax, 0x3e40
lea r8, [rbx + 0x30]
and word [rsi + 8], ax
mov rcx, rbx
or word [rsi + 8], r13w
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
call qword [rax + reloc.ODBC32.dll_SQLAllocHandle]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x1400397f5
jle 0x1400397cc
mov rcx, rsi
call fcn.140035980
mov r8, rax
lea rdx, [0x1400e6fd0]
mov rcx, r12
call fcn.14003187c
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x34], eax
mov r9d, dword [rdi + 4]
lea rdx, [r12 + 0x120]
mov r8d, dword [rbx + 0x20]
mov rcx, r15
call fcn.14003412c
xor eax, eax
mov dword [rbx + 0x24], eax
mov eax, dword [rsp + 0x34]
test eax, eax
jne 0x140037a2e
test byte [rsi + 8], 0x12
je 0x14003981a
movzx edx, byte [rbp + 0x180]
mov rcx, rsi
call fcn.140030224
mov rcx, rsi
call fcn.140030d10
test eax, eax
jne 0x14003c573
mov r11, qword [rbp + 0x170]
jmp 0x1400381d1
sub ebx, 0x49
je 0x140039b49
sub ebx, 1
je 0x140039b2b
sub ebx, 1
je 0x140039afa
sub ebx, 1
je 0x140039a8e
sub ebx, 1
je 0x140039a3c
sub ebx, 1
je 0x1400399de
sub ebx, 1
je 0x1400399b8
sub ebx, 1
je 0x140039981
cmp ebx, 1
jne 0x1400378c5
xor edx, edx
mov rcx, r11
call fcn.140033c54
mov r12, qword [rbp + 0x170]
xor ebx, ebx
test eax, eax
jne 0x140037a2e
mov rax, qword [r12]
cmp dword [rax + 0x280], ebx
je 0x1400398b0
cmp dword [r12 + 0x40], ebx
je 0x1400398b0
mov edx, r13d
mov rcx, r12
call fcn.140033b60
mov eax, dword [r12 + 0x30]
mov esi, ebx
add eax, 2
or eax, r13d
mov dword [r12 + 0x30], eax
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, qword [rsp + 0x40]
mov qword [r12 + 0xa0], r14
cmp dword [rdi + 8], ebx
jle 0x14003992d
lea rbx, [r14 + 8]
mov eax, 0x1000
test word [rbx], ax
je 0x140039901
movsxd rax, esi
imul rcx, rax, 0x38
add rcx, r14
call fcn.140030418
test eax, eax
jne 0x14003bb8d
movzx eax, word [rbx]
mov ecx, 0x202
and ax, cx
mov ecx, 2
cmp ax, cx
jne 0x14003991f
lea rcx, [rbx - 8]
call fcn.1400303b8
add esi, r13d
add rbx, 0x38
cmp esi, dword [rdi + 8]
jl 0x1400398e0
xor ebx, ebx
cmp byte [r15 + 0x61], bl
jne 0x14003bb8d
mov eax, 4
test byte [r15 + 0x68], al
je 0x140039958
mov rdx, qword [r15 + 0xf0]
xor r9d, r9d
mov r8, r12
mov ecx, eax
call qword [r15 + 0xe8]
sub rdi, qword [rsp + 0x38]
movabs rax, 0xaaaaaaaaaaaaaaab
sar rdi, 3
imul rdi, rax
add edi, r13d
mov dword [r12 + 0x34], edi
mov edi, 0x64
jmp 0x14003d0fb
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + 4]
imul rdx, rax, 0x38
add rcx, r12
mov rax, qword [rdx + r12]
mov edx, 0x2400
test word [rcx + 8], dx
je 0x1400399ab
mov rdx, rax
jmp 0x1400382aa
mov qword [rcx], rax
mov word [rcx + 8], r8w
jmp 0x1400378c0
movsxd rax, dword [rdi + 4]
mov r8d, 0x1000
imul rdx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
add rdx, r12
add rcx, r12
call fcn.140030d74
jmp 0x140037ef4
movsxd rax, dword [rdi + 4]
mov r14d, dword [rdi + 0xc]
imul rsi, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rsi, r12
add rbx, r12
mov r8d, 0x1000
mov rdx, rsi
mov rcx, rbx
call fcn.140030d74
mov eax, 0x1000
test word [rbx + 8], ax
je 0x140039a24
mov rcx, rbx
call fcn.140030418
test eax, eax
jne 0x14003d0d8
mov eax, r14d
sub r14d, r13d
test eax, eax
je 0x1400379ab
add rbx, 0x38
add rsi, 0x38
jmp 0x1400399f8
movsxd rax, dword [rdi + 4]
mov r14d, dword [rdi + 0xc]
imul rsi, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rsi, r12
add rbx, r12
mov rdx, rsi
mov rcx, rbx
call fcn.140030e38
mov eax, 0x1000
test word [rbx + 8], ax
je 0x140039a7c
mov rcx, rbx
call fcn.140030418
test eax, eax
jne 0x14003d0d8
add rsi, 0x38
add rbx, 0x38
sub r14d, r13d
jne 0x140039a56
jmp 0x1400379ab
movsxd rax, dword [rdi + 4]
imul rsi, rax, 0x38
add rsi, qword [r11 + 0x80]
lea rcx, [rsi - 0x38]
call fcn.140030d10
test eax, eax
jne 0x14003c56c
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
mov eax, 0x2400
add rbx, r12
test word [rbx + 8], ax
je 0x140039acc
mov rcx, rbx
call fcn.14003070c
movups xmm0, xmmword [rsi - 0x38]
mov ecx, 0xebff
movups xmmword [rbx], xmm0
movsd xmm1, qword [rsi - 0x28]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [rbx + 8]
and ax, cx
mov ecx, 0x840
or ax, cx
mov word [rbx + 8], ax
jmp 0x1400380fe
mov rdx, rdi
mov rcx, r11
call fcn.1400375b4
mov r8d, dword [rdi + 4]
mov rbx, rax
mov rdx, qword [rdi + 0x10]
xor eax, eax
mov rcx, rbx
mov qword [rsp + 0x20], rax
xor r9d, r9d
call fcn.140030e98
mov byte [rbx + 0xa], sil
jmp 0x140037ef4
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov eax, 0xff41
add rcx, r12
and word [rcx + 8], ax
or word [rcx + 8], r13w
jmp 0x1400378c0
mov rdx, rdi
mov rcx, r11
call fcn.1400375b4
mov esi, dword [rdi + 0xc]
mov rcx, rax
mov eax, dword [rdi + 4]
mov edx, dword [rdi + 8]
neg eax
mov eax, 0x100
sbb r14w, r14w
lea rbx, [rcx + 8]
and r14w, ax
sub esi, edx
add r14w, r13w
xor eax, eax
mov word [rbx], r14w
mov dword [rcx + 0xc], eax
test esi, esi
jle 0x1400379ab
mov ecx, 0x2400
lea rbx, [rbx + 0x38]
test word [rbx], cx
je 0x140039ba8
lea rcx, [rbx - 8]
call fcn.14003070c
xor eax, eax
mov ecx, 0x2400
sub esi, r13d
mov word [rbx], r14w
mov dword [rbx + 4], eax
test esi, esi
jg 0x140039b8f
jmp 0x1400379ab
xor ebx, ebx
cmp dword [rdi + 4], ebx
je 0x1400378ca
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r12
test word [rcx + 8], ax
je 0x140039be3
xor edx, edx
jmp 0x1400382aa
mov qword [rcx], rbx
jmp 0x1400399ae
cmp ebx, 0x7f
ja 0x14003bbb8
je 0x14003bb0e
cmp ebx, 0x69
ja 0x14003ad08
je 0x14003a9a8
cmp ebx, 0x5f
ja 0x14003a959
je 0x14003a8b7
cmp ebx, 0x5a
ja 0x14003a3d9
je 0x140039e5c
sub ebx, 0x53
je 0x140039e3d
sub ebx, 1
je 0x140039e1e
sub ebx, 1
je 0x140039de1
sub ebx, r10d
je 0x140039c98
cmp ebx, 1
jne 0x1400378c5
movsxd rax, dword [rdi + 4]
mov edx, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r12
call fcn.140030888
movsxd rdx, dword [rdi + 0x10]
movsxd rcx, eax
movsxd rax, dword [rdi + 8]
xor rdx, rcx
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r12
test word [rcx + 8], ax
jne 0x1400382aa
lea r8d, [rbx + 3]
mov qword [rcx], rdx
mov word [rcx + 8], r8w
jmp 0x140038209
test byte [rdi + 2], r13b
jne 0x140039ca4
xor ecx, ecx
mov esi, ecx
jmp 0x140039cad
mov rsi, qword [rdi - 8]
add rsi, r8
xor ecx, ecx
mov rax, qword [rdi + 0x10]
mov r15d, ecx
mov edx, dword [rdi + 4]
mov rbx, rcx
movsxd rcx, dword [rdi + 0xc]
mov r8d, dword [rdi + 8]
mov qword [rbp - 0x80], rax
mov dword [rbp + 0x188], edx
mov dword [rbp - 0x78], r8d
mov qword [rbp - 0x18], rcx
test rcx, rcx
jle 0x14003ccbf
lea r12, [rax + 0x20]
test rsi, rsi
je 0x140039ceb
mov ecx, dword [rsi + rbx*4]
jmp 0x140039cee
mov ecx, r15d
mov rax, qword [rax + 0x18]
movzx eax, byte [rbx + rax]
and eax, r13d
mov dword [rsp + 0x68], eax
lea eax, [rcx + r8]
mov r8, qword [r12]
movsxd r13, eax
lea eax, [rcx + rdx]
movsxd r14, eax
imul rcx, r14, 0x38
imul rdx, r13, 0x38
add rcx, qword [rsp + 0x40]
add rdx, qword [rsp + 0x40]
call fcn.140034a4c
xor r11d, r11d
mov dword [rsp + 0x30], eax
test eax, eax
mov r9d, eax
mov rax, qword [rbp - 0x80]
jne 0x140039d69
mov edx, dword [rbp + 0x188]
lea r13d, [r11 + 1]
mov r8d, dword [rbp - 0x78]
lea ecx, [r11 + 8]
add r15d, r13d
add rbx, r13
add r12, rcx
cmp rbx, qword [rbp - 0x18]
jl 0x140039ce1
mov r11, qword [rbp + 0x170]
mov r12, qword [rsp + 0x40]
jmp 0x1400394f9
mov rax, qword [rax + 0x18]
mov r10d, 2
mov r12, qword [rsp + 0x40]
test byte [rbx + rax], r10b
je 0x140039da0
imul rax, r14, 0x38
lea ecx, [r10 - 1]
test byte [rax + r12 + 8], cl
jne 0x140039d98
imul rax, r13, 0x38
test byte [rax + r12 + 8], cl
je 0x140039da0
neg r9d
mov dword [rsp + 0x30], r9d
cmp dword [rsp + 0x68], r11d
mov r13d, 1
mov r15, qword [rsp + 0x48]
mov r14, qword [rsp + 0x38]
mov sil, byte [rbp + 0x180]
mov r11, qword [rbp + 0x170]
lea eax, [r13 + 4]
lea ecx, [rax + 3]
lea r8d, [r13 + 3]
je 0x1400378ca
neg r9d
mov dword [rsp + 0x30], r9d
jmp 0x1400378ca
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r12
test word [rbx + 8], ax
je 0x140039e01
mov rcx, rbx
call fcn.140030470
jmp 0x140039e03
xor eax, eax
mov dl, byte [rdi + 8]
mov r8b, sil
mov rcx, rbx
mov dword [rsp + 0x34], eax
call fcn.140030a00
mov eax, dword [rsp + 0x34]
jmp 0x140037eec
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
add rcx, r12
test byte [rcx + 8], 0x24
je 0x1400378c0
call fcn.1400308f0
jmp 0x140037ef4
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
add rbx, r12
mov rcx, rbx
call fcn.1400308c8
movsxd rax, dword [rdi + 8]
add qword [rbx], rax
jmp 0x140037ef4
movsxd rcx, dword [rdi + 4]
lea rdx, [rsp + 0x64]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
mov qword [rsp + 0x58], rcx
lea rcx, [rsp + 0x58]
mov eax, dword [rdi + 8]
mov dword [rsp + 0x64], eax
call fcn.1400343b4
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037a27
movsxd rax, dword [rdi + 0xc]
mov r10, qword [rsp + 0x58]
mov r11, qword [rbp + 0x170]
imul r14, rax, 0x38
mov rbx, qword [r10 + 0x60]
mov eax, dword [r11 + 0x30]
add r14, r12
mov qword [rbp - 0x18], r14
mov qword [rbp + 0x188], rbx
cmp dword [r10 + 0x28], eax
je 0x140039ff3
xor eax, eax
cmp byte [r10 + 2], al
je 0x140039f22
cmp byte [r10], 3
jne 0x140039eff
movsxd rax, dword [r10 + 0x2c]
imul rdx, rax, 0x38
mov ecx, dword [rdx + r12 + 0xc]
mov dword [r10 + 0x74], ecx
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x70], ecx
mov rcx, qword [rdx + r12 + 0x10]
mov rax, qword [rsp + 0x58]
mov qword [rax + 0x68], rcx
mov rcx, qword [rsp + 0x58]
jmp 0x140039f73
mov eax, 0x2400
test word [r14 + 8], ax
je 0x140039f18
mov rcx, r14
call fcn.14003070c
jmp 0x140037fe3
mov word [r14 + 8], r13w
jmp 0x140037fea
mov rbx, qword [r10 + 0x38]
mov rcx, rbx
call fcn.140028f04
mov edx, dword [rbx + 0x40]
mov rcx, rbx
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x70], edx
mov rdx, qword [rsp + 0x58]
add rdx, 0x74
call fcn.140029424
mov rcx, qword [rsp + 0x58]
mov qword [rcx + 0x68], rax
mov rcx, qword [rsp + 0x58]
mov eax, dword [r15 + 0x7c]
cmp dword [rcx + 0x70], eax
ja 0x14003c56c
mov rbx, qword [rbp + 0x188]
mov r11, qword [rbp + 0x170]
mov eax, dword [r11 + 0x30]
mov dword [rcx + 0x28], eax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x68]
mov eax, 0x80
cmp byte [rcx], al
jae 0x140039f96
movzx eax, byte [rcx]
mov dword [rbx], eax
mov al, r13b
jmp 0x140039f9e
mov rdx, rbx
call fcn.140019ff0
movzx ecx, al
xor r11d, r11d
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x48], ecx
mov rax, qword [rsp + 0x58]
mov word [rax + 0x52], r11w
mov r10, qword [rsp + 0x58]
mov eax, dword [rbx]
cmp dword [r10 + 0x74], eax
jae 0x140039fed
mov qword [r10 + 0x68], r11
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x74], r11d
mov eax, dword [rbx]
cmp eax, 0x18003
ja 0x14003a1ed
mov r10, qword [rsp + 0x58]
cmp eax, dword [r10 + 0x70]
jbe 0x140039ff6
jmp 0x14003a1ed
mov rcx, qword [r10 + 0x68]
jmp 0x14003a063
xor r11d, r11d
movzx eax, word [r10 + 0x52]
movsxd r8, dword [rsp + 0x64]
cmp eax, r8d
jg 0x14003a258
mov eax, dword [rbx]
cmp dword [r10 + 0x48], eax
jae 0x14003a210
mov rcx, qword [r10 + 0x68]
mov qword [rbp - 0x70], rcx
test rcx, rcx
jne 0x14003a067
xorps xmm0, xmm0
lea r9, [rbp + 0x58]
movups xmmword [rbp + 0x58], xmm0
xor eax, eax
xor edx, edx
movups xmmword [rbp + 0x68], xmm0
mov qword [rbp + 0x88], rax
movups xmmword [rbp + 0x78], xmm0
mov r8d, dword [rbx]
mov rcx, qword [r10 + 0x38]
call fcn.140031208
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037a27
mov rcx, qword [rbp + 0x68]
mov eax, dword [rbx]
mov r10, qword [rsp + 0x58]
mov qword [rbp - 0x70], rcx
movzx r12d, word [r10 + 0x52]
mov edi, 0x80
mov rdx, qword [rbp + 0x188]
mov esi, r12d
mov r13d, eax
mov r15d, dword [rbx + r12*4]
lea r14d, [rdi - 0x7f]
mov ebx, dword [r10 + 0x48]
add rbx, rcx
add r13, rcx
movzx eax, byte [rbx]
mov dword [rsp + 0x50], eax
mov dword [r10 + rsi*4 + 0x78], eax
cmp dword [rsp + 0x50], edi
jae 0x14003a0bb
movzx eax, byte [rsp + 0x50]
lea rcx, [0x140000000]
add rbx, r14
movzx eax, byte [rax + rcx + 0xcce20]
jmp 0x14003a100
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.140019ff0
mov rcx, qword [rsp + 0x58]
movzx eax, al
add rbx, rax
mov eax, dword [rsp + 0x50]
mov dword [rcx + rsi*4 + 0x78], eax
mov eax, dword [rsp + 0x50]
cmp eax, edi
jb 0x14003a0ea
add eax, 0xfffffff4
shr eax, 1
jmp 0x14003a0f9
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0xcce20]
mov rdx, qword [rbp + 0x188]
add r12d, r14d
add r15, rax
movsxd rsi, r12d
mov dword [rdx + rsi*4], r15d
cmp r12d, dword [rsp + 0x64]
jg 0x14003a123
cmp rbx, r13
jae 0x14003a123
mov r10, qword [rsp + 0x58]
jmp 0x14003a090
mov rcx, qword [rsp + 0x58]
mov rdi, qword [rbp - 0x80]
mov r14, qword [rbp - 0x18]
cmp rbx, r13
jb 0x14003a13f
ja 0x14003a147
mov eax, dword [rcx + 0x70]
cmp r15, rax
jne 0x14003a147
mov eax, dword [rcx + 0x70]
cmp r15, rax
jbe 0x14003a153
xor ebx, ebx
cmp dword [rdx], ebx
jne 0x14003a1b7
mov r12d, ebx
mov rbx, r13
sub ebx, dword [rbp - 0x70]
mov word [rcx + 0x52], r12w
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x48], ebx
xor eax, eax
mov r10, qword [rsp + 0x58]
cmp qword [r10 + 0x68], rax
jne 0x14003a18e
mov ecx, 0x2400
test word [rbp + 0x60], cx
jne 0x14003a180
cmp dword [rbp + 0x78], eax
je 0x14003a18e
lea rcx, [rbp + 0x58]
call fcn.14003074c
mov r10, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x64]
mov r13d, 1
mov edx, dword [rsp + 0x50]
mov rbx, qword [rbp + 0x188]
mov r15, qword [rsp + 0x48]
mov r12, qword [rsp + 0x40]
mov sil, byte [rbp + 0x180]
jmp 0x14003a217
cmp qword [rcx + 0x68], rbx
jne 0x14003a1d6
mov eax, 0x2400
test word [rbp + 0x60], ax
jne 0x14003a1cd
cmp dword [rbp + 0x78], ebx
je 0x14003a1d6
lea rcx, [rbp + 0x58]
call fcn.14003074c
mov sil, byte [rbp + 0x180]
mov r13d, 1
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x48]
mov r14, qword [rsp + 0x38]
mov eax, dword [r14 + 0xc]
test eax, eax
jle 0x14003d057
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rdi, [r14 + rax*8]
jmp 0x140037ef4
mov edx, r11d
mov dword [rsp + 0x50], edx
movzx eax, word [r10 + 0x52]
cmp eax, r8d
jg 0x14003a261
cmp byte [rdi + 1], 0xf5
jne 0x14003a23e
mov rdx, qword [rdi + 0x10]
mov r8d, 0x800
mov rcx, r14
call fcn.140030d74
jmp 0x140037fe3
mov eax, 0x2400
test word [r14 + 8], ax
jne 0x140039f0b
mov word [r14 + 8], r13w
jmp 0x140037fe3
mov edx, dword [r10 + r8*4 + 0x78]
mov dword [rsp + 0x50], edx
mov eax, 0x2400
test word [r14 + 8], ax
je 0x14003a283
mov rcx, r14
call fcn.14003070c
mov r10, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x64]
mov edx, dword [rsp + 0x50]
lea eax, [r8 + 1]
movsxd rcx, eax
mov eax, dword [rbx + rcx*4]
cmp dword [r10 + 0x74], eax
jb 0x14003a336
movsxd rax, r8d
mov esi, dword [rbx + rax*4]
add rsi, qword [r10 + 0x68]
cmp edx, 0xc
jae 0x14003a2b6
mov r8, r14
mov rcx, rsi
call fcn.14003445c
jmp 0x1400379ab
mov al, byte [rbp + 0x180]
lea ebx, [rdx - 0xc]
shr ebx, 1
mov dword [r14 + 0xc], ebx
mov byte [r14 + 0xa], al
lea edx, [rbx + 2]
cmp dword [r14 + 0x20], edx
jge 0x14003a2f0
xor r8d, r8d
mov word [r14 + 8], r13w
mov rcx, r14
call fcn.14003023c
test eax, eax
jne 0x14003d0d8
mov rcx, qword [r14 + 0x10]
jmp 0x14003a2f8
mov rcx, qword [r14 + 0x18]
mov qword [r14 + 0x10], rcx
mov r8d, ebx
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [r14 + 0x10]
mov ecx, ebx
xor ebx, ebx
mov byte [rcx + rax], bl
mov rax, qword [r14 + 0x10]
mov byte [rcx + rax + 1], bl
lea rcx, [0x140000000]
mov eax, dword [rsp + 0x50]
and rax, r13
movzx eax, word [rcx + rax*2 + 0xc7ea4]
mov word [r14 + 8], ax
jmp 0x1400379ab
mov byte [r14 + 0xa], sil
test byte [rdi + 2], 0xc0
mov edx, dword [rsp + 0x50]
je 0x14003a35a
cmp edx, 0xc
jb 0x14003a34e
test r13b, dl
je 0x14003a381
mov eax, 0x80
test byte [rdi + 2], al
jne 0x14003a381
jmp 0x14003a35f
mov eax, 0x80
cmp edx, eax
jb 0x14003a36c
lea r8d, [rdx - 0xc]
shr r8d, 1
jmp 0x14003a37c
lea rcx, [0x140000000]
movzx r8d, byte [rdx + rcx + 0xcce20]
test r8d, r8d
jne 0x14003a395
mov r8, r14
lea rcx, [0x140133f48]
call fcn.14003445c
jmp 0x140037fe3
movsxd rax, dword [rsp + 0x64]
mov r9, r14
mov rcx, qword [rsp + 0x58]
mov edx, dword [rbx + rax*4]
mov rcx, qword [rcx + 0x38]
call fcn.140031208
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037a27
mov edx, dword [rsp + 0x50]
mov r8, r14
mov rcx, qword [r14 + 0x10]
call fcn.14003445c
mov eax, 0xefff
and word [r14 + 8], ax
jmp 0x140037fe3
sub ebx, 0x5b
je 0x14003a821
sub ebx, 1
je 0x14003a47d
sub ebx, 1
je 0x14003a43d
cmp ebx, 1
jne 0x1400378c5
movsxd rax, dword [rdi + 4]
lea r8, [rbp + 0x10]
mov rcx, qword [r15 + 0x20]
mov edx, dword [rdi + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14002e754
mov rcx, qword [rbp + 0x170]
mov rdx, rdi
call fcn.1400375b4
movsxd rcx, dword [rbp + 0x10]
mov qword [rax], rcx
mov r11, qword [rbp + 0x170]
mov r12, qword [rsp + 0x40]
jmp 0x1400379be
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp + 0x30]
mov rax, qword [r11 + 0x78]
xor ebx, ebx
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x38]
mov qword [rbp + 0x30], rbx
call fcn.14002e81c
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037a27
mov rcx, qword [rbp + 0x170]
mov rdx, rdi
call fcn.1400375b4
mov rcx, qword [rbp + 0x30]
jmp 0x14003a429
mov r9b, byte [r11 + 0xc3]
xor eax, eax
mov rsi, qword [rdi + 0x10]
mov edx, eax
mov r13d, eax
mov dword [rsp + 0x68], eax
mov r12d, eax
mov qword [rbp - 0x78], rax
movsxd rax, dword [rdi + 4]
xor r11d, r11d
imul r8, rax, 0x38
mov eax, dword [rdi + 8]
lea r10d, [rdx + 1]
add r8, qword [rsp + 0x40]
sub eax, r10d
cdqe
imul r14, rax, 0x38
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add r14, r8
mov qword [rbp - 0x70], r8
add rcx, qword [rsp + 0x40]
mov qword [rbp - 0x18], r14
mov byte [rbp + 0x188], r9b
mov qword [rbp + 0x50], rcx
test rsi, rsi
je 0x14003a54c
mov al, byte [rsi]
lea rbx, [r8 + 8]
mov r15b, byte [rbp + 0x180]
lea r14d, [rdx + 0x20]
mov r12d, 0xfffb
lea rcx, [rbx - 8]
mov r8b, r15b
mov dl, al
call fcn.1400373f0
cmp byte [rsi], 0x45
jne 0x14003a51e
movzx eax, word [rbx]
test al, 4
je 0x14003a51e
and ax, r12w
or ax, r14w
mov word [rbx], ax
mov r10d, 1
add rbx, 0x38
add rsi, r10
xor r11d, r11d
mov al, byte [rsi]
test al, al
jne 0x14003a4f9
mov r12d, dword [rsp + 0x68]
mov r9b, byte [rbp + 0x188]
mov rdx, qword [rbp - 0x78]
mov r8, qword [rbp - 0x70]
mov r14, qword [rbp - 0x18]
lea r15, [r14 + 0x24]
movzx ecx, word [r15 - 0x1c]
test r10b, cl
je 0x14003a575
mov eax, 0x4000
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
mov dword [r15], eax
add r12d, r10d
jmp 0x14003a6d6
test cl, 0x24
je 0x14003a64e
mov r8, qword [r15 - 0x24]
mov rdx, r8
test r8, r8
jns 0x14003a58d
not rdx
add r12d, r10d
cmp rdx, 0x7f
ja 0x14003a5be
mov rax, r8
and rax, r10
cmp rax, r8
jne 0x14003a5b3
mov eax, 4
cmp r9b, al
jb 0x14003a5b3
lea eax, [rdx + 8]
jmp 0x14003a646
add r13, r10
mov eax, r10d
jmp 0x14003a646
cmp rdx, 0x7fff
ja 0x14003a5ce
mov eax, 2
jmp 0x14003a5f0
cmp rdx, 0x7fffff
ja 0x14003a5e2
add r13, 3
mov eax, 3
jmp 0x14003a646
cmp rdx, 0x7fffffff
ja 0x14003a5f5
mov eax, 4
add r13, rax
jmp 0x14003a646
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x14003a60f
add r13, 6
mov eax, 5
jmp 0x14003a646
mov edx, 8
add r13, rdx
lea eax, [rdx + 0x18]
test al, cl
je 0x14003a641
mov eax, 0xffdf
xorps xmm0, xmm0
and cx, ax
lea eax, [rdx - 1]
cvtsi2sd xmm0, r8
or cx, dx
mov word [r15 - 0x1c], cx
movsd qword [r15 - 0x24], xmm0
jmp 0x14003a646
mov eax, 6
mov dword [r15], eax
jmp 0x14003a6d2
mov eax, 8
test al, cl
je 0x14003a667
add r12d, r10d
add r13, rax
mov eax, 7
mov dword [r15], eax
jmp 0x14003a6d6
mov esi, dword [r15 - 0x18]
mov eax, ecx
shr eax, 1
and eax, r10d
bt cx, 0xe
lea r14d, [rsi + 6]
lea r14d, [rax + r14*2]
jae 0x14003a6b3
lea rbx, [r15 - 0x24]
movsxd rax, dword [rbx]
lea r14d, [r14 + rax*2]
test r13, r13
je 0x14003a6ac
mov rcx, rbx
call fcn.140030470
xor r11d, r11d
test eax, eax
jne 0x14003d0d8
add esi, dword [rbx]
lea r10d, [r11 + 1]
jmp 0x14003a6b3
add rdx, rax
mov qword [rbp - 0x78], rdx
mov eax, esi
mov ecx, r10d
add r13, rax
mov eax, r14d
jmp 0x14003a6c3
add ecx, r10d
shr rax, 7
test rax, rax
jne 0x14003a6c0
add r12d, ecx
mov dword [r15], r14d
mov r8, qword [rbp - 0x70]
lea rax, [r15 - 0x24]
cmp rax, r8
je 0x14003a6f3
mov r9b, byte [rbp + 0x188]
sub r15, 0x38
mov rdx, qword [rbp - 0x78]
jmp 0x14003a550
cmp r12d, 0x7e
jle 0x14003a728
mov edx, r10d
movsxd rax, r12d
jmp 0x14003a704
add edx, r10d
shr rax, 7
test rax, rax
jne 0x14003a701
add r12d, edx
mov ecx, r10d
movsxd rax, r12d
jmp 0x14003a71b
add ecx, r10d
shr rax, 7
test rax, rax
jne 0x14003a718
cmp edx, ecx
jge 0x14003a72b
add r12d, r10d
mov r15, qword [rbp - 0x78]
mov r14, qword [rbp + 0x50]
movsxd rsi, r12d
movsxd rax, dword [r14 + 0x20]
lea rbx, [rsi + r13]
lea rcx, [rbx + r15]
cmp rcx, rax
jg 0x14003a751
mov rax, qword [r14 + 0x18]
mov qword [r14 + 0x10], rax
jmp 0x14003a779
mov r10, qword [rsp + 0x48]
movsxd rax, dword [r10 + 0x7c]
cmp rcx, rax
jg 0x14003c56c
mov edx, ebx
mov rcx, r14
call fcn.140030398
test eax, eax
jne 0x14003d0d8
lea r10d, [rax + 1]
mov dword [r14 + 0xc], ebx
mov eax, 0x10
mov word [r14 + 8], ax
test r15, r15
je 0x14003a799
mov eax, 0x4010
mov dword [r14], r15d
mov word [r14 + 8], ax
mov rbx, qword [r14 + 0x10]
mov edi, 0x80
lea r14, [rbx + rsi]
cmp r12d, edi
jae 0x14003a7b3
mov byte [rbx], r12b
mov eax, r10d
jmp 0x14003a7c4
mov rdx, rsi
mov rcx, rbx
call fcn.140019dfc
mov r10d, 1
mov r15, qword [rbp - 0x70]
mov r13, qword [rbp - 0x18]
movzx eax, al
add rbx, rax
mov esi, dword [r15 + 0x24]
cmp esi, edi
jae 0x14003a7e2
mov byte [rbx], sil
mov eax, r10d
jmp 0x14003a7ed
mov rdx, rsi
mov rcx, rbx
call fcn.140019dfc
movzx eax, al
mov r8d, esi
mov rdx, r15
mov rcx, r14
add rbx, rax
call fcn.1400343fc
mov eax, eax
add r15, 0x38
add r14, rax
mov r10d, 1
cmp r15, r13
jbe 0x14003a7d2
mov rdi, qword [rbp - 0x80]
mov r13d, r10d
jmp 0x140037d46
movsxd rax, dword [rdi + 4]
mov rsi, qword [rdi + 0x10]
imul rbx, rax, 0x38
mov al, byte [rsi]
add rbx, r12
mov r8b, byte [rbp + 0x180]
mov dl, al
mov rcx, rbx
call fcn.1400373f0
cmp byte [rsi], 0x45
mov r8d, 4
jne 0x14003a8a1
movzx ecx, word [rbx + 8]
test r8b, cl
je 0x14003a8a1
mov rdx, qword [rbx]
movabs r8, 0xffffffffffff
movabs rax, 0x800000000000
add rax, rdx
cmp rax, r8
mov eax, 0xfffb
mov r8d, 4
ja 0x14003a88a
and cx, ax
or cx, 0x20
jmp 0x14003a89d
xorps xmm0, xmm0
and cx, ax
cvtsi2sd xmm0, rdx
or cx, 8
movsd qword [rbx], xmm0
mov word [rbx + 8], cx
add rsi, r13
mov al, byte [rsi]
test al, al
je 0x140038202
add rbx, 0x38
jmp 0x14003a832
movsxd rbx, dword [rdi + 4]
mov r8d, dword [rdi + 0xc]
mov edx, dword [rdi + 8]
shl rbx, 5
add rbx, qword [r15 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.14002e7a0
mov r10d, 2
mov dword [rsp + 0x34], eax
cmp dword [rdi + 8], r13d
jne 0x14003a8f2
mov rcx, qword [rbx + 0x18]
mov eax, dword [rdi + 0xc]
mov dword [rcx], eax
or dword [r15 + 0x2c], r13d
jmp 0x14003a902
cmp dword [rdi + 8], r10d
jne 0x14003a902
mov rcx, qword [rbx + 0x18]
mov al, byte [rdi + 0xc]
mov byte [rcx + 0x70], al
cmp dword [rdi + 4], r13d
jne 0x14003a936
mov rax, qword [r15 + 8]
jmp 0x14003a920
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], r13d
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14003a90e
mov r11, qword [rbp + 0x170]
and dword [r11 + 0xc8], 0xfffffffc
jmp 0x14003a93d
mov r11, qword [rbp + 0x170]
mov eax, dword [rsp + 0x34]
test eax, eax
jne 0x140037a27
mov r9d, dword [rsp + 0x30]
mov r8d, 4
jmp 0x1400378c0
mov ecx, ebx
sub ecx, 0x60
je 0x14003ab61
sub ecx, 1
je 0x14003ab7e
sub ecx, 1
je 0x14003ab7e
sub ecx, 1
je 0x14003aa49
sub ecx, 1
je 0x14003aa49
sub ecx, 1
je 0x14003aa49
sub ecx, 1
je 0x14003aa49
sub ecx, 1
je 0x14003a9a8
cmp ecx, 1
jne 0x1400378c0
movsxd rax, dword [rdi + 4]
imul rsi, rax, 0x38
add rsi, r12
mov rcx, rsi
call fcn.140037570
movsxd rcx, dword [rdi + 8]
movzx ebx, ax
imul r14, rcx, 0x38
add r14, r12
mov rcx, r14
call fcn.140037570
movsxd rcx, dword [rdi + 0xc]
and al, bl
imul r15, rcx, 0x38
movzx ecx, word [r14 + 8]
mov r8d, 4
or cx, word [rsi + 8]
add r15, r12
test r8b, al
je 0x14003b12d
movzx ecx, byte [rdi]
mov rdx, qword [r14]
mov r8, qword [rsi]
mov qword [rbp - 0x58], rdx
sub ecx, 0x67
je 0x14003b0c5
sub ecx, 1
je 0x14003b0b3
sub ecx, 1
je 0x14003b0a5
cmp ecx, 1
je 0x14003b079
test r8, r8
je 0x14003b222
cmp r8, 0xffffffffffffffff
mov rax, rdx
cqo
cmove r8, r13
idiv r8
mov qword [rbp - 0x58], rdx
jmp 0x14003b106
movsxd rax, dword [rdi + 4]
imul rsi, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
add rsi, r12
imul r14, rax, 0x38
add rcx, r12
add r14, r12
mov al, byte [rcx + 8]
or al, byte [rsi + 8]
test r13b, al
je 0x14003aa98
mov eax, 0x2400
test word [r14 + 8], ax
je 0x14003aa8e
mov rcx, r14
call fcn.14003070c
jmp 0x1400379ab
mov word [r14 + 8], r13w
jmp 0x140039339
call fcn.140030804
mov rcx, rsi
mov rbx, rax
call fcn.140030804
mov r8b, byte [rdi]
mov rdx, rax
cmp r8b, 0x63
jne 0x14003aabc
and rbx, rax
jmp 0x14003ab3f
cmp r8b, 0x64
jne 0x14003aac7
or rbx, rdx
jmp 0x14003ab3f
xor eax, eax
test rdx, rdx
je 0x14003ab3f
jns 0x14003aaf3
mov rcx, rdx
mov eax, reloc.WLDAP32.dll_Ordinal_203
sub al, r8b
neg rcx
mov r8b, al
mov rax, rdx
cmp rax, 0xffffffffffffffc0
mov edx, 0x40
cmovg rdx, rcx
xor eax, eax
cmp rdx, 0x40
jl 0x14003ab0f
test rbx, rbx
jns 0x14003ab0a
cmp r8b, 0x65
je 0x14003ab0a
or rbx, 0xffffffffffffffff
jmp 0x14003ab3f
mov rbx, rax
jmp 0x14003ab3f
mov rcx, rdx
cmp r8b, 0x65
jne 0x14003ab20
shl rbx, cl
mov r8, rbx
jmp 0x14003ab3c
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x14003ab3c
mov ecx, 0x40
sub cl, dl
or rdx, 0xffffffffffffffff
shl rdx, cl
or r8, rdx
mov rbx, r8
mov eax, 0x3e40
mov qword [r14], rbx
and word [r14 + 8], ax
mov r8d, 4
or word [r14 + 8], r8w
mov r14, qword [rsp + 0x38]
jmp 0x140038202
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rsi, qword [rax + rcx*8]
test rsi, rsi
je 0x14003ab7e
mov eax, dword [rdi + 8]
cmp dword [rsi + 0x4c], eax
je 0x14003acea
mov eax, dword [r11 + 0xc8]
and al, 3
cmp al, r13b
je 0x14003d062
movsxd r13, dword [rdi + 0xc]
xor r9d, r9d
mov r10, qword [rsp + 0x48]
mov rax, r13
movsxd r15, dword [rdi + 8]
mov esi, r9d
shl rax, 5
mov r12d, r9d
add rax, qword [r10 + 0x20]
mov rcx, qword [rax + 8]
mov qword [rbp + 0x188], rcx
cmp bl, 0x62
jne 0x14003abe6
mov rax, qword [rax + 0x18]
movzx r14d, word [rdi + 2]
and r14d, 8
or r14d, r8d
mov cl, byte [rax + 0x70]
cmp cl, byte [r11 + 0xc3]
jae 0x14003abe9
mov byte [r11 + 0xc3], cl
jmp 0x14003abe9
mov r14d, r9d
mov eax, 0x10
test byte [rdi + 2], al
je 0x14003ac0e
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.1400308c8
mov r11, qword [rbp + 0x170]
mov r15d, dword [rbx]
mov al, byte [rdi + 1]
cmp al, 0xf7
jne 0x14003ac21
mov r12, qword [rdi + 0x10]
movzx esi, word [r12 + 8]
jmp 0x14003ac28
cmp al, 0xfd
jne 0x14003ac28
mov esi, dword [rdi + 0x10]
mov edx, dword [rdi + 4]
xor ebx, ebx
mov r9d, r13d
mov byte [rsp + 0x20], bl
mov r8d, esi
mov rcx, r11
call fcn.1400371e0
mov rsi, rax
test rax, rax
je 0x14003d0d8
lea r13d, [rbx + 1]
mov dword [rsi + 0x4c], r15d
mov byte [rax + 2], r13b
lea eax, [rbx + 4]
or dword [rsi + 8], eax
mov rax, qword [rsi + 0x38]
cmp r15d, r13d
jge 0x14003ac99
lea rax, [0x1400ec094]
mov r9d, 0x108ea
lea r14d, [rbx + 0xb]
mov qword [rsp + 0x20], rax
mov ecx, r14d
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.1400189a8
mov dword [rsp + 0x34], r14d
jmp 0x14003acb7
mov rcx, qword [rbp + 0x188]
mov r9, r12
mov r8d, r14d
mov qword [rsp + 0x20], rax
mov edx, r15d
call fcn.140028da0
mov dword [rsp + 0x34], eax
mov r11, qword [rbp + 0x170]
mov r8d, 4
mov r15, qword [rsp + 0x48]
mov r14, qword [rsp + 0x38]
mov r9d, dword [rsp + 0x30]
mov qword [rsi + 0x40], r12
lea r10d, [r8 - 2]
cmp byte [rdi + 1], 0xf7
mov r12, qword [rsp + 0x40]
setne al
mov byte [rsi + 4], al
mov rax, qword [rsi + 0x38]
mov cl, byte [rdi + 2]
and cl, 3
mov byte [rax + 3], cl
mov eax, dword [rsp + 0x34]
test eax, eax
jne 0x140037a27
jmp 0x14003933e
cmp ebx, 0x74
ja 0x14003b5da
je 0x14003b59b
cmp ebx, 0x6f
ja 0x14003b255
je 0x14003b3d0
sub ebx, 0x6a
je 0x14003a9a8
sub ebx, 1
je 0x14003a9a8
sub ebx, 1
je 0x14003ae74
sub ebx, 1
je 0x14003adba
cmp ebx, 1
jne 0x1400378c5
movsxd rax, dword [rdi + 4]
imul rsi, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rsi, r12
mov eax, 0x2400
add rbx, r12
test word [rbx + 8], ax
je 0x14003ad93
mov rcx, rbx
call fcn.14003070c
mov r11, qword [rbp + 0x170]
mov ecx, 8
mov r9d, dword [rsp + 0x30]
lea r8d, [rcx - 4]
lea r10d, [rcx - 6]
jmp 0x14003ad98
mov word [rbx + 8], r13w
test byte [rsi + 8], r13b
jne 0x14003aed2
mov rcx, rsi
mov word [rbx + 8], r8w
call fcn.140030804
not rax
mov qword [rbx], rax
jmp 0x1400380fe
movsxd rcx, dword [rdi + 8]
or r9d, 0xffffffff
mov rax, qword [r11 + 0x78]
mov edx, dword [rdi + 4]
mov rbx, qword [rax + rcx*8]
xor eax, eax
mov rcx, r11
mov byte [rsp + 0x20], al
movsx r8d, word [rbx + 0x50]
call fcn.1400371e0
mov rdx, rax
test rax, rax
je 0x14003d0d8
or dword [rax + 8], r13d
mov r8d, 4
mov byte [rax + 2], r13b
mov r9, qword [rbx + 0x40]
mov qword [rax + 0x40], r9
mov cl, byte [rbx + 4]
mov byte [rax + 4], cl
mov ecx, dword [rbx + 0x4c]
mov dword [rax + 0x4c], ecx
mov eax, dword [rax + 8]
xor eax, dword [rbx + 8]
and eax, r8d
xor dword [rdx + 8], eax
mov rax, qword [rdx + 0x38]
cmp ecx, r13d
jge 0x14003ae5b
lea rax, [0x1400ec094]
mov r9d, 0x108ea
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, reloc.Cabinet.dll_FCIAddFile
call fcn.1400189a8
mov ecx, reloc.Cabinet.dll_FCIAddFile
mov dword [rsp + 0x34], ecx
jmp 0x140037ef4
mov edx, ecx
mov qword [rsp + 0x20], rax
mov rcx, qword [rbx + 0x10]
call fcn.140028da0
mov dword [rsp + 0x34], eax
jmp 0x140037ef4
movsxd rax, dword [rdi + 4]
imul r13, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rsi, rax, 0x38
movsxd rax, dword [rdi + 0xc]
add r13, r12
imul rbx, rax, 0x38
movzx r15d, word [r13 + 8]
add rsi, r12
mov al, r15b
add rbx, r12
or al, byte [rsi + 8]
test al, 1
je 0x14003aede
mov eax, 0x2400
test word [rbx + 8], ax
je 0x14003aec2
mov rcx, rbx
call fcn.14003070c
mov r13d, 1
jmp 0x140037ead
mov r15, qword [rsp + 0x48]
mov r13d, 1
mov word [rbx + 8], r13w
mov sil, byte [rbp + 0x180]
jmp 0x1400378c5
test r15b, 0x12
jne 0x14003af16
mov r12b, byte [rbp + 0x180]
xor r8d, r8d
mov dl, r12b
mov rcx, r13
call fcn.1400304cc
test eax, eax
jne 0x14003d0d8
movzx r15d, word [r13 + 8]
mov eax, 0xfffd
and r15w, ax
mov eax, 0x4000
jmp 0x14003af4b
mov eax, 0x4000
test ax, r15w
je 0x14003af44
mov rcx, r13
call fcn.140030470
test eax, eax
jne 0x14003d0d8
movzx r15d, word [r13 + 8]
mov eax, 0xfffd
and r15w, ax
mov eax, 0x4000
mov r12b, byte [rbp + 0x180]
movzx r14d, word [rsi + 8]
test r14b, 0x12
jne 0x14003af7e
xor r8d, r8d
mov dl, r12b
mov rcx, rsi
call fcn.1400304cc
xor edx, edx
test eax, eax
jne 0x14003d0d8
movzx r14d, word [rsi + 8]
mov eax, 0xfffd
and r14w, ax
jmp 0x14003af90
test ax, r14w
je 0x14003af8e
mov rcx, rsi
call fcn.140030470
jmp 0x14003af64
xor edx, edx
mov r10, qword [rsp + 0x48]
mov ecx, dword [r13 + 0xc]
add ecx, dword [rsi + 0xc]
movsxd r12, ecx
movsxd rax, dword [r10 + 0x7c]
mov dword [rbp + 0x188], ecx
cmp r12, rax
jg 0x14003c56c
mov r8d, edx
cmp rbx, rsi
lea edx, [rcx + 3]
mov rcx, rbx
sete r8b
call fcn.14003023c
test eax, eax
jne 0x14003d0d8
mov eax, 0x3e40
and word [rbx + 8], ax
mov eax, 2
or word [rbx + 8], ax
cmp rbx, rsi
je 0x14003affc
movsxd r8, dword [rsi + 0xc]
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rbx + 0x10]
call sub.VCRUNTIME140.dll_memcpy
mov word [rsi + 8], r14w
movsxd rcx, dword [rsi + 0xc]
add rcx, qword [rbx + 0x10]
movsxd r8, dword [r13 + 0xc]
mov rdx, qword [r13 + 0x10]
call sub.VCRUNTIME140.dll_memcpy
xor r9d, r9d
mov word [r13 + 8], r15w
mov rax, qword [rbx + 0x10]
mov edx, r9d
lea r13d, [r9 + 1]
mov byte [r12 + rax], r9b
lea r10d, [r9 + 2]
mov rax, qword [rbx + 0x10]
lea rcx, [rdx + r12]
add rdx, r13
mov byte [rcx + rax + 1], r9b
cmp rdx, r10
jl 0x14003b02c
mov sil, byte [rbp + 0x180]
mov eax, 0x200
or word [rbx + 8], ax
mov eax, dword [rbp + 0x188]
mov r11, qword [rbp + 0x170]
mov r15, qword [rsp + 0x48]
mov r12, qword [rsp + 0x40]
mov r14, qword [rsp + 0x38]
mov dword [rbx + 0xc], eax
mov byte [rbx + 0xa], sil
jmp 0x14003a949
test r8, r8
je 0x14003b222
cmp r8, 0xffffffffffffffff
jne 0x14003b09b
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x14003b136
mov rax, rdx
cqo
idiv r8
jmp 0x14003b102
mov rdx, r8
lea rcx, [rbp - 0x58]
call fcn.14001a1dc
jmp 0x14003b0bf
mov rdx, r8
lea rcx, [rbp - 0x58]
call fcn.14001a1ac
test eax, eax
jne 0x14003b136
jmp 0x14003b106
test r8, r8
js 0x14003b0e3
test rdx, rdx
jle 0x14003b0fe
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, r8
jge 0x14003b0fe
jmp 0x14003b136
test rdx, rdx
jns 0x14003b0fe
movabs rcx, 0x8000000000000001
lea rax, [r8 + 1]
sub rcx, rdx
cmp rcx, rax
jg 0x14003b136
lea rax, [rdx + r8]
mov qword [rbp - 0x58], rax
mov rax, qword [rbp - 0x58]
mov r8d, 4
mov qword [r15], rax
mov ecx, 0x3e40
movzx eax, word [r15 + 8]
and ax, cx
or ax, r8w
lea ecx, [r8 + 4]
jmp 0x14003b20c
test r13b, cl
jne 0x14003b228
mov rcx, rsi
call fcn.14003085c
mov rcx, r14
movaps xmm6, xmm0
call fcn.14003085c
movzx edx, byte [rdi]
sub edx, 0x67
je 0x14003b1b3
sub edx, 1
je 0x14003b1ad
sub edx, 1
je 0x14003b1a7
cmp edx, 1
je 0x14003b197
mov rcx, rsi
call fcn.140030804
mov rcx, r14
mov rbx, rax
call fcn.140030804
mov qword [rbp - 0x58], rax
test rbx, rbx
je 0x14003b222
cmp rbx, 0xffffffffffffffff
cqo
xorps xmm0, xmm0
cmove rbx, r13
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x14003b1b7
ucomisd xmm6, xmm7
je 0x14003b222
divsd xmm0, xmm6
jmp 0x14003b1b7
mulsd xmm0, xmm6
jmp 0x14003b1b7
subsd xmm0, xmm6
jmp 0x14003b1b7
addsd xmm0, xmm6
movabs rcx, 0xfffffffffffff
movsd qword [rbp + 0x188], xmm0
mov rax, qword [rbp + 0x188]
movabs rdx, 0x7ff0000000000000
test rcx, rax
mov r8d, 4
setne cl
and rax, rdx
cmp rax, rdx
sete al
test al, cl
jne 0x14003b228
movzx eax, word [r15 + 8]
mov ecx, 0x3e40
and ax, cx
movsd qword [r15], xmm0
lea ecx, [r8 + 4]
or ax, cx
mov r9d, dword [rsp + 0x30]
mov word [r15 + 8], ax
mov r11, qword [rbp + 0x170]
jmp 0x1400394ff
mov r8d, 4
mov eax, 0x2400
test word [r15 + 8], ax
je 0x14003b246
mov rcx, r15
call fcn.14003070c
mov r15, qword [rsp + 0x48]
jmp 0x1400379ab
mov word [r15 + 8], r13w
mov r15, qword [rsp + 0x48]
jmp 0x14003ab57
sub ebx, 0x70
je 0x14003b3d0
sub ebx, 1
je 0x14003b2d3
sub ebx, 1
je 0x14003b297
cmp ebx, 1
jne 0x1400378c5
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
je 0x1400383e1
jmp 0x1400378c0
mov r8d, dword [rdi + 8]
or r9d, 0xffffffff
mov edx, dword [rdi + 4]
mov rcx, r11
mov byte [rsp + 0x20], r13b
call fcn.1400371e0
test rax, rax
je 0x14003d0d8
mov rcx, qword [rdi + 0x10]
mov r8, rax
mov qword [rax + 0x40], rcx
mov rcx, r15
mov edx, dword [rdi + 0xc]
call fcn.14003e10c
jmp 0x140037ee8
mov rdx, rdi
mov rcx, r11
call fcn.1400375b4
mov rdx, qword [rdi + 0x10]
xor r8d, r8d
mov rbx, rax
test rdx, rdx
jne 0x14003b2f2
mov ecx, r8d
jmp 0x14003b305
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdx + rcx], r8b
jne 0x14003b2f6
and ecx, 0x3fffffff
mov dword [rdi + 4], ecx
cmp sil, r13b
je 0x14003b391
mov qword [rsp + 0x20], r8
mov r9b, r13b
or r8d, 0xffffffff
mov rcx, rbx
call fcn.140030e98
xor r8d, r8d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14003c56c
lea eax, [r8 + 2]
test byte [rbx + 8], al
je 0x14003b359
cmp byte [rbx + 0xa], sil
je 0x14003b359
mov dl, sil
mov rcx, rbx
call fcn.140018c58
xor r8d, r8d
test eax, eax
jne 0x14003d0d8
mov eax, 0x800
mov dword [rbx + 0x20], r8d
or word [rbx + 8], ax
cmp byte [rdi + 1], 0xf9
jne 0x14003b37d
mov rdx, qword [rdi + 0x10]
test rdx, rdx
je 0x14003b37d
mov rcx, r15
call fcn.140016b08
mov byte [rdi + 1], 0xf9
mov rax, qword [rbx + 0x10]
mov qword [rdi + 0x10], rax
mov eax, dword [rbx + 0xc]
mov ecx, eax
mov dword [rdi + 4], eax
cmp ecx, dword [r15 + 0x7c]
jg 0x14003c56c
mov r11, qword [rbp + 0x170]
mov byte [rdi], Ordinal_73
mov rdx, rdi
mov rcx, r11
call fcn.1400375b4
mov ecx, 0xa02
mov word [rax + 8], cx
mov rcx, qword [rdi + 0x10]
mov qword [rax + 0x10], rcx
mov ecx, dword [rdi + 4]
mov dword [rax + 0xc], ecx
mov byte [rax + 0xa], sil
jmp 0x140037ef4
mov rax, qword [r11 + 0x78]
movsxd rdx, dword [rdi + 4]
mov rbx, qword [rax + rdx*8]
xor eax, eax
test rbx, rbx
je 0x14003b421
mov rcx, qword [rbx + 0x10]
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x28], eax
test rcx, rcx
je 0x14003b586
mov edx, dword [rbx + 0x4c]
xor r8d, r8d
call fcn.14002e4d0
mov r11, qword [rbp + 0x170]
mov r8d, 4
mov r9d, dword [rsp + 0x30]
mov dword [rsp + 0x34], eax
lea r10d, [r8 - 2]
jmp 0x14003b58a
mov r8d, dword [rdi + 8]
or r9d, 0xffffffff
mov rcx, r11
mov byte [rsp + 0x20], al
call fcn.1400371e0
mov rbx, rax
test rax, rax
je 0x14003d0d8
or dword [rax + 8], r13d
lea rsi, [rax + 0x10]
movzx ecx, word [rdi + 2]
mov r9, rsi
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov dword [rsp + 0x20], ecx
mov r8, r15
mov rcx, qword [r15]
xor edx, edx
call fcn.140027358
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14003b54e
mov rcx, qword [rsi]
xor r8d, r8d
mov edx, r13d
call fcn.140027d64
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14003b54e
mov r15, qword [rdi + 0x10]
lea r14, [rbx + 0x4c]
mov rcx, qword [rsi]
mov qword [rbx + 0x40], r15
test r15, r15
je 0x14003b521
movzx r8d, word [rdi + 2]
mov rdx, r14
or r8d, 2
call fcn.14002e088
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14003b51a
mov rax, qword [rbx + 0x38]
cmp dword [r14], r13d
jge 0x14003b4fd
lea rax, [0x1400ec094]
mov r15d, reloc.Cabinet.dll_FCIAddFile
mov ecx, r15d
mov qword [rsp + 0x20], rax
mov r9d, 0x108ea
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.1400189a8
mov dword [rsp + 0x34], r15d
jmp 0x14003b51a
mov edx, dword [r14]
mov r9, r15
mov rcx, qword [rsi]
mov r8d, 4
mov qword [rsp + 0x20], rax
call fcn.140028da0
mov dword [rsp + 0x34], eax
xor eax, eax
mov byte [rbx + 4], al
jmp 0x14003b544
mov rax, qword [rbx + 0x38]
xor r9d, r9d
mov edx, r13d
mov dword [r14], r13d
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.140028da0
mov dword [rsp + 0x34], eax
mov byte [rbx + 4], r13b
mov r14, qword [rsp + 0x38]
mov r15, qword [rsp + 0x48]
movzx eax, word [rdi + 2]
mov r8d, 4
mov r11, qword [rbp + 0x170]
sub ax, 8
mov sil, byte [rbp + 0x180]
neg ax
mov eax, dword [rbx + 8]
mov r9d, dword [rsp + 0x30]
lea r10d, [r8 - 2]
sbb ecx, ecx
and eax, 0xfffffffb
and ecx, r8d
or ecx, eax
mov dword [rbx + 8], ecx
mov eax, dword [rsp + 0x34]
test eax, eax
jne 0x140037a27
mov byte [rbx + 2], r13b
jmp 0x1400378c0
mov r8d, dword [rdi + 0xc]
or r9d, 0xffffffff
mov edx, dword [rdi + 4]
mov rcx, r11
mov byte [rsp + 0x20], 3
call fcn.1400371e0
test rax, rax
je 0x14003d0d8
mov byte [rax + 2], r13b
mov ecx, dword [rdi + 8]
mov dword [rax + 0x2c], ecx
lea rcx, [0x140133f58]
mov qword [rax + 0x38], rcx
mov byte [rax + 4], r13b
jmp 0x140037ef4
sub ebx, 0x75
je 0x14003badf
sub ebx, r10d
je 0x14003babb
sub ebx, 1
je 0x14003ba81
sub ebx, 1
je 0x14003b8b6
sub ebx, 1
je 0x14003b7a1
sub ebx, 1
je 0x14003b6c0
sub ebx, 1
je 0x14003b6a9
sub ebx, 1
je 0x14003b66c
cmp ebx, 1
jne 0x1400378c5
movsxd rax, dword [rdi + 8]
movsxd rcx, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [r11 + 0x78]
add rdx, r12
mov rcx, qword [rax + rcx*8]
call fcn.14003f5d4
xor ebx, ebx
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037a27
movsxd rcx, dword [rdi + 0xc]
mov r11, qword [rbp + 0x170]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], ebx
jmp 0x1400379be
mov rax, qword [r11 + 0x78]
lea r9, [rbp - 0xc]
movsxd rcx, dword [rdi + 4]
xor ebx, ebx
mov r8d, dword [rdi + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rdx, rax, 0x38
mov dword [rbp - 0xc], ebx
add rdx, r12
call fcn.14003f67c
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037a27
cmp dword [rbp - 0xc], ebx
jmp 0x1400382fe
mov eax, dword [r11 + 0x3c]
add dword [r15 + 0x78], eax
mov dword [r15 + 0x74], eax
xor eax, eax
mov dword [r11 + 0x3c], eax
jmp 0x1400378c5
movsxd rcx, dword [rdi + 4]
xor ebx, ebx
cmp byte [rdi + 1], 0xfa
mov rax, qword [r11 + 0x78]
mov r12d, dword [rdi + 8]
mov rsi, qword [rax + rcx*8]
jne 0x14003b717
cmp qword [r15 + 0x120], rbx
je 0x14003b717
movsx rcx, byte [rsi + 1]
mov rax, qword [r15 + 0x20]
mov r14, qword [rdi + 0x10]
shl rcx, 5
mov r15, qword [rcx + rax]
test byte [rdi + 2], r10b
je 0x14003b71d
cmp byte [rsi + 4], bl
je 0x14003b71d
mov rbx, qword [rsi + 0x38]
mov rcx, rbx
call fcn.140028f04
mov rax, qword [rbx + 0x30]
mov qword [rsi + 0x58], rax
jmp 0x14003b71d
mov r15, rbx
mov r14, rbx
mov dl, byte [rdi + 2]
mov rcx, qword [rsi + 0x38]
call fcn.14002dc98
and qword [rsi + 0x28], 0
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037a27
mov r11, qword [rbp + 0x170]
test r13b, r12b
je 0x140037d4d
add dword [r11 + 0x3c], r13d
mov r10, qword [rsp + 0x48]
mov r10, qword [r10 + 0x120]
test r10, r10
je 0x140037d4d
mov eax, Ordinal_36
test byte [r14 + 0x40], al
jne 0x140037d4d
mov rax, qword [rsi + 0x58]
mov r8, r15
mov r15, qword [rsp + 0x48]
mov edx, 9
mov r9, qword [r14]
mov qword [rsp + 0x20], rax
mov rcx, qword [r15 + 0x118]
call r10
mov r11, qword [rbp + 0x170]
jmp 0x140037d52
movsxd rax, dword [rdi + 8]
xor r10d, r10d
movsxd rcx, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [r11 + 0x78]
add rdx, r12
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
cmp byte [rdi + 1], 0xfa
mov r8, qword [rcx + r12]
mov qword [rbp - 0x48], r8
jne 0x14003b7f1
cmp qword [r15 + 0x120], r10
je 0x14003b7f1
movsx rcx, byte [rbx + 1]
mov rax, qword [r15 + 0x20]
mov rsi, qword [rdi + 0x10]
shl rcx, 5
mov r14, qword [rcx + rax]
jmp 0x14003b7f7
mov rsi, r10
mov r14, r10
movzx ecx, word [rdi + 2]
test r13b, cl
je 0x14003b808
add dword [r11 + 0x3c], r13d
movzx ecx, word [rdi + 2]
mov eax, Ordinal_36
test al, cl
je 0x14003b819
mov qword [r15 + 0x38], r8
movzx ecx, word [rdi + 2]
mov rax, qword [rdx + 0x10]
mov qword [rbp - 0x40], rax
mov eax, dword [rdx + 0xc]
mov dword [rbp - 0x2c], eax
mov eax, 0x10
test al, cl
je 0x14003b836
mov r9d, dword [rbx + 0x2c]
jmp 0x14003b839
mov r9d, r10d
mov eax, 0x4000
test word [rdx + 8], ax
je 0x14003b84b
mov eax, dword [rdx]
mov dword [rbp - 0x28], eax
jmp 0x14003b84f
mov dword [rbp - 0x28], r10d
movzx r8d, cx
lea rdx, [rbp - 0x50]
mov qword [rbp - 0x50], r10
and r8d, 0xa
mov rcx, qword [rbx + 0x38]
call fcn.14002d894
xor ecx, ecx
mov dword [rsp + 0x34], eax
mov byte [rbx + 3], cl
mov dword [rbx + 0x28], ecx
test eax, eax
jne 0x140037a27
test rsi, rsi
je 0x1400379ab
mov al, byte [rdi + 2]
mov r8, r14
mov r9, qword [rsi]
and al, 4
mov rcx, qword [r15 + 0x118]
neg al
mov rax, qword [rbp - 0x48]
sbb edx, edx
mov qword [rsp + 0x20], rax
and edx, 5
add edx, 0x12
call qword [r15 + 0x120]
jmp 0x1400379ab
xor ebx, ebx
mov rdx, rdi
mov rcx, r11
mov qword [rsp + 0x68], rbx
mov dword [rbp + 0x188], ebx
call fcn.1400375b4
mov r12, qword [rbp + 0x170]
lea r10d, [rbx + 2]
movsxd rdx, dword [rdi + 4]
mov r14, rax
mov rcx, qword [r12 + 0x78]
mov rsi, qword [rcx + rdx*8]
test byte [rsi + 8], r10b
jne 0x14003b95c
mov rcx, qword [rsi + 0x38]
lea rdx, [rbp + 0x188]
call fcn.1400297c8
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037a2e
cmp dword [rbp + 0x188], ebx
je 0x14003b91a
mov qword [rsp + 0x68], r13
jmp 0x14003b956
mov rbx, qword [rsi + 0x38]
mov rcx, rbx
call fcn.140028f04
mov rax, qword [rbx + 0x30]
movabs rcx, 0x7fffffffffffffff
mov qword [rsp + 0x68], rax
cmp rax, rcx
jl 0x14003b94c
mov r10d, 2
or dword [rsi + 8], r10d
xor ebx, ebx
jmp 0x14003b95c
inc rax
mov qword [rsp + 0x68], rax
xor ebx, ebx
mov r10d, 2
movsxd rdx, dword [rdi + 0xc]
test edx, edx
je 0x14003b9dd
mov rcx, qword [r12 + 0x100]
test rcx, rcx
je 0x14003b98d
mov rax, qword [rcx + 8]
jmp 0x14003b97e
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14003b977
imul rbx, rdx, 0x38
add rbx, qword [rcx + 0x20]
jmp 0x14003b996
imul rbx, rdx, 0x38
add rbx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.1400308c8
mov rax, qword [rbx]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x14003ba44
mov r10d, 2
test byte [rsi + 8], r10b
jne 0x14003ba44
mov rcx, qword [rsp + 0x68]
inc rax
cmp rcx, rax
cmovl rcx, rax
mov qword [rsp + 0x68], rcx
mov qword [rbx], rcx
xor ebx, ebx
test byte [rsi + 8], r10b
je 0x14003ba54
lea rdx, [rsp + 0x68]
mov ecx, 8
call fcn.140018a78
mov r8, qword [rsp + 0x68]
movabs rax, 0x3fffffffffffffff
and r8, rax
xor r9d, r9d
add r8, r13
lea rax, [rbp + 0x188]
mov qword [rsp + 0x68], r8
xor edx, edx
mov rcx, qword [rsi + 0x38]
mov qword [rsp + 0x20], rax
call fcn.140029830
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037a2e
xor eax, eax
cmp dword [rbp + 0x188], eax
jne 0x14003ba4e
add ebx, r13d
cmp ebx, 0x64
jl 0x14003b9e3
mov eax, reloc.Cabinet.dll_FCIFlushCabinet
jmp 0x140037a2e
mov r10d, 2
mov r11, qword [rbp + 0x170]
xor ebx, ebx
mov r12, qword [rsp + 0x40]
mov byte [rsi + 3], bl
mov dword [rsi + 0x28], ebx
mov rax, qword [rsp + 0x68]
mov qword [r14], rax
mov r14, qword [rsp + 0x38]
mov sil, byte [rbp + 0x180]
jmp 0x14003a949
mov rdx, rdi
mov rcx, r11
call fcn.1400375b4
movsxd rdx, dword [rdi + 4]
mov r11, qword [rbp + 0x170]
mov rcx, qword [r11 + 0x78]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x18], r13
jmp 0x1400379be
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
mov ecx, 8
mov eax, dword [rdi + 8]
shl eax, 3
xor eax, dword [rdx + 8]
and eax, ecx
xor dword [rdx + 8], eax
jmp 0x1400378c5
movsxd rax, dword [rdi + 4]
mov rcx, r11
mov rdx, qword [r11 + 0x78]
mov rdx, qword [rdx + rax*8]
call fcn.1400331ac
mov r11, qword [rbp + 0x170]
xor r9d, r9d
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov qword [rax + rcx*8], r9
jmp 0x1400379be
mov rdx, rdi
mov rcx, r11
call fcn.1400375b4
movsxd rdx, dword [rdi + 4]
mov rsi, rax
mov r12, qword [rbp + 0x170]
mov rcx, qword [r12 + 0x78]
mov rdx, qword [rcx + rdx*8]
mov rbx, qword [rdx + 0x38]
mov rcx, rbx
call fcn.140028f04
mov r8d, dword [rbx + 0x40]
cmp r8d, dword [r15 + 0x7c]
ja 0x14003c573
mov r9, rsi
xor edx, edx
mov rcx, rbx
call fcn.140031208
xor ebx, ebx
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037a2e
cmp dword [rdi + 0xc], ebx
jne 0x14003981a
mov eax, 0x1000
test word [rsi + 8], ax
je 0x14003981a
mov rcx, rsi
call fcn.140030418
test eax, eax
je 0x14003981a
mov bl, byte [rbp + 0x178]
mov rcx, qword [rsp + 0x48]
call fcn.140017044
lea rdx, str.out_of_memory
mov rcx, r12
call fcn.14003187c
mov ecx, 7
mov eax, ecx
jmp 0x140037a39
mov eax, 0x94
cmp ebx, eax
ja 0x14003c49a
je 0x14003c475
mov eax, SQLDriverConnectW
cmp ebx, eax
ja 0x14003c13c
je 0x14003c103
mov eax, reloc.WLDAP32.dll_Ordinal_133
cmp ebx, eax
ja 0x14003bef4
je 0x14003be71
mov ecx, ebx
sub ecx, 0x80
je 0x14003bd80
sub ecx, 1
je 0x14003bd48
sub ecx, 1
je 0x14003bccb
sub ecx, 1
je 0x14003bc1f
cmp ecx, 1
jne 0x1400378c0
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rsi, qword [rax + rcx*8]
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rbx, r12
test byte [rdi + 2], r13b
je 0x14003bc40
add dword [r11 + 0x3c], r13d
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14003bc5b
mov rcx, rbx
call fcn.140030470
test eax, eax
jne 0x140037a27
cmp byte [rdi], 0x83
jne 0x14003bc6d
mov rdx, rbx
mov rcx, rsi
call fcn.14003ec04
jmp 0x14003bcc2
movsxd rax, dword [rbx + 0xc]
movzx r8d, word [rdi + 2]
mov qword [rbp - 0x48], rax
mov rax, qword [rbx + 0x10]
xor ebx, ebx
mov qword [rbp - 0x50], rax
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
movzx eax, word [rdi + 0x10]
add rcx, r12
mov word [rbp - 0x30], ax
mov eax, 0x10
mov qword [rbp - 0x38], rcx
test al, r8b
je 0x14003bcab
mov r9d, dword [rsi + 0x2c]
jmp 0x14003bcae
mov r9d, ebx
mov rcx, qword [rsi + 0x38]
lea rdx, [rbp - 0x50]
and r8d, 0xa
call fcn.14002d894
mov dword [rsi + 0x28], ebx
mov dword [rsp + 0x34], eax
jmp 0x140038a22
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rsi, qword [rax + rcx*8]
xor eax, eax
mov rcx, qword [rsi + 0x38]
mov dword [rbp - 0x64], eax
cmp bl, 0x82
jne 0x14003bcf5
or dword [rsi + 0x2c], 0xffffffff
xor ebx, ebx
cmp byte [rcx], bl
je 0x14003933e
jmp 0x14003bcf7
xor ebx, ebx
lea rdx, [rbp - 0x64]
call fcn.1400297c8
mov dword [rsp + 0x34], eax
mov al, byte [rbp - 0x64]
mov byte [rsi + 2], al
mov eax, dword [rsp + 0x34]
mov byte [rsi + 3], bl
mov dword [rsi + 0x28], ebx
test eax, eax
jne 0x140037a27
cmp dword [rdi + 8], ebx
jle 0x1400380fe
cmp dword [rbp - 0x64], ebx
je 0x1400380fe
jmp 0x1400383e1
mov r12, qword [rsp + 0x40]
mov r13d, 1
mov r14, qword [rsp + 0x38]
jmp 0x1400383e1
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rbx, qword [rax + rcx*8]
xor eax, eax
mov byte [rbx + 2], r13b
mov dword [rbx + 0x28], eax
cmp byte [rbx], al
jne 0x1400378c0
mov rbx, qword [rbx + 0x38]
mov rcx, qword [rbx + 0x18]
call fcn.140016a88
xor eax, eax
mov byte [rbx], r13b
mov qword [rbx + 0x18], rax
jmp 0x140037ef4
mov rdx, rdi
mov rcx, r11
call fcn.1400375b4
mov r11, qword [rbp + 0x170]
mov rsi, rax
movsxd rdx, dword [rdi + 4]
xor eax, eax
mov rcx, qword [r11 + 0x78]
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], al
je 0x14003bdb2
mov word [rsi + 8], r13w
jmp 0x1400379b7
cmp byte [rbx + 3], al
je 0x14003bdc0
mov rax, qword [rbx + 0x58]
jmp 0x14003be65
mov r10d, 2
cmp byte [rbx], r10b
jne 0x14003be0c
mov rcx, qword [rbx + 0x38]
lea rdx, [rbp + 0x20]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + reloc.WLDAP32.dll_Ordinal_96]
mov r12, qword [rbp + 0x170]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x34], eax
call fcn.1400355a4
mov eax, dword [rsp + 0x34]
test eax, eax
jne 0x140037a2e
mov rax, qword [rbp + 0x20]
mov r11, r12
mov r12, qword [rsp + 0x40]
jmp 0x14003be69
mov rax, qword [rbx + 0x38]
xor ecx, ecx
cmp byte [rax], cl
je 0x14003be39
mov rcx, rbx
call fcn.140034368
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037a27
mov r11, qword [rbp + 0x170]
xor eax, eax
lea r10d, [rax + 2]
jmp 0x14003be3f
xor eax, eax
mov dword [rsp + 0x34], eax
cmp byte [rbx + 2], al
je 0x14003be4e
mov word [rsi + 8], r13w
jmp 0x14003ba75
mov rbx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.140028f04
mov rax, qword [rbx + 0x30]
mov r11, qword [rbp + 0x170]
mov qword [rbp + 0x20], rax
mov qword [rsi], rax
jmp 0x1400379b7
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp - 0x50]
mov rax, qword [r11 + 0x78]
xor r9d, r9d
xor r8d, r8d
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x40]
mov rsi, qword [rbx + 0x38]
mov qword [rbp - 0x50], rax
movzx eax, word [rdi + 0xc]
mov word [rbp - 0x40], ax
xor eax, eax
mov byte [rbp - 0x3e], al
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
lea rax, [rbp + 0x14]
add rcx, r12
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x48], rcx
mov rcx, rsi
call fcn.140029830
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037a27
xor eax, eax
cmp dword [rbp + 0x14], eax
jne 0x14003beea
lea edx, [rax + 4]
mov rcx, rsi
call fcn.14002dc98
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037a27
and qword [rbx + 0x28], 0
jmp 0x1400380fe
sub ebx, 0x86
je 0x14003c020
sub ebx, 1
je 0x14003c020
sub ebx, 1
je 0x14003bf87
cmp ebx, 1
jne 0x1400378c5
mov eax, dword [rdi + 0xc]
xor ebx, ebx
mov rcx, qword [r15 + 0x20]
neg eax
mov edx, dword [rdi + 4]
lea rax, [rbp + 0x188]
sbb r8, r8
mov dword [rbp + 0x188], ebx
and r8, rax
movsxd rax, dword [rdi + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14002e4d0
mov r11, qword [rbp + 0x170]
mov dword [rsp + 0x34], eax
cmp dword [rdi + 0xc], ebx
je 0x14003bf7a
movsxd rdx, dword [rbp + 0x188]
add dword [r11 + 0x3c], edx
cmp dword [rdi + 0xc], ebx
jle 0x14003bf7a
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov eax, dword [rsp + 0x34]
add qword [rcx + r12], rdx
test eax, eax
jne 0x140037a27
jmp 0x1400379be
mov rdx, rdi
mov rcx, r11
call fcn.1400375b4
mov rbx, rax
mov word [rax + 8], r13w
mov ecx, dword [r15 + 0xd8]
add ecx, r13d
cmp dword [r15 + 0xcc], ecx
jg 0x14003d06c
movsxd rsi, dword [rdi + 0xc]
lea r8, [rbp - 0x60]
mov edx, dword [rdi + 4]
xor eax, eax
mov dword [rbp - 0x60], eax
mov rcx, rsi
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.14002e554
mov dword [rsp + 0x34], eax
mov eax, 4
mov word [rbx + 8], ax
movsxd rax, dword [rbp - 0x60]
mov qword [rbx], rax
mov eax, dword [rsp + 0x34]
test eax, eax
jne 0x140037a27
mov r8d, dword [rbp - 0x60]
test r8d, r8d
je 0x1400380fe
mov r9d, dword [rdi + 4]
mov edx, esi
mov rcx, r15
call fcn.14004fe7c
lea edx, [rsi + r13]
mov byte [rbp + 0x178], dl
jmp 0x1400380fe
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rcx*8]
xor ecx, ecx
mov rax, qword [rbx + 0x38]
cmp byte [rax], cl
je 0x14003c062
mov rcx, rbx
call fcn.140034368
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037a27
mov r11, qword [rbp + 0x170]
xor eax, eax
mov r9d, dword [rsp + 0x30]
lea r8d, [rax + 4]
lea r10d, [rax + 2]
jmp 0x14003c068
xor eax, eax
mov dword [rsp + 0x34], eax
cmp byte [rbx + 2], al
jne 0x14003c0df
mov qword [rbp + 0x28], rax
lea r8, [rbp + 0x28]
mov rdx, qword [rbx + 0x38]
mov rcx, r15
call fcn.140035384
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037a27
cmp byte [rdi], 0x86
jne 0x14003c0c7
movsxd rcx, dword [rdi + 0xc]
mov r11, qword [rbp + 0x170]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
xor eax, eax
mov byte [rdx + 2], al
mov rax, qword [rbp + 0x28]
mov qword [rdx + 0x58], rax
mov byte [rdx + 3], r13b
mov rax, qword [rdi + 0x10]
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x30], rbx
jmp 0x1400379be
mov rcx, qword [rbp + 0x170]
mov rdx, rdi
call fcn.1400375b4
mov rcx, qword [rbp + 0x28]
jmp 0x14003a429
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r12
test word [rcx + 8], ax
jne 0x1400382d5
mov word [rcx + 8], r13w
jmp 0x1400378c0
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x38]
cmp byte [rdx], r13b
jne 0x14003c128
mov rdx, rcx
mov rcx, r15
call fcn.14003e30c
jmp 0x140037ef4
mov edx, dword [rcx + 0x50]
xor r8d, r8d
mov rcx, qword [rcx + 8]
call fcn.14002e4d0
jmp 0x140037ee8
sub ebx, 0x8b
je 0x14003c42c
sub ebx, 1
je 0x14003c406
sub ebx, 1
je 0x14003c2b4
sub ebx, 1
je 0x14003c2a4
sub ebx, 1
je 0x14003c290
sub ebx, 1
je 0x14003c27c
sub ebx, 1
je 0x14003c268
sub ebx, 1
je 0x14003c1cb
cmp ebx, 1
jne 0x1400378c5
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rsi, rax, 0x38
add rbx, r12
mov eax, 0x10
test byte [rbx + 8], al
jne 0x14003c1b9
mov rcx, rbx
call fcn.140030c28
test eax, eax
jne 0x14003d0d8
mov rdx, qword [rsi + r12]
mov rcx, qword [rbx + 0x10]
call fcn.14001e62c
jmp 0x1400380fe
movsxd rax, dword [rdi + 0xc]
lea r8, [rbp + 0x18]
mov rcx, qword [r15 + 0x20]
mov rdx, qword [rdi + 0x10]
imul rsi, rax, 0x38
movsxd rax, dword [rdi + 4]
add rdx, 4
imul rbx, rax, 0x38
movzx eax, word [rdi + 2]
mov r9d, dword [rsi + r12]
add rbx, r12
shl rax, 5
add r9d, r13d
mov qword [rsp + 0x20], r8
mov r8d, dword [rdi + 8]
mov rcx, qword [rax + rcx + 8]
call fcn.14002f390
mov rcx, rbx
mov r14, rax
call fcn.140030af0
mov edx, dword [rbp + 0x18]
test edx, edx
je 0x14003c252
test r14, r14
je 0x14003d0d8
dec edx
lea rax, [fcn.140016a88]
movsxd r8, edx
mov r9b, r13b
sub qword [rsi + r12], r8
mov rdx, r14
or r8d, 0xffffffff
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140030e98
movzx esi, byte [rbp + 0x180]
mov rcx, rbx
mov edx, esi
call fcn.140030224
jmp 0x140037fe3
mov r8, qword [rdi + 0x10]
mov rcx, r15
mov edx, dword [rdi + 4]
call fcn.14006b26c
jmp 0x140037ef4
mov r8, qword [rdi + 0x10]
mov rcx, r15
mov edx, dword [rdi + 4]
call fcn.14004d3fc
jmp 0x140037ef4
mov r8, qword [rdi + 0x10]
mov rcx, r15
mov edx, dword [rdi + 4]
call fcn.14004d8fc
jmp 0x140037ef4
mov edx, dword [rdi + 4]
mov rcx, r15
call fcn.14004bda0
jmp 0x140037ee8
mov rcx, qword [rdi + 0x10]
xor edx, edx
movsxd rbx, dword [rdi + 4]
test rcx, rcx
jne 0x14003c319
mov rcx, qword [r15 + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.140053b10
mov r8, qword [rbp + 0x170]
mov r9d, r13d
and dword [r15 + 0x2c], 0xffffffef
add r8, 0xa8
mov edx, ebx
mov rcx, r15
call fcn.140060f00
mov r11, qword [rbp + 0x170]
or dword [r15 + 0x2c], r13d
mov r12, qword [rsp + 0x40]
mov dword [rsp + 0x34], eax
and dword [r11 + 0xc8], 0xfffffffc
jmp 0x14003c3f9
mov r8, qword [r15 + 0x20]
lea rax, [r11 + 0xa8]
mov qword [rbp - 0x48], rax
lea r9, str.sqlite_master
mov dword [rbp - 0x38], edx
mov rax, rbx
shl rax, 5
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x40], ebx
mov qword [rsp + 0x20], rcx
mov rcx, r15
mov r8, qword [rax + r8]
call fcn.140018838
mov rbx, rax
xor eax, eax
test rbx, rbx
je 0x14003d088
lea r9, [rbp - 0x50]
mov byte [r15 + 0xb5], r13b
lea r8, [fcn.140060cfc]
mov dword [rbp - 0x3c], eax
mov rdx, rbx
mov dword [rbp - 0x34], eax
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.14005cb4c
xor ecx, ecx
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14003c3da
mov eax, dword [rbp - 0x3c]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14003c3da
cmp dword [rbp - 0x34], ecx
jne 0x14003c3da
lea rax, [0x1400ec094]
mov r9d, 0x15f51
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
mov ecx, reloc.Cabinet.dll_FCIAddFile
call fcn.1400189a8
mov dword [rsp + 0x34], reloc.Cabinet.dll_FCIAddFile
mov rdx, rbx
mov rcx, r15
call fcn.140016b08
mov eax, dword [rsp + 0x34]
xor ebx, ebx
mov r11, qword [rbp + 0x170]
mov byte [r15 + 0xb5], bl
test eax, eax
jne 0x14003d091
jmp 0x1400379be
add byte [r15 + 0x6a], r13b
xor ebx, ebx
mov rdx, qword [rdi + 0x10]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rbx
mov rcx, r15
call fcn.14005cb4c
dec byte [r15 + 0x6a]
jmp 0x140037ee8
mov rdx, rdi
mov rcx, r11
call fcn.1400375b4
movsxd rdx, dword [rdi + 4]
mov rbx, rax
mov rcx, qword [r15 + 0x20]
xor eax, eax
mov r8d, dword [rdi + 0xc]
shl rdx, 5
mov dword [rbp - 8], eax
mov rcx, qword [rdx + rcx + 8]
lea rdx, [rbp - 8]
call fcn.14002e088
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037a27
movsxd rax, dword [rbp - 8]
mov qword [rbx], rax
jmp 0x140037ef4
mov rdx, rdi
mov rcx, r11
call fcn.1400375b4
mov r9d, 8
mov word [rax + 8], r9w
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rcx]
mov qword [rax], rdx
jmp 0x140037ef4
mov eax, 0x9e
cmp ebx, eax
ja 0x14003c8bc
je 0x14003c889
sub ebx, 0x95
je 0x14003c83c
sub ebx, 1
je 0x14003c801
sub ebx, 1
je 0x14003c782
sub ebx, 1
je 0x14003c728
sub ebx, 1
je 0x14003c58c
sub ebx, 1
je 0x14003c58c
sub ebx, 1
je 0x14003c618
sub ebx, 1
je 0x14003c4fd
cmp ebx, 1
jne 0x1400378c5
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
xor eax, eax
add rbx, r12
mov rcx, rbx
cmp dword [rdi + 0xc], eax
je 0x14003c539
movsxd rax, dword [rdi + 0xc]
mov r8, qword [rdi + 0x10]
imul rdx, rax, 0x38
add rdx, r12
call fcn.140030698
mov ecx, eax
mov dword [rsp + 0x34], eax
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
add rbx, r12
jmp 0x14003c548
mov rdx, qword [rdi + 0x10]
call fcn.1400305f0
mov ecx, eax
mov dword [rsp + 0x34], eax
test ecx, ecx
mov rcx, rbx
jne 0x14003d0bc
movzx edx, sil
call fcn.140030224
mov rcx, rbx
call fcn.140030d10
test eax, eax
je 0x140037ef4
mov r12, qword [rbp + 0x170]
lea rdx, str.string_or_blob_too_big
mov rcx, r12
call fcn.14003187c
mov eax, 0x12
jmp 0x140037a2e
movzx esi, word [rdi + 2]
mov rcx, r15
mov r14d, esi
lea rdx, [rsi*8 + 0x68]
call fcn.140016d7c
mov rbx, rax
xor eax, eax
test rbx, rbx
je 0x14003d0d8
add r14, 6
mov qword [rbx + 0x10], rax
mov r8d, r13d
mov rdx, r15
lea rcx, [rbx + r14*8]
mov qword [rbx], rcx
call fcn.140030ae0
mov rcx, qword [rdi + 0x10]
movabs rax, 0xaaaaaaaaaaaaaaab
mov r14, qword [rsp + 0x38]
mov r12, qword [rbp + 0x170]
mov qword [rbx + 8], rcx
mov rcx, rdi
sub rcx, r14
mov qword [rbx + 0x18], r12
sar rcx, 3
imul rcx, rax
xor r11d, r11d
mov byte [rbx + 0x29], sil
mov dword [rbx + 0x20], ecx
mov byte [rbx + 0x28], r11b
mov dword [rbx + 0x24], r11d
mov word [rdi], 0xf09b
mov qword [rdi + 0x10], rbx
jmp 0x14003c622
mov r12, qword [rbp + 0x170]
xor r11d, r11d
movsxd rax, dword [rdi + 0xc]
mov rbx, qword [rdi + 0x10]
mov rsi, qword [rsp + 0x40]
imul rdx, rax, 0x38
add rdx, rsi
cmp qword [rbx + 0x10], rdx
je 0x14003c681
movzx eax, byte [rbx + 0x29]
mov r8d, eax
mov qword [rbx + 0x10], rdx
sub r8, 1
lea r10d, [rax - 1]
js 0x14003c681
lea r9, [r8 + 6]
mov r15d, 8
lea r9, [rbx + r9*8]
mov eax, dword [rdi + 8]
add eax, r10d
sub r10d, r13d
cdqe
imul rcx, rax, 0x38
add rcx, rsi
mov qword [r9], rcx
sub r9, r15
sub r8, r13
jns 0x14003c65f
mov r15, qword [rsp + 0x48]
add dword [rdx + 0xc], r13d
lea r8, [rbx + 0x30]
mov rcx, rbx
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
cmp dword [rdi + 4], r11d
je 0x14003c69f
call qword [rax + 0x30]
jmp 0x14003c6a2
call qword [rax + reloc.ODBC32.dll_SQLAllocHandle]
mov eax, dword [rbx + 0x24]
xor r9d, r9d
test eax, eax
je 0x14003c719
jle 0x14003c6d2
mov rcx, qword [rbx]
call fcn.140035980
mov r8, rax
lea rdx, [0x1400e6fd0]
mov rcx, r12
call fcn.14003187c
mov eax, dword [rbx + 0x24]
xor r9d, r9d
mov dword [rsp + 0x34], eax
cmp byte [rbx + 0x28], r9b
je 0x14003c6f8
cmp dword [rdi - 0x14], r9d
je 0x14003c6f4
movsxd rax, dword [rdi - 0x14]
mov rdx, r13
imul rcx, rax, 0x38
add rcx, rsi
call fcn.140030b94
xor r9d, r9d
mov byte [rbx + 0x28], r9b
mov rcx, qword [rbx]
call fcn.140030788
mov rax, qword [rbx]
mov word [rax + 8], r13w
xor eax, eax
mov dword [rbx + 0x24], eax
mov eax, dword [rsp + 0x34]
test eax, eax
jne 0x140037a2e
mov r11, qword [rbp + 0x170]
mov r12, rsi
jmp 0x1400379b7
movsxd rax, dword [rdi + 4]
mov rdx, rdi
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
mov rcx, r11
imul rsi, rax, 0x38
call fcn.1400375b4
mov rcx, qword [rbx + r12]
mov r14, rax
xor ebx, ebx
mov qword [rbp + 0x38], rcx
test rcx, rcx
jle 0x14003c779
mov rdx, qword [rsi + r12]
lea rcx, [rbp + 0x38]
test rdx, rdx
cmovle rdx, rbx
call fcn.14001a15c
test eax, eax
jne 0x14003c779
mov rax, qword [rbp + 0x38]
mov qword [r14], rax
jmp 0x1400379ab
or qword [r14], 0xffffffffffffffff
jmp 0x1400379ab
mov rcx, qword [r11 + 0x100]
test rcx, rcx
je 0x14003c7ae
mov rax, qword [rcx + 8]
jmp 0x14003c79b
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14003c794
movsxd rax, dword [rdi + 4]
imul rsi, rax, 0x38
add rsi, qword [rcx + 0x20]
jmp 0x14003c7b9
movsxd rax, dword [rdi + 4]
imul rsi, rax, 0x38
add rsi, r12
mov rcx, rsi
call fcn.1400308c8
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rbx, r12
mov rcx, rbx
call fcn.1400308c8
mov rax, qword [rbx]
mov ecx, 8
mov r11, qword [rbp + 0x170]
mov r9d, dword [rsp + 0x30]
lea r8d, [rcx - 4]
lea r10d, [rcx - 6]
cmp qword [rsi], rax
jge 0x14003aed2
mov qword [rsi], rax
jmp 0x14003aed2
mov eax, dword [r15 + 0x30]
bt rax, 0x13
jae 0x14003c81c
movsxd rax, dword [rdi + 8]
add qword [r15 + 0x290], rax
jmp 0x1400378c5
xor eax, eax
cmp dword [rdi + 4], eax
movsxd rax, dword [rdi + 8]
je 0x14003c833
add qword [r15 + 0x288], rax
jmp 0x1400378c5
add qword [r11 + 0x50], rax
jmp 0x1400378c5
mov rdx, rdi
mov rcx, r11
call fcn.1400375b4
mov r12, qword [rbp + 0x170]
mov r9, qword [r12 + 0x100]
movsxd rcx, dword [r9 + 0x54]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r9 + 0x10]
mov r8d, dword [rcx + rdx*8 + 4]
add r8d, dword [rdi + 4]
movsxd rcx, r8d
mov r8d, 0x1000
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x20]
call fcn.140030d74
jmp 0x14003a42c
xor eax, eax
cmp dword [rdi + 4], eax
jne 0x14003c8a0
mov edx, dword [rdi + 8]
mov rcx, r15
call fcn.14003557c
jmp 0x140037ef4
mov eax, dword [rdi + 8]
add eax, r13d
xor eax, dword [r11 + 0xc8]
and eax, 3
xor dword [r11 + 0xc8], eax
jmp 0x1400378c5
sub ebx, 0xa0
je 0x14003cc86
sub ebx, 1
je 0x14003cbf4
sub ebx, 1
je 0x14003cbd2
sub ebx, 1
je 0x14003cb3a
sub ebx, 1
je 0x14003ca3f
sub ebx, 1
je 0x14003c9bd
sub ebx, 1
je 0x14003c98f
sub ebx, 1
jne 0x1400390d4
mov rdx, rdi
mov rcx, r11
call fcn.1400375b4
mov rcx, qword [r15 + 0x20]
mov rsi, rax
movsxd rdx, dword [rdi + 4]
shl rdx, 5
mov rbx, qword [rdx + rcx + 8]
xor ecx, ecx
mov eax, ecx
cmp dword [rdi + 0xc], ecx
je 0x14003c93e
mov rcx, rbx
call fcn.14002716c
cmp eax, dword [rdi + 0xc]
cmovb eax, dword [rdi + 0xc]
mov edx, eax
mov rcx, rbx
call fcn.140027870
movsxd rcx, eax
mov qword [rsi], rcx
jmp 0x1400380fe
mov rdx, qword [r15 + 0xf0]
mov r8, r11
mov ecx, r13d
call qword [r15 + 0xe8]
mov r11, qword [rbp + 0x170]
mov ecx, 8
mov r9d, dword [rsp + 0x30]
lea r8d, [rcx - 4]
lea r10d, [rcx - 6]
jmp 0x14003917a
mov r9d, dword [rsp + 0x30]
jmp 0x14003917a
mov rdx, rdi
mov rcx, r11
call fcn.1400375b4
movsxd rdx, dword [rdi + 4]
mov rbx, rax
mov rcx, qword [r15 + 0x20]
shl rdx, 5
mov rcx, qword [rdx + rcx + 8]
call fcn.14002716c
mov ecx, eax
mov qword [rbx], rcx
jmp 0x140037ef4
mov esi, dword [r15 + 0x30]
mov eax, 0x4000000
or qword [r15 + 0x30], rax
and esi, eax
mov rax, qword [rdi + 0x10]
mov edx, r13d
mov r14, qword [rax + 0x10]
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
add rbx, r12
mov rcx, rbx
call fcn.140030224
test eax, eax
jne 0x140037a27
mov rax, qword [r14]
mov rcx, r14
mov rdx, qword [rbx + 0x10]
call qword [rax + Ordinal_157]
mov dword [rsp + 0x34], eax
test esi, esi
jne 0x14003ca10
btr qword [r15 + 0x30], 0x1a
mov rcx, qword [rbp + 0x170]
mov rdx, r14
call fcn.1400355a4
mov r11, qword [rbp + 0x170]
mov eax, dword [rsp + 0x34]
and dword [r11 + 0xc8], 0xfffffffc
test eax, eax
jne 0x140037a27
jmp 0x140037d52
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rsi, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
xor eax, eax
add rbx, r12
cmp byte [rsi + 2], al
je 0x14003ca6a
mov rcx, rbx
call fcn.140030af0
jmp 0x1400380fe
mov rax, qword [rsi + 0x38]
xorps xmm0, xmm0
mov r14, qword [rax]
xor eax, eax
mov r15, qword [r14]
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x50], rbx
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x20], rax
movups xmmword [rbp - 0x30], xmm0
test byte [rdi + 2], r13b
je 0x14003caa6
mov rcx, rbx
call fcn.140030af0
xor eax, eax
mov dword [rbx], eax
mov eax, 0x4001
jmp 0x14003cab6
movzx eax, word [rbx + 8]
mov ecx, 0x3e40
and ax, cx
or ax, r13w
mov word [rbx + 8], ax
lea rdx, [rbp - 0x50]
mov r8d, dword [rdi + 8]
mov rcx, qword [rsi + 0x38]
call qword [r15 + reloc.WLDAP32.dll_Ordinal_88]
mov r12, qword [rbp + 0x170]
mov rdx, r14
mov rcx, r12
mov dword [rsp + 0x34], eax
call fcn.1400355a4
xor eax, eax
cmp dword [rbp - 0x2c], eax
jle 0x14003cb08
mov rcx, rbx
call fcn.140035980
mov r8, rax
lea rdx, [0x1400e6fd0]
mov rcx, r12
call fcn.14003187c
mov eax, dword [rbp - 0x2c]
mov dword [rsp + 0x34], eax
movzx esi, byte [rbp + 0x180]
mov rcx, rbx
mov edx, esi
call fcn.140030224
mov rcx, rbx
call fcn.140030d10
test eax, eax
jne 0x14003c573
mov eax, dword [rsp + 0x34]
test eax, eax
jne 0x140037a2e
jmp 0x140037fd9
mov rax, qword [rdi + 0x10]
xor r12d, r12d
mov qword [rbp + 0x188], r12
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14003cf44
mov rsi, qword [rbx]
test rsi, rsi
je 0x14003cf44
lea rdx, [rbp + 0x188]
mov rcx, rbx
call qword [rsi + 0x30]
mov r12, qword [rbp + 0x170]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x34], eax
call fcn.1400355a4
mov eax, dword [rsp + 0x34]
test eax, eax
jne 0x140037a2e
mov rax, qword [rbp + 0x188]
or r9d, 0xffffffff
xor r8d, r8d
mov rcx, r12
mov qword [rax], rbx
mov eax, 2
mov edx, dword [rdi + 4]
mov byte [rsp + 0x20], al
call fcn.1400371e0
mov rcx, qword [rbp + 0x188]
test rax, rax
je 0x14003d0d0
mov qword [rax + 0x38], rcx
add dword [rbx + 8], r13d
jmp 0x14003981a
add dword [r15 + 0xd8], r13d
mov rcx, r15
mov r8, qword [rdi + 0x10]
mov edx, dword [rdi + 4]
call fcn.14006f1a4
dec dword [r15 + 0xd8]
jmp 0x140037ee8
xorps xmm0, xmm0
lea rcx, [rbp + 0x90]
xor eax, eax
mov qword [rbp + 0xc0], rax
movsxd rax, dword [rdi + 8]
imul rdx, rax, 0x38
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0x90], xmm0
movups xmmword [rbp + 0xa0], xmm0
add rdx, r12
mov qword [rbp + 0xb8], r15
call fcn.140030db0
lea rcx, [rbp + 0x90]
mov dword [rsp + 0x34], eax
call fcn.140035980
mov r12, qword [rbp + 0x170]
test rax, rax
je 0x14003cc69
mov edx, dword [rdi + 4]
lea r9, [r12 + 0xa8]
mov r8, rax
mov rcx, r15
call fcn.14006ee90
mov dword [rsp + 0x34], eax
lea rcx, [rbp + 0x90]
call fcn.140030788
mov eax, dword [rsp + 0x34]
test eax, eax
jne 0x140037a2e
jmp 0x14003a42c
mov rbx, qword [rdi + 0x10]
mov rcx, r15
mov rdx, rbx
call fcn.14006f34c
mov r12, qword [rbp + 0x170]
mov dword [rsp + 0x34], eax
test rbx, rbx
je 0x14003cc79
mov rdx, qword [rbx + 0x10]
mov rcx, r12
call fcn.1400355a4
jmp 0x14003cc75
mov r11, qword [rbp + 0x170]
jmp 0x140039510
mov r15, qword [rsp + 0x48]
mov sil, byte [rbp + 0x180]
jmp 0x14003a94e
mov r12, qword [rsp + 0x40]
jmp 0x14003933e
mov eax, ecx
jmp 0x140037a27
mov r12, qword [rbp + 0x170]
mov ecx, 5
cmp al, cl
jne 0x140037a2e
sub rdi, r14
movabs rax, 0xaaaaaaaaaaaaaaab
sar rdi, 3
imul rdi, rax
mov dword [r12 + 0x34], edi
mov edi, dword [rsp + 0x34]
mov dword [r12 + 0x38], edi
jmp 0x14003d0fb
mov rdx, qword [r11 + 0xa8]
test rdx, rdx
je 0x14003cd31
mov rcx, r15
call fcn.140016b08
lea rdx, str.database_schema_has_changed
mov rcx, r15
call fcn.140016ef4
mov r12, qword [rbp + 0x170]
mov qword [r12 + 0xa8], rax
mov rax, qword [r15 + 0x20]
movsxd rdx, dword [rdi + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp + 0x188]
cmp dword [rcx], eax
je 0x14003cd75
mov rcx, r15
call fcn.14004d578
and dword [r12 + 0xc8], 0xfffffffd
mov eax, 0x11
or dword [r12 + 0xc8], r13d
jmp 0x140037a2e
movzx eax, byte [r15 + 0x5f]
mov ebx, dword [rdi + 4]
mov ecx, dword [rdi + 8]
cmp ebx, eax
je 0x14003ce60
xor r12d, r12d
test ecx, ecx
je 0x14003cdbc
mov edx, 0x204
mov rcx, r15
call fcn.140081a54
mov al, r13b
jmp 0x14003cdfb
test ebx, ebx
je 0x14003cde2
cmp dword [r15 + 0xd0], r12d
jle 0x14003cde2
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r11
call fcn.14003187c
mov eax, 5
jmp 0x140037a27
mov edx, r13d
mov rcx, r11
call fcn.140033c54
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14003d0f0
mov al, bl
mov byte [r15 + 0x5f], al
mov r12, qword [rbp + 0x170]
mov rcx, r12
call fcn.140033ca4
mov ecx, 5
cmp eax, ecx
jne 0x14003ce44
sub rdi, r14
movabs rax, 0xaaaaaaaaaaaaaaab
sar rdi, 3
imul rdi, rax
sub r13b, bl
mov dword [r12 + 0x34], edi
mov edi, ecx
mov byte [r15 + 0x5f], r13b
mov dword [r12 + 0x38], ecx
jmp 0x14003d0fb
mov rcx, r15
call fcn.1400815b4
mov eax, dword [r12 + 0x38]
neg eax
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x14003d0fb
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
mov rcx, r11
cmovne rdx, rax
test ebx, ebx
lea rax, str.cannot_start_a_transaction_within_a_transaction
cmove rdx, rax
call fcn.14003187c
mov eax, r13d
jmp 0x140037a27
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
jmp 0x14003cdd0
mov r12, qword [rbp + 0x170]
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r12
call fcn.14003187c
mov eax, 5
jmp 0x140037a2e
sub rdi, qword [rsp + 0x38]
movabs rax, 0xaaaaaaaaaaaaaaab
sar rdi, 3
imul rdi, rax
mov rax, qword [rsp + 0x48]
xor ecx, ecx
mov dword [r12 + 0x34], edi
mov edi, edx
mov byte [rax + 0x5f], cl
mov dword [r12 + 0x38], edx
jmp 0x14003d0fb
cmp ebx, edx
mov dword [rsp + 0x34], r13d
lea rax, str.into
lea r8, str.out_of
cmove r8, rax
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
mov r12, qword [rbp + 0x170]
mov rcx, r12
call fcn.14003187c
mov eax, dword [rsp + 0x34]
jmp 0x140037a2e
movzx eax, byte [rdi + 2]
mov ecx, 5
cmp word [rdi + 2], cx
lea edx, [rcx - 3]
cmove eax, edx
mov byte [r12 + 0xc2], al
jmp 0x14003cf1e
mov eax, 6
jmp 0x140037a27
mov eax, SQLAllocHandle
jmp 0x140037a27
lea rdx, str.too_many_levels_of_trigger_recursion
mov dword [rsp + 0x34], r13d
mov rcx, r11
call fcn.14003187c
mov eax, dword [rsp + 0x34]
jmp 0x140037a27
mov dword [r11 + 0x38], edx
mov al, byte [rdi + 8]
mov byte [r11 + 0xc2], al
mov dword [r11 + 0x34], ebx
test edx, edx
je 0x14003d02f
mov rcx, r11
cmp word [rdi + 2], r14w
je 0x14003cfea
movzx r8d, word [rdi + 2]
lea rax, [0x140000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0xcc530]
call fcn.14003187c
mov r9, qword [rdi + 0x10]
mov r12, qword [rbp + 0x170]
test r9, r9
je 0x14003d001
mov r8, qword [r12 + 0xa8]
lea rdx, str._z:__s
mov rcx, r15
call fcn.140018838
mov qword [r12 + 0xa8], rax
jmp 0x14003d001
mov r8, qword [rdi + 0x10]
lea rdx, [0x1400e6fd0]
call fcn.14003187c
mov r12, qword [rbp + 0x170]
mov rax, qword [r12 + 0xa8]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [r12 + 0xf0]
mov r8d, ebx
mov ecx, dword [rdi + 4]
mov qword [rsp + 0x20], rax
call fcn.1400189a8
mov r11, qword [rbp + 0x170]
mov rcx, r11
call fcn.140033ca4
mov r12, qword [rbp + 0x170]
mov edi, eax
mov eax, 5
cmp edi, eax
jne 0x14003ce4c
mov dword [r12 + 0x38], eax
jmp 0x14003d0fb
mov r9d, 0x152d5
jmp 0x1400389f1
mov eax, 0x204
jmp 0x140037a27
mov r12, qword [rbp + 0x170]
mov eax, 6
lea ecx, [rax - 4]
mov byte [r12 + 0xc2], cl
jmp 0x140037a2e
mov eax, 7
mov dword [rsp + 0x34], eax
mov rcx, r15
call fcn.14004d5f4
mov eax, dword [rsp + 0x34]
mov ebx, 7
mov r12, qword [rbp + 0x170]
cmp eax, ebx
mov bl, byte [rbp + 0x178]
je 0x14003bb93
jmp 0x140037a34
call fcn.140035980
mov r8, rax
lea rdx, [0x1400e6fd0]
jmp 0x14003cf0f
call qword [rsi + 0x38]
jmp 0x14003bb8d
mov r12, qword [rbp + 0x170]
jmp 0x14003bb8d
mov r12, qword [rbp + 0x170]
jmp 0x14003bb93
mov r12, qword [rbp + 0x170]
mov edi, dword [rsp + 0x34]
mov eax, dword [rbp - 0x5c]
lea r11, [rsp + 0x228]
add dword [r12 + 0xe4], eax
mov eax, edi
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret