Function at 0x42e800
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x587ffb
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x5f01b4]
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.0046b8a8
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x42e852
push 0x80004005
call fcn.004020e0
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 0x42e88a
push ebx
lea ecx, [ebp - 0x3c]
call fcn.00401e80
mov esi, dword [ebp - 0x3c]
push edi
push 0x2710
push esi
push 0x5bda14
push str.PrinterName
push str.Debug
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp dword [esi - 8], ebx
jl 0x42ee32
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 0x42e8c0
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x3c]
call fcn.00401f50
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx - 0xc]
test eax, eax
je 0x42eda8
mov eax, dword [ebp + 0xc]
mov edx, ecx
push edx
push eax
call fcn.0055de44
add esp, 8
test eax, eax
jne 0x42eda8
call fcn.0046b8a8
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x42e912
push 0x80004005
call fcn.004020e0
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 0x42e94a
push ebx
lea ecx, [ebp - 0x40]
call fcn.00401e80
mov esi, dword [ebp - 0x40]
push edi
push 0x2710
push esi
push 0x5bda14
push str.StatusMes
push str.Debug
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp dword [esi - 8], ebx
jl 0x42ee32
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 0x42e980
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x40]
call fcn.00401f50
mov ecx, dword [ebp - 0x40]
cmp dword [ecx - 0xc], 0
je 0x42ed85
call fcn.0046b8a8
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x42e9ba
push 0x80004005
call fcn.004020e0
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 0x42e9f2
push ebx
lea ecx, [ebp - 0x38]
call fcn.00401e80
mov esi, dword [ebp - 0x38]
push edi
push 0x2710
push esi
push 0x5bda14
push str.StatusCode
push str.Debug
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp dword [esi - 8], ebx
jl 0x42ee32
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 0x42ea26
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x38]
call fcn.00401f50
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.0055ea41
add esp, 4
test eax, eax
je 0x42eb40
cmp eax, 0x3e9
je 0x42eb40
cmp eax, 0x9c40
je 0x42eaf9
cmp eax, 0x2713
je 0x42eaf9
cmp eax, 0xea63
je 0x42eaf9
cmp eax, 0x88e2
jb 0x42ea87
cmp eax, 0x88e5
jbe 0x42eaf9
cmp eax, 1
je 0x42eb30
cmp eax, 0xfa02
je 0x42eb30
cmp eax, 0xfa04
je 0x42eb30
cmp eax, 0xfa08
je 0x42eb30
cmp eax, 0xfb00
je 0x42eb30
cmp eax, 0x2716
je 0x42eb25
cmp eax, 0x271a
je 0x42eb25
cmp eax, 0x114f4
je 0x42eb25
cmp eax, 2
je 0x42eb25
cmp eax, 0x11171
je 0x42eb25
cmp eax, 0x11177
je 0x42eb25
cmp eax, 0x111a2
je 0x42eb25
cmp eax, 0xfde7
jbe 0x42eaf2
mov cl, 3
jmp 0x42eb42
cmp eax, 0xf9ff
jbe 0x42eafd
mov cl, 1
jmp 0x42eb42
cmp eax, 0xf22f
jbe 0x42eb08
mov cl, 2
jmp 0x42eb42
cmp eax, 0xea5f
jbe 0x42eb13
mov cl, 3
jmp 0x42eb42
cmp eax, 0x9c3f
jbe 0x42eb1e
mov cl, 3
jmp 0x42eb42
cmp eax, 0x88b7
jbe 0x42eb29
mov cl, 2
jmp 0x42eb42
cmp eax, 0x752f
jbe 0x42eb34
mov cl, 3
jmp 0x42eb42
cmp eax, 0x4e1f
seta cl
inc cl
jmp 0x42eb42
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.00404fe0
call fcn.0046b8a8
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x42eb70
push 0x80004005
call fcn.004020e0
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 0x42eba3
push ebx
lea ecx, [ebp - 0x34]
call fcn.00401e80
mov esi, dword [ebp - 0x34]
push edi
push 0x2710
push esi
push 0x5bda14
push str.StatusCode
push str.Debug
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp dword [esi - 8], ebx
jl 0x42ee32
mov eax, dword [ebp - 0x38]
mov dword [esi - 0xc], ebx
mov byte [esi + 0x2711], 0
test eax, eax
je 0x42ebe9
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42ebe0
sub eax, edx
mov ecx, dword [ebp - 0x38]
push eax
push ecx
lea ecx, [ebp - 0x34]
call fcn.00401f50
push 0x5befec
lea ecx, [ebp - 0x20]
call fcn.00401ca0
push str.Yellow
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 6
call fcn.00401ca0
push 0x5bfdc8
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 7
call fcn.00401ca0
push str.Magenta
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 8
call fcn.00401ca0
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 0x42ec8b
push 0x2711
lea ecx, [ebp - 0x34]
call fcn.00401e80
mov esi, dword [ebp - 0x34]
mov eax, dword [ebp + ebx - 0x20]
push edi
push 0x2710
push esi
push 0x5bda14
push eax
push str.Debug
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp dword [esi - 8], 0x2711
mov edi, eax
jl 0x42ee32
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 0x42ecd0
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x34]
call fcn.00401f50
mov esi, dword [ebp - 0x34]
test edi, edi
je 0x42ed1c
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 0x42ed0c
cmp edx, edi
je 0x42ed0e
inc ecx
add eax, 0x10
cmp ecx, 4
jl 0x42ecf6
jmp 0x42ed1c
mov dword [eax], edi
push esi
call fcn.0055ea41
mov ecx, dword [ebp - 0x44]
add esp, 4
mov dword [ecx], eax
add dword [ebp - 0x44], 0x10
add ebx, 4
cmp ebx, 0x10
jl 0x42ec64
push fcn.00402120
push 4
push 4
lea edx, [ebp - 0x20]
push edx
mov byte [ebp - 4], 5
call fcn.0055f7f1
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 0x42ed62
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 0x42ed85
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 0x42eda8
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 0x42edcb
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 0x42edee
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 0x42ee14
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.0055db96
mov esp, ebp
pop ebp
ret 0xc
push 0x80070057
call fcn.004020e0
int3