Function at 0x4111f0
Capabilities:
Get common file path
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x43b1f8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x128
push ebx
push ebp
mov ebp, dword [esp + 0x140]
push esi
mov esi, ecx
push edi
push 0x45e768
mov ecx, ebp
call fcn.0042e8d2
push 0x45e768
lea ecx, [esp + 0x20]
call fcn.0042e803
lea eax, [esp + 0x38]
xor ebx, ebx
push 0x100
push eax
mov dword [esp + 0x148], ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea ecx, [esp + 0x38]
lea edx, [esp + 0x1c]
push ecx
push str._s2052ProtectTempData.ini
push edx
call fcn.0042c966
add esp, 0xc
lea ecx, [esp + 0x18]
push 0x45e768
call fcn.0042e803
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x18]
push eax
push 0x200
push 0x200
mov byte [esp + 0x14c], 1
call fcn.0042ead2
push eax
push ebx
push str.RegCode
push str.SoftWare
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edi, dword [esp + 0x18]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x4112de
lea ecx, [esp + 0x18]
mov byte [esp + 0x140], al
call fcn.0042e795
lea ecx, [esp + 0x1c]
mov dword [esp + 0x140], 0xffffffff
call fcn.0042e795
or eax, 0xffffffff
jmp 0x41156c
push 0x45e768
lea ecx, [esp + 0x18]
mov dword [esp + 0x24], ebx
call fcn.0042e803
lea ecx, [esp + 0x14]
lea edx, [esp + 0x20]
push ecx
push edx
push ecx
lea eax, [esp + 0x24]
mov edi, esp
mov dword [esp + 0x34], esp
push ecx
mov byte [esp + 0x150], 2
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call fcn.0042e50a
push edi
mov ecx, esi
call fcn.00410b20
mov ecx, esi
call fcn.00410d40
cmp eax, ebx
jne 0x41136a
lea ecx, [esp + 0x14]
mov byte [esp + 0x140], 1
call fcn.0042e795
lea ecx, [esp + 0x18]
mov byte [esp + 0x140], 0
call fcn.0042e795
lea ecx, [esp + 0x1c]
mov dword [esp + 0x140], 0xffffffff
call fcn.0042e795
xor eax, eax
jmp 0x41156c
mov eax, dword [esp + 0x20]
xor esi, esi
cmp eax, ebx
jle 0x411531
mov bl, 4
cmp esi, 0x10
jge 0x411531
push 0x45a270
lea ecx, [esp + 0x18]
call fcn.0042c5e0
lea ecx, [esp + 0x10]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.0042c546
push 0x45e768
lea ecx, [esp + 0x30]
mov byte [esp + 0x144], 3
call fcn.0042e803
mov edi, dword [esp + 0x10]
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x140], bl
repne scasb al, byte es:[edi]
mov edi, dword [esp + 0x14]
not ecx
dec ecx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x45a270
mov eax, ecx
or ecx, 0xffffffff
sub eax, edx
mov dword [esp + 0x24], eax
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x24]
not ecx
dec ecx
sub eax, ecx
lea ecx, [esp + 0x30]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.0042c4ca
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x144], 5
call fcn.0042e882
lea ecx, [esp + 0x30]
mov byte [esp + 0x140], bl
call fcn.0042e795
push 0x45a290
lea ecx, [esp + 0x14]
call fcn.0042c5e0
mov edi, dword [esp + 0x10]
mov edx, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x45a290
mov eax, ecx
or ecx, 0xffffffff
sub eax, edx
mov dword [esp + 0x24], eax
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x24]
not ecx
dec ecx
sub eax, ecx
lea ecx, [esp + 0x34]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.0042c4ca
mov byte [esp + 0x140], 6
push eax
lea ecx, [esp + 0x30]
call fcn.0042e882
lea ecx, [esp + 0x34]
mov byte [esp + 0x140], bl
call fcn.0042e795
push 0x45a290
lea ecx, [esp + 0x14]
call fcn.0042c5e0
lea edx, [esp + 0x28]
push eax
push edx
lea ecx, [esp + 0x18]
call fcn.0042c546
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x144], 7
call fcn.0042e882
lea ecx, [esp + 0x28]
mov byte [esp + 0x140], bl
call fcn.0042e795
mov eax, dword [esp + 0x2c]
mov ecx, dword [0x45e770]
mov edx, dword [esp + 0x10]
push eax
mov eax, dword [0x45e774]
push ecx
mov ecx, dword [0x45e778]
push edx
mov edx, dword [ebp]
push eax
push ecx
push edx
push 0x45a27c
push ebp
call fcn.0042c966
add esp, 0x20
lea ecx, [esp + 0x2c]
mov byte [esp + 0x140], 3
call fcn.0042e795
lea ecx, [esp + 0x10]
mov byte [esp + 0x140], 2
call fcn.0042e795
mov eax, dword [esp + 0x20]
inc esi
cmp esi, eax
jl 0x41137a
lea ecx, [esp + 0x14]
mov byte [esp + 0x140], 1
call fcn.0042e795
lea ecx, [esp + 0x18]
mov byte [esp + 0x140], 0
call fcn.0042e795
lea ecx, [esp + 0x1c]
mov dword [esp + 0x140], 0xffffffff
call fcn.0042e795
mov eax, 1
mov ecx, dword [esp + 0x138]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x134
ret 4