Function at 0x4e3850
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a9654
mov eax, dword fs:[0]
push eax
sub esp, 0x2b0
mov eax, dword [0x608554]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
push ecx
push str.CBaseInfoEnvIni::LoadCmnEnvIni
lea ecx, [ebp - 0x2b0]
call fcn.0040a480
mov dword [ebp - 4], 0
mov ecx, dword [0x608f30]
cmp ecx, 0x608f30
je 0x4e38d8
test byte [ecx + 0x1c], 1
je 0x4e38d8
cmp dword [0x608f68], 8
mov eax, 0x608f54
mov edx, 0x5d9c30
cmovae eax, dword [0x608f54]
push eax
push dword [ecx + 0x14]
push dword [ecx + 0x10]
mov ecx, 0xe
call fcn.00401840
add esp, 0xc
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.00571c00
mov ecx, dword [0x6184f4]
lea eax, [ebp - 0x218]
add esp, 0xc
mov ecx, dword [ecx + 4]
push str.CommonIniData
push eax
call fcn.005077d0
call fcn.0052ee40
push ecx
lea esi, [ebx + 0x1a78]
push esi
call fcn.0052ef30
push str.Envini.INI
push 0x104
push esi
call fcn.00574a48
add esp, 0xc
mov ecx, dword [0x608f30]
cmp ecx, 0x608f30
je 0x4e396e
test byte [ecx + 0x1c], 4
je 0x4e396e
cmp dword [0x608f68], 8
mov eax, 0x608f54
push esi
cmovae eax, dword [0x608f54]
mov edx, 0x5d9c30
push eax
push dword [ecx + 0x14]
push dword [ecx + 0x10]
mov ecx, 0xf
call fcn.00405920
add esp, 0x10
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebx + 4]
push esi
push 0x104
push eax
push 0x5c6930
push str.Data_Type
lea eax, [ebp - 0x218]
push eax
call edi
push esi
push 0x104
lea eax, [ebx + 0x20c]
push eax
push 0x5c6930
push str.PrintProcessor
lea eax, [ebp - 0x218]
push eax
call edi
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea eax, [ebp - 0x218]
push 0
push str.Priority
push eax
call esi
mov dword [ebx + 0x414], eax
lea eax, [ebx + 0x1a78]
push eax
push 0
push str.TransmissionRetryTimeout
lea eax, [ebp - 0x218]
push eax
call esi
mov dword [ebx + 0x418], eax
lea eax, [ebx + 0x1a78]
push eax
push 0
push str.DeviceNotSelectedTimeout
lea eax, [ebp - 0x218]
push eax
call esi
lea esi, [ebx + 0x1a78]
mov dword [ebx + 0x41c], eax
push esi
push 0x208
lea eax, [ebx + 0x420]
push eax
push 0x5c6930
push str.DefaultPort
lea eax, [ebp - 0x218]
push eax
call edi
push esi
push 0x208
lea eax, [ebx + 0x830]
push eax
push 0x5c6930
push str.Printer_Name
lea eax, [ebp - 0x218]
push eax
call edi
push esi
push 0x208
lea eax, [ebx + 0x1050]
push eax
push 0x5c6930
push str.Port_Name
lea eax, [ebp - 0x218]
push eax
call edi
push esi
push 0x208
lea eax, [ebx + 0x1460]
push eax
push 0x5c6930
push str.Driver_Name
lea eax, [ebp - 0x218]
push eax
call edi
push esi
push 0x208
lea eax, [ebx + 0xc40]
push eax
push 0x5c6930
push str.Share_Name
lea eax, [ebp - 0x218]
push eax
call edi
push esi
push 0x104
lea eax, [ebx + 0x1870]
push eax
push 0x5c6930
push str.Manufacturer
lea eax, [ebp - 0x218]
push eax
call edi
push 0x5d9e1c
lea eax, [ebx + 0x1db8]
mov dword [ebx + 0x1d04], 1
push 0x21
push eax
mov dword [ebx + 0x1db4], 0
call fcn.005746e6
push str.public
lea eax, [ebx + 0x1d72]
mov dword [ebx + 0x2038], 0x238c
push 0x21
push eax
call fcn.005746e6
add esp, 0x18
mov dword [ebx + 0x203c], 1
mov dword [ebx + 0x2040], 1
mov dword [ebp - 0x2b8], 0
call fcn.00550b4e
mov ecx, eax
test ecx, ecx
je 0x4e4108
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x2b4], eax
mov eax, 0x5c6930
mov byte [ebp - 4], 1
shr eax, 0x10
lea ecx, [ebp - 0x2b4]
mov dword [ebp - 0x2bc], eax
test eax, eax
jne 0x4e3b7c
mov eax, 0x5c6930
movzx edi, ax
push edi
call fcn.00403020
jmp 0x4e3b90
push 0
push 0x5c6930
call fcn.00403bb0
mov eax, 0x5c6930
movzx edi, ax
lea eax, [ebx + 0x1c80]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x2b8]
mov ecx, ebx
push eax
push str.TCPIPPortMIBDefaultSetting
lea eax, [ebp - 0x2b4]
push eax
call fcn.004e4bd0
mov byte [ebp - 4], 0
or eax, 0xffffffff
mov edx, dword [ebp - 0x2b4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4e3bd7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00550b4e
mov ecx, eax
test ecx, ecx
je 0x4e4112
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x2b4], eax
cmp dword [ebp - 0x2bc], 0
lea ecx, [ebp - 0x2b4]
mov byte [ebp - 4], 3
jne 0x4e3c0f
push edi
call fcn.00403020
jmp 0x4e3c1b
push 0
push 0x5c6930
call fcn.00403bb0
lea eax, [ebx + 0x1c80]
mov byte [ebp - 4], 4
push eax
lea eax, [ebx + 0x2044]
mov ecx, ebx
push eax
push str.TCPIPPortMIBOverwriteSetting
lea eax, [ebp - 0x2b4]
push eax
call fcn.004e4bd0
mov byte [ebp - 4], 0
or eax, 0xffffffff
mov edx, dword [ebp - 0x2b4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4e3c62
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 2
xor eax, eax
mov dword [ebp - 0x250], 0
push 0x5ca984
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x24c], 7
mov word [ebp - 0x260], ax
call fcn.004035d0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x248]
push 0xf
xor eax, eax
mov dword [ebp - 0x238], 0
push str.FilterProtocols
mov dword [ebp - 0x234], 7
mov word [ebp - 0x248], ax
call fcn.004035d0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x230]
push 0x1b
xor eax, eax
mov dword [ebp - 0x220], 0
push str.TCPIPPortMIBProtocolSetting
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
call fcn.004035d0
mov ecx, esi
mov byte [ebp - 4], 7
xor eax, eax
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x264], 7
mov word [ebp - 0x278], ax
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4e3d20
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x278]
call fcn.004035d0
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x248]
push eax
lea edx, [ebp - 0x230]
lea ecx, [ebp - 0x278]
call fcn.00535d80
mov byte [ebp - 4], 7
add esp, 8
mov edx, dword [ebp - 0x264]
mov dword [ebx + 0x2048], eax
cmp edx, 8
jb 0x4e3dac
mov ecx, dword [ebp - 0x278]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4e3da2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4e411c
push edx
push ecx
call fcn.0056deb6
add esp, 8
xor eax, eax
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x21c]
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x264], 7
mov word [ebp - 0x278], ax
cmp edx, 8
jb 0x4e3e0d
mov ecx, dword [ebp - 0x230]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4e3e03
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4e4121
push edx
push ecx
call fcn.0056deb6
add esp, 8
xor eax, eax
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x234]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
cmp edx, 8
jb 0x4e3e6e
mov ecx, dword [ebp - 0x248]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4e3e64
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4e4126
push edx
push ecx
call fcn.0056deb6
add esp, 8
xor eax, eax
mov dword [ebp - 0x238], 0
mov byte [ebp - 4], al
mov edx, dword [ebp - 0x24c]
mov dword [ebp - 0x234], 7
mov word [ebp - 0x248], ax
cmp edx, 8
jb 0x4e3ece
mov ecx, dword [ebp - 0x260]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4e3ec4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4e412b
push edx
push ecx
call fcn.0056deb6
add esp, 8
push 0x11
xor eax, eax
mov dword [ebp - 0x250], 0
push str.AcceptedProtocols
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x24c], 7
mov word [ebp - 0x260], ax
call fcn.004035d0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x230]
push 0x1b
xor eax, eax
mov dword [ebp - 0x220], 0
push str.TCPIPPortMIBProtocolSetting
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
call fcn.004035d0
mov ecx, esi
mov byte [ebp - 4], 0xa
xor eax, eax
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 7
mov word [ebp - 0x248], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4e3f56
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x248]
call fcn.004035d0
lea eax, [ebx + 0x204c]
mov byte [ebp - 4], 0xb
push eax
push ecx
lea eax, [ebp - 0x260]
push eax
lea edx, [ebp - 0x230]
lea ecx, [ebp - 0x248]
call fcn.00535f20
mov edx, dword [ebp - 0x234]
add esp, 0xc
cmp edx, 8
jb 0x4e3fd9
mov ecx, dword [ebp - 0x248]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4e3fcf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4e4130
push edx
push ecx
call fcn.0056deb6
add esp, 8
mov edx, dword [ebp - 0x21c]
xor eax, eax
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 7
mov word [ebp - 0x248], ax
cmp edx, 8
jb 0x4e4036
mov ecx, dword [ebp - 0x230]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4e402c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4e4135
push edx
push ecx
call fcn.0056deb6
add esp, 8
mov edx, dword [ebp - 0x24c]
xor eax, eax
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
cmp edx, 8
jb 0x4e4093
mov ecx, dword [ebp - 0x260]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4e4089
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4e413a
push edx
push ecx
call fcn.0056deb6
add esp, 8
mov byte [ebp - 0x2ac], 1
mov ecx, dword [0x608f30]
cmp ecx, 0x608f30
je 0x4e40dc
test byte [ecx + 0x1c], 1
je 0x4e40dc
cmp dword [0x608f68], 8
mov eax, 0x608f54
push 1
cmovae eax, dword [0x608f54]
mov edx, 0x5d9c30
push eax
push dword [ecx + 0x14]
push dword [ecx + 0x10]
mov ecx, 0x10
call fcn.004018a0
add esp, 0x10
lea ecx, [ebp - 0x2b0]
call fcn.0040a570
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0056d977
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.004013a0
push 0x80004005
call fcn.004013a0
call fcn.00574908
call fcn.00574908
call fcn.00574908
call fcn.00574908
call fcn.00574908
call fcn.00574908
call fcn.00574908
int3