Function at 0x1004985f
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
push edi
mov edi, ecx
cmp dword [edi], 0
je 0x10049a4f
push ebx
push esi
push dword [edi]
xor ebx, ebx
push ebx
push dword [edi + 4]
call fcn.100147c2
push dword [edi + 4]
call fcn.100581d7
add esp, 0x10
mov dword [ebp - 8], 0x971c
xor esi, esi
mov dword [ebp - 0x14], 0xffffffff
inc esi
lea ecx, [ebp - 0x2c]
push esi
call fcn.10009afa
mov dword [ebp - 0x14], 0x857b1a09
mov dword [ebp - 0x18], 0xeb61943e
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], 0x97fb
mov dword [ebp - 0x20], 0xc6aa
mov dword [ebp - 0x10], ebx
jmp 0x100498d9
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
mov dword [eax + ecx*4], 0x6548aab5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x100498c9
cmp dword [ebp - 8], ebx
jne 0x10049913
mov eax, dword [ebp - 8]
dec eax
neg eax
sbb eax, eax
neg eax
add eax, dword [ebp - 8]
jne 0x10049913
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10049a39
push ebx
push 0x23b
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
jmp 0x10049a39
mov dword [ebp - 0x10], 0xfffffff7
mov dword [ebp - 0xc], 0x5d73
mov dword [ebp - 0x20], 0xfffffffd
mov dword [ebp - 0x14], ebx
jmp 0x1004993b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x38], 0xfffffff6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1004992d
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
mov dword [eax], ecx
mov eax, dword [ebp - 8]
sub ecx, eax
imul ecx, dword [ebp - 0xc]
cmp ecx, esi
je 0x1004995d
mov eax, esi
cmp dword [ebp - 0xc], ebx
jne 0x1004995f
mov eax, ebx
mov dword [ebp - 0x14], eax
xor edx, edx
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
add eax, ecx
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x18]
imul ecx, eax
mov eax, dword [ebp - 0xc]
cmp ecx, eax
mov eax, dword [ebp - 0xc]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xc]
setg cl
xor ebx, ebx
cmp ecx, eax
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 8]
setle bl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setle dl
xor ecx, ecx
cmp edx, ebx
setge cl
sub eax, ecx
mov ecx, dword [ebp - 8]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], 0x594484f7
cmp dword [ebp - 0x10], 0x5c2f4fe1
jl 0x10049a25
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
xor ebx, ebx
inc eax
sub eax, 9
jne 0x100499ed
mov ecx, ebx
cmp dword [ebp - 8], ebx
je 0x100499ef
mov ecx, esi
mov eax, dword [ebp - 0x10]
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x38]
add ecx, eax
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setg dl
mov dword [eax], edx
inc edx
sub edx, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 0x20]
jle 0x10049a27
jmp 0x10049a29
xor ebx, ebx
mov esi, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, esi
setl cl
sub ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x2c], 0
je 0x10049a48
push dword [ebp - 0x2c]
call fcn.100581d7
pop ecx
pop esi
mov dword [edi + 4], ebx
mov dword [edi], ebx
pop ebx
pop edi
mov esp, ebp
pop ebp
ret