Function at 0x14012d800
Capabilities:
Read .ini file

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2a0]
sub rsp, 0x3a0
mov rax, qword [0x1402a76c0]
xor rax, rsp
mov qword [rbp + 0x290], rax
mov rsi, rcx
lea rdx, str.CBaseInfoEnvIni::LoadCmnEnvIni
lea rcx, [rbp + 0x30]
call fcn.14001abe0
nop
lea rbx, [0x1402a8360]
lea r14, [0x1402bbdb0]
mov rcx, qword [0x1402a8360]
cmp rcx, rbx
je 0x14012d894
test byte [rcx + 0x1c], 1
je 0x14012d894
mov r9, r14
cmp qword [0x1402bbdc8], 8
cmovae r9, qword [0x1402bbdb0]
mov edx, recv
lea r8, [0x140261e10]
mov rcx, qword [rcx + 0x10]
call fcn.140001ad0
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x80]
call fcn.1401e7e40
mov rcx, qword [0x1402bbf58]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call qword [case.0x1400136d6.0]
mov r9, rax
mov rcx, qword [rax]
mov rax, qword [rcx + 0x48]
lea r8, str.CommonIniData
lea rdx, [rbp + 0x80]
mov rcx, r9
call qword [case.0x1400136d6.0]
call fcn.14018d2c0
lea rdi, [rsi + 0x1a7c]
mov rdx, rdi
call fcn.14018d3d0
lea r8, str.Envini.INI
mov edx, 0x104
mov rcx, rdi
call fcn.1401ec614
mov rcx, qword [0x1402a8360]
cmp rcx, rbx
je 0x14012d944
test byte [rcx + 0x1c], 4
je 0x14012d944
mov r9, r14
cmp qword [0x1402bbdc8], 8
cmovae r9, qword [0x1402bbdb0]
mov edx, send
mov qword [rsp + 0x20], rdi
lea r8, [0x140261e10]
mov rcx, qword [rcx + 0x10]
call fcn.140006c90
lea r9, [rsi + 8]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0x104
lea r13, [0x140251dfc]
mov r8, r13
lea rdx, str.Data_Type
lea rcx, [rbp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea r9, [rsi + 0x210]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0x104
mov r8, r13
lea rdx, str.PrintProcessor
lea rcx, [rbp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov r9, rdi
xor r8d, r8d
lea rdx, str.Priority
lea rcx, [rbp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsi + 0x418], eax
mov r9, rdi
xor r8d, r8d
lea rdx, str.TransmissionRetryTimeout
lea rcx, [rbp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsi + 0x41c], eax
mov r9, rdi
xor r8d, r8d
lea rdx, str.DeviceNotSelectedTimeout
lea rcx, [rbp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsi + 0x420], eax
lea r9, [rsi + 0x424]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0x208
mov r8, r13
lea rdx, str.DefaultPort
lea rcx, [rbp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea r9, [rsi + 0x834]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0x208
mov r8, r13
lea rdx, str.Printer_Name
lea rcx, [rbp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea r9, [rsi + 0x1054]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0x208
mov r8, r13
lea rdx, str.Port_Name
lea rcx, [rbp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea r9, [rsi + 0x1464]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0x208
mov r8, r13
lea rdx, str.Driver_Name
lea rcx, [rbp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea r9, [rsi + 0xc44]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0x208
mov r8, r13
lea rdx, str.Share_Name
lea rcx, [rbp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea r9, [rsi + 0x1874]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0x104
mov r8, r13
lea rdx, str.Manufacturer
lea rcx, [rbp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [rsi + 0x1d08], 1
xor ebx, ebx
mov dword [rsi + 0x1db8], ebx
lea rcx, [rsi + 0x1dbc]
lea r8, [0x140261a04]
lea edx, [rbx + 0x21]
call fcn.1401ebfa8
mov dword [rsi + 0x203c], 0x238c
lea rcx, [rsi + 0x1d76]
lea r8, str.public
lea edx, [rbx + 0x21]
call fcn.1401ebfa8
mov dword [rsi + 0x2040], 1
mov dword [rsi + 0x2044], 1
mov dword [rsp + 0x40], ebx
call fcn.1401bb0c4
mov rcx, rax
test rax, rax
je 0x14012e157
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400136d6.0]
add rax, 0x18
mov qword [rsp + 0x30], rax
mov rbx, 0xffffffffffffffff
cmp r13, 0x10000
jae 0x14012dbab
movzx edx, r13w
lea rcx, [rsp + 0x30]
call fcn.1400041d0
movzx r15d, r13w
jmp 0x14012dbcf
mov rax, rbx
nop
inc rax
cmp word [r13 + rax*2], 0
jne 0x14012dbb0
mov r8d, eax
mov rdx, r13
lea rcx, [rsp + 0x30]
call fcn.140004e60
mov r15, r13
lea r12, [rsi + 0x1c84]
mov rax, qword [rsi]
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x40]
lea r8, str.TCPIPPortMIBDefaultSetting
lea rdx, [rsp + 0x30]
mov rcx, rsi
mov rax, qword [rax + 0x10]
call qword [case.0x1400136d6.0]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14012dc25
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
call fcn.1401bb0c4
mov rcx, rax
test rax, rax
je 0x14012e162
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400136d6.0]
add rax, 0x18
mov qword [rsp + 0x38], rax
cmp r13, 0x10000
jae 0x14012dc65
movzx edx, r15w
lea rcx, [rsp + 0x38]
call fcn.1400041d0
jmp 0x14012dc8d
mov rax, rbx
nop dword [rax + rax]
inc rax
cmp word [r13 + rax*2], 0
jne 0x14012dc70
mov r8d, eax
mov rdx, r13
lea rcx, [rsp + 0x38]
call fcn.140004e60
nop
mov rax, qword [rsi]
lea r9, [rsi + 0x2048]
mov qword [rsp + 0x20], r12
lea r8, [0x140256ca0]
lea rdx, [rsp + 0x38]
mov rcx, rsi
mov rax, qword [rax + 0x10]
call qword [case.0x1400136d6.0]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14012dcde
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 8], xmm1
mov r8d, 2
lea rdx, [0x140255230]
lea rcx, [rbp - 0x18]
call fcn.140005520
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x68], xmm1
mov r8d, send
lea rdx, str.FilterProtocols
lea rcx, [rbp - 0x78]
call fcn.140005520
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
mov r8d, 0x1b
lea rdx, str.TCPIPPortMIBProtocolSetting
lea rcx, [rsp + 0x68]
call fcn.140005520
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x58], xmm1
mov r8, rbx
nop word [rax + rax]
inc r8
cmp word [rdi + r8*2], 0
jne 0x14012dd70
mov rdx, rdi
lea rcx, [rsp + 0x48]
call fcn.140005520
nop
lea r9, [rbp - 0x18]
lea r8, [rbp - 0x78]
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x48]
call fcn.140195b10
mov dword [rsi + 0x204c], eax
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x14012dde8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14012dde3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14012e16d
call fcn.1400079c0
movdqa xmm0, xmmword [0x14026f3f0]
movdqu xmmword [rsp + 0x58], xmm0
xor r15d, r15d
mov word [rsp + 0x48], r15w
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x14012de40
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14012de3b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14012e173
call fcn.1400079c0
movdqa xmm0, xmmword [0x14026f3f0]
movdqu xmmword [rsp + 0x78], xmm0
mov word [rsp + 0x68], r15w
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x14012de94
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14012de8f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14012e179
call fcn.1400079c0
movdqa xmm0, xmmword [0x14026f3f0]
movdqu xmmword [rbp - 0x68], xmm0
mov word [rbp - 0x78], r15w
mov rdx, qword [rbp]
cmp rdx, 8
jb 0x14012dee6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14012dee1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14012e17f
call fcn.1400079c0
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x18], xmm1
mov r8d, reloc.COMCTL32.dll_InitCommonControls
lea rdx, str.AcceptedProtocols
lea rcx, [rbp + 8]
call fcn.140005520
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x28], xmm1
mov r8d, 0x1b
lea rdx, str.TCPIPPortMIBProtocolSetting
lea rcx, [rbp - 0x38]
call fcn.140005520
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x48], xmm1
inc rbx
cmp word [rdi + rbx*2], 0
jne 0x14012df41
mov r8, rbx
mov rdx, rdi
lea rcx, [rbp - 0x58]
call fcn.140005520
nop
lea rax, [rsi + 0x2050]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 8]
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x58]
call fcn.140195dc0
nop
mov rdx, qword [rbp - 0x40]
cmp rdx, 8
jb 0x14012dfb9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14012dfb4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14012e185
call fcn.1400079c0
movdqa xmm0, xmmword [0x14026f3f0]
movdqu xmmword [rbp - 0x48], xmm0
mov word [rbp - 0x58], r15w
mov rdx, qword [rbp - 0x20]
cmp rdx, 8
jb 0x14012e00b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14012e006
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14012e18b
call fcn.1400079c0
movdqa xmm0, xmmword [0x14026f3f0]
movdqu xmmword [rbp - 0x28], xmm0
mov word [rbp - 0x38], r15w
mov rdx, qword [rbp + 0x20]
cmp rdx, 8
jb 0x14012e05d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14012e058
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14012e151
call fcn.1400079c0
mov cl, 1
mov byte [rbp + 0x38], cl
mov rax, qword [0x1402a8360]
lea rbx, [0x1402a8360]
cmp rax, rbx
je 0x14012e0b5
test byte [rax + 0x1c], cl
je 0x14012e0b5
mov r9, r14
cmp qword [0x1402bbdc8], 8
cmovae r9, qword [0x1402bbdb0]
mov edx, reloc.WSOCK32.dll_recv
mov dword [rsp + 0x20], 1
lea r8, [0x140261e10]
mov rcx, qword [rax + 0x10]
call fcn.140001b40
movzx ecx, byte [rbp + 0x38]
mov rax, qword [0x1402a8360]
lea rdx, vtable.WppTrace.0
mov qword [rbp + 0x30], rdx
test cl, cl
jne 0x14012e10a
cmp rax, rbx
je 0x14012e10a
test byte [rax + 0x1c], 1
je 0x14012e10a
lea rcx, [rbp + 0x40]
cmp qword [rbp + 0x58], 8
cmovae rcx, qword [rbp + 0x40]
cmp qword [0x1402bbdc8], 8
cmovae r14, qword [0x1402bbdb0]
mov edx, 0xa
mov qword [rsp + 0x20], rcx
mov r9, r14
lea r8, [0x140252818]
mov rcx, qword [rax + 0x10]
call fcn.140006c90
lea rcx, [rbp + 0x60]
call fcn.1400048a0
lea rcx, [rbp + 0x40]
call fcn.1400048a0
mov eax, 1
mov rcx, qword [rbp + 0x290]
xor rcx, rsp
call fcn.1401e2900
lea r11, [rsp + 0x3a0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1401ec41c
nop
mov ecx, 0x80004005
call fcn.140001470
int3
mov ecx, 0x80004005
call fcn.140001470
nop
call fcn.1401ec41c
nop
call fcn.1401ec41c
nop
call fcn.1401ec41c
nop
call fcn.1401ec41c
nop
call fcn.1401ec41c
nop
call fcn.1401ec41c
int3