Function at 0x14003039c
Capabilities:
Link many functions at runtime

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x20b8]
mov eax, 0x2190
call fcn.14005ba50
sub rsp, rax
mov rax, qword [0x1400d9180]
xor rax, rsp
mov qword [rbp + 0x2080], rax
lea rcx, str.WinFax.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
xor r13d, r13d
mov rsi, rax
mov qword [rsp + 0x60], rax
test rax, rax
jne 0x140030407
lea rcx, str._ConfigureFaxManager__No_WinFax_Library
call fcn.1400300fc
jmp 0x140030821
lea rdx, str.FaxConnectFaxServerW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.FaxEnumPortsW
mov rcx, rsi
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.FaxClose
mov rcx, rsi
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.FaxOpenPort
mov rcx, rsi
mov r14, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.FaxSetPortW
mov rcx, rsi
mov r15, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.FaxFreeBuffer
mov rcx, rsi
mov r12, rax
mov qword [rsp + 0x50], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x58], rax
test rdi, rdi
je 0x14003080c
test rbx, rbx
je 0x14003080c
test r14, r14
je 0x14003080c
test r15, r15
je 0x14003080c
test r12, r12
je 0x14003080c
test rax, rax
je 0x14003080c
lea rdx, [rsp + 0x40]
xor ecx, ecx
call rdi
test eax, eax
jne 0x1400304dc
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str._ConfigureFaxManager__Failed_to_connect_to_local_FAX_server_err:_d
mov edx, eax
call fcn.1400300fc
jmp 0x140030818
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x30]
call rbx
test eax, eax
jne 0x140030512
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str._ConfigureFaxManager__FaxEnumPorts_err:_d
mov edx, eax
call fcn.1400300fc
mov rcx, qword [rsp + 0x40]
call r14
jmp 0x140030818
mov rax, qword [str.BT2K_INS.dll]
lea rcx, [rbp + 0x1842]
xor edx, edx
mov qword [rbp + 0x1820], rax
mov rax, qword [0x14009df60]
mov r8d, 0x208
mov qword [rbp + 0x1828], rax
mov rax, qword [0x14009df68]
mov word [rbp + 0x1840], r13w
mov qword [rbp + 0x1830], rax
movzx eax, word [0x14009df70]
mov word [rbp + 0x1838], ax
call fcn.14005bab0
lea rcx, [rsp + 0x70]
call fcn.140026df4
lea rcx, [rsp + 0x70]
call fcn.140022d94
mov edx, 0x104
lea rcx, [rbp + 0x1840]
test eax, eax
jne 0x1400305ab
lea rax, [rbp + 0x1820]
lea r9, [rbp + 0x390]
lea r8, [0x14009a050]
mov qword [rsp + 0x20], rax
call fcn.14005ce1c
jmp 0x1400305be
lea r9, [rbp + 0x1820]
lea r8, [0x14009df50]
call fcn.14005ce1c
lea rcx, [rbp + 0x1840]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rbx, rax
test rax, rax
jne 0x1400305df
lea rcx, str.Bluetooth_Service::BT2K_INS_does_not_exist_n
jmp 0x1400303fd
lea rdx, str.BT2K_GetFriendlyNameW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test rax, rax
jne 0x1400305ff
mov rcx, rbx
jmp 0x14003081b
mov word [rbp + 0x1e70], r13w
mov word [rbp + 0x1a50], r13w
mov word [rbp + 0x1c60], r13w
lea r13, str.Modem
lea r8, [rbp + 0x1e70]
lea rdx, [0x1400a0700]
mov rcx, r13
call rdi
lea r8, [rbp + 0x1c60]
lea rdx, [0x1400a0690]
mov rcx, r13
call rdi
lea r8, [rbp + 0x1a50]
lea rdx, [0x1400a0630]
mov rcx, r13
call rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor r13d, r13d
cmp dword [rsp + 0x38], r13d
jbe 0x140030724
xor ebx, ebx
mov rcx, qword [rsp + 0x30]
lea rdx, [rbp + 0x1c60]
mov rcx, qword [rbx + rcx + 0x18]
call fcn.14005d144
test eax, eax
je 0x140030748
mov rcx, qword [rsp + 0x30]
lea rdx, [rbp + 0x1a50]
mov rcx, qword [rbx + rcx + 0x18]
call fcn.14005d144
test eax, eax
je 0x140030748
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rbx + rcx + 0x18]
lea rdx, [rbp + 0x1e70]
call fcn.14005d144
test eax, eax
jne 0x14003070d
mov rax, qword [rsp + 0x30]
test byte [rbx + rax + 0xc], 1
je 0x14003070d
mov edx, dword [rbx + rax + 4]
mov rcx, qword [rsp + 0x40]
lea r9, [rsp + 0x48]
mov r8d, 2
call r15
test eax, eax
je 0x14003070d
mov rax, qword [rsp + 0x30]
and dword [rbx + rax + 0xc], 0xfffffffe
mov rcx, qword [rsp + 0x48]
lea rdx, [r13 + r13*2]
shl rdx, 4
add rdx, qword [rsp + 0x30]
call r12
inc r13d
add rbx, 0x30
cmp r13d, dword [rsp + 0x38]
jb 0x140030670
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x30]
call qword [rsp + 0x58]
mov rcx, qword [rsp + 0x40]
call r14
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 1
jmp 0x140030823
mov rcx, qword [rsp + 0x30]
test byte [rbx + rcx + 0xc], 3
je 0x1400306b1
test byte [rbx + rcx + 0xc], 2
je 0x1400307de
xor r12d, r12d
cmp dword [rsp + 0x38], r12d
jbe 0x1400307d9
mov rsi, qword [rsp + 0x50]
xor edi, edi
cmp r12d, r13d
jne 0x14003077f
mov eax, dword [rsp + 0x38]
mov dword [rdi + rcx + 0x14], eax
jmp 0x1400307c1
mov eax, dword [rbx + rcx + 0x14]
cmp dword [rdi + rcx + 0x14], eax
jbe 0x1400307c6
mov edx, dword [rdi + rcx + 4]
mov rcx, qword [rsp + 0x40]
lea r9, [rsp + 0x48]
mov r8d, 2
call r15
test eax, eax
je 0x1400307c1
mov rax, qword [rsp + 0x30]
lea rdx, [r12 + r12*2]
dec dword [rdi + rax + 0x14]
mov rcx, qword [rsp + 0x48]
shl rdx, 4
add rdx, qword [rsp + 0x30]
call rsi
mov rcx, qword [rsp + 0x30]
inc r12d
add rdi, 0x30
cmp r12d, dword [rsp + 0x38]
jb 0x140030770
mov r12, rsi
jmp 0x1400307de
mov r12, qword [rsp + 0x50]
mov edx, dword [rbx + rcx + 4]
mov rcx, qword [rsp + 0x40]
lea r9, [rsp + 0x48]
mov r8d, 2
call r15
test eax, eax
je 0x14003070d
mov rax, qword [rsp + 0x30]
and dword [rbx + rax + 0xc], 0xfffffffc
jmp 0x1400306f7
lea rcx, str._ConfigureFaxManager__Bad_WinFax_Library
call fcn.1400300fc
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
mov rcx, qword [rbp + 0x2080]
xor rcx, rsp
call fcn.14005ba20
lea r11, [rsp + 0x2190]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret