Function at 0x42a460
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x581acb
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x5e91b4]
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 eax, dword [ebp + 8]
mov dword [ebp - 0x48], eax
mov dword [ebp - 4], 1
call fcn.004655e9
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x42a4b2
push 0x80004005
call fcn.00402040
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x3c], esi
mov byte [ebp - 4], 2
mov eax, dword [esi - 8]
mov edi, dword [ebp + 0x10]
mov ecx, 1
sub ecx, dword [esi - 4]
mov ebx, 0x2711
sub eax, ebx
or eax, ecx
jge 0x42a4ea
push ebx
lea ecx, [ebp - 0x3c]
call fcn.00401dd0
mov esi, dword [ebp - 0x3c]
push edi
push 0x2710
push esi
push 0x5b7a18
push str.PrinterName
push str.Debug
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp dword [esi - 8], ebx
jl 0x42aa92
mov eax, esi
mov dword [esi - 0xc], ebx
mov byte [esi + 0x2711], 0
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42a520
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x3c]
call fcn.00401ea0
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx - 0xc]
test eax, eax
je 0x42aa08
mov eax, dword [ebp + 0xc]
mov edx, ecx
push edx
push eax
call fcn.00557b8d
add esp, 8
test eax, eax
jne 0x42aa08
call fcn.004655e9
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x42a572
push 0x80004005
call fcn.00402040
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x40], esi
mov byte [ebp - 4], 3
mov eax, dword [esi - 8]
mov edi, dword [ebp + 0x10]
mov ecx, 1
sub ecx, dword [esi - 4]
mov ebx, 0x2711
sub eax, ebx
or eax, ecx
jge 0x42a5aa
push ebx
lea ecx, [ebp - 0x40]
call fcn.00401dd0
mov esi, dword [ebp - 0x40]
push edi
push 0x2710
push esi
push 0x5b7a18
push str.StatusMes
push str.Debug
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp dword [esi - 8], ebx
jl 0x42aa92
mov eax, esi
mov dword [esi - 0xc], ebx
mov byte [esi + 0x2711], 0
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42a5e0
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x40]
call fcn.00401ea0
mov ecx, dword [ebp - 0x40]
cmp dword [ecx - 0xc], 0
je 0x42a9e5
call fcn.004655e9
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x42a61a
push 0x80004005
call fcn.00402040
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x38], esi
mov byte [ebp - 4], 4
mov eax, dword [esi - 8]
mov edi, dword [ebp + 0x10]
mov ecx, 1
sub ecx, dword [esi - 4]
mov ebx, 0x2711
sub eax, ebx
or eax, ecx
jge 0x42a652
push ebx
lea ecx, [ebp - 0x38]
call fcn.00401dd0
mov esi, dword [ebp - 0x38]
push edi
push 0x2710
push esi
push 0x5b7a18
push str.StatusCode
push str.Debug
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp dword [esi - 8], ebx
jl 0x42aa92
mov eax, esi
mov dword [esi - 0xc], ebx
mov byte [esi + 0x2711], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42a686
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x38]
call fcn.00401ea0
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.005587e1
add esp, 4
test eax, eax
je 0x42a7a0
cmp eax, 0x3e9
je 0x42a7a0
cmp eax, 0x9c40
je 0x42a759
cmp eax, 0x2713
je 0x42a759
cmp eax, 0xea63
je 0x42a759
cmp eax, 0x88e2
jb 0x42a6e7
cmp eax, 0x88e5
jbe 0x42a759
cmp eax, 1
je 0x42a790
cmp eax, 0xfa02
je 0x42a790
cmp eax, 0xfa04
je 0x42a790
cmp eax, 0xfa08
je 0x42a790
cmp eax, 0xfb00
je 0x42a790
cmp eax, 0x2716
je 0x42a785
cmp eax, 0x271a
je 0x42a785
cmp eax, 0x114f4
je 0x42a785
cmp eax, 2
je 0x42a785
cmp eax, 0x11171
je 0x42a785
cmp eax, 0x11177
je 0x42a785
cmp eax, 0x111a2
je 0x42a785
cmp eax, 0xfde7
jbe 0x42a752
mov cl, 3
jmp 0x42a7a2
cmp eax, 0xf9ff
jbe 0x42a75d
mov cl, 1
jmp 0x42a7a2
cmp eax, 0xf22f
jbe 0x42a768
mov cl, 2
jmp 0x42a7a2
cmp eax, 0xea5f
jbe 0x42a773
mov cl, 3
jmp 0x42a7a2
cmp eax, 0x9c3f
jbe 0x42a77e
mov cl, 3
jmp 0x42a7a2
cmp eax, 0x88b7
jbe 0x42a789
mov cl, 2
jmp 0x42a7a2
cmp eax, 0x752f
jbe 0x42a794
mov cl, 3
jmp 0x42a7a2
cmp eax, 0x4e1f
seta cl
inc cl
jmp 0x42a7a2
mov cl, 5
mov edx, dword [ebp - 0x48]
mov dword [edx], eax
mov eax, dword [ebp - 0x40]
mov byte [edx + 4], cl
push eax
lea ecx, [edx + 8]
call fcn.00404c40
call fcn.004655e9
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x42a7d0
push 0x80004005
call fcn.00402040
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x34], esi
mov byte [ebp - 4], 5
mov eax, dword [esi - 8]
mov edi, dword [ebp + 0x10]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, ebx
or eax, ecx
jge 0x42a803
push ebx
lea ecx, [ebp - 0x34]
call fcn.00401dd0
mov esi, dword [ebp - 0x34]
push edi
push 0x2710
push esi
push 0x5b7a18
push str.StatusCode
push str.Debug
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp dword [esi - 8], ebx
jl 0x42aa92
mov eax, dword [ebp - 0x38]
mov dword [esi - 0xc], ebx
mov byte [esi + 0x2711], 0
test eax, eax
je 0x42a849
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42a840
sub eax, edx
mov ecx, dword [ebp - 0x38]
push eax
push ecx
lea ecx, [ebp - 0x34]
call fcn.00401ea0
push 0x5b8f74
lea ecx, [ebp - 0x20]
call fcn.00401bf0
push str.Yellow
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 6
call fcn.00401bf0
push 0x5b9980
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 7
call fcn.00401bf0
push str.Magenta
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 8
call fcn.00401bf0
mov edx, dword [ebp - 0x48]
mov byte [ebp - 4], 9
mov esi, dword [ebp - 0x34]
xor ebx, ebx
add edx, 0x14
mov dword [ebp - 0x30], 0xa1
mov dword [ebp - 0x2c], 0xa4
mov dword [ebp - 0x28], 0xa2
mov dword [ebp - 0x24], 0xa3
mov dword [ebp - 0x44], edx
mov eax, dword [esi - 8]
mov edi, dword [ebp + 0x10]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, 0x2711
or eax, ecx
jge 0x42a8eb
push 0x2711
lea ecx, [ebp - 0x34]
call fcn.00401dd0
mov esi, dword [ebp - 0x34]
mov eax, dword [ebp + ebx - 0x20]
push edi
push 0x2710
push esi
push 0x5b7a18
push eax
push str.Debug
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp dword [esi - 8], 0x2711
mov edi, eax
jl 0x42aa92
mov eax, esi
mov dword [esi - 0xc], 0x2711
mov byte [esi + 0x2711], 0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42a930
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x34]
call fcn.00401ea0
mov esi, dword [ebp - 0x34]
test edi, edi
je 0x42a97c
mov eax, dword [ebp - 0x48]
mov edi, dword [ebp + ebx - 0x30]
xor ecx, ecx
add eax, 0x10
mov edx, dword [eax]
cmp edx, 0xffffffff
je 0x42a96c
cmp edx, edi
je 0x42a96e
inc ecx
add eax, 0xc
cmp ecx, 4
jl 0x42a956
jmp 0x42a97c
mov dword [eax], edi
push esi
call fcn.005587e1
mov ecx, dword [ebp - 0x44]
add esp, 4
mov dword [ecx], eax
add dword [ebp - 0x44], 0xc
add ebx, 4
cmp ebx, 0x10
jl 0x42a8c4
push fcn.00402020
push 4
push 4
lea edx, [ebp - 0x20]
push edx
mov byte [ebp - 4], 5
call fcn.00559591
lea eax, [esi - 0x10]
mov byte [ebp - 4], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42a9c2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42a9e5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42aa08
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42aa2b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42aa4e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42aa74
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
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.005578df
mov esp, ebp
pop ebp
ret 0xc
push 0x80070057
call fcn.00402040
int3