Function at 0x140047090
Capabilities:
Print debug messages

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
sub rsp, 0x70
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov esi, edx
xor ebp, ebp
mov dword [rax - 0x58], ebp
mov word [rax + 0x18], bp
mov qword [rax - 0x30], rbp
mov qword [rax - 0x40], rbp
mov qword [rax - 0x48], rbp
mov qword [rax - 0x50], rbp
lea rax, [rax - 0x40]
mov qword [rsp + 0x20], rax
lea r9, [0x1400cb080]
xor edx, edx
lea r8d, [rbp + 0x17]
lea rcx, [0x1400cb030]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x140047355
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
lea r8, [rsp + 0xa8]
lea edx, [rbp + 0xb]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
cmp dword [rsp + 0xa8], ebp
je 0x1400471fe
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea r9, [0x1400cb090]
xor edx, edx
lea r8d, [rbp + 4]
lea rcx, [0x1400c98f8]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x14004714a
lea rcx, str.Failed_to_create_DAX3_API_instance
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x140047355
mov rdi, qword [rsp + 0x38]
lea rcx, str.B94BA572_658F_40E6_861D_DFB7BB4001A8
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x60], rax
test rax, rax
jne 0x140047174
mov ecx, 0x8007000e
call fcn.140001950
nop
mov dword [rsp + 0x30], 1
mov rax, qword [rdi]
lea r8, [rsp + 0xa0]
mov rdx, rbx
mov rcx, rdi
call qword [rax + 0x38]
test eax, eax
js 0x1400471a4
cmp word [rsp + 0xa0], 0
je 0x1400471a4
xor dil, dil
jmp 0x1400471a7
mov dil, 1
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
test dil, dil
je 0x1400471e0
lea rcx, str.Failed_to_initialize_DAX3_API_instance
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140047355
mov qword [rsp + 0x38], rbp
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140047355
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
movzx edx, si
call qword [rax + 0x48]
neg eax
sbb cx, cx
js 0x140047355
jmp 0x140047302
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
lea r8, [rsp + 0xa8]
mov edx, 0xa
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
cmp dword [rsp + 0xa8], 0
je 0x14004733c
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [0x1400cb010]
xor edx, edx
lea r8d, [rdx + 4]
lea rcx, [0x1400c98e8]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x14004725e
lea rcx, str.Failed_to_create_DAX2_API_instance
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x140047355
mov rdi, qword [rsp + 0x40]
lea rcx, str.B94BA572_658F_40E6_861D_DFB7BB4001A8
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x60], rax
test rax, rax
jne 0x140047288
mov ecx, 0x8007000e
call fcn.140001950
nop
mov dword [rsp + 0x30], 2
mov rax, qword [rdi]
lea r8, [rsp + 0xa0]
mov rdx, rbx
mov rcx, rdi
call qword [rax + 0x38]
test eax, eax
js 0x1400472b8
cmp word [rsp + 0xa0], 0
je 0x1400472b8
xor dil, dil
jmp 0x1400472bb
mov dil, 1
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
test dil, dil
je 0x1400472ed
lea rcx, str.Failed_to_initialize_DAX2_API_instance
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140047355
mov qword [rsp + 0x40], rbp
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140047355
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
movzx edx, si
call qword [rax + 0x48]
neg eax
sbb cx, cx
js 0x140047355
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140047313
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140047324
mov rdx, qword [rcx]
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140047335
mov rdx, qword [rcx]
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov eax, 1
jmp 0x14004738a
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
lea r8, [rsp + 0xa8]
mov edx, 9
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140047366
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140047377
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140047388
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
xor eax, eax
mov rbx, qword [rsp + 0x90]
add rsp, 0x70
pop rdi
pop rsi
pop rbp
ret