Function at 0x40e1c9
Capabilities:
Read .ini file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x9c
mov eax, dword [0x41f0c8]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
xor ebx, ebx
cmp eax, ebx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x9c], eax
je 0x40e1f7
cmp word [eax], bx
jne 0x40e1fe
xor eax, eax
jmp 0x40e4ce
push esi
push edi
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x90]
push eax
push ebx
push ebx
push 2
push ebx
push ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x94], ebx
call sub.WINSPOOL.DRV_EnumPrinterDriversW
cmp dword [ebp - 0x90], ebx
je 0x40e42f
push dword [ebp - 0x90]
call fcn.0040d855
mov edi, eax
cmp edi, ebx
je 0x40e42f
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x90]
push eax
push dword [ebp - 0x90]
push edi
push 2
push ebx
push ebx
call sub.WINSPOOL.DRV_EnumPrinterDriversW
cmp eax, 1
jne 0x40e2cb
xor esi, esi
cmp dword [ebp - 0x94], ebx
jbe 0x40e2cb
lea ebx, [edi + 4]
mov eax, dword [ebx]
test eax, eax
je 0x40e299
push dword [ebp - 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x40e2a7
inc esi
add ebx, 0x18
cmp esi, dword [ebp - 0x94]
jb 0x40e282
jmp 0x40e2c9
lea eax, [esi + esi*2]
lea esi, [edi + eax*8]
push dword [esi + 0xc]
call fcn.0040d967
push dword [esi + 0x10]
mov dword [ebp - 0x88], eax
call fcn.0040d967
mov dword [ebp - 0x8c], eax
xor ebx, ebx
push edi
call fcn.0040d74e
cmp dword [ebp - 0x88], ebx
je 0x40e302
push 0x5c
push dword [ebp - 0x88]
call fcn.0040fe3c
cmp eax, ebx
pop ecx
pop ecx
je 0x40e2f1
mov word [eax], bx
jmp 0x40e302
push dword [ebp - 0x88]
call fcn.0040d74e
mov dword [ebp - 0x88], ebx
mov ebx, dword [ebp - 0x8c]
test ebx, ebx
je 0x40e42d
push 0x5c
push ebx
call fcn.0040fe6c
test eax, eax
pop ecx
pop ecx
jne 0x40e384
cmp dword [ebp - 0x88], eax
je 0x40e384
push dword [ebp - 0x88]
call fcn.0040d8df
mov esi, eax
push ebx
inc esi
call fcn.0040d8df
lea esi, [esi + eax + 1]
cmp esi, 2
jbe 0x40e384
lea eax, [esi + esi]
push eax
call fcn.0040d855
mov edi, eax
test edi, edi
je 0x40e384
push ebx
push dword [ebp - 0x88]
push 0x41b504
push esi
push edi
call fcn.00405167
add esp, 0x14
test eax, eax
jne 0x40e37a
push ebx
call fcn.0040d74e
mov dword [ebp - 0x8c], edi
xor edi, edi
test edi, edi
je 0x40e384
push edi
call fcn.0040d74e
cmp dword [ebp - 0x8c], 0
je 0x40e42d
push 0x20
pop ecx
push dword [ebp - 0x8c]
xor eax, eax
push 0x40
lea edi, [ebp - 0x84]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x84]
push eax
push 0x41a888
push 0x41b57c
push 0x41b530
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov esi, eax
test esi, esi
jbe 0x40e42d
cmp dword [ebp - 0x88], 0
je 0x40e41b
push dword [ebp - 0x88]
call fcn.0040d8df
lea esi, [eax + esi + 2]
lea eax, [esi + esi]
push eax
call fcn.0040d855
mov edi, eax
test edi, edi
je 0x40e41b
lea eax, [ebp - 0x84]
push eax
push dword [ebp - 0x88]
push 0x41b504
push esi
push edi
call fcn.00405167
add esp, 0x14
test eax, eax
je 0x40e417
push edi
call fcn.0040d74e
xor edi, edi
test edi, edi
jne 0x40e499
lea eax, [ebp - 0x84]
push eax
call fcn.0040d967
mov edi, eax
test edi, edi
jne 0x40e499
xor ebx, ebx
push 0x41b510
call fcn.0040d967
cmp dword [ebp - 0x88], ebx
mov edi, eax
je 0x40e49b
push dword [ebp - 0x88]
call fcn.0040d8df
mov esi, eax
push edi
inc esi
call fcn.0040d8df
lea esi, [esi + eax + 1]
cmp esi, 2
jbe 0x40e49b
lea eax, [esi + esi]
push eax
call fcn.0040d855
mov ebx, eax
test ebx, ebx
je 0x40e499
push edi
push dword [ebp - 0x88]
push 0x41b504
push esi
push ebx
call fcn.00405167
add esp, 0x14
test eax, eax
jne 0x40e493
push edi
call fcn.0040d74e
mov edi, ebx
jmp 0x40e499
push ebx
call fcn.0040d74e
xor ebx, ebx
cmp dword [ebp - 0x8c], ebx
je 0x40e4ae
push dword [ebp - 0x8c]
call fcn.0040d74e
cmp dword [ebp - 0x88], ebx
je 0x40e4c1
push dword [ebp - 0x88]
call fcn.0040d74e
mov eax, dword [ebp - 0x98]
mov dword [eax + 8], edi
mov eax, edi
pop edi
pop esi
mov ecx, dword [ebp - 4]
pop ebx
call fcn.00410cf1
leave
ret 4