Function at 0x1400737c0
Capabilities:
Read .ini file

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
lea rbp, [rsp - 0x11d0]
mov eax, 0x12d0
call fcn.14024c240
sub rsp, rax
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rsp + 0x1300], rbx
mov rax, qword [0x140398250]
xor rax, rsp
mov qword [rbp + 0x11c0], rax
mov rsi, r8
mov r12, rdx
xor r8d, r8d
lea rdx, str.CBaseFuncSub::FS_MakeDefaultPortName
lea rcx, [rsp + 0x38]
call fcn.1400075a0
nop
mov qword [rsp + 0x20], rsi
mov r9, r12
lea r8, str.pszDriverName___s__pszDefaultPortName___s
mov edx, 1
lea rcx, [rsp + 0x38]
call fcn.140007780
call fcn.140102a14
mov r11, rax
xor r13d, r13d
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x14007385b
mov ecx, 0x80004005
call fcn.140005210
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x50], rbx
xor edx, edx
mov r8d, 0x410
lea rcx, [rbp + 0x1a0]
call fcn.14024b970
test rsi, rsi
jne 0x1400738f0
mov dword [0x1403b95bc], 1
lea r8, str._t_t_tThe_address_of_pszDefaultPortName_is_NULL
lea edx, [rsi + 7]
lea rcx, [rsp + 0x38]
call fcn.140007780
mov r9d, 0x80010001
lea r8, str.return___08x
lea edx, [rsi + 2]
lea rcx, [rsp + 0x38]
call fcn.140007780
nop
lea rdx, [rbx - 0x18]
or edi, 0xffffffff
lock xadd dword [rdx + 0x10], edi
dec edi
test edi, edi
jg 0x1400738dc
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
nop
lea rcx, [rsp + 0x38]
call fcn.140007730
mov eax, 0x80010001
jmp 0x140073df1
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0x9c0]
call fcn.14024b970
xor r11d, r11d
mov qword [rsp + 0x68], r11
mov qword [rsp + 0x70], r11
mov qword [rsp + 0x78], r11
mov qword [rbp - 0x80], r11
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov r9, qword [rax]
lea r8, [rbp + 0x9c0]
lea rdx, str.TEMPPATH
mov rcx, rax
call qword [r9 + 0x18]
lea r8, str.InsDrv.ini
mov edx, 0x400
lea rcx, [rbp + 0x9c0]
call fcn.140246470
lea r11, [rbp + 0x9c0]
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x20], reloc.WSOCK32.dll_recv
lea r9, [rsp + 0x68]
lea r8, [0x1402dc4e0]
lea rdx, str.DefaultPort
lea rcx, str.Installer_Info
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
or edi, 0xffffffff
test eax, eax
je 0x140073c29
cmp word [rsp + 0x68], 0
je 0x140073c29
lea rdx, str.MANUAL
lea rcx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x1400739e7
lea r8, str._t_t_tA_control_flag_is_MANUAL.
lea edx, [rdi + 8]
lea rcx, [rsp + 0x38]
call fcn.140007780
test r12, r12
jne 0x140073a2a
lea r8, str._t_t_tThe_address_of_pszDriverName_is_NULL
mov edx, 7
lea rcx, [rsp + 0x38]
call fcn.140007780
mov rcx, qword [0x1403b9758]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov r9, qword [rax]
mov r8d, 0x208
lea rdx, [rbp + 0x1a0]
mov rcx, rax
call qword [r9 + 0x1c0]
mov edx, 0x208
mov rcx, rsi
test eax, eax
je 0x140073c35
lea r8, [rbp + 0x1a0]
jmp 0x140073c3c
mov rdx, r12
lea rcx, [rsp + 0x58]
call fcn.140005900
nop
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0x9c0]
call fcn.14024b970
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x70]
call fcn.14024b970
xor edx, edx
mov r8d, 0x410
lea rcx, [rbp + 0x5b0]
call fcn.14024b970
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov r9, qword [rax]
lea r8, [rbp + 0x9c0]
lea rdx, str.TEMPPATH
mov rcx, rax
call qword [r9 + 0x18]
lea r8, str.Envini.INI
mov edx, 0x400
lea rcx, [rbp + 0x9c0]
call fcn.140246470
mov rcx, qword [0x1403b9758]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov r9, qword [rax]
mov r8, qword [rsp + 0x58]
lea rdx, [rbp - 0x70]
mov rcx, rax
call qword [r9 + 0x50]
lea r9, [rbp - 0x70]
lea r8, str._t_t_tSection_Name_:___s_.
mov edx, 7
lea rcx, [rsp + 0x38]
call fcn.140007780
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x80]
mov r8, qword [rax]
mov rcx, rax
call qword [r8 + 0x48]
lea rcx, [rbp + 0x9c0]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0x208
lea r9, [rbp + 0x5b0]
mov r8, rax
lea rdx, str.DefaultPort
lea rcx, [rbp - 0x70]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x140073b7d
cmp word [rbp + 0x5b0], 0
je 0x140073b7d
lea r8, [rbp + 0x5b0]
mov edx, 0x208
mov rcx, rsi
call fcn.140246628
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140073b73
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x50]
jmp 0x140073c41
lea r8, str._t_t_tThere_is_no_definition_about_a_default_port_setup.
mov edx, 7
lea rcx, [rsp + 0x38]
call fcn.140007780
mov ecx, 0xa6
call fcn.1401027e8
test rax, rax
je 0x140073bba
mov r8d, 0xa6
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.140005b00
mov rbx, qword [rsp + 0x50]
mov r8, rbx
mov edx, 0x208
mov rcx, rsi
call fcn.140246628
xor r9d, r9d
lea r8, str.return___08x
lea edx, [r9 + 2]
lea rcx, [rsp + 0x38]
call fcn.140007780
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
or edi, 0xffffffff
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140073c06
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
dec edi
test edi, edi
jg 0x140073c24
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x140073de5
lea r8, str._t_t_tThere_is_no_definition_about_a_default_port_setup.
jmp 0x1400739d8
lea r8, str.LPT1:
call fcn.140246628
mov r9, rsi
lea r8, str._t_t_tThe_acquired_default_port_name_is___s_.
mov edx, 7
lea rcx, [rsp + 0x38]
call fcn.140007780
mov dword [rsp + 0x30], r13d
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 2]
xor ecx, ecx
call qword [sym.imp.WINSPOOL.DRV_EnumPortsW]
mov edx, dword [rsp + 0x48]
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov r12, rax
test rax, rax
je 0x140073d63
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x48]
mov r8, r12
mov edx, 2
xor ecx, ecx
call qword [sym.imp.WINSPOOL.DRV_EnumPortsW]
test eax, eax
je 0x140073d55
mov edx, dword [rsp + 0x30]
lea r9, [0x140022040]
mov r8d, 0x20
mov rcx, r12
call fcn.140249170
mov r11d, r13d
mov r10d, dword [rsp + 0x30]
test r10d, r10d
je 0x140073d55
mov r9, r12
nop word [rax + rax]
mov rax, rsi
mov r8, qword [r9]
sub r8, rsi
nop dword [rax]
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x140073d24
add rax, 2
test ecx, ecx
jne 0x140073d10
test edx, edx
je 0x140073d36
inc r11d
add r9, 0x20
cmp r11d, r10d
jb 0x140073d00
jmp 0x140073d55
mov r9, rsi
lea r8, str._t_t_tPort_name___s__exists.
mov edx, 7
lea rcx, [rsp + 0x38]
call fcn.140007780
mov r13d, 1
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GlobalFree]
test r13d, r13d
jne 0x140073db3
mov r9, rsi
lea r8, str._t_t_tPort_name___s__was_not_found.
mov edx, 7
lea rcx, [rsp + 0x38]
call fcn.140007780
mov ecx, 0xa6
call fcn.1401027e8
test rax, rax
je 0x140073da3
mov r8d, 0xa6
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.140005b00
mov rbx, qword [rsp + 0x50]
mov r8, rbx
mov edx, 0x208
mov rcx, rsi
call fcn.140246628
xor r9d, r9d
lea r8, str.return___08x
lea edx, [r9 + 2]
lea rcx, [rsp + 0x38]
call fcn.140007780
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], edi
dec edi
test edi, edi
jg 0x140073de5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x38]
call fcn.140007730
xor eax, eax
mov rcx, qword [rbp + 0x11c0]
xor rcx, rsp
call fcn.140245660
mov rbx, qword [rsp + 0x1300]
add rsp, 0x12d0
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret