Function at 0x100110d0
Capabilities:
Check if file exists
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1009c3b8
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push esi
push edi
mov eax, dword [0x100d07a8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push dword [ebp + 0xc]
lea ecx, [ebp - 0x14]
call fcn.10002930
mov eax, dword [ebp + 0x18]
mov dword [ebp - 4], 0
mov dword [eax], 0
call fcn.10003000
mov ecx, eax
test ecx, ecx
je 0x1001148a
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
mov eax, str.ren_info
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x10]
test eax, 0xffff0000
jne 0x1001114b
movzx eax, ax
push eax
call fcn.10007b90
jmp 0x10011157
push 8
push str.ren_info
call fcn.10003220
cmp dword [ebp + 0x1c], 0
mov byte [ebp - 4], 2
jne 0x10011170
push 0xc
push str.ren_info_new
lea ecx, [ebp - 0x10]
call fcn.10003220
mov ebx, dword [ebp + 0x14]
mov ecx, 1
mov edx, dword [ebx]
mov eax, dword [edx - 8]
sub ecx, dword [edx - 4]
sub eax, 0x208
or eax, ecx
jge 0x10011197
push 0x208
mov ecx, ebx
call fcn.100030e0
mov edx, dword [ebx]
push dword [ebp + 8]
mov esi, dword [ebp - 0x10]
push 0x208
push edx
push 0
push dword [ebp - 0x14]
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, dword [ebx]
mov edx, eax
mov dword [ebp - 0x18], edx
test ecx, ecx
je 0x100111d3
push dword [ecx - 8]
push ecx
call fcn.1007b3b9
mov ecx, eax
add esp, 8
test ecx, ecx
js 0x10011480
mov edx, dword [ebp - 0x18]
mov eax, dword [ebx]
cmp ecx, dword [eax - 8]
jg 0x10011480
mov dword [eax - 0xc], ecx
xor edi, edi
mov eax, dword [ebx]
mov word [eax + ecx*2], di
or edi, 0xffffffff
test edx, edx
je 0x100112fb
mov eax, dword [ebx]
cmp dword [eax - 0xc], 0
je 0x100112fb
push str.9ADEF4E2_CB10_451d_874E_968EBE5C671A
lea ecx, [ebp - 0x18]
call fcn.10002930
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x20]
push ebx
push eax
call fcn.1004f8d0
add esp, 0xc
push eax
mov ecx, ebx
mov byte [ebp - 4], 4
call fcn.10003470
mov edx, dword [ebp - 0x20]
mov eax, edi
mov byte [ebp - 4], 3
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1001124c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
mov eax, edi
mov byte [ebp - 4], 2
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1001126a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebx]
cmp dword [eax - 0xc], 0
je 0x100112fb
push 0x100a71b0
push dword [ebp + 0x10]
lea eax, [ebp - 0x18]
push eax
call fcn.1000e630
push ebx
push eax
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 5
push eax
call fcn.1000e580
add esp, 0x18
push eax
mov ecx, ebx
mov byte [ebp - 4], 6
call fcn.10003470
mov edx, dword [ebp - 0x20]
mov eax, edi
mov byte [ebp - 4], 5
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100112c3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
mov eax, edi
mov byte [ebp - 4], 2
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100112e1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebx]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x100112fb
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
jmp 0x10011434
call fcn.100847e1
cdq
mov edi, 0x1a
idiv edi
lea ebx, [edx + 0x61]
call fcn.100847e1
cdq
idiv edi
lea edi, [edx + 0x61]
call fcn.100847e1
cdq
mov ecx, 0x1a
idiv ecx
movzx eax, bx
push eax
movzx eax, di
add edx, 0x61
push eax
movzx eax, dx
push eax
call fcn.100847e1
cdq
mov ecx, 0x1a
idiv ecx
mov edi, dword [ebp + 0x14]
add edx, 0x61
movzx eax, dx
push eax
push str._c_c_c_c32.exe
push edi
call fcn.10002ef0
add esp, 0x18
lea ecx, [ebp + 0x18]
push str.9ADEF4E2_CB10_451d_874E_968EBE5C671A
call fcn.10002930
lea eax, [ebp + 0x18]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x1c]
push edi
push eax
call fcn.1004fd90
add esp, 0xc
mov edx, dword [ebp + 0x18]
or eax, 0xffffffff
mov byte [ebp - 4], 9
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10011398
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp + 8]
push dword [ebp - 0x1c]
push dword [ebp - 0x14]
push esi
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push 0x100a71b0
push dword [ebp + 0x10]
lea eax, [ebp - 0x18]
push eax
call fcn.1000e630
push edi
push eax
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0xa
push eax
call fcn.1000e580
add esp, 0x18
push eax
mov ecx, edi
mov byte [ebp - 4], 0xb
call fcn.10003470
mov edx, dword [ebp - 0x20]
or edi, 0xffffffff
mov byte [ebp - 4], 0xa
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100113f8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
mov eax, edi
mov byte [ebp - 4], 9
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10011416
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
mov eax, edi
mov byte [ebp - 4], 2
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10011434
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x1001144f
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg 0x1001146e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x80070057
call fcn.10002c70
push 0x80004005
call fcn.10002c70
int3