Function at 0x406630
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xbe4
mov eax, dword [0x49fbb8]
xor eax, ebp
mov dword [ebp - 8], eax
push esi
push edi
mov ecx, 0xb8
mov esi, str.p0AosKZcgvIqHRZwMAK6MqljLvA8fjsYK92Z4QMib0WKbM_3ljp_RAHjtNwN4wfy1W8oFXWujbbnEppgxd0vulb_ZTuqIvG5hiAuyjLoDYl49KmvXGoXL1yWEwFBIDoVYEbMy1x1Q9k0XxcRioqIGKs8Q_xX8ZqjvQlQyZi2p27biH4GxKvZew2ctfKKxEK87gHBxEC3Pz40bqUnPUEl5KnjfXwTX674ZG0d8HVNnccAOqdblCHHQN6P5LdRpTOQI6B1W4cLWOv30i1rsjCv8yWfiqV7k909pVuE8s2YMHGBb14jKOjE4lm1FBQ2j8yr7S_jLFBBy1wbDSpThnwT06uzjGgXRhANPVji7lUYdNNebK_v5daWpZGN_e1x0H5QhnSOiclsxNRKAS9f4fVv3iLNHYZHi41W5S87teNkEDG_jkMQchv_Ub_VJTgW03neH44ZzbaAs2Ox44ZkxdKtDXQM_e0g2qpafrtfPyu07XaEWifwIBDq2hCoiyB02OZcHVZXAyPO5sk_5pFXr0J2rNT5tf09rqHuemgZnSbEO1XkhrKTo_XS3i9Jw9ST_UgbpSaO5aeiCsWeQ8X5RJ3CIWVDTKC1G2dpadJftEMR2rFS6N9ixxP_1R7pdT1df79_H_dPTVvzuy76dcpxj0UP7_mF_X6GO8OqUOxKG8DoEPGMiZxHHm3ZgLib6uljbQ2ewZYKFp69QSVVMAHumTwCgWPKg
lea edi, [ebp - 0xbb0]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov ecx, 0xb8
mov esi, 0x47bee0
lea edi, [ebp - 0x8c8]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov ecx, 0xb8
mov esi, str.p0AosKZcgvIqHRZwMAK6MqljLvA8fjsYK92Z4QMib0WKbM_3ljp_RAHjtNwN4wfy1W8oFXWujbbnEppgxd0vulb_ZTuqIvG5hiAuyjLoDYl49KmvXGoXL1yWEwFBIDoVYEbMy1x1Q9k0XxcRioqIGKs8Q_xX8ZqjvQlQyZi2p27biH4GxKvZew2ctfKKxEK87gHBxEC3Pz40bqUnPUEl5KnjfXwTX674ZG0d8HVNnccAOqdblCHHQN6P5LdRpTOQI6B1W4cLWOv30i1rsjCv8yWfiqV7k909pVuE8s2YMHGBb14jKOjE4lm1FBQ2j8yr7S_jLFBBy1wbDSpThnwT06uzjGgXRhANPVji7lUYdNNebK_v5daWpZGN_e1x0H5QhnSOiclsxNRKAS9f4fVv3iLNHYZHi41W5S87teNkEDG_jkMQchv_Ub_VJTgW03neH44ZzbaAs2Ox44ZkxdKtDXQM_e0g2qpafrtfPyu07XaEWifwIBDq2hCoiyB02OZcHVZXAyPO5sk_5pFXr0J2rNT5tf09rqHuemgZnSbEO1XkhrKTo_XS3i9Jw9ST_UgbpSaO5aeiCsWeQ8X5RJ3CIWVDTKC1G2dpadJftEMR2rFS6N9ixxP_1R7pdT1df79_H_dPTVvzuy76dcpxj0UP7_mF_X6GO8OqUOxKG8DoEPGMiZxHHm3ZgLib6uljbQ2ewZYKFp69QSVVMAHumTwCgWPKg_
lea edi, [ebp - 0x5e0]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov ecx, 0xb8
mov esi, str.LomKOniuDu3lXLjZRc1dGUA9Z5TJu6CfT1J5z1tcO3Zvs_PkQwUXhRhXkKW_n4S8odrXkWQyqRPyUrIdlb41ZvWTyRtGOEpimOHzrZIEM26qlGfzRiFvyk_Ka3pDzYJFgqzA_7fszPGk1qf6nHSCZu5CsMuR0IgqG4EIKLasuVGToaj3jncWAwbywvVX23luP8UJXD5rZMnLBsU7tz4J5GHlIg3i4iHNiG8q8IYDlZhI1WPTc4Tmkxc21WhUZzRRXFdxsnJtmtLtJWkUYArk3Wftgf3KYl5yXq70SUSRdn34_ZLfjGC4R0tspEVecrcBtvtj65MoNLbVYy6TvtSeEwv5XCTt7FAr1OmG4hOHVmtOmGgIb2cahM6XzLCdFAR8hQopFvA8pe_2BbhSeNdtWphOMdkbcSOVDnoaRDzV3cKBc3N8BFPd5IyCtAHkps13XGbe9Ym65FGyulDo9qcMCytvHJ246u9N1BGi8Vd_yjtkD4VXr_QBSgpk6LuFtXJY28BDc934O3quDhJUPFqpXtqPxVUBeRti75AJqlrBPV4ey43OQ1ubnsl_DGr4XGJbchHSY7ZibjIWToMtW2MOoD91FHdFTQagHyXuDAFCenQ3pF6cT2z2Frf4_kyO_Xv9kEkoA07vOn2mJjHnydUDYEZja681zhusTjugOFz5e4vCnZDWFpRPnHqriFam1_yYtq1Et9jfTPpk6uqROGkLHw
lea edi, [ebp - 0x2f0]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x2f0]
mov dword [ebp - 0x2f4], eax
mov dword [ebp - 0xbb4], 0
mov ecx, 1
mov word [ebp - 4], cx
mov dword [ebp - 0xbbc], 0
mov dword [ebp - 0xbb8], 0x1f
movsx edx, word [0x47bbec]
cmp edx, 0xffffffff
jle 0x406719
movsx eax, word [0x47bbec]
movsx ecx, word [ebp - 4]
cmp eax, ecx
jge 0x406719
lea edx, [ebp - 0xbbc]
push edx
movsx eax, word [0x47bbec]
mov ecx, dword [ebp + eax*4 - 0x2f4]
push ecx
movsx edx, word [0x47bbec]
mov eax, dword [ebp + edx*4 - 0xbb4]
or eax, 0xffff0000
push eax
call fcn.0040e180
mov dword [ebp - 0xbb8], eax
jmp 0x406869
lea ecx, [ebp - 0xbc8]
push ecx
call fcn.00408070
add esp, 4
mov dword [ebp - 0xbcc], eax
xor edx, edx
mov word [ebp - 0xbc4], dx
cmp dword [ebp - 0xbcc], 0
je 0x406760
mov eax, dword [ebp - 0xbc8]
push eax
push 0
push 0x47bed4
push 0x47c79c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov word [ebp - 0xbc4], ax
movsx ecx, word [ebp - 0xbc4]
movsx edx, word [ebp - 4]
cmp ecx, edx
jl 0x406778
xor eax, eax
mov word [ebp - 0xbc4], ax
mov cx, word [ebp - 0xbc4]
mov word [ebp - 0xbc0], cx
mov edx, 1
test edx, edx
je 0x406817
lea eax, [ebp - 0xbbc]
push eax
movsx ecx, word [ebp - 0xbc4]
mov edx, dword [ebp + ecx*4 - 0x2f4]
push edx
movsx eax, word [ebp - 0xbc4]
mov ecx, dword [ebp + eax*4 - 0xbb4]
or ecx, 0xffff0000
push ecx
call fcn.0040e180
mov dword [ebp - 0xbb8], eax
cmp dword [ebp - 0xbb8], 0
jne 0x4067d4
jmp 0x406817
mov dx, word [ebp - 0xbc4]
add dx, 1
mov word [ebp - 0xbc4], dx
movsx eax, word [ebp - 0xbc4]
movsx ecx, word [ebp - 4]
cmp eax, ecx
jl 0x4067fe
xor edx, edx
mov word [ebp - 0xbc4], dx
movsx eax, word [ebp - 0xbc4]
movsx ecx, word [ebp - 0xbc0]
cmp eax, ecx
jne 0x406812
jmp 0x406817
jmp 0x406786
cmp dword [ebp - 0xbb8], 0
jne 0x406869
mov dx, word [ebp - 0xbc4]
mov word [0x47bbec], dx
movsx eax, word [0x47bbec]
push eax
push 0x47c1c4
lea ecx, [ebp - 0xbd8]
push ecx
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0xc
mov edx, dword [ebp - 0xbc8]
push edx
lea eax, [ebp - 0xbd8]
push eax
push str.FIIniNum
push str.LOCK
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
cmp dword [ebp - 0xbb8], 0
je 0x406943
mov ecx, dword [ebp - 0xbb8]
mov dword [ebp - 0xbe4], ecx
mov edx, dword [ebp - 0xbe4]
sub edx, 4
mov dword [ebp - 0xbe4], edx
cmp dword [ebp - 0xbe4], 0x1b
ja case.0x4068ab.1
mov eax, dword [ebp - 0xbe4]
movzx ecx, byte [eax + 0x4069bc]
jmp dword [ecx*4 + 0x406998]
mov edx, 6
mov word [ebp - 0xbdc], dx
jmp 0x406928
xor eax, eax
mov word [ebp - 0xbdc], ax
jmp 0x406928
mov ecx, 0xb
mov word [ebp - 0xbdc], cx
jmp 0x406928
mov edx, 0xb
mov word [ebp - 0xbdc], dx
jmp 0x406928
mov eax, 7
mov word [ebp - 0xbdc], ax
jmp 0x406928
mov ecx, 6
mov word [ebp - 0xbdc], cx
jmp 0x406928
mov edx, 0xb
mov word [ebp - 0xbdc], dx
jmp 0x406928
mov eax, 0xe
mov word [ebp - 0xbdc], ax
jmp 0x406928
xor ecx, ecx
mov word [ebp - 0xbdc], cx
movzx edx, word [ebp + 0xc]
push edx
movzx eax, word [ebp - 0xbdc]
push eax
call fcn.00406220
add esp, 8
xor eax, eax
jmp 0x406986
mov ecx, dword [ebp - 0xbbc]
push ecx
call fcn.004069e0
add esp, 4
mov word [ebp - 0xbe0], ax
mov edx, dword [ebp - 0xbbc]
push edx
call fcn.0040a3d0
movsx eax, word [ebp - 0xbe0]
neg eax
sbb eax, eax
add eax, 1
jmp 0x406986
pop edi
pop esi
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004752c2
mov esp, ebp
pop ebp
ret