Function at 0x407690
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44b3a0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xfe8
mov eax, dword [0x45f640]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 8]
mov dword [ebp - 0x824], eax
mov ebx, dword [0x45dbcc]
mov esi, dword [0x45dbd4]
mov eax, 0xc69fb513
imul esi
mov eax, dword [0x45dbe8]
imul eax, eax, 0x20e865f
mov dword [ebp - 0x820], eax
add edx, esi
sar edx, 0x19
mov eax, ebx
imul eax, eax, 0x33bbc84
mov dword [ebp - 0x818], eax
mov edi, edx
mov ecx, dword [ebp + 0xc]
shr edi, 0x1f
add edi, edx
mov eax, 0x2ee68aa5
imul ebx
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbdc]
imul edx, edx, 0x362805a
mov dword [ebp - 0x81c], ecx
mov ecx, dword [ebp - 0x818]
sub ecx, eax
add ecx, edx
mov eax, 0xc41087d7
imul esi
add edx, esi
sar edx, 0x1a
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0xc41087d7
imul ebx
add edx, ebx
sar edx, 0x1a
mov eax, ecx
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
add eax, dword [ebp - 0x820]
mov edx, dword [0x45dbe0]
add ecx, eax
imul edx, edx, 0x33bbc84
mov eax, dword [0x45dbe4]
imul eax, eax, 0x3e6f678
add eax, edx
mov dword [ebp - 0x818], eax
mov eax, 0x83228937
imul ebx
mov eax, ebx
add edx, eax
mov eax, dword [ebp - 0x818]
sar edx, 0x19
add eax, edx
mov ebx, edx
shr ebx, 0x1f
add ebx, eax
mov eax, 0x974409b3
imul esi
add edx, esi
sar edx, 0x19
add ecx, edi
mov eax, edx
mov dword [str._r_____r____], ecx
shr eax, 0x1f
mov esi, dword [ebp - 0x820]
add ebx, edx
add eax, ebx
sub eax, esi
sub eax, ecx
lea ecx, [eax + edi + 0x276937b]
mov eax, dword [ebp - 0x824]
test eax, eax
mov dword [0x45dbcc], ecx
je 0x407d50
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4077e8
sub eax, edx
mov dword [ebp - 0x818], eax
je 0x407d50
mov eax, dword [ebp - 0x81c]
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
push 0x800
lea edx, [ebp - 0x814]
push edx
push 0x44de89
push eax
push 0x44e160
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [0x45dbdc]
mov esi, dword [str._r_____r____]
mov ebx, dword [0x45dbd8]
mov eax, 0xc69fb513
imul ecx
lea edi, [ebx + esi]
imul esi, esi, 0x293e68d
imul edi, edi, 0x362805a
add edx, ecx
sar edx, 0x19
add edi, edx
mov eax, edx
shr eax, 0x1f
add eax, edi
mov edx, ecx
imul edx, edx, 0x33bbc84
add eax, esi
add eax, edx
mov edi, eax
mov esi, dword [0x45dbe0]
mov eax, 0x83228937
imul ecx
add edx, ecx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
lea eax, [ebp - 0x814]
lea edi, [edi + esi - 0x3e6f678]
lea edx, [eax + 1]
mov dword [0x45dbd4], edi
mov dword [ebp - 0x81c], edx
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4078a0
sub eax, dword [ebp - 0x81c]
mov dword [ebp - 0x81c], eax
je 0x407cf0
mov edi, dword [0x45dbcc]
imul ecx, ecx, 0x3e6f678
imul esi, esi, 0x35bbff4
mov eax, dword [0x45dbd0]
lea ebx, [eax + edi]
imul ebx, ebx, 0x2baab78
add ebx, ecx
mov ecx, dword [0x45dbe4]
mov eax, 0xc69fb513
imul ecx
add edx, ecx
sar edx, 0x19
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
add eax, esi
mov ebx, eax
mov eax, 0x974409b3
imul edi
add edx, edi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0xc41087d7
imul ecx
add edx, ecx
sar edx, 0x1a
mov ecx, edx
add ebx, edx
lea edx, [ebp - 0x814]
push edx
shr ecx, 0x1f
lea eax, [ebp - 0xff4]
add ecx, ebx
push 0x1f4
push eax
mov dword [0x45dbdc], ecx
call fcn.004100b0
mov ebx, dword [ebp - 0x824]
add esp, 0xc
mov dword [ebp - 0x81c], eax
xor edi, edi
cmp edi, dword [ebp - 0x81c]
jge 0x407cde
mov ecx, dword [0x45dbd4]
mov edx, dword [0x45dbc8]
lea eax, [edx + ecx]
mov ecx, dword [0x45dbd8]
imul eax, eax, 0x3e78532
mov dword [ebp - 0x818], eax
mov esi, dword [str._r_____r____]
mov eax, 0xc69fb513
imul ecx
add edx, ecx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x818]
sub edx, eax
mov eax, esi
imul eax, eax, 0x293e68d
add edx, eax
mov dword [ebp - 0x818], edx
mov eax, 0x2ee68aa5
imul ecx
mov eax, dword [ebp - 0x818]
sar edx, 0x17
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub eax, ecx
mov ecx, dword [0x45dbe4]
mov dword [ebp - 0x818], eax
mov eax, 0xcfdc5805
imul esi
mov eax, dword [ebp - 0x818]
add edx, esi
sar edx, 0x19
add eax, edx
mov esi, edx
shr esi, 0x1f
add esi, eax
mov eax, 0xc41087d7
imul ecx
add edx, ecx
mov ecx, dword [ebp + edi*4 - 0xff4]
sar edx, 0x1a
mov eax, edx
shr eax, 0x1f
add eax, edx
push ecx
sub esi, eax
push ebx
mov dword [0x45dbe4], esi
call fcn.004313f0
add esp, 8
test eax, eax
je 0x407cd8
mov ecx, dword [0x45dbd0]
mov esi, dword [0x45dbc8]
imul esi, esi, 0x3e6f678
mov eax, 0x1066a8b3
imul ecx
sar edx, 0x16
add esi, edx
mov edi, edx
mov eax, 0x4f2cca89
imul ecx
sar edx, 0x18
shr edi, 0x1f
add edi, esi
add edi, edx
mov esi, edx
mov ebx, dword [0x45dbe4]
mov eax, 0x4c3a114b
imul ecx
sar edx, 0x18
mov ecx, edx
shr esi, 0x1f
add esi, edi
add esi, edx
mov edx, dword [0x45dbe0]
imul edx, edx, 0xac2519
shr ecx, 0x1f
add ecx, esi
sub ecx, edx
mov esi, dword [0x45dbd4]
mov eax, 0x974409b3
imul ebx
add edx, ebx
imul ebx, ebx, 0x3e6f678
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0xc69fb513
imul esi
mov eax, dword [0x45dbe8]
add edx, esi
imul eax, eax, 0x20e865f
sar edx, 0x19
mov edi, edx
shr edi, 0x1f
add edi, edx
mov edx, dword [0x45dbe0]
imul edx, edx, 0x33bbc84
mov dword [ebp - 0x820], eax
add ebx, edx
mov edx, dword [0x45dbcc]
mov eax, 0x83228937
imul edx
add edx, dword [0x45dbcc]
sar edx, 0x19
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov ebx, eax
mov eax, 0x974409b3
imul esi
add edx, esi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add ebx, edx
mov edx, dword [str._r_____r____]
add eax, ebx
sub eax, dword [ebp - 0x820]
sub eax, edx
lea edx, [eax + edi + 0x276937b]
mov eax, dword [0x5616ec]
inc eax
mov dword [0x45dbc8], ecx
mov dword [0x45dbcc], edx
mov dword [0x5616ec], eax
cmp eax, 5
jg 0x407c4e
cmp dword [ebp + 0x10], 1
jne 0x407c4e
mov eax, 0x1066a8b3
imul ecx, ecx, 0x362805a
imul dword [0x45dbd8]
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0xcfdc5805
imul dword [0x45dbd0]
add edx, dword [0x45dbd0]
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, dword [0x45dbd8]
imul eax, eax, 0x5390766
add ebx, ecx
mov ecx, dword [0x45dbdc]
add ebx, eax
mov eax, 0xc41087d7
imul ecx
add edx, ecx
imul ecx, ecx, 0x362805a
sar edx, 0x1a
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbe4]
sub ebx, eax
sub ebx, edx
mov edx, dword [ebp - 0x820]
lea eax, [ebx + edx - 0x3e6f678]
mov edx, dword [0x45dbcc]
mov dword [0x45dbd0], eax
mov ebx, edx
mov eax, 0x2ee68aa5
imul ebx, ebx, 0x33bbc84
imul edx
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0xc41087d7
imul esi
add edx, esi
add ebx, ecx
sar edx, 0x1a
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ebx, ecx
mov ecx, dword [0x45dbcc]
mov eax, 0xc41087d7
imul ecx
add edx, ecx
sar edx, 0x1a
mov eax, edx
shr eax, 0x1f
add eax, edx
add ebx, dword [ebp - 0x820]
add eax, ebx
add eax, edi
mov dword [str._r_____r____], eax
mov eax, dword [0x571ac8]
mov ecx, dword [eax]
push eax
mov dword [ebp - 4], 0
call dword [ecx + 0x30]
mov esi, dword [0x45dbd4]
mov ecx, dword [0x45dbc8]
mov ebx, dword [0x45dbe8]
imul ecx, ecx, 0x293e68d
mov edx, ebx
imul edx, edx, 0x3e6f678
sub ecx, edx
mov eax, 0xc69fb513
imul esi
add edx, esi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov edi, dword [0x45dbe0]
mov eax, 0x4f2cca89
imul ebx
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x83228937
imul edi
add edx, edi
imul edi, edi, 0x3e78532
sar edx, 0x19
add ecx, edx
mov esi, edx
mov eax, 0x7c780d21
imul ebx
shr esi, 0x1f
add esi, ecx
sar edx, 0x18
add esi, edi
mov ecx, edx
shr ecx, 0x1f
add esi, edx
add ecx, esi
mov dword [0x45dbd8], ecx
mov eax, 1
jmp 0x407d52
inc edi
jmp 0x407953
mov edi, dword [0x45dbd4]
mov ecx, dword [0x45dbdc]
mov ebx, dword [0x45dbd8]
mov edx, dword [0x45dbe8]
imul ecx, ecx, 0x3e6f678
imul ebx, ebx, 0x35bbff4
mov eax, dword [0x45dbd0]
imul edi, edi, 0x20e865f
lea esi, [eax + edx]
imul esi, esi, 0x276937b
mov eax, 0x2ee68aa5
imul edx
sub esi, ecx
mov ecx, dword [0x45dbcc]
add esi, ebx
sar edx, 0x17
add esi, edx
mov ebx, edx
mov eax, 0xcfdc5805
imul ecx
add edx, ecx
sar edx, 0x19
shr ebx, 0x1f
mov ecx, edx
shr ecx, 0x1f
add ebx, esi
add ecx, edx
sub ebx, ecx
sub ebx, edi
mov dword [0x45dbe0], ebx
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x14]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043079d
mov esp, ebp
pop ebp
ret