Function at 0x1013cf9d
Capabilities:
Read .ini file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x7f0
mov eax, dword [0x101d5abc]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, edx
mov dword [ebp - 0x7e0], ecx
push eax
mov dword [ebp - 0x7ec], eax
lea eax, [ebp - 0x7d4]
push 0x3e8
push eax
push 0x10030498
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
test eax, eax
jne 0x1013cfe2
inc eax
jmp 0x1013d247
cmp eax, 0x3e6
jne 0x1013cff3
mov eax, 0x800700df
jmp 0x1013d247
push ebx
push esi
push edi
xor edi, edi
lea edx, [ebp - 0x7d4]
mov ebx, edi
mov dword [ebp - 0x7f0], edi
cmp word [ebp - 0x7d4], bx
je 0x1013d23f
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x1013d018
sub ecx, esi
sar ecx, 1
lea edx, [edx + ecx*2]
add edx, 2
inc ebx
cmp word [edx], di
jne 0x1013d013
test ebx, ebx
je 0x1013d23f
xor ecx, ecx
mov eax, ebx
mov edx, 0x20c
mul edx
push 0x1003f8e3
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.10188c5c
mov esi, eax
mov dword [ebp - 0x7e8], esi
pop ecx
pop ecx
test esi, esi
jne 0x1013d070
mov eax, 0x8007000e
jmp 0x1013d244
xor ecx, ecx
lea edx, [ebp - 0x7d4]
mov eax, ecx
mov dword [ebp - 0x7dc], eax
cmp word [ebp - 0x7d4], ax
je 0x1013d14e
mov edi, esi
cmp eax, ebx
jae 0x1013d0b2
movzx eax, word [edx]
mov ecx, edx
test ax, ax
je 0x1013d0b2
mov esi, eax
cmp si, 0x3d
je 0x1013d0bc
add ecx, 2
movzx eax, word [ecx]
mov esi, eax
test ax, ax
jne 0x1013d09f
mov esi, 0x80070057
jmp 0x1013d22e
xor eax, eax
mov word [ecx], ax
lea eax, [ecx + 2]
push edx
mov edx, 0x104
mov dword [ebp - 0x7e4], eax
mov ecx, edi
call fcn.1004503e
mov esi, eax
test esi, esi
js 0x1013d22e
push dword [ebp - 0x7ec]
push 0xffffffffffffffff
push edi
push 0x10030498
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [edi + 0x208], eax
cmp eax, 0xffffffff
je 0x1013d0b2
mov edx, dword [ebp - 0x7e4]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x7e4], eax
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x7f0]
jne 0x1013d111
sub ecx, dword [ebp - 0x7e4]
add edi, 0x20c
mov eax, dword [ebp - 0x7dc]
sar ecx, 1
lea edx, [edx + ecx*2]
xor ecx, ecx
add edx, 2
inc eax
mov dword [ebp - 0x7dc], eax
cmp word [edx], cx
jne 0x1013d08f
jmp 0x1013d150
mov esi, ecx
mov edi, dword [ebp - 0x7e8]
mov al, cl
mov byte [ebp - 0x7d5], al
mov dword [ebp - 0x7dc], ecx
cmp ecx, ebx
jae 0x1013d225
push 0x10030480
push edi
lea esi, [edi + 0x208]
call sub.msvcrt.dll__wcsicmp
pop ecx
pop ecx
push 4
push esi
push 4
test eax, eax
jne 0x1013d18f
push 0x10030480
jmp 0x1013d1e7
push edi
push 0x10030438
push dword [ebp - 0x7e0]
call dword [sym.imp.WINSPOOL.DRV_SetPrinterDataExW]
mov esi, eax
test esi, esi
jle 0x1013d1b0
movzx esi, si
or esi, 0x80070000
mov al, byte [ebp - 0x7d5]
test al, al
jne 0x1013d208
mov ecx, edi
mov byte [ebp - 0x7d5], 1
xor esi, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x1013d1c8
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edi
push 1
push 0x1001cea0
push dword [ebp - 0x7e0]
call dword [sym.imp.WINSPOOL.DRV_SetPrinterDataW]
mov esi, eax
mov al, byte [ebp - 0x7d5]
test esi, esi
jle 0x1013d208
movzx esi, si
or esi, 0x80070000
mov ecx, dword [ebp - 0x7dc]
add edi, 0x20c
inc ecx
mov dword [ebp - 0x7dc], ecx
test esi, esi
jns 0x1013d164
jmp 0x1013d22e
test al, al
jne 0x1013d22e
mov esi, 0x8000ffff
push dword [ebp - 0x7e8]
call dword [sym.imp.msvcrt.dll_void___cdecl_operator_delete_void__]
pop ecx
mov eax, esi
jmp 0x1013d244
mov eax, 0x80070057
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101885f0
leave
ret