Function at 0x10112b19
Capabilities:
Read .ini file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x7ec
mov eax, dword [0x1019fbfc]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, edx
mov dword [ebp - 0x7e0], ecx
push eax
mov dword [ebp - 0x7e8], eax
lea eax, [ebp - 0x7d4]
push 0x3e8
push eax
push 0x1002a89c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionW]
test eax, eax
jne 0x10112b5e
inc eax
jmp 0x10112dbc
cmp eax, 0x3e6
jne 0x10112b6f
mov eax, 0x800700df
jmp 0x10112dbc
push ebx
xor eax, eax
lea edx, [ebp - 0x7d4]
push esi
push edi
mov edi, eax
mov dword [ebp - 0x7ec], eax
cmp word [ebp - 0x7d4], ax
je 0x10112db4
xor ebx, ebx
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x10112b96
sub ecx, esi
sar ecx, 1
lea edx, [edx + ecx*2]
add edx, 2
inc edi
cmp word [edx], bx
jne 0x10112b91
mov dword [ebp - 0x7e4], edi
test edi, edi
je 0x10112db4
xor ecx, ecx
mov eax, edi
mov edx, 0x20c
mul edx
push 0x1003bb6b
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.10163d16
mov edx, eax
mov dword [ebp - 0x7d8], edx
pop ecx
pop ecx
test edx, edx
jne 0x10112bf4
mov eax, 0x8007000e
jmp 0x10112db9
mov eax, ebx
lea ecx, [ebp - 0x7d4]
mov esi, ebx
mov dword [ebp - 0x7dc], eax
cmp word [ebp - 0x7d4], ax
je 0x10112ccf
mov ebx, edx
cmp eax, edi
jae 0x10112cc4
movzx eax, word [ecx]
mov edi, ecx
mov edx, eax
test ax, ax
je 0x10112c40
mov esi, eax
push 0x3d
pop eax
cmp si, ax
je 0x10112c48
add edi, 2
movzx eax, word [edi]
mov esi, eax
mov edx, eax
test ax, ax
jne 0x10112c29
push 0x3d
pop eax
cmp dx, ax
jne 0x10112cc4
xor eax, eax
mov edx, 0x104
push ecx
mov ecx, ebx
mov word [edi], ax
call fcn.1003fc94
mov esi, eax
test esi, esi
js 0x10112cc9
push dword [ebp - 0x7e8]
push 0xffffffffffffffff
push ebx
push 0x1002a89c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebx + 0x208], eax
cmp eax, 0xffffffff
je 0x10112cc4
lea ecx, [edi + 2]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x7ec]
jne 0x10112c85
mov eax, dword [ebp - 0x7dc]
sub ecx, edx
add edi, 4
sar ecx, 1
inc eax
xor edx, edx
add ebx, 0x20c
mov dword [ebp - 0x7dc], eax
lea ecx, [edi + ecx*2]
mov edi, dword [ebp - 0x7e4]
cmp word [ecx], dx
jne 0x10112c13
jmp 0x10112cc9
mov esi, 0x80070057
mov edx, dword [ebp - 0x7d8]
xor eax, eax
mov dword [ebp - 0x7dc], eax
mov bl, al
test esi, esi
js 0x10112da8
mov edi, edx
cmp eax, dword [ebp - 0x7e4]
jae 0x10112d95
push 0x1002a928
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 0x10112d12
push 0x1002a928
jmp 0x10112d5f
push edi
push 0x1002a8e0
push dword [ebp - 0x7e0]
call dword [sym.imp.WINSPOOL.DRV_SetPrinterDataExW]
mov esi, eax
test esi, esi
jle 0x10112d33
movzx esi, si
or esi, 0x80070000
test bl, bl
jne 0x10112d7a
mov ecx, edi
inc bl
xor esi, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x10112d40
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edi
push 1
push 0x10018ac0
push dword [ebp - 0x7e0]
call dword [sym.imp.WINSPOOL.DRV_SetPrinterDataW]
mov esi, eax
test esi, esi
jle 0x10112d7a
movzx esi, si
or esi, 0x80070000
mov eax, dword [ebp - 0x7dc]
add edi, 0x20c
inc eax
mov dword [ebp - 0x7dc], eax
test esi, esi
jns 0x10112ce3
mov edx, dword [ebp - 0x7d8]
test esi, esi
js 0x10112da8
test bl, bl
jne 0x10112da8
mov esi, 0x8000ffff
push edx
call dword [sym.imp.msvcrt.dll_void___cdecl_operator_delete_void__]
pop ecx
mov eax, esi
jmp 0x10112db9
mov eax, 0x80070057
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101637b0
leave
ret