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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x128
mov rbx, qword [rcx + 0x10]
xor r9d, r9d
mov r12, r8
mov qword [rsp + 0x60], r9
xor r15b, r15b
mov dword [rsp + 0x68], r9d
mov rsi, rdx
mov dword [rsp + 0x58], r9d
movsxd r8, dword [rbx + 0x90]
mov r13, rcx
mov r14d, r9d
mov qword [rsp + 0x80], rbx
mov dword [rsp + 0x6c], r8d
cmp dword [rbx + 0x94], r8d
jg 0x1400a7e71
xor r8d, r8d
mov dword [rsp + 0x20], r9d
lea edx, [r9 + 0x11]
mov rcx, rbx
call fcn.14003c8e0
mov dword [rsp + 0x6c], eax
xor r9d, r9d
jmp 0x1400a7e98
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov qword [rax + rcx*8], SQLAllocHandle
mov qword [rax + rcx*8 + 8], r9
mov qword [rax + rcx*8 + 0x10], r9
mov rdi, qword [rsi + 0x20]
mov ebp, r9d
movsxd rax, dword [rsi + 0x14]
mov r11, r9
mov rdx, qword [rsp + 0x190]
movabs r8, 0x8000000000000000
mov rcx, qword [r12 + 0x20]
shl rax, 6
add rax, rdi
mov dword [rsp + 0x170], r9d
mov rdx, qword [rdx + 0x48]
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x48], r9
cmp rdi, rax
jae 0x1400a8290
lea rcx, [fcn.140056930]
lea r8, [0x1400567a0]
nop dword [rax + rax]
cmp qword [rdx], 0
mov rsi, qword [rdi]
jne 0x1400a8146
test byte [rdi + 0x12], 2
jne 0x1400a8146
test byte [rsi + 4], 1
jne 0x1400a8146
mov eax, dword [r12 + 0x44]
mov rdx, rsi
mov qword [rsp + 0x98], rcx
lea rcx, [rsp + 0x90]
mov byte [rsp + 0xb4], 3
mov qword [rsp + 0xa0], r8
mov dword [rsp + 0xb8], eax
call fcn.140050350
cmp byte [rsp + 0xb4], 0
je 0x1400a813c
mov rcx, qword [r13]
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
call fcn.140055390
mov rbp, qword [r13]
mov rsi, rax
test r14, r14
jne 0x1400a7f8e
mov r14, rax
mov qword [rsp + 0x60], rax
jmp 0x1400a8135
test rsi, rsi
je 0x1400a8135
mov eax, dword [r14 + 4]
and eax, 0x20000001
cmp eax, 0x20000000
je 0x1400a7fd6
mov eax, dword [rsi + 4]
and eax, 0x20000001
cmp eax, 0x20000000
je 0x1400a7fd6
mov r9, rsi
mov r8, r14
mov edx, 0x2c
mov rcx, r13
call fcn.1400549f0
mov r14, rax
mov qword [rsp + 0x60], rax
jmp 0x1400a8135
cmp byte [r13 + 0x104], 2
mov rcx, rbp
jb 0x1400a8035
lea rax, [0x14005ee80]
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xc8], rax
lea rcx, [rsp + 0xc0]
lea rax, [0x14005eeb0]
mov qword [rsp + 0xc0], r13
xorps xmm0, xmm0
mov qword [rsp + 0xd0], rax
mov rdx, r14
movdqu xmmword [rsp + 0xd8], xmm0
call fcn.140050350
mov rcx, qword [r13]
mov rdx, r14
call fcn.1400550a0
cmp byte [r13 + 0x104], 2
jb 0x1400a8095
lea rax, [0x14005ee80]
mov qword [rsp + 0x118], 0
mov qword [rsp + 0xf8], rax
lea rcx, [rsp + 0xf0]
lea rax, [0x14005eeb0]
mov qword [rsp + 0xf0], r13
xorps xmm0, xmm0
mov qword [rsp + 0x100], rax
mov rdx, rsi
movdqu xmmword [rsp + 0x108], xmm0
call fcn.140050350
mov rcx, qword [r13]
mov rdx, rsi
call fcn.1400550a0
xor esi, esi
lea rdx, [rsp + 0x40]
lea rcx, [0x14016271c]
mov dword [rsp + 0x40], esi
call fcn.14001b440
test eax, eax
mov rcx, rbp
mov eax, 2
cmove esi, eax
mov edx, esi
add rdx, 0x48
call fcn.1400174f0
mov qword [rsp + 0x60], rax
mov r14, rax
test rax, rax
je 0x1400a8135
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r14], xmm0
movups xmmword [r14 + 0x10], xmm0
movups xmmword [r14 + 0x20], xmm0
movups xmmword [r14 + 0x30], xmm0
mov qword [r14 + 0x40], rax
mov eax, 0xffffffff
mov word [r14 + 0x2e], ax
mov byte [r14], 0x96
test esi, esi
jne 0x1400a8128
mov eax, dword [rsp + 0x40]
mov ecx, 0x20800400
test eax, eax
mov dword [r14 + 8], eax
mov edx, 0x10800400
cmovne ecx, edx
or dword [r14 + 4], ecx
jmp 0x1400a8135
lea rax, [r14 + 0x48]
mov qword [r14 + 8], rax
mov word [rax], 0x30
mov ebp, dword [rsp + 0x170]
mov r11, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov eax, dword [r12 + 0x44]
cmp dword [rdi + 0x1c], eax
jne 0x1400a8264
movzx ecx, word [rdi + 0x14]
test cl, 0x82
je 0x1400a8264
test byte [r12 + 0x3c], 8
je 0x1400a817a
mov rax, qword [rdi]
test byte [rax + 4], 1
jne 0x1400a817a
test cl, cl
js 0x1400a8264
mov rax, qword [rsp + 0x188]
test qword [rdi + 0x30], rax
jne 0x1400a8264
movsxd rax, dword [rdi + 0x28]
test eax, eax
js 0x1400a8264
mov rdx, rax
mov rax, qword [r12 + 0x20]
shl rdx, 5
mov rcx, qword [rax + 8]
movzx edx, byte [rdx + rcx + 0x19]
mov rcx, qword [rdi]
call fcn.140053db0
test eax, eax
je 0x1400a825a
movsxd rcx, dword [rdi + 0x28]
cmp ecx, 0x40
jl 0x1400a81d2
movabs rsi, 0x8000000000000000
jmp 0x1400a81da
mov esi, 1
shl rsi, cl
test r15b, r15b
jne 0x1400a820a
mov rax, rcx
lea rdx, str.automatic_index_on__s__s_
mov rcx, qword [rsp + 0x70]
shl rax, 5
mov r9, qword [rcx + 8]
mov r8, qword [rcx]
mov ecx, 0x11c
mov r9, qword [rax + r9]
call fcn.140019dd0
mov r15b, 1
mov r11, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
test r11, rsi
jne 0x1400a8264
mov rcx, qword [r13]
inc ebp
mov r8d, ebp
call fcn.1400a9310
test eax, eax
jne 0x1400a8cdf
movsxd rcx, dword [rsp + 0x170]
mov r11, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
or r11, rsi
mov dword [rsp + 0x170], ebp
mov qword [rsp + 0x48], r11
mov rax, qword [rdx + 0x38]
mov qword [rax + rcx*8], rdi
jmp 0x1400a8264
mov r11, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
add rdi, 0x40
lea rcx, [fcn.140056930]
lea r8, [0x1400567a0]
cmp rdi, qword [rsp + 0x78]
jb 0x1400a7f00
mov rcx, qword [rsp + 0x70]
movabs r8, 0x8000000000000000
mov word [rdx + 0x2c], bp
not r11
mov word [rdx + 0x18], bp
or r11, r8
mov dword [rdx + 0x28], 0x4241
xor edx, edx
mov r9, qword [r12 + 0x58]
mov r12d, 0x3f
movsx r8d, word [rcx + 0x46]
and r11, r9
mov qword [rsp + 0x48], r11
cmp r12w, r8w
jge 0x1400a82cf
mov r10d, r12d
mov dword [rsp + 0x40], r12d
jmp 0x1400a82e0
mov dword [rsp + 0x40], r8d
mov r10d, r8d
cmp dx, r8w
jge 0x1400a82fd
nop dword [rax]
mov ecx, ebp
mov eax, edx
inc ebp
bt r11, rax
cmovae ebp, ecx
inc edx
cmp edx, r10d
jl 0x1400a82e0
mov dword [rsp + 0x170], ebp
xor edx, edx
test r9, r9
jns 0x1400a830f
add ebp, 0xffffffc1
add ebp, r8d
mov dword [rsp + 0x170], ebp
mov r8, qword [r13]
inc bp
movsx r14, bp
movsx r15d, bp
lea eax, [r14 + r15]
lea ecx, [rax*2 + 9]
add ecx, r14d
lea eax, [r14 + 0xe]
and ecx, 0xfffffff8
lea eax, [rcx + rax*8]
movsxd rdi, eax
test r8, r8
je 0x1400a83cb
cmp dword [r8 + 0x168], 0
jne 0x1400a83bf
movzx eax, word [r8 + 0x16c]
cmp rdi, rax
jbe 0x1400a836d
inc dword [r8 + 0x178]
mov rdx, rdi
mov rcx, r8
call fcn.140017490
jmp 0x1400a83d3
mov rsi, qword [r8 + 0x188]
test rsi, rsi
je 0x1400a838c
mov rax, qword [rsi]
mov qword [r8 + 0x188], rax
inc dword [r8 + 0x174]
jmp 0x1400a83d6
mov rsi, qword [r8 + 0x180]
test rsi, rsi
je 0x1400a83ab
mov rax, qword [rsi]
inc dword [r8 + 0x174]
mov qword [r8 + 0x180], rax
jmp 0x1400a83d6
inc dword [r8 + 0x17c]
mov rdx, rdi
mov rcx, r8
call fcn.140017490
jmp 0x1400a83d3
cmp byte [r8 + 0x61], 0
je 0x1400a8360
mov rsi, rdx
jmp 0x1400a83d6
mov rcx, rdi
call fcn.140016ee0
mov rsi, rax
test rsi, rsi
je 0x1400a8cdf
mov r8, rdi
xor edx, edx
mov rcx, rsi
call fcn.14011adb0
mov r10d, dword [rsp + 0x170]
lea rcx, [rsi + 0x70]
lea rdx, [rcx + r14*8]
mov qword [rsi + 0x40], rcx
lea eax, [r15 + 1]
mov word [rsi + 0x60], bp
mov rbp, qword [rsp + 0x178]
xor r11d, r11d
movsxd rcx, eax
mov r15d, r11d
mov qword [rsi + 0x10], rdx
mov word [rsi + 0x5e], r10w
lea rax, [rdx + rcx*2]
mov qword [rsi + 8], rax
lea rax, [rax + r14*2]
mov r14, qword [rsp + 0x70]
mov qword [rsi + 0x38], rax
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x20], rsi
lea rax, str.auto_index
mov qword [rsi], rax
mov qword [rsi + 0x18], r14
mov rdi, qword [rbp + 0x20]
cmp rdi, qword [rsp + 0x78]
jae 0x1400a85ab
mov r8, qword [rsp + 0x180]
mov r14d, r11d
mov ebx, r11d
mov r12d, r11d
nop
mov eax, dword [r8 + 0x44]
cmp dword [rdi + 0x1c], eax
jne 0x1400a8576
movzx ecx, word [rdi + 0x14]
test cl, 0x82
je 0x1400a8576
test byte [r8 + 0x3c], 8
je 0x1400a84a2
mov rax, qword [rdi]
test byte [rax + 4], 1
jne 0x1400a84a2
test cl, cl
js 0x1400a8576
mov rax, qword [rsp + 0x188]
test qword [rdi + 0x30], rax
jne 0x1400a8576
movsxd rax, dword [rdi + 0x28]
test eax, eax
js 0x1400a8576
mov rdx, rax
mov rax, qword [r8 + 0x20]
shl rdx, 5
mov rcx, qword [rax + 8]
movzx edx, byte [rdx + rcx + 0x19]
mov rcx, qword [rdi]
call fcn.140053db0
test eax, eax
je 0x1400a856e
mov edx, dword [rdi + 0x28]
cmp edx, 0x40
jl 0x1400a84f8
movabs rax, 0x8000000000000000
jmp 0x1400a8502
mov ecx, edx
mov eax, 1
shl rax, cl
test r12, rax
jne 0x1400a856e
mov rcx, qword [rdi]
or r12, rax
mov rax, qword [rsi + 8]
mov word [rbx + rax], dx
mov rdx, qword [rcx + 0x10]
mov rbp, qword [rcx + 0x18]
test dword [rdx + 4], 0x100
jne 0x1400a8544
test rbp, rbp
je 0x1400a8534
test dword [rbp + 4], 0x100
jne 0x1400a8541
mov rcx, r13
call fcn.140053b70
test rax, rax
jne 0x1400a8558
mov rdx, rbp
mov rcx, r13
call fcn.140053b70
lea rcx, [0x1401475e4]
test rax, rax
je 0x1400a855b
mov rcx, qword [rax]
mov rax, qword [rsi + 0x40]
inc r15d
add rbx, 2
mov qword [r14 + rax], rcx
add r14, 8
mov r8, qword [rsp + 0x180]
add rdi, 0x40
cmp rdi, qword [rsp + 0x78]
jb 0x1400a8470
mov rbx, qword [rsp + 0x80]
mov r12d, 0x3f
mov r10d, dword [rsp + 0x170]
xor r11d, r11d
mov r14, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x178]
mov r9d, dword [rsp + 0x40]
lea rdi, [0x1401475e4]
mov ecx, r11d
test r9d, r9d
jle 0x1400a8601
mov r11, qword [rsp + 0x48]
movsxd rax, r15d
lea rdx, [rax*8]
lea r8, [rax + rax]
mov eax, ecx
bt r11, rax
jae 0x1400a85f7
mov rax, qword [rsi + 8]
inc r15d
mov word [r8 + rax], cx
add r8, 2
mov rax, qword [rsi + 0x40]
mov qword [rdx + rax], rdi
add rdx, 8
inc ecx
cmp ecx, r9d
jl 0x1400a85d3
xor r11d, r11d
mov rax, qword [rsp + 0x180]
cmp qword [rax + 0x58], 0
jge 0x1400a865b
cmp r12w, word [r14 + 0x46]
jge 0x1400a865b
movsxd rax, r15d
lea rcx, [rax*8]
lea rdx, [rax + rax]
nop word [rax + rax]
mov rax, qword [rsi + 8]
lea rdx, [rdx + 2]
inc r15d
lea rcx, [rcx + 8]
mov word [rdx + rax - 2], r12w
inc r12d
mov rax, qword [rsi + 0x40]
mov qword [rcx + rax - 8], rdi
movsx eax, word [r14 + 0x46]
cmp r12d, eax
jl 0x1400a8630
mov rax, qword [rsi + 8]
mov edx, 0xffffffff
mov r12, qword [rsp + 0x190]
movsxd rcx, r15d
mov word [rax + rcx*2], dx
lea edx, [r10 + 1]
mov rax, qword [rsi + 0x40]
mov qword [rax + rcx*8], rdi
mov eax, dword [r13 + 0x34]
mov dword [r12 + 8], eax
inc dword [r13 + 0x34]
movsxd rcx, dword [rbx + 0x90]
mov r8d, dword [r12 + 8]
cmp dword [rbx + 0x94], ecx
jg 0x1400a86b7
mov r9d, edx
mov dword [rsp + 0x20], r11d
mov edx, reloc.ODBC32.dll_SQLExecDirectW
mov rcx, rbx
call fcn.14003c8e0
jmp 0x1400a86e5
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], reloc.ODBC32.dll_SQLExecDirectW
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r11d
mov qword [rax + rcx*8 + 0x10], r11
mov r14, qword [r13 + 0x10]
mov rdx, rsi
mov rcx, r13
call fcn.14006f410
mov rdi, rax
test rax, rax
je 0x1400a87b0
mov rax, qword [r14]
cmp byte [rax + 0x61], 0
je 0x1400a8794
cmp qword [rax + 0x298], 0
jne 0x1400a87b0
add dword [rdi], 0xffffffff
jne 0x1400a87b0
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x1400a8766
cmp qword [rcx + 0x298], 0
je 0x1400a8741
mov rdx, rdi
call fcn.1400170b0
jmp 0x1400a87b0
cmp rdi, qword [rcx + 0x190]
jb 0x1400a8766
cmp rdi, qword [rcx + 0x198]
jae 0x1400a8766
mov rax, qword [rcx + 0x188]
mov qword [rdi], rax
mov qword [rcx + 0x188], rdi
jmp 0x1400a87b0
cmp dword [0x1401abb60], 0
mov rcx, rdi
je 0x1400a878c
call qword [0x1401abb98]
movsxd rcx, eax
sub qword [0x1401b2b20], rcx
mov rcx, rdi
dec qword [0x1401b2b68]
call qword [0x1401abb88]
jmp 0x1400a87b0
movsxd rax, dword [r14 + 0x90]
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov byte [rax + rcx*8 - 0x17], 0xf7
mov qword [rax + rcx*8 - 8], rdi
movzx eax, byte [r12 + 0x2c]
imul r14, rax, 0x70
mov rax, qword [rbp]
add r14, qword [rax + 8]
test byte [r14 + 0x48], 0x10
je 0x1400a88e2
movsxd r8, dword [rbx + 0x90]
mov ebp, dword [r14 + 0x3c]
mov dword [rsp + 0x58], r8d
cmp dword [rbx + 0x94], r8d
jg 0x1400a8806
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rbx
lea edx, [rax + 0x46]
call fcn.14003c8e0
mov dword [rsp + 0x58], eax
xor r8d, r8d
jmp 0x1400a8830
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
xor r8d, r8d
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov qword [rax + rcx*8], SQLSetEnvAttr
mov qword [rax + rcx*8 + 8], r8
mov qword [rax + rcx*8 + 0x10], r8
movsxd rcx, dword [rbx + 0x90]
mov edx, dword [r14 + 0x38]
cmp dword [rbx + 0x94], ecx
jg 0x1400a885e
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, ebp
mov rcx, rbx
lea edx, [r9 + 0xd]
call fcn.14003c8e0
xor r8d, r8d
jmp 0x1400a888b
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], reloc.Cabinet.dll_FCIFlushCabinet
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r8
movsxd rdi, dword [rbx + 0x90]
cmp dword [rbx + 0x94], edi
jg 0x1400a88b8
xor r9d, r9d
mov dword [rsp + 0x20], r8d
mov r8d, ebp
mov rcx, rbx
lea edx, [r9 + 0xe]
call fcn.14003c8e0
mov edi, eax
jmp 0x1400a893d
lea rcx, [rdi + rdi*2]
lea eax, [rdi + 1]
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], reloc.Cabinet.dll_FCIDestroy
mov dword [rax + rcx*8 + 4], ebp
mov qword [rax + rcx*8 + 8], 0
jmp 0x1400a8938
movsxd rdi, dword [rbx + 0x90]
mov edx, dword [r12 + 4]
cmp dword [rbx + 0x94], edi
jg 0x1400a8911
xor eax, eax
mov r8d, edx
xor r9d, r9d
mov dword [rsp + 0x20], eax
mov rcx, rbx
lea edx, [rax + 0x24]
call fcn.14003c8e0
mov edi, eax
jmp 0x1400a893d
lea rcx, [rdi + rdi*2]
xor r8d, r8d
lea eax, [rdi + 1]
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], reloc.WLDAP32.dll_Ordinal_36
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], r8
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rsp + 0x60]
mov ecx, 0x10
test rax, rax
je 0x1400a8973
dec dword [r13 + 0x44]
mov r9d, ecx
mov r8d, dword [r13 + 0x44]
mov rcx, r13
mov rdx, rax
mov dword [rsp + 0x68], r8d
call fcn.14005c280
mov rax, qword [rsp + 0x50]
or dword [rax + 0x28], 0x20000
movzx eax, byte [r13 + 0x1f]
test al, al
jne 0x1400a8986
inc dword [r13 + 0x38]
mov ebp, dword [r13 + 0x38]
jmp 0x1400a8997
dec al
movzx eax, al
mov byte [r13 + 0x1f], al
mov ebp, dword [r13 + rax*4 + 0xbc]
mov r8d, dword [r12 + 4]
xor eax, eax
mov dword [rsp + 0x38], eax
mov r9d, ebp
mov qword [rsp + 0x30], rax
mov rdx, rsi
mov qword [rsp + 0x28], rax
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.140072430
mov rdx, qword [rsp + 0x190]
mov r12d, eax
movsxd rcx, dword [rbx + 0x90]
mov edx, dword [rdx + 8]
cmp dword [rbx + 0x94], ecx
jg 0x1400a89f6
xor eax, eax
mov r8d, edx
mov edx, Ordinal_133
mov dword [rsp + 0x20], eax
mov r9d, ebp
mov rcx, rbx
call fcn.14003c8e0
jmp 0x1400a8a26
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], Ordinal_133
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
movsxd rdx, dword [rbx + 0x90]
test edx, edx
jle 0x1400a8a4c
mov rax, qword [rbx + 0x88]
lea rcx, [rdx + rdx*2]
mov edx, 0x10
mov word [rax + rcx*8 - 0x16], dx
mov edx, dword [rbx + 0x90]
cmp qword [rsp + 0x60], 0
je 0x1400a8a82
mov r9, qword [rbx + 0x18]
mov ecx, dword [rsp + 0x68]
not ecx
mov eax, dword [r9 + 0x48]
add eax, dword [r9 + 0x44]
jns 0x1400a8a78
mov r8d, ecx
mov rdx, rbx
mov rcx, r9
call fcn.14003d4c0
jmp 0x1400a8a82
mov rax, qword [r9 + 0x50]
movsxd rcx, ecx
mov dword [rax + rcx*4], edx
test byte [r14 + 0x48], 0x10
lea rsi, [0x1401b2bc0]
je 0x1400a8be0
mov ecx, dword [rsp + 0x58]
test ecx, ecx
jns 0x1400a8aa4
mov ecx, dword [rbx + 0x90]
dec ecx
mov rax, qword [rbx]
cmp byte [rax + 0x61], 0
je 0x1400a8ab2
mov rcx, rsi
jmp 0x1400a8ac4
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rcx, [rax + rcx*8]
lea eax, [r12 + r15]
mov dword [rcx + 8], eax
mov ecx, edi
mov rax, qword [rsp + 0x190]
mov r11d, dword [r14 + 0x40]
mov rdx, qword [r13 + 0x10]
mov r9d, dword [rax + 8]
mov r10d, dword [rax + 4]
test edi, edi
jns 0x1400a8af1
mov ecx, dword [rdx + 0x90]
dec ecx
mov rax, qword [rdx]
cmp byte [rax + 0x61], 0
je 0x1400a8aff
mov r8, rsi
jmp 0x1400a8b11
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea r8, [rax + rcx*8]
mov rax, qword [r13]
mov ecx, dword [rdx + 0x90]
cmp byte [rax + 0x61], 0
jne 0x1400a8b7e
cmp edi, ecx
jge 0x1400a8b7e
sub ecx, edi
lea rdx, [r8 + 4]
mov r8d, ecx
xor ebx, ebx
cmp dword [rdx], r10d
jne 0x1400a8b6c
movzx eax, byte [rdx - 4]
cmp al, 0x5a
jne 0x1400a8b51
mov ecx, dword [rdx + 4]
mov eax, dword [rdx + 8]
add ecx, r11d
mov dword [rdx], ecx
mov byte [rdx - 4], 0x4e
mov dword [rdx + 4], eax
jmp 0x1400a8b69
cmp al, 0x80
jne 0x1400a8b6c
test r9d, r9d
je 0x1400a8b63
mov byte [rdx - 4], 0x78
mov dword [rdx], r9d
jmp 0x1400a8b6c
mov byte [rdx - 4], 0x49
mov dword [rdx], ebx
mov dword [rdx + 8], ebx
add rdx, 0x18
sub r8, 1
jne 0x1400a8b30
mov rbx, qword [rsp + 0x80]
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x1400a8bae
xor eax, eax
mov r9d, edi
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rbx
lea edx, [rax + 0xb]
call fcn.14003c8e0
and dword [r14 + 0x48], 0xffffffef
jmp 0x1400a8c45
lea eax, [rcx + 1]
xor edx, edx
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov qword [rax + rcx*8], reloc.Cabinet.dll_FCIAddFile
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
and dword [r14 + 0x48], 0xffffffef
jmp 0x1400a8c45
mov rax, qword [rsp + 0x190]
lea edx, [rdi + 1]
movsxd rcx, dword [rbx + 0x90]
mov r8d, dword [rax + 4]
cmp dword [rbx + 0x94], ecx
jg 0x1400a8c14
xor eax, eax
mov r9d, edx
mov rcx, rbx
mov dword [rsp + 0x20], eax
lea edx, [rax + 5]
call fcn.14003c8e0
jmp 0x1400a8c45
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 5
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
movsxd rdx, dword [rbx + 0x90]
test edx, edx
jle 0x1400a8c6b
mov rax, qword [rbx + 0x88]
lea rcx, [rdx + rdx*2]
mov edx, 3
mov word [rax + rcx*8 - 0x16], dx
mov edx, dword [rbx + 0x90]
mov rax, qword [rbx]
lea ecx, [rdx - 1]
test edi, edi
cmovns ecx, edi
cmp byte [rax + 0x61], 0
je 0x1400a8c81
mov rax, rsi
jmp 0x1400a8c93
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
test ebp, ebp
je 0x1400a8caf
movzx eax, byte [r13 + 0x1f]
cmp al, 8
jae 0x1400a8caf
mov dword [r13 + rax*4 + 0xbc], ebp
inc byte [r13 + 0x1f]
mov eax, dword [rsp + 0x6c]
test eax, eax
mov edx, dword [rbx + 0x90]
lea ecx, [rdx - 1]
cmovns ecx, eax
mov rax, qword [rbx]
cmp byte [rax + 0x61], 0
jne 0x1400a8cdc
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rsi, [rax + rcx*8]
mov dword [rsi + 8], edx
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x1400a8cf5
mov rcx, qword [r13]
mov rdx, rax
call fcn.1400550a0
add rsp, 0x128
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret