Function at 0x409701
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe78
push ebx
push esi
push edi
lea esi, [ebp - 0x84]
mov edi, 0x498df0
mov eax, 0x498944
call fcn.00488048
push 0x1d0
call fcn.0049099c
pop ecx
mov dword [0x498898], eax
xor ebx, ebx
push 0
lea eax, [ebx + ebx*2]
movsx edx, word [eax*2 + 0x498730]
push edx
mov word [esi + 0x10], 8
lea ecx, [ebx + ebx*2]
mov eax, dword [ecx*2 + 0x49872c]
mov dword [ebp - 0x88], eax
push dword [ebp - 0x88]
lea edx, [ebp - 0x10]
push edx
call sub.cppv32.dll__VString__bctr_qpxc
add esp, 8
add dword [esi + 0x1c], 2
mov dword [ebp - 0x10], 0x4984b0
add dword [esi + 0x1c], 3
lea ecx, [ebp - 0x10]
push ecx
call fcn.0040a1a9
add esp, 0xc
mov edx, dword [0x498898]
mov dword [edx + ebx*4], eax
sub dword [esi + 0x1c], 3
sub dword [esi + 0x1c], 2
push 0
lea eax, [ebp - 0x10]
push eax
call sub.cppv32.dll__VString__bdtr_qv
add esp, 8
push 1
lea ecx, [ebx + ebx*2]
movsx eax, word [ecx*2 + 0x498730]
push eax
mov word [esi + 0x10], 0x14
lea edx, [ebx + ebx*2]
mov ecx, dword [edx*2 + 0x49872c]
mov dword [ebp - 0x8c], ecx
push dword [ebp - 0x8c]
lea eax, [ebp - 0x20]
push eax
call sub.cppv32.dll__VString__bctr_qpxc
add esp, 8
add dword [esi + 0x1c], 2
mov dword [ebp - 0x20], 0x4984b0
add dword [esi + 0x1c], 3
lea edx, [ebp - 0x20]
push edx
call fcn.0040a1a9
add esp, 0xc
mov ecx, dword [0x498898]
mov dword [ecx + ebx*4 + 0xc0], eax
sub dword [esi + 0x1c], 3
sub dword [esi + 0x1c], 2
push 0
lea eax, [ebp - 0x20]
push eax
call sub.cppv32.dll__VString__bdtr_qv
add esp, 8
inc ebx
cmp ebx, 0x30
jl 0x409734
xor ebx, ebx
lea eax, [ebx + ebx*2]
xor edx, edx
mov dword [eax*2 + 0x4b8290], edx
push ebx
lea ecx, [edi + 0x157]
push ecx
lea eax, [ebp - 0x138]
push eax
call fcn.0048a974
add esp, 0xc
push 0x50
lea edx, [ebp - 0x188]
push edx
lea ecx, [edi + 0x17f]
push ecx
lea eax, [edi + 0x175]
push eax
lea edx, [edi + 0x165]
push edx
call sub.KERNEL32.dll_GetProfileStringA
lea ecx, [ebp - 0x188]
push ecx
call fcn.00485ca4
pop ecx
movsx eax, byte [ebp + eax - 0x189]
cmp eax, 0x5c
je 0x40989a
lea edx, [edi + 0x180]
push edx
lea ecx, [ebp - 0x188]
push ecx
call fcn.00485b98
add esp, 8
lea eax, [edi + 0x182]
push eax
lea edx, [ebp - 0x188]
push edx
call fcn.00485b98
add esp, 8
lea ecx, [ebp - 0x188]
push ecx
push 0x50
lea eax, [ebp - 0xe8]
push eax
lea edx, [edi + 0x195]
push edx
lea ecx, [ebp - 0x138]
push ecx
lea eax, [edi + 0x18d]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
cmp byte [ebp - 0xe8], 0
jne 0x409906
push 0x50
lea edx, [ebp - 0xe8]
push edx
lea ecx, [edi + 0x1a6]
push ecx
lea eax, [ebp - 0x138]
push eax
lea edx, [edi + 0x196]
push edx
call sub.KERNEL32.dll_GetProfileStringA
cmp byte [ebp - 0xe8], 0
je 0x409ac2
mov dword [ebp - 0x90], 0xc
push 0x2c
lea ecx, [ebp - 0xe8]
push ecx
call fcn.00485da9
add esp, 8
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
je 0x40997d
mov eax, dword [ebp - 0x94]
mov byte [eax], 0
inc dword [ebp - 0x94]
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x98], edx
push dword [ebp - 0x98]
call fcn.0048e958
pop ecx
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
jne 0x40997d
mov dword [ebp - 0x90], 0xc
push 0
push dword [ebp - 0x90]
mov word [esi + 0x10], 0x20
lea ecx, [ebp - 0xe8]
push ecx
lea eax, [ebp - 0x30]
push eax
call sub.cppv32.dll__VString__bctr_qpxc
add esp, 8
add dword [esi + 0x1c], 2
mov dword [ebp - 0x30], 0x4984b0
add dword [esi + 0x1c], 3
lea edx, [ebp - 0x30]
push edx
call fcn.0040a1a9
add esp, 0xc
mov ecx, dword [0x498898]
mov dword [ecx + ebx*4 + 0x180], eax
sub dword [esi + 0x1c], 3
sub dword [esi + 0x1c], 2
push 0
lea eax, [ebp - 0x30]
push eax
call sub.cppv32.dll__VString__bdtr_qv
add esp, 8
mov edx, dword [0x498898]
cmp dword [edx + ebx*4 + 0x180], 0
je 0x409b78
lea ecx, [ebx + ebx*2]
mov ax, word [ebp - 0x90]
mov word [ecx*2 + 0x4b8294], ax
push 0x50
call fcn.0049099c
pop ecx
lea edx, [ebx + ebx*2]
mov dword [edx*2 + 0x4b8290], eax
lea ecx, [ebp - 0xe8]
push ecx
lea eax, [ebx + ebx*2]
push dword [eax*2 + 0x4b8290]
call fcn.00485c74
add esp, 8
push 1
push dword [ebp - 0x90]
mov word [esi + 0x10], 0x2c
lea edx, [ebp - 0xe8]
push edx
lea ecx, [ebp - 0x40]
push ecx
call sub.cppv32.dll__VString__bctr_qpxc
add esp, 8
add dword [esi + 0x1c], 2
mov dword [ebp - 0x40], 0x4984b0
add dword [esi + 0x1c], 3
lea eax, [ebp - 0x40]
push eax
call fcn.0040a1a9
add esp, 0xc
mov edx, dword [0x498898]
mov dword [edx + ebx*4 + 0x1a8], eax
sub dword [esi + 0x1c], 3
sub dword [esi + 0x1c], 2
push 0
lea ecx, [ebp - 0x40]
push ecx
call sub.cppv32.dll__VString__bdtr_qv
add esp, 8
mov eax, dword [0x498898]
cmp dword [eax + ebx*4 + 0x1a8], 0
jne 0x409b78
mov edx, dword [0x498898]
mov ecx, dword [edx + ebx*4 + 0x180]
mov eax, dword [0x498898]
mov dword [eax + ebx*4 + 0x1a8], ecx
jmp 0x409b78
push 0
push 0xf
mov word [esi + 0x10], 0x38
lea edx, [edi + 0x1a7]
push edx
lea ecx, [ebp - 0x50]
push ecx
call sub.cppv32.dll__VString__bctr_qpxc
add esp, 8
add dword [esi + 0x1c], 2
mov dword [ebp - 0x50], 0x4984b0
add dword [esi + 0x1c], 3
lea eax, [ebp - 0x50]
push eax
call fcn.0040a1a9
add esp, 0xc
mov edx, dword [0x498898]
mov dword [edx + ebx*4 + 0x180], eax
sub dword [esi + 0x1c], 3
sub dword [esi + 0x1c], 2
push 0
lea ecx, [ebp - 0x50]
push ecx
call sub.cppv32.dll__VString__bdtr_qv
add esp, 8
push 1
push 0xf
mov word [esi + 0x10], 0x44
lea eax, [edi + 0x1ae]
push eax
lea edx, [ebp - 0x60]
push edx
call sub.cppv32.dll__VString__bctr_qpxc
add esp, 8
add dword [esi + 0x1c], 2
mov dword [ebp - 0x60], 0x4984b0
add dword [esi + 0x1c], 3
lea ecx, [ebp - 0x60]
push ecx
call fcn.0040a1a9
add esp, 0xc
mov edx, dword [0x498898]
mov dword [edx + ebx*4 + 0x1a8], eax
sub dword [esi + 0x1c], 3
sub dword [esi + 0x1c], 2
push 0
lea eax, [ebp - 0x60]
push eax
call sub.cppv32.dll__VString__bdtr_qv
add esp, 8
inc ebx
cmp ebx, 0xa
jl 0x409824
mov eax, 1
mov edx, dword [esi]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret