Function at 0x1400a3ab0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xa8]
sub rsp, 0x1a8
mov r11, qword [rbp + 0x110]
lea rax, [r8 + 0x68]
mov r14, qword [rcx]
xor r12d, r12d
mov qword [rbp - 0x40], rax
mov ebx, r9d
mov r9, r8
mov qword [rsp + 0x48], r12
mov rax, qword [r11 + 0x48]
mov rsi, rdx
mov qword [rsp + 0x70], rax
mov rdi, rcx
movzx eax, byte [r11 + 0x2c]
mov edx, r12d
imul r15, rax, 0x70
mov qword [rbp - 0x68], r14
add r15, qword [r8 + 8]
movsxd r8, dword [r8 + 0x294]
mov qword [rbp + 0x20], r15
mov r10d, dword [r15 + 0x4c]
mov dword [rsp + 0x40], r10d
test r8, r8
jle 0x1400a3b57
mov ecx, r12d
lea rax, [r9 + 0x298]
cmp dword [rax], r10d
je 0x1400a3bf3
inc edx
inc rcx
add rax, 4
cmp rcx, r8
jl 0x1400a3b40
mov rax, r12
not rax
mov ecx, ebx
and rax, qword [rbp + 0x118]
mov qword [r11 + 0x50], rax
mov r13d, dword [rdi + 0x44]
mov r10, qword [r9 + 0x58]
dec r13d
mov dword [rdi + 0x44], r13d
shr r10, cl
and r10d, 1
mov dword [r11 + 0x10], r13d
mov dword [r11 + 0xc], r13d
mov eax, dword [rdi + 0x44]
dec eax
mov qword [rsp + 0x78], r10
mov dword [rdi + 0x44], eax
mov dword [rbp - 0x78], eax
mov dword [r11 + 0x18], eax
cmp byte [r11 + 0x2c], r12b
jbe 0x1400a3c2c
test byte [r15 + 0x44], 8
je 0x1400a3c2c
mov edx, dword [rdi + 0x38]
inc edx
mov dword [rdi + 0x38], edx
mov dword [r11], edx
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x1400a3c02
xor r8d, r8d
mov dword [rsp + 0x20], r12d
mov r9d, edx
mov rcx, rsi
lea edx, [r8 + 0x46]
call fcn.14003c8e0
mov r11, qword [rbp + 0x110]
mov r10, qword [rsp + 0x78]
mov r9, qword [rbp + 0x100]
jmp 0x1400a3c2c
mov ecx, edx
mov eax, 1
shl rax, cl
jmp 0x1400a3b5a
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], SQLSetEnvAttr
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
test ebx, ebx
jle 0x1400a3c46
mov eax, ebx
imul rcx, rax, 0x58
cmp dword [rcx + r9 + 0x398], r12d
jne 0x1400a3c46
dec ebx
test ebx, ebx
jg 0x1400a3c30
mov edx, dword [r15 + 0x48]
movsxd rax, ebx
imul rcx, rax, 0x58
mov r9d, dword [rcx + r9 + 0x3a4]
test dl, 0x10
je 0x1400a3d94
movsxd rcx, dword [rsi + 0x90]
mov ebx, dword [r15 + 0x3c]
mov edx, dword [r15 + 0x38]
cmp dword [rsi + 0x94], ecx
jg 0x1400a3c91
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, ebx
mov rcx, rsi
lea edx, [r9 + 0xd]
call fcn.14003c8e0
jmp 0x1400a3cbe
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], reloc.Cabinet.dll_FCIFlushCabinet
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r12
movsxd rdx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], edx
jg 0x1400a3ce9
mov r9d, r13d
mov dword [rsp + 0x20], r12d
mov r8d, ebx
mov edx, reloc.Cabinet.dll_FCIDestroy
mov rcx, rsi
call fcn.14003c8e0
mov edx, eax
jmp 0x1400a3d17
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], reloc.Cabinet.dll_FCIDestroy
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov r11, qword [rbp + 0x110]
mov dword [r11 + 0x34], edx
mov byte [r11 + 0x2d], reloc.Cabinet.dll_FCIAddFile
mov r13, qword [rbp + 0xf0]
mov r8, r12
mov rdx, qword [rbp + 0x100]
mov rax, r8
lea r9, [0x14005d0a0]
neg rax
lea r10, [rdx + 0x68]
sbb r15d, r15d
add r15d, 2
mov r14d, dword [r10 + 0x14]
mov esi, r12d
mov rbx, qword [r10 + 0x20]
test r14d, r14d
jle 0x1400a567a
nop dword [rax]
nop dword [rax + rax]
movzx ecx, word [rbx + 0x12]
test cl, 6
jne 0x1400a563d
mov rax, qword [rbx + 0x38]
test qword [r11 + 0x50], rax
je 0x1400a559e
mov byte [rdx + 0x46], 1
jmp 0x1400a563d
mov rbx, qword [rsp + 0x70]
mov r8d, dword [rbx + 0x28]
bt r8d, 0xa
jae 0x1400a4472
movzx r13d, word [rbx + 0x2c]
lea ecx, [r13 + 2]
cmp ecx, 1
jne 0x1400a3dd9
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x1400a3dc7
inc dword [rdi + 0x38]
mov r15d, dword [rdi + 0x38]
jmp 0x1400a3e05
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov r15d, dword [rdi + rax*4 + 0xbc]
jmp 0x1400a3e05
mov edx, dword [rdi + 0x28]
mov r15d, dword [rdi + 0x2c]
mov dword [rbp + 0x108], r15d
cmp ecx, edx
jg 0x1400a3df9
lea eax, [r15 + rcx]
sub edx, ecx
mov dword [rdi + 0x2c], eax
mov dword [rdi + 0x28], edx
jmp 0x1400a3e0c
mov eax, dword [rdi + 0x38]
lea r15d, [rax + 1]
add eax, ecx
mov dword [rdi + 0x38], eax
mov dword [rbp + 0x108], r15d
mov r12d, dword [r11 + 0xc]
test r13d, r13d
je 0x1400a3f82
xor esi, esi
lea ebx, [r15 + 2]
mov r14d, 0xfffffffe
sub r14d, r15d
mov r15, qword [rsp + 0x70]
nop dword [rax]
mov rax, qword [r15 + 0x38]
mov rax, qword [rsi + rax]
test rax, rax
je 0x1400a3f53
test byte [rax + 0x14], 1
je 0x1400a3e72
lea r9d, [r14 + rbx]
mov dword [rsp + 0x28], ebx
mov r8, r11
mov dword [rsp + 0x20], r10d
mov rdx, rax
mov rcx, rdi
call fcn.1400a2730
mov r11, qword [rbp + 0x110]
mov r12d, dword [r11 + 0x10]
jmp 0x1400a3f53
mov rax, qword [rax]
mov rdx, qword [rax + 0x18]
test rdx, rdx
je 0x1400a3f41
movzx eax, byte [rdx]
cmp al, 0xab
jne 0x1400a3e8d
movzx eax, byte [rdx + 0x32]
cmp al, 0xac
jne 0x1400a3e9a
mov rax, qword [rdx + 0x20]
mov rcx, rax
jmp 0x1400a3ea9
cmp al, 0x86
jne 0x1400a3f41
mov rax, qword [rdx + 0x20]
mov rcx, qword [rax]
cmp dword [rcx], 1
jle 0x1400a3f41
test dword [rdx + 4], 0x800
je 0x1400a3f3d
mov rcx, qword [rbp + 0xf0]
mov rdi, qword [rdi + 0x10]
call fcn.140058370
movsxd rcx, dword [rdi + 0x90]
mov edx, eax
cmp dword [rdi + 0x94], ecx
jg 0x1400a3f04
mov r9d, ebx
mov dword [rsp + 0x20], 0
mov r8d, eax
mov edx, Ordinal_79
mov rcx, rdi
call fcn.14003c8e0
mov rdi, qword [rbp + 0xf0]
jmp 0x1400a3f4c
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rdi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x88]
mov rdi, qword [rbp + 0xf0]
mov dword [rax + rcx*8], Ordinal_79
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
jmp 0x1400a3f4c
mov rdx, qword [rax + 8]
mov r8d, ebx
mov rcx, rdi
call fcn.14005ba00
mov r11, qword [rbp + 0x110]
mov r10, qword [rsp + 0x78]
inc ebx
add rsi, 8
lea eax, [r14 + rbx]
cmp eax, r13d
jl 0x1400a3e30
mov r15d, dword [rbp + 0x108]
mov r14, qword [rbp - 0x68]
mov rsi, qword [rbp + 0xf8]
mov rbx, qword [rsp + 0x70]
movsxd rcx, dword [rsi + 0x90]
xor edi, edi
mov edx, dword [rbx + 0x18]
cmp dword [rsi + 0x94], ecx
jg 0x1400a3fad
mov r8d, edx
mov dword [rsp + 0x20], edi
lea edx, [rdi + 0x46]
mov r9d, r15d
mov rcx, rsi
call fcn.14003c8e0
jmp 0x1400a3fda
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], SQLSetEnvAttr
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [rsi + 0x90]
lea edx, [r15 + 1]
cmp dword [rsi + 0x94], ecx
jg 0x1400a4006
mov r9d, edx
mov dword [rsp + 0x20], edi
mov edx, Ordinal_73
mov r8d, r13d
mov rcx, rsi
call fcn.14003c8e0
jmp 0x1400a4033
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], SQLSetEnvAttr
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
cmp byte [rbx + 0x1c], 0
mov ecx, 0xfffffff9
mov eax, 0xffffffff
mov r9d, r12d
mov r12d, dword [rsp + 0x40]
cmovne eax, ecx
mov dword [rsp + 0x30], eax
mov r8d, r12d
mov rax, qword [rbx + 0x20]
lea edx, [rcx + 0x10]
mov qword [rsp + 0x28], rax
mov rcx, rsi
mov dword [rsp + 0x20], r15d
call fcn.14003ce20
mov r11, qword [rbp + 0x110]
mov eax, 0x3c
mov rdx, qword [rbp + 0x100]
mov byte [rbx + 0x1c], 0
mov dword [r11 + 0x30], r12d
mov r12d, 0xaa
cmp byte [rdx + 0x45], 0
cmovne eax, r12d
lea r12d, [r13 - 1]
mov byte [r11 + 0x2d], al
mov eax, dword [rsi + 0x90]
mov dword [r11 + 0x34], eax
test r12d, r12d
js 0x1400a558c
movsxd rax, dword [r11 + 0x38]
lea edx, [r12 + 2]
mov r8d, SQLSetEnvAttr
lea rcx, [rax + rax*4]
shl rcx, 2
add edx, r15d
mov qword [rbp - 0x58], rcx
lea r15, [r13*8 - 8]
mov dword [rbp + 0x108], edx
lea r13d, [r8 + 1]
mov rax, qword [rbx + 0x38]
mov rbx, qword [r15 + rax]
cmp r12d, 0x10
jae 0x1400a4192
mov rax, qword [rsp + 0x70]
movzx ecx, r12w
movzx eax, word [rax + 0x1e]
shr ax, cl
test al, 1
je 0x1400a418e
test byte [rbx + 0x12], 4
mov edx, edi
jne 0x1400a4438
cmp dword [r11], 0
je 0x1400a4129
mov rax, qword [rbx]
test byte [rax + 4], 1
je 0x1400a4438
mov rax, qword [rbx + 0x38]
test qword [r11 + 0x50], rax
jne 0x1400a4438
test edx, edx
je 0x1400a4154
movzx eax, word [rbx + 0x12]
bt ax, 0xa
jae 0x1400a4154
mov ecx, 0x200
or ax, cx
mov word [rbx + 0x12], ax
jmp 0x1400a4159
or word [rbx + 0x12], 4
movsxd rax, dword [rbx + 0x18]
test eax, eax
js 0x1400a4438
mov rcx, rax
mov rax, qword [rbx + 8]
shl rcx, 6
mov rbx, rcx
add rbx, qword [rax + 0x20]
add byte [rbx + 0x16], 0xff
jne 0x1400a4438
inc edx
test byte [rbx + 0x12], 4
je 0x1400a4116
jmp 0x1400a4438
mov rcx, qword [rbp - 0x58]
test byte [rbx + 0x14], 1
je 0x1400a443e
cmp byte [r14 + 0x61], 0
jne 0x1400a4255
mov rax, qword [r11 + 0x40]
sub rcx, 0x14
mov qword [rbp - 0x58], rcx
mov ecx, dword [rax + rcx + 4]
test ecx, ecx
jns 0x1400a41c3
mov ecx, dword [rsi + 0x90]
dec ecx
mov rax, qword [rsi]
cmp byte [rax + 0x61], 0
je 0x1400a41d5
lea rax, [0x1401b2bc0]
jmp 0x1400a41e7
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
movsxd rcx, dword [rsi + 0x90]
mov r10d, dword [rax + 0xc]
mov r9d, dword [rax + 8]
mov r8d, dword [rax + 4]
movzx edx, byte [rax]
cmp dword [rsi + 0x94], ecx
jg 0x1400a4214
mov rcx, rsi
mov dword [rsp + 0x20], r10d
call fcn.14003c8e0
jmp 0x1400a4249
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov byte [rax + rcx*8], dl
mov word [rax + rcx*8 + 2], di
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], rdi
mov byte [rax + rcx*8 + 1], 0
mov edx, dword [rbp + 0x108]
mov r8d, SQLSetEnvAttr
mov rax, qword [rbp + 0xf0]
mov rcx, qword [rax]
cmp dword [rcx + 0x168], 0
jne 0x1400a42c4
cmp r8w, word [rcx + 0x16c]
jbe 0x1400a427a
inc dword [rcx + 0x178]
jmp 0x1400a42ce
mov rdi, qword [rcx + 0x188]
test rdi, rdi
je 0x1400a429b
mov rax, qword [rdi]
mov rsi, rdi
mov qword [rcx + 0x188], rax
inc dword [rcx + 0x174]
jmp 0x1400a42e5
mov rdi, qword [rcx + 0x180]
test rdi, rdi
je 0x1400a42bc
mov rax, qword [rdi]
mov rsi, rdi
inc dword [rcx + 0x174]
mov qword [rcx + 0x180], rax
jmp 0x1400a42e5
inc dword [rcx + 0x17c]
jmp 0x1400a42ce
cmp byte [rcx + 0x61], 0
jne 0x1400a443e
mov rdx, r8
call fcn.140017490
mov rdi, rax
mov rsi, rax
test rax, rax
je 0x1400a442f
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x30], xmm0
mov qword [rdi + 0x40], rax
mov rax, 0xffffffffffffffff
mov word [rdi + 0x2e], ax
mov byte [rdi], 0x35
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
mov qword [rdi + 0x10], rcx
cmp dword [r14 + 0x168], 0
jne 0x1400a4403
cmp r13w, word [r14 + 0x16c]
jbe 0x1400a43b0
inc dword [r14 + 0x178]
mov rdx, r13
mov rcx, r14
call fcn.140017490
mov rcx, rax
mov rdx, rax
test rax, rax
je 0x1400a4418
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rcx], xmm0
xor r9d, r9d
movups xmmword [rcx + 0x10], xmm0
movups xmmword [rcx + 0x20], xmm0
movups xmmword [rcx + 0x30], xmm0
mov qword [rcx + 0x40], rax
mov rax, 0xffffffffffffffff
mov word [rcx + 0x2e], ax
lea rax, [rcx + 0x48]
mov qword [rcx + 8], rax
mov byte [rcx], 0xab
mov byte [rax], 0
mov eax, dword [rbp + 0x108]
mov qword [rsi + 0x18], rdx
mov rdx, rdi
mov dword [rcx + 0x28], eax
mov rcx, qword [rbp + 0x110]
mov r8d, dword [rcx + 0x18]
mov rcx, qword [rbp + 0xf0]
call fcn.14005c280
jmp 0x1400a441c
mov rcx, qword [r14 + 0x188]
test rcx, rcx
je 0x1400a43d2
mov rax, qword [rcx]
mov rdx, rcx
mov qword [r14 + 0x188], rax
inc dword [r14 + 0x174]
jmp 0x1400a4353
mov rcx, qword [r14 + 0x180]
test rcx, rcx
je 0x1400a43f7
mov rax, qword [rcx]
mov rdx, rcx
inc dword [r14 + 0x174]
mov qword [r14 + 0x180], rax
jmp 0x1400a4353
inc dword [r14 + 0x17c]
jmp 0x1400a4339
cmp byte [r14 + 0x61], 0
je 0x1400a4339
mov qword [rsi + 0x18], 0
jmp 0x1400a441c
mov qword [rdi + 0x18], rax
mov rdx, rdi
mov qword [rdi + 0x10], 0
mov rcx, r14
call fcn.1400550a0
mov rsi, qword [rbp + 0xf8]
xor edi, edi
mov edx, dword [rbp + 0x108]
mov rcx, qword [rbp - 0x58]
dec edx
mov r11, qword [rbp + 0x110]
sub r15, 8
sub r12d, 1
mov rbx, qword [rsp + 0x70]
mov dword [rbp + 0x108], edx
mov r8d, SQLSetEnvAttr
jns 0x1400a40e0
xor r12d, r12d
jmp 0x1400a3d27
test r8b, 5
setne cl
bt r8d, 8
setb al
test al, cl
je 0x1400a4562
mov rax, qword [rbx + 0x38]
xor r9d, r9d
mov r13, qword [rbp + 0xf0]
mov r8, r11
mov rcx, r13
mov rbx, qword [rax]
inc dword [rdi + 0x38]
mov rdx, rbx
mov edi, dword [rdi + 0x38]
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], r10d
call fcn.1400a2730
mov edx, eax
cmp eax, edi
je 0x1400a44d6
test edi, edi
je 0x1400a44d6
movzx eax, byte [r13 + 0x1f]
cmp al, 8
jae 0x1400a44d6
mov dword [r13 + rax*4 + 0xbc], edi
inc byte [r13 + 0x1f]
mov r11, qword [rbp + 0x110]
movsxd rcx, dword [rsi + 0x90]
mov r8d, dword [r11 + 0x10]
cmp dword [rsi + 0x94], ecx
jg 0x1400a4512
mov dword [rsp + 0x20], edx
mov r9d, r8d
mov r8d, dword [rsp + 0x40]
mov edx, SQLFreeHandle
mov rcx, rsi
call fcn.14003c8e0
mov r11, qword [rbp + 0x110]
jmp 0x1400a4545
mov r10d, dword [rsp + 0x40]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], SQLFreeHandle
mov dword [rax + rcx*8 + 4], r10d
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r12
mov byte [r11 + 0x2d], 0xaa
mov rax, qword [rbx + 0x38]
test qword [r11 + 0x50], rax
jne 0x1400a3d2e
or word [rbx + 0x12], 4
jmp 0x1400a3d2e
mov eax, r8d
and eax, 0x102
cmp eax, 0x102
jne 0x1400a4835
mov rdx, qword [rsp + 0x70]
xor eax, eax
mov dword [rsp + 0x50], eax
mov r12d, 0xaa
mov r15d, r12d
mov edi, eax
mov r14d, eax
mov ebx, eax
test r8b, 0x20
je 0x1400a45a3
mov rax, qword [rdx + 0x38]
lea ecx, [r14 + 8]
mov rbx, qword [rax]
jmp 0x1400a45a6
mov rcx, rax
test r8b, 0x10
je 0x1400a45b4
mov rax, qword [rdx + 0x38]
mov r14, qword [rcx + rax]
test r10d, r10d
je 0x1400a45c2
mov rax, rbx
mov rbx, r14
mov r14, rax
test rbx, rbx
je 0x1400a46c6
mov rdi, qword [rbx]
mov dword [rbp + 0x108], 0x18161719
mov rdx, qword [rdi + 0x18]
movzx eax, byte [rdx]
cmp al, 0xab
jne 0x1400a45e7
movzx eax, byte [rdx + 0x32]
cmp al, 0xac
jne 0x1400a45f1
lea rax, [rdx + 0x20]
jmp 0x1400a45f9
cmp al, 0x86
jne 0x1400a4652
mov rax, qword [rdx + 0x20]
mov rax, qword [rax]
cmp dword [rax], 1
jle 0x1400a4652
mov rcx, qword [rbp + 0xf0]
movzx eax, byte [rcx + 0x1f]
test al, al
jne 0x1400a4618
inc dword [rcx + 0x38]
mov ebx, dword [rcx + 0x38]
jmp 0x1400a4627
dec al
movzx eax, al
mov byte [rcx + 0x1f], al
mov ebx, dword [rcx + rax*4 + 0xbc]
mov rdx, qword [rdi + 0x18]
mov r9d, 1
mov r8d, ebx
call fcn.1400a35e0
movzx eax, byte [rdi]
mov esi, ebx
inc rax
and eax, 2
or rax, 1
movzx ecx, byte [rbp + rax + 0x108]
jmp 0x1400a4685
mov rcx, qword [rbp + 0xf0]
lea r8, [rsp + 0x5c]
call fcn.14005b8d0
mov rcx, qword [rbp + 0x110]
mov rdx, rbx
mov esi, eax
call fcn.1400a2260
movzx r10d, byte [rdi]
mov ebx, dword [rsp + 0x5c]
movzx ecx, byte [rbp + r10 + 0xd2]
mov r8d, dword [rsp + 0x40]
mov r9d, r13d
movzx edx, cl
mov dword [rsp + 0x20], esi
mov rsi, qword [rbp + 0xf8]
mov rcx, rsi
call fcn.14003c940
mov rcx, qword [rbp + 0xf0]
mov edi, dword [rsp + 0x50]
test ebx, ebx
je 0x1400a46e7
movzx eax, byte [rcx + 0x1f]
cmp al, 8
jae 0x1400a46e7
mov dword [rcx + rax*4 + 0xbc], ebx
inc byte [rcx + 0x1f]
jmp 0x1400a46e7
mov r8d, dword [rsp + 0x40]
mov edx, r10d
xor edx, 1
mov rcx, rsi
lea edx, [rdx*4 + 0x20]
call fcn.14003ca90
mov rcx, qword [rbp + 0xf0]
test r14, r14
je 0x1400a4793
mov rbx, qword [r14]
mov r9d, 1
inc dword [rcx + 0x38]
mov edi, dword [rcx + 0x38]
mov r8d, edi
mov rdx, qword [rbx + 0x18]
call fcn.1400a35e0
mov rcx, qword [rbx + 0x18]
movzx edx, byte [rcx]
movzx eax, dl
cmp dl, 0xab
jne 0x1400a471e
movzx eax, byte [rcx + 0x32]
cmp al, 0xac
jne 0x1400a4728
lea rax, [rcx + 0x20]
jmp 0x1400a4730
cmp al, 0x86
jne 0x1400a4738
mov rax, qword [rcx + 0x20]
mov rax, qword [rax]
cmp dword [rax], 1
jg 0x1400a4741
movzx eax, byte [rbx]
sub al, 0x36
test al, 0xfd
je 0x1400a4750
mov rax, qword [rsp + 0x78]
lea r15d, [rax*2 + 0x36]
jmp 0x1400a475f
mov eax, dword [rsp + 0x78]
xor eax, 1
lea r15d, [rax*2 + 0x37]
cmp dl, 0xab
jne 0x1400a4768
movzx edx, byte [rcx + 0x32]
cmp dl, 0xac
jne 0x1400a4773
lea rax, [rcx + 0x20]
jmp 0x1400a477c
cmp dl, 0x86
jne 0x1400a4784
mov rax, qword [rcx + 0x20]
mov rax, qword [rax]
cmp dword [rax], 1
jg 0x1400a4793
mov rcx, qword [rbp + 0x110]
mov rdx, r14
call fcn.1400a2260
mov r11, qword [rbp + 0x110]
mov ecx, dword [rsi + 0x90]
cmp dword [rsp + 0x78], 0
mov edx, dword [rsp + 0x40]
sete al
mov dword [r11 + 0x30], edx
add al, 4
mov dword [r11 + 0x34], ecx
mov byte [r11 + 0x2d], al
cmp r15d, r12d
je 0x1400a446a
mov rax, qword [rbp + 0xf0]
mov r8d, edx
mov edx, 0x80
mov rcx, rsi
inc dword [rax + 0x38]
mov ebx, dword [rax + 0x38]
mov r9d, ebx
call fcn.14003ca90
mov r9d, r13d
mov dword [rsp + 0x20], ebx
mov r8d, edi
mov edx, r15d
mov rcx, rsi
call fcn.14003c940
movsxd rax, dword [rsi + 0x90]
xor r12d, r12d
mov r11, qword [rbp + 0x110]
mov r8d, r12d
mov r13, qword [rbp + 0xf0]
test eax, eax
jle 0x1400a3d31
lea rcx, [rax + rax*2]
mov edx, 0x53
mov rax, qword [rsi + 0x88]
mov word [rax + rcx*8 - 0x16], dx
jmp 0x1400a3d31
bt r8d, 9
jae 0x1400a5526
movzx r14d, word [rbx + 0x18]
xor ecx, ecx
mov rax, qword [rbx + 0x20]
xor sil, sil
movzx edi, word [rbx + 0x1c]
mov r13d, r14d
movzx r12d, word [rbx + 0x1a]
mov r15d, ecx
mov qword [rsp + 0x48], rax
mov r10d, ecx
mov eax, dword [r11 + 8]
mov r9d, ecx
mov dword [rsp + 0x68], eax
mov ebx, r14d
mov dword [rsp + 0x54], r13d
mov edx, r14d
mov word [rbp - 0x80], di
mov qword [rbp - 0x70], rcx
mov qword [rbp - 0x60], rcx
mov byte [rbp + 0x108], cl
mov dword [rsp + 0x64], ecx
test r8b, 0x20
je 0x1400a48a9
mov rax, qword [rsp + 0x70]
inc edx
mov r9d, r12d
mov rax, qword [rax + 0x38]
mov r15, qword [rax + r14*8]
test r8b, 0x10
je 0x1400a491d
mov rax, qword [rsp + 0x70]
cmp r9d, edi
mov ecx, edx
mov rax, qword [rax + 0x38]
mov r10, qword [rax + rcx*8]
mov eax, edi
cmova eax, r9d
mov qword [rbp - 0x70], r10
mov r9d, eax
mov r11d, eax
test r15, r15
jne 0x1400a4916
mov r9, qword [rsp + 0x48]
mov rax, qword [r9 + 8]
movsx r10, word [rax + r14*2]
test r10d, r10d
js 0x1400a4903
mov rax, qword [r9 + 0x18]
mov rdx, r10
shl rdx, 5
mov rcx, qword [rax + 8]
cmp byte [rdx + rcx + 0x18], sil
je 0x1400a490c
mov r9d, r11d
cmp r10d, 0xfffffffe
jne 0x1400a4912
mov sil, 1
mov r9d, r11d
mov r10, qword [rbp - 0x70]
mov r11, qword [rbp + 0x110]
test r8b, 0x30
jne 0x1400a4963
bt r8d, 0x13
jae 0x1400a4963
mov rcx, qword [rbp + 0xf0]
mov r9d, 1
mov rax, qword [rbp + 0x110]
movzx esi, r9b
inc dword [rcx + 0x38]
mov r11d, dword [rcx + 0x38]
mov dword [rax + 0x24], r11d
dec dword [rcx + 0x44]
mov eax, dword [rcx + 0x44]
mov dword [rsp + 0x64], r11d
mov r11, qword [rbp + 0x110]
mov dword [r11 + 0x28], eax
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x78]
movzx r8d, word [rax + 0x5e]
cmp r14w, r8w
jae 0x1400a4989
mov rax, qword [rax + 0x38]
xor edx, edx
cmp byte [r14 + rax], dl
sete dl
cmp ecx, edx
je 0x1400a4993
test ecx, ecx
je 0x1400a49b3
cmp r8w, r14w
jne 0x1400a49b3
movzx eax, r12b
movzx r12d, di
mov qword [rbp - 0x70], r15
movzx edi, ax
mov byte [rbp + 0x108], sil
mov r15, r10
mov word [rbp - 0x80], ax
xor sil, sil
lea rax, [rbp - 0x58]
mov r8d, ecx
mov rcx, qword [rbp + 0xf0]
mov rdx, r11
mov qword [rsp + 0x20], rax
call fcn.1400a2f30
mov r8d, eax
mov dword [rsp + 0x58], eax
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x1400a4a46
test di, di
je 0x1400a4a46
mov rdi, r14
add rdi, rax
jne 0x1400a49f8
xor r9d, r9d
mov qword [rbp - 0x60], r9
jmp 0x1400a4a49
mov rbx, 0xffffffffffffffff
nop
inc rbx
cmp byte [rdi + rbx], 0
jne 0x1400a4a00
mov rcx, qword [rbp - 0x68]
inc rbx
test rcx, rcx
je 0x1400a4a1f
mov rdx, rbx
call fcn.1400174f0
jmp 0x1400a4a27
mov rcx, rbx
call fcn.140016ee0
mov qword [rbp - 0x60], rax
test rax, rax
je 0x1400a4a3e
mov r8, rbx
mov rdx, rdi
mov rcx, rax
call fcn.14011b4a0
mov r8d, dword [rsp + 0x58]
mov ebx, r13d
xor r9d, r9d
mov edx, dword [rsp + 0x64]
mov rax, qword [rbp + 0x110]
test edx, edx
je 0x1400a4a5d
mov eax, dword [rax + 0x28]
jmp 0x1400a4a60
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x60], eax
test r15, r15
je 0x1400a4a74
test byte [r15 + 0x14], 0x28
mov dword [rbp - 0x7c], r9d
je 0x1400a4a7b
mov dword [rbp - 0x7c], 1
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x1400a4a8f
test byte [rax + 0x14], 0x28
mov dword [rsp + 0x50], r9d
je 0x1400a4a97
mov dword [rsp + 0x50], 1
test r15, r15
jne 0x1400a4aaf
test r14w, r14w
jne 0x1400a4aaf
mov dword [rsp + 0x5c], r9d
mov ecx, r14d
jmp 0x1400a4c7a
mov dword [rsp + 0x5c], 1
test r15, r15
je 0x1400a4c77
mov rax, qword [r15]
lea esi, [r8 + r14]
mov rcx, qword [rbp + 0xf0]
mov r8d, esi
movzx edi, r12w
mov r9d, edi
mov rbx, qword [rax + 0x18]
mov rdx, rbx
call fcn.1400a35e0
mov rcx, rbx
call fcn.140056c10
test eax, eax
je 0x1400a4b09
mov r9d, dword [rsp + 0x60]
mov r8d, esi
mov rcx, qword [rbp + 0xf8]
mov edx, 0x32
call fcn.14003ca90
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x1400a4b20
lea r8, [rax + r14]
mov edx, edi
mov rcx, rbx
call fcn.1400a22e0
movzx eax, byte [rbx]
add r13d, edi
cmp al, 0xab
jne 0x1400a4b2e
movzx eax, byte [rbx + 0x32]
cmp al, 0xac
jne 0x1400a4b38
lea rax, [rbx + 0x20]
jmp 0x1400a4b40
cmp al, 0x86
jne 0x1400a4b51
mov rax, qword [rbx + 0x20]
mov rax, qword [rax]
cmp dword [rax], 1
jle 0x1400a4b51
mov dword [rbp - 0x7c], 1
jmp 0x1400a4b60
mov rcx, qword [rbp + 0x110]
mov rdx, r15
call fcn.1400a2260
xor sil, sil
mov ebx, r14d
mov edi, dword [rsp + 0x5c]
mov r15d, dword [rbp - 0x7c]
mov rdx, qword [rbp - 0x58]
mov r9d, r13d
mov r8d, dword [rsp + 0x58]
movzx r12d, sil
sub r9d, r12d
test rdx, rdx
je 0x1400a4bef
test r9d, r9d
jle 0x1400a4ba3
nop dword [rax + rax]
cmp byte [rdx], 0x41
jg 0x1400a4ba3
dec r9d
inc r8d
inc rdx
test r9d, r9d
jg 0x1400a4b90
movsxd rax, r9d
cmp rax, 1
jle 0x1400a4bc3
nop dword [rax]
cmp byte [rdx + rax - 1], 0x41
jg 0x1400a4bc3
dec r9d
dec rax
cmp rax, 1
jg 0x1400a4bb0
test r9d, r9d
jle 0x1400a4bef
mov rax, qword [rbp + 0xf0]
mov dword [rsp + 0x30], r9d
mov qword [rsp + 0x28], rdx
mov edx, 0x5b
mov dword [rsp + 0x20], 0
mov rcx, qword [rax + 0x10]
call fcn.14003ce20
mov rcx, qword [rsp + 0x70]
lea r14, [0x140000000]
movzx eax, word [rcx + 0x2e]
test ax, ax
je 0x1400a4c0d
cmp r13d, eax
je 0x1400a4e01
test dword [rcx + 0x28], 0x40000
je 0x1400a4c2c
mov r8d, dword [rsp + 0x68]
mov edx, Ordinal_122
mov rcx, qword [rbp + 0xf8]
call fcn.14003ca20
mov esi, dword [rsp + 0x64]
test esi, esi
je 0x1400a4d13
mov rdx, qword [rbp + 0xf8]
movsxd rcx, dword [rdx + 0x90]
cmp dword [rdx + 0x94], ecx
jg 0x1400a4ce1
mov rcx, qword [rbp + 0xf8]
mov edx, Ordinal_73
mov r9d, esi
mov dword [rsp + 0x20], 0
lea r8d, [rdx - 0x45]
call fcn.14003c8e0
jmp 0x1400a4d13
mov ecx, r13d
mov r13d, ecx
test sil, sil
je 0x1400a4cad
mov rcx, qword [rbp + 0xf8]
mov r15d, r9d
lea r9d, [rbx + r8]
xor r8d, r8d
lea edx, [r8 + 0x49]
call fcn.14003ca90
inc r13d
mov dword [rsp + 0x54], ebx
mov edi, 1
jmp 0x1400a4b6e
mov dword [rsp + 0x54], ebx
test edx, edx
je 0x1400a4b66
mov rcx, qword [rbp + 0xf8]
lea r9d, [rbx + r8]
xor r8d, r8d
lea edx, [r8 + 0x49]
call fcn.14003ca90
inc r13d
mov dword [rsp + 0x54], ebx
mov edi, 1
jmp 0x1400a4b6a
lea eax, [rcx + 1]
mov dword [rdx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdx + 0x88]
xor edx, edx
mov dword [rax + rcx*8], SQLSetEnvAttr
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov rcx, qword [rsp + 0x78]
lea eax, [r15 + rdi*2]
mov edi, dword [rsp + 0x58]
mov r9d, dword [rsp + 0x60]
mov r8d, dword [rsp + 0x68]
lea ecx, [rcx + rax*2]
mov dword [rsp + 0x28], r13d
movzx edx, byte [rcx + r14 + 0x146068]
mov rcx, qword [rbp + 0xf8]
mov dword [rsp + 0x20], edi
call fcn.14003d3a0
test esi, esi
je 0x1400a4e09
mov r10, qword [rbp + 0xf8]
movsxd rcx, dword [r10 + 0x90]
lea edx, [rcx + 2]
cmp dword [r10 + 0x94], ecx
jg 0x1400a4d90
xor r8d, r8d
mov dword [rsp + 0x20], 0
mov r9d, edx
mov rcx, r10
lea edx, [r8 + 0xb]
call fcn.14003c8e0
mov r10, qword [rbp + 0xf8]
jmp 0x1400a4dbe
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x88]
mov qword [rax + rcx*8], reloc.Cabinet.dll_FCIAddFile
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov r8d, dword [rsp + 0x68]
mov ecx, r13d
sub ecx, r15d
mov eax, 2
cmp r13d, 1
mov dword [rsp + 0x28], ecx
mov r13d, dword [rsp + 0x60]
mov edx, 6
cmova eax, edx
mov dword [rsp + 0x20], edi
add eax, dword [rsp + 0x78]
mov r9d, r13d
mov rcx, r10
movzx edx, byte [rax + r14 + 0x146068]
call fcn.14003d3a0
jmp 0x1400a4e0e
mov esi, dword [rsp + 0x64]
mov edi, dword [rsp + 0x58]
mov r13d, dword [rsp + 0x60]
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x1400a4f27
mov rax, qword [rax]
movzx esi, word [rbp - 0x80]
add ebx, dword [rsp + 0x58]
mov r9d, esi
mov rcx, qword [rbp + 0xf0]
mov r8d, ebx
mov rdi, qword [rax + 0x18]
mov rdx, rdi
call fcn.1400a35e0
mov rcx, rdi
call fcn.140056c10
test eax, eax
je 0x1400a4e62
mov rcx, qword [rbp + 0xf8]
mov r9d, r13d
mov r8d, ebx
mov edx, 0x32
call fcn.14003ca90
mov r15, qword [rbp - 0x60]
test r15, r15
je 0x1400a4ee3
mov r8, r15
mov edx, esi
mov rcx, rdi
call fcn.1400a22e0
mov r10, r15
mov r9d, esi
test esi, esi
je 0x1400a4e95
cmp byte [r10], 0x41
jg 0x1400a4e95
dec r9d
inc ebx
inc r10
test r9d, r9d
jg 0x1400a4e82
movsxd rax, r9d
cmp rax, 1
jle 0x1400a4eb4
nop
cmp byte [r10 + rax - 1], 0x41
jg 0x1400a4eb4
dec r9d
dec rax
cmp rax, 1
jg 0x1400a4ea0
test r9d, r9d
jle 0x1400a4ee3
mov rax, qword [rbp + 0xf0]
mov r8d, ebx
mov dword [rsp + 0x30], r9d
mov edx, 0x5b
mov qword [rsp + 0x28], r10
mov dword [rsp + 0x20], 0
mov rcx, qword [rax + 0x10]
call fcn.14003ce20
mov ebx, dword [rsp + 0x54]
movzx eax, byte [rdi]
add ebx, esi
cmp al, 0xab
jne 0x1400a4ef4
movzx eax, byte [rdi + 0x32]
cmp al, 0xac
jne 0x1400a4efe
lea rax, [rdi + 0x20]
jmp 0x1400a4f06
cmp al, 0x86
jne 0x1400a4f15
mov rax, qword [rdi + 0x20]
mov rax, qword [rax]
cmp dword [rax], 1
jle 0x1400a4f15
mov esi, 1
jmp 0x1400a4f66
mov rdx, qword [rbp - 0x70]
mov rcx, qword [rbp + 0x110]
call fcn.1400a2260
jmp 0x1400a4f62
cmp byte [rbp + 0x108], 0
je 0x1400a4f5e
test esi, esi
jne 0x1400a4f52
mov rcx, qword [rbp + 0xf8]
lea r9d, [rdi + rbx]
xor r8d, r8d
lea edx, [rsi + 0x49]
call fcn.14003ca90
mov r15, qword [rbp - 0x60]
inc ebx
jmp 0x1400a4f66
mov esi, dword [rsp + 0x50]
inc ebx
mov r15, qword [rbp - 0x60]
jmp 0x1400a4f66
mov r15, qword [rbp - 0x60]
mov esi, dword [rsp + 0x50]
mov rdi, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x68]
test rdi, rdi
je 0x1400a4fe1
test rcx, rcx
je 0x1400a4fb1
cmp qword [rcx + 0x298], 0
je 0x1400a4f8c
mov rdx, rdi
call fcn.1400170b0
jmp 0x1400a4fdd
cmp rdi, qword [rcx + 0x190]
jb 0x1400a4fb1
cmp rdi, qword [rcx + 0x198]
jae 0x1400a4fb1
mov rax, qword [rcx + 0x188]
mov qword [rdi], rax
mov qword [rcx + 0x188], rdi
jmp 0x1400a4fe1
cmp dword [0x1401abb60], 0
mov rcx, rdi
je 0x1400a4fd7
call qword [0x1401abb98]
movsxd rcx, eax
sub qword [0x1401b2b20], rcx
mov rcx, rdi
dec qword [0x1401b2b68]
call qword [0x1401abb88]
mov rcx, qword [rbp - 0x68]
test r15, r15
je 0x1400a5050
test rcx, rcx
je 0x1400a5024
cmp qword [rcx + 0x298], 0
je 0x1400a4fff
mov rdx, r15
call fcn.1400170b0
jmp 0x1400a5050
cmp r15, qword [rcx + 0x190]
jb 0x1400a5024
cmp r15, qword [rcx + 0x198]
jae 0x1400a5024
mov rax, qword [rcx + 0x188]
mov qword [r15], rax
mov qword [rcx + 0x188], r15
jmp 0x1400a5050
cmp dword [0x1401abb60], 0
mov rcx, r15
je 0x1400a504a
call qword [0x1401abb98]
movsxd rcx, eax
sub qword [0x1401b2b20], rcx
mov rcx, r15
dec qword [0x1401b2b68]
call qword [0x1401abb88]
mov r10, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x110]
mov edi, dword [rsp + 0x64]
mov eax, dword [r10 + 0x90]
mov dword [rcx + 0x34], eax
test ebx, ebx
je 0x1400a50cf
test edi, edi
je 0x1400a5096
mov r9d, dword [r10 + 0x90]
mov r8d, edi
add r9d, 3
mov edx, SQLAllocHandle
mov rcx, r10
call fcn.14003ca90
mov r10, qword [rbp + 0xf8]
mov rax, qword [rsp + 0x78]
mov r9d, r13d
mov r15d, dword [rsp + 0x68]
mov rcx, r10
mov dword [rsp + 0x28], ebx
mov r8d, r15d
lea eax, [rsi + rax*2]
mov esi, dword [rsp + 0x58]
movzx edx, byte [rax + r14 + 0x148a28]
mov dword [rsp + 0x20], esi
call fcn.14003d3a0
mov r10, qword [rbp + 0xf8]
jmp 0x1400a50d8
mov esi, dword [rsp + 0x58]
mov r15d, dword [rsp + 0x68]
test edi, edi
je 0x1400a512d
mov r9d, dword [r10 + 0x90]
mov r8d, edi
add r9d, 2
mov edx, 0x12
mov rcx, r10
call fcn.14003ca90
mov rax, qword [rsp + 0x78]
lea r8d, [rbx + r12]
mov dword [rsp + 0x28], r8d
mov r9d, r13d
mov r13, qword [rbp + 0xf8]
mov r8d, r15d
mov rcx, r13
mov dword [rsp + 0x20], esi
lea eax, [r12 + rax*2]
movzx edx, byte [rax + r14 + 0x148a28]
call fcn.14003d3a0
jmp 0x1400a5134
mov r13, qword [rbp + 0xf8]
mov rbx, qword [rsp + 0x70]
xor r14d, r14d
test dword [rbx + 0x28], 0x40000
je 0x1400a519e
movsxd rcx, dword [r13 + 0x90]
cmp dword [r13 + 0x94], ecx
jg 0x1400a516f
lea r9d, [r14 + 1]
mov dword [rsp + 0x20], r14d
mov r8d, r15d
lea edx, [r14 + 0x77]
mov rcx, r13
call fcn.14003c8e0
jmp 0x1400a519e
lea eax, [rcx + 1]
mov dword [r13 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r13 + 0x88]
mov dword [rax + rcx*8], Ordinal_122
mov dword [rax + rcx*8 + 4], r15d
mov qword [rax + rcx*8 + 8], 1
mov qword [rax + rcx*8 + 0x10], r14
test byte [rbx + 0x28], 0x40
mov rcx, qword [rbp + 0x100]
je 0x1400a51c3
test byte [rcx + 0x40], 0x20
jne 0x1400a51c3
mov r12d, 1
mov dword [rbp + 0x108], r12d
jmp 0x1400a536a
mov r10, qword [rsp + 0x48]
mov r12d, r14d
mov dword [rbp + 0x108], r14d
mov rbx, qword [r10 + 0x18]
test byte [rbx + 0x40], 0x20
jne 0x1400a5246
movzx eax, word [rcx + 0x40]
bt ax, 0xa
jb 0x1400a5209
bt ax, 0xc
jae 0x1400a51f4
cmp byte [rcx + 0x45], 1
je 0x1400a5209
mov r8d, dword [rsp + 0x40]
mov r9d, r15d
mov rdx, r10
call fcn.1400a33e0
jmp 0x1400a536a
mov rax, qword [rbp + 0xf0]
mov r8d, r15d
mov edx, Ordinal_139
mov rcx, r13
inc dword [rax + 0x38]
mov ebx, dword [rax + 0x38]
mov r9d, ebx
call fcn.14003ca90
mov r8d, dword [rsp + 0x40]
xor r9d, r9d
mov rcx, r13
mov dword [rsp + 0x20], ebx
lea edx, [r9 + 0x1f]
call fcn.14003c940
jmp 0x1400a536a
cmp dword [rsp + 0x40], r15d
je 0x1400a536f
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x1400a5272
nop word [rax + rax]
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1400a5272
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1400a5260
movzx edx, word [rbx + 0x5e]
mov rcx, qword [rbp + 0xf0]
call fcn.14005d5b0
mov esi, eax
mov edi, r14d
movzx eax, word [rbx + 0x5e]
cmp r14w, ax
jae 0x1400a5349
mov r12, 0xffffffffffffffff
nop dword [rax]
movzx r8d, word [r10 + 0x60]
mov edx, r14d
test r8d, r8d
je 0x1400a52d0
mov rax, qword [rbx + 8]
mov r9, qword [r10 + 8]
movsxd rcx, edi
movzx r10d, word [rax + rcx*2]
nop dword [rax]
mov eax, edx
cmp r10w, word [r9 + rax*2]
je 0x1400a52d4
inc edx
cmp edx, r8d
jl 0x1400a52c0
movzx edx, r12w
movsxd rcx, dword [r13 + 0x90]
movsx r8d, dx
lea edx, [rsi + rdi]
cmp dword [r13 + 0x94], ecx
jg 0x1400a5304
mov dword [rsp + 0x20], edx
mov r9d, r8d
mov r8d, r15d
mov edx, 0x5a
mov rcx, r13
call fcn.14003c8e0
jmp 0x1400a5333
lea eax, [rcx + 1]
mov dword [r13 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r13 + 0x88]
mov dword [rax + rcx*8], Ordinal_96
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r14
movzx eax, word [rbx + 0x5e]
inc edi
mov r10, qword [rsp + 0x48]
cmp edi, eax
jl 0x1400a52a0
mov r12d, r14d
mov r9d, dword [rbp - 0x78]
mov edx, SQLFreeHandle
mov r8d, dword [rsp + 0x40]
mov rcx, r13
movzx eax, ax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], esi
call fcn.14003d3a0
mov r10, qword [rsp + 0x48]
mov rax, qword [rbp + 0x110]
cmp dword [rax], 0
jne 0x1400a54a3
mov rax, qword [rbp + 0x100]
test byte [rax + 0x40], 0x20
jne 0x1400a54a3
mov r13, qword [r10 + 0x50]
test r13, r13
je 0x1400a54a3
lea rax, [0x1400a36a0]
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], rax
xorps xmm0, xmm0
lea rax, [rbp - 0x58]
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], rax
mov esi, r14d
mov eax, dword [rsp + 0x40]
mov dword [rbp - 0x50], eax
movdqu xmmword [rbp - 0x20], xmm0
mov dword [rbp - 0x4c], r15d
cmp dword [r13], 0
jle 0x1400a54a7
mov r12, qword [rbp + 0x100]
lea r15, [r13 + 8]
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [r10 + 8]
cmp word [r14 + rax], 0xfffe
jne 0x1400a5488
mov rdx, qword [r12 + 0x20]
mov dword [rbp - 0x48], esi
mov rax, qword [r15]
mov qword [rbp - 0x58], rax
test rdx, rdx
je 0x1400a541d
lea rcx, [rbp - 0x30]
call fcn.140050350
mov rdi, qword [r12 + 0x10]
test rdi, rdi
je 0x1400a5450
mov ebx, dword [rdi]
add rdi, 8
test ebx, ebx
jle 0x1400a5450
mov rdx, qword [rdi]
test rdx, rdx
je 0x1400a5446
lea rcx, [rbp - 0x30]
call fcn.140050350
test eax, eax
jne 0x1400a5450
dec ebx
add rdi, 0x28
test ebx, ebx
jg 0x1400a5431
mov rdi, qword [r12 + 0x18]
test rdi, rdi
je 0x1400a5483
mov ebx, dword [rdi]
add rdi, 8
test ebx, ebx
jle 0x1400a5483
mov rdx, qword [rdi]
test rdx, rdx
je 0x1400a5479
lea rcx, [rbp - 0x30]
call fcn.140050350
test eax, eax
jne 0x1400a5483
dec ebx
add rdi, 0x28
test ebx, ebx
jg 0x1400a5464
mov r10, qword [rsp + 0x48]
inc esi
add r14, 2
add r15, 0x28
cmp esi, dword [r13]
jl 0x1400a53f0
mov r12d, dword [rbp + 0x108]
mov eax, dword [rsp + 0x40]
mov rcx, qword [r10 + 0x48]
test rcx, rcx
je 0x1400a54bb
mov r8, qword [rbp - 0x40]
mov edx, eax
call fcn.1400a3710
mov rcx, qword [rsp + 0x70]
mov eax, 0x1000
mov r11, qword [rbp + 0x110]
test dword [rcx + 0x28], eax
je 0x1400a54d8
mov byte [r11 + 0x2d], 0xaa
jmp 0x1400a54e6
cmp dword [rsp + 0x78], 0
sete al
add al, 4
mov byte [r11 + 0x2d], al
mov eax, dword [rsp + 0x68]
mov dword [r11 + 0x30], eax
movzx eax, byte [rcx + 0x2a]
and al, 1
mov byte [r11 + 0x2e], al
test byte [rcx + 0x28], 0xf
jne 0x1400a5503
mov byte [r11 + 0x2f], 1
mov r13, qword [rbp + 0xf0]
mov rdx, qword [rbp + 0x100]
test r12d, r12d
je 0x1400a557f
xor r12d, r12d
mov r8d, r12d
mov qword [rsp + 0x48], r12
jmp 0x1400a3d38
test dl, 0x20
je 0x1400a5535
mov byte [r11 + 0x2d], 0xaa
jmp 0x1400a3d27
mov ecx, r10d
lea r14, [0x140000000]
movzx eax, byte [rcx + r14 + 0x148918]
movzx edx, byte [rcx + r14 + 0x145f28]
mov rcx, rsi
mov byte [r11 + 0x2d], al
mov eax, dword [rsp + 0x40]
mov r8d, eax
mov dword [r11 + 0x30], eax
call fcn.14003ca90
mov r11, qword [rbp + 0x110]
inc eax
mov dword [r11 + 0x34], eax
mov byte [r11 + 0x2f], 1
jmp 0x1400a3d27
mov r8, qword [rsp + 0x48]
xor r12d, r12d
jmp 0x1400a3d38
mov r13, qword [rbp + 0xf0]
xor r12d, r12d
mov r8d, r12d
jmp 0x1400a3d38
mov rax, qword [rbp + 0x20]
mov rdi, qword [rbx]
test byte [rax + 0x44], 8
je 0x1400a55b5
test byte [rdi + 4], 1
je 0x1400a563d
cmp r15d, 1
jne 0x1400a5600
mov eax, dword [r11 + 4]
xorps xmm0, xmm0
mov dword [rbp - 0x50], eax
lea rax, [rbp - 0x58]
mov qword [rbp - 8], rax
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x10], r12
mov qword [rbp - 0x58], r8
mov qword [rbp - 0x28], r9
movdqu xmmword [rbp - 0x20], xmm0
test rdi, rdi
je 0x1400a55f3
mov rdx, rdi
lea rcx, [rbp - 0x30]
call fcn.140050350
cmp byte [rbp - 0xc], 0
je 0x1400a5606
mov esi, 2
jmp 0x1400a563d
cmp r15d, 3
jge 0x1400a561c
movzx ecx, word [rbx + 0x12]
bt cx, 0xc
jae 0x1400a561c
test esi, esi
jne 0x1400a563d
mov esi, 3
jmp 0x1400a563d
bt cx, 9
jb 0x1400a563d
mov r8d, dword [rbp - 0x78]
mov r9d, 0x10
mov rdx, rdi
mov rcx, r13
call fcn.14005c280
or word [rbx + 0x12], 4
mov r11, qword [rbp + 0x110]
lea r9, [0x14005d0a0]
mov rdx, qword [rbp + 0x100]
dec r14d
mov r8, qword [rsp + 0x48]
add rbx, 0x40
test r14d, r14d
jg 0x1400a3d70
mov r10, qword [rbp - 0x40]
lea r9, [0x14005d0a0]
mov rbx, qword [r10 + 0x20]
mov r14d, dword [r10 + 0x14]
mov r11, qword [rbp + 0x110]
mov r15d, esi
mov rdx, qword [rbp + 0x100]
test esi, esi
jg 0x1400a3d50
test r14d, r14d
jle 0x1400a57da
lea rdi, [rbx + 0x14]
mov r15d, reloc.Cabinet.dll_FCIAddFile
test byte [rdi - 2], 6
jne 0x1400a57c6
movzx eax, word [rdi]
test al, 0x82
setne cl
bt ax, r15w
setb al
test al, cl
je 0x1400a57c6
mov ecx, dword [rsp + 0x40]
cmp dword [rdi + 8], ecx
jne 0x1400a57c6
mov rax, qword [rbp + 0x110]
cmp dword [rax], 0
jne 0x1400a57c6
mov r9d, dword [rdi + 0x14]
mov r8d, ecx
mov rsi, qword [rdi - 0x14]
lea rcx, [rbp + 0x30]
mov qword [rsp + 0x28], r12
mov rdx, r10
mov rbx, r12
mov dword [rsp + 0x20], Ordinal_133
call fcn.1400a75e0
mov rdx, rax
test rax, rax
je 0x1400a5750
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rdx + 0x30]
test qword [rbp + 0x118], rax
jne 0x1400a573f
test rax, rax
jne 0x1400a5738
test byte [rdx + 0x14], 0x82
jne 0x1400a5753
test rbx, rbx
cmove rbx, rdx
lea rcx, [rbp + 0x30]
call fcn.1400a72a0
mov rdx, rax
test rax, rax
jne 0x1400a5720
mov rdx, rbx
test rdx, rdx
je 0x1400a57c6
test byte [rdx + 0x12], 4
jne 0x1400a57c6
test byte [rdx + 0x14], 1
je 0x1400a577c
mov rax, qword [rdx]
test dword [rax + 4], 0x800
je 0x1400a577c
mov rax, qword [rax + 0x20]
mov rcx, qword [rax]
cmp dword [rcx], 1
jg 0x1400a57c6
mov rax, qword [rdx]
mov r9d, 0x10
mov r8d, dword [rbp - 0x78]
lea rdx, [rbp - 0x30]
mov rcx, r13
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp - 0x20], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp - 0x10], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp], xmm1
movsd xmm0, qword [rax + 0x40]
movsd qword [rbp + 0x10], xmm0
mov rax, qword [rsi + 0x10]
mov qword [rbp - 0x20], rax
call fcn.14005c280
mov r10, qword [rbp - 0x40]
dec r14d
add rdi, 0x40
test r14d, r14d
jg 0x1400a56a6
mov rdi, qword [rbp + 0x110]
mov r9d, dword [rdi]
test r9d, r9d
je 0x1400a589e
mov r10, qword [rbp + 0xf8]
mov eax, dword [r10 + 0x90]
mov dword [rdi + 0x1c], eax
movsxd rcx, dword [r10 + 0x90]
cmp dword [r10 + 0x94], ecx
jg 0x1400a5826
mov edx, Ordinal_73
mov dword [rsp + 0x20], r12d
mov rcx, r10
lea r8d, [rdx - 0x45]
call fcn.14003c8e0
jmp 0x1400a5859
lea eax, [rcx + 1]
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x88]
mov dword [rax + rcx*8], SQLSetEnvAttr
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov rsi, qword [rbp - 0x40]
cmp dword [rsi + 0x14], 0
mov rbx, qword [rsi + 0x20]
jle 0x1400a589e
test byte [rbx + 0x12], 6
jne 0x1400a5891
mov rax, qword [rbx + 0x38]
test qword [rdi + 0x50], rax
jne 0x1400a5891
mov r8d, dword [rbp - 0x78]
mov r9d, 0x10
mov rdx, qword [rbx]
mov rcx, r13
call fcn.14005c280
or word [rbx + 0x12], 4
inc r12d
add rbx, 0x40
cmp r12d, dword [rsi + 0x14]
jl 0x1400a5867
mov rax, qword [rdi + 0x50]
add rsp, 0x1a8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret