Function at 0x518f99
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x114
push ebx
push esi
push edi
push 0x533ea0
push 1
push str.WhichFields
push 0x533eb8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
push 0x533ec0
push 1
push str.NumberSign
push 0x533ed8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp + 8]
mov dword [ecx + 4], eax
push 0x533ee0
push 1
push str.ExponentSign
push 0x533efc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
push 0x533f04
push 0xff
lea eax, [ebp - 0x100]
push eax
push 0x533f10
push str.MagnitudeLowerLimit
push 0x533f28
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x104], eax
lea eax, [ebp - 0x100]
push eax
call fcn.00523726
add esp, 4
fcomp qword [0x5302e8]
fnstsw ax
test ah, 1
je 0x519060
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 0
jmp 0x519075
lea eax, [ebp - 0x100]
push eax
call fcn.00523726
add esp, 4
fstp qword [ebp - 0x10c]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x108]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x10c]
mov dword [eax + 0xc], ecx
push 0x533f30
push 0xff
lea eax, [ebp - 0x100]
push eax
push str.10000
push str.MagnitudeUpperLimit
push 0x533f58
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x104], eax
lea eax, [ebp - 0x100]
push eax
call fcn.00523726
add esp, 4
mov eax, dword [ebp + 8]
fcomp qword [eax + 0xc]
fnstsw ax
test ah, 1
je 0x5190f0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x110], ecx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x114], eax
jmp 0x519105
lea eax, [ebp - 0x100]
push eax
call fcn.00523726
add esp, 4
fstp qword [ebp - 0x114]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x110]
mov dword [eax + 0x18], ecx
mov ecx, dword [ebp - 0x114]
mov dword [eax + 0x14], ecx
push 0x533f60
push 0
push str.ExponentLowerLimit
push 0x533f80
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
test eax, eax
jg 0x519147
xor eax, eax
cmp eax, 0x12c
jl 0x519157
mov eax, 0x12c
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1c], eax
push 0x533f88
push 0x12c
push str.ExponentUpperLimit
push 0x533fa8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x20]
cmp eax, ecx
jg 0x519193
mov eax, ecx
cmp eax, 0x12c
jl 0x5191a3
mov eax, 0x12c
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x20], eax
push 0x533fb0
push 0xff
lea eax, [ebp - 0x100]
push eax
push 0x533fbc
push str.Multiplier
push 0x533fd0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x104], eax
lea eax, [ebp - 0x100]
push eax
call fcn.00523726
add esp, 4
mov eax, dword [ebp + 8]
fstp qword [eax + 0x2c]
push 0x533fd8
push 0xff
lea eax, [ebp - 0x100]
push eax
push str.1000.0
push str.Constant
push 0x533ff8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x104], eax
lea eax, [ebp - 0x100]
push eax
call fcn.00523726
add esp, 4
mov eax, dword [ebp + 8]
fstp qword [eax + 0x34]
push 0x534000
push 1
push str.SeedMode
push 0x534018
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x3c], eax
push 0x534020
push 1
push str.Seed
push str.BBQA
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x40], eax
xor eax, eax
jmp 0x51926c
pop edi
pop esi
pop ebx
leave
ret