Function at 0x4697e0
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x18
push esi
mov esi, ecx
push edi
xor edi, edi
cmp dword [esi + 0x3d10], edi
je 0x469a7d
mov eax, dword [0x4e5bb8]
push eax
push edi
push str.IgnoreBinCap
push str.Debug
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
test eax, eax
jne 0x469a7d
mov ecx, dword [esi + 8]
push ebx
push ebp
cmp byte [ecx + 0x1e4], 4
jne 0x46982e
mov ecx, esi
call fcn.00446160
jmp 0x4698c5
xor ecx, ecx
lea eax, [esi + 0x3a8]
mov edx, 8
mov ebx, 0x1e00000
add eax, 4
sub ebx, ecx
add ecx, 0x1e0000
mov dword [eax - 4], ebx
dec edx
jne 0x46983b
mov dword [esi + 0x3c8], 0xf50000
mov dword [esi + 0x3cc], 0xf00000
mov dword [esi + 0x3d0], 0xdac000
mov dword [esi + 0x3d4], 0xbb8000
mov dword [esi + 0x3d8], 0x9c4000
mov dword [esi + 0x3dc], 0x7a8000
mov dword [esi + 0x3e0], 0x780000
mov dword [esi + 0x3e4], 0x73a000
mov dword [esi + 0x3e8], 0x3c0000
mov dword [esi + 0x3ec], 0x1cc000
mov dword [esi + 0x3f0], 0xf0000
mov dword [esi + 0x3f4], edi
mov cl, byte [esi + 0xec]
test cl, cl
jne 0x4698d9
mov dword [esp + 0x14], 1
jmp 0x46990b
cmp byte [esi + 0xf2], 1
jne 0x469907
mov al, byte [esi + 0xa0]
test al, al
jne 0x4698f9
test byte [esi + 0x105], 1
jne 0x469902
test al, al
je 0x469907
test byte [esi + 0x107], 1
je 0x469907
mov edi, 1
mov dword [esp + 0x14], edi
mov dl, byte [esi + 0x3d0c]
mov eax, dword [esp + 0x2c]
push ecx
push edx
push eax
mov ecx, esi
call fcn.00469a90
lea ebp, [esi + 0x3a8]
mov ecx, esi
push ebp
push eax
mov dword [esp + 0x24], eax
call fcn.00469bd0
mov cl, byte [esi + 0xec]
mov bl, al
test edi, edi
mov byte [esp + 0x24], bl
mov byte [esp + 0x18], cl
je 0x469978
mov eax, dword [esp + 0x14]
test eax, eax
je 0x469978
test bl, bl
jne 0x469978
mov dl, byte [esi + 0x3d0c]
mov eax, dword [esp + 0x2c]
push 0
push edx
push eax
mov ecx, esi
call fcn.00469a90
push ebp
push eax
mov ecx, esi
call fcn.00469bd0
test al, al
jne 0x469978
mov byte [esp + 0x18], al
mov cl, byte [esi + 0x3d0c]
cmp bl, 0x14
mov byte [esp + 0x13], cl
jae 0x469a14
mov edx, dword [esp + 0x1c]
mov eax, dword [ebp]
mov dword [esp + 0x1c], edx
xor edx, edx
mov dword [esp + 0x20], edx
fild qword [esp + 0x1c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
fild qword [esp + 0x1c]
fmul qword [0x4c40c0]
fcompp
fnstsw ax
test ah, 1
jne 0x469a14
mov eax, dword [esp + 0x24]
and eax, 0xff
cmp dword [esi + eax*4 + 0x3a8], edx
je 0x469a14
cmp cl, 8
mov byte [esp + 0x14], 8
jbe 0x469a14
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
push edi
push ecx
push edx
mov ecx, esi
call fcn.00469a90
push ebp
push eax
mov ecx, esi
call fcn.00469bd0
cmp al, bl
mov al, byte [esp + 0x14]
je 0x469a10
mov cl, byte [esi + 0x3d0c]
inc al
cmp al, cl
mov byte [esp + 0x14], al
jb 0x4699db
jmp 0x469a14
mov byte [esp + 0x13], al
mov al, byte [esi + 0x34]
mov ebp, dword [esi + 0x16c]
test al, al
mov byte [esp + 0x24], al
jbe 0x469a6e
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x2c]
and ebx, 0xff
xor ecx, ecx
test ebp, ebp
jbe 0x469a69
mov al, byte [edi + ecx]
mov dl, byte [esp + 0x13]
cmp al, dl
jbe 0x469a57
cmp al, byte [esi + 0x3d0c]
ja 0x469a53
or al, 0xa0
mov byte [edi + ecx], al
jmp 0x469a64
cmp al, dl
ja 0x469a64
mov dl, byte [esi + 0x838]
cmp al, dl
jbe 0x469a64
mov byte [edi + ecx], dl
inc ecx
cmp ecx, ebp
jb 0x469a39
add edi, ebp
dec ebx
jne 0x469a33
pop ebp
pop ebx
pop edi
mov eax, 1
pop esi
add esp, 0x18
ret 4
pop edi
mov eax, 1
pop esi
add esp, 0x18
ret 4