Function at 0x407430
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44b020
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xfec
mov eax, dword [0x45f640]
mov ecx, dword [ebp + 0xc]
push ebx
xor eax, ebp
push esi
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x820], eax
mov eax, dword [0x45dbd8]
push 2
cdq
push 0xbeb5aaf
push edx
push eax
mov dword [ebp - 0x818], ecx
call fcn.004305f0
mov edi, eax
mov eax, dword [0x45dbd4]
cdq
mov esi, eax
mov eax, dword [0x45dbcc]
push 2
mov ebx, edx
cdq
push 0xbeb5aaf
push edx
push eax
mov dword [ebp - 0x824], ebx
call fcn.004305f0
push 1
push 0xba7a7bcd
push ebx
push esi
mov dword [ebp - 0x81c], eax
call fcn.004305f0
mov ecx, dword [ebp - 0x81c]
push 2
push 0x1b912b5c
mov edx, ebx
push edx
sub ecx, eax
push esi
mov dword [ebp - 0x81c], ecx
call fcn.004305f0
mov ecx, dword [ebp - 0x81c]
mov ebx, dword [0x45dbe0]
add ecx, eax
mov eax, dword [0x45dbdc]
imul eax, eax, 0x6d4760f7
mov esi, ebx
imul esi, esi, 0x264da184
add eax, edi
add eax, ecx
add esi, eax
mov eax, dword [0x45dbc8]
push 2
cdq
push 0xbeb5aaf
push edx
push eax
mov dword [0x45dbc4], esi
call fcn.004305f0
mov dword [ebp - 0x81c], eax
push 1
mov eax, ebx
cdq
push 0xba7a7bcd
push edx
push eax
call fcn.004305f0
mov ecx, dword [ebp - 0x81c]
add ecx, eax
mov eax, 0x1f64bb9f
mul dword [0x45dbd0]
shr edx, 0x1c
sub ecx, edx
mov eax, 0x9a168f41
mul dword [0x45dbdc]
shr edx, 0x1f
add ecx, edx
imul esi, esi, 0x1531b042
mov eax, 0x45291d0f
imul dword [0x45dbd4]
sar edx, 0x1d
sub ecx, esi
mov eax, edx
shr eax, 0x1f
add ecx, edx
add eax, ecx
sub eax, edi
mov dword [0x45dbcc], eax
mov eax, dword [ebp - 0x820]
test eax, eax
je 0x407aa4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407593
sub eax, edx
mov dword [ebp - 0x81c], eax
je 0x407aa4
mov edx, dword [ebp - 0x818]
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
push 0x800
lea ecx, [ebp - 0x814]
push ecx
push 0x44de89
push edx
push 0x44e160
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [0x45dbdc]
cdq
push 1
push 0x388a7f11
mov edi, edx
mov esi, eax
push edi
push esi
call fcn.004305f0
push 2
push 0x1b912b5c
push edi
push esi
mov ebx, eax
call fcn.004305f0
mov ecx, dword [0x45dbe8]
mov edi, dword [0x45dbc4]
imul ecx, ecx, 0x1b912b5c
mov esi, dword [0x45dbc8]
mov edx, edi
imul edx, edx, 0x4f22272
sub eax, ebx
add eax, ecx
add edx, dword [0x45dbe4]
mov ecx, esi
imul ecx, ecx, 0x264da184
add edx, eax
lea ebx, [ecx + edx + 0x7672ee00]
lea eax, [ebp - 0x814]
mov dword [0x45dbd4], ebx
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x407642
sub eax, ecx
mov dword [ebp - 0x818], eax
je 0x407a48
mov eax, dword [0x45dbd0]
push 2
cdq
push 0xbeb5aaf
push edx
push eax
call fcn.004305f0
mov ebx, eax
mov eax, dword [0x45dbe4]
push 2
cdq
push 0x1b912b5c
push edx
push eax
call fcn.004305f0
imul esi, esi, 0x3903276d
imul edi, edi, 0x7672ee00
mov ecx, dword [0x45dbcc]
add ebx, eax
mov eax, 0x1f64bb9f
mul ecx
imul ecx, ecx, 0x74f4f79a
shr edx, 0x1c
sub ebx, edx
lea edx, [ebp - 0x814]
sub ebx, esi
push edx
add ebx, edi
lea eax, [ebp - 0xff8]
add ebx, ecx
push 0x1f4
push eax
mov dword [0x45dbdc], ebx
call fcn.0040f9e0
mov edi, dword [ebp - 0x820]
add esp, 0xc
mov dword [ebp - 0x818], eax
xor esi, esi
lea esp, [esp]
cmp esi, dword [ebp - 0x818]
jge 0x407a3c
mov eax, dword [0x45dbe4]
push 2
cdq
push 0xbeb5aaf
push edx
push eax
call fcn.004305f0
mov ebx, eax
mov eax, dword [0x45dbd0]
push 0xfffffffffffffffe
cdq
push 0x45858433
push edx
push eax
call fcn.004305f0
sub eax, ebx
mov ebx, eax
mov eax, dword [0x45dbcc]
push 2
cdq
push 0x1b912b5c
push edx
push eax
call fcn.004305f0
mov ecx, dword [0x45dbd8]
add ebx, eax
imul ecx, ecx, 0x1b912b5c
mov eax, 0x9a168f41
mul dword [0x45dbc4]
mov eax, dword [ebp + esi*4 - 0xff8]
shr edx, 0x1f
add ebx, edx
mov edx, dword [0x45dbd4]
imul edx, edx, 0x7114fe22
sub ebx, ecx
push eax
add ebx, edx
push edi
mov dword [0x45dbe4], ebx
call fcn.00431120
add esp, 8
test eax, eax
je 0x407a36
mov eax, dword [0x45dbdc]
push 1
cdq
push 0xc6fcd893
push edx
push eax
call fcn.004305f0
mov edi, dword [0x45dbe0]
mov ecx, dword [0x45dbd0]
mov esi, eax
mov eax, 0x1f64bb9f
mul edi
shr edx, 0x1c
sub esi, edx
mov eax, 0x2d0ae8c5
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1f
add esi, ecx
mov ecx, edi
mov eax, 0x45291d0f
imul ecx, ecx, 0x3053d3f1
imul dword [0x45dbe4]
mov eax, dword [0x45dbd8]
sar edx, 0x1d
mov ebx, edx
add esi, ecx
add esi, edx
mov edx, eax
imul edx, edx, 0x7672ee00
shr ebx, 0x1f
push 2
add ebx, esi
add ebx, edx
cdq
push 0xbeb5aaf
push edx
push eax
mov dword [0x45dbc8], ebx
call fcn.004305f0
mov dword [ebp - 0x820], eax
push 2
mov eax, ebx
cdq
push 0xbeb5aaf
push edx
push eax
call fcn.004305f0
mov dword [ebp - 0x818], eax
push 1
mov eax, edi
cdq
push 0xba7a7bcd
push edx
push eax
call fcn.004305f0
mov ecx, dword [ebp - 0x818]
add ecx, eax
mov esi, dword [0x45dbc4]
mov eax, 0x1f64bb9f
mul dword [0x45dbd0]
shr edx, 0x1c
sub ecx, edx
mov eax, 0x9a168f41
mul dword [0x45dbdc]
mov eax, esi
imul eax, eax, 0x1531b042
shr edx, 0x1f
add ecx, edx
sub ecx, eax
mov eax, 0x45291d0f
imul dword [0x45dbd4]
sar edx, 0x1d
mov eax, edx
add ecx, edx
shr eax, 0x1f
add eax, ecx
sub eax, dword [ebp - 0x820]
mov dword [0x45dbcc], eax
mov eax, dword [0x5616ec]
inc eax
cmp eax, 5
mov dword [0x5616ec], eax
jg 0x4079b3
cmp dword [ebp + 0x10], 1
jne 0x4079b3
mov ebx, dword [0x45dbe8]
push 2
mov eax, ebx
cdq
push 0xbeb5aaf
push edx
push eax
call fcn.004305f0
imul esi, esi, 0xf414a551
imul ebx, ebx, 0x1531b042
sub esi, eax
mov eax, 0x9a168f41
mul dword [0x45dbd0]
shr edx, 0x1f
sub esi, edx
mov eax, 0x45291d0f
imul dword [0x45dbd8]
mov eax, dword [0x45dbe4]
imul eax, eax, 0x7d86eec7
sar edx, 0x1d
mov ecx, edx
sub esi, ebx
add esi, edx
shr ecx, 0x1f
add ecx, esi
sub ecx, eax
mov eax, dword [0x45dbd4]
lea edx, [ecx + edi - 0x7672ee00]
mov dword [0x45dbd0], edx
cdq
mov esi, eax
mov eax, dword [0x45dbcc]
push 2
mov ebx, edx
cdq
push 0xbeb5aaf
push edx
push eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x824], ebx
call fcn.004305f0
push 1
push 0xba7a7bcd
push ebx
push esi
mov dword [ebp - 0x818], eax
call fcn.004305f0
mov ecx, dword [ebp - 0x818]
push 2
sub ecx, eax
push 0x1b912b5c
mov eax, ebx
push eax
push esi
mov dword [ebp - 0x818], ecx
call fcn.004305f0
imul edi, edi, 0x264da184
mov ecx, dword [ebp - 0x818]
mov edx, dword [ebp - 0x820]
add ecx, eax
mov eax, dword [0x45dbdc]
imul eax, eax, 0x6d4760f7
add eax, edx
add eax, ecx
add edi, eax
mov eax, dword [0x571ac8]
mov dword [0x45dbc4], edi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
mov esi, dword [0x45dbc4]
mov edi, dword [0x45dbe0]
mov ebx, dword [0x45dbc8]
push 1
mov eax, edi
cdq
push 0x388a7f11
push edx
push eax
call fcn.004305f0
mov edi, eax
push 2
mov eax, ebx
cdq
push 0x1b912b5c
push edx
push eax
call fcn.004305f0
sub edi, eax
push 1
mov eax, esi
cdq
push 0xeace4fbe
push edx
push eax
call fcn.004305f0
imul ebx, ebx, 0x1b912b5c
mov ecx, dword [0x45dbe8]
add edi, eax
mov eax, 0x2d0ae8c5
mul ecx
mov eax, ecx
imul ecx, ecx, 0x7672ee00
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
add edi, eax
mov eax, dword [0x45dbcc]
imul eax, eax, 0x388a7f11
sub edi, eax
add edi, ebx
sub edi, ecx
mov dword [0x45dbd8], edi
mov eax, 1
jmp 0x407aa6
inc esi
jmp 0x4076e0
mov ebx, dword [0x45dbd4]
mov esi, dword [0x45dbc8]
mov eax, dword [0x45dbe8]
push 1
cdq
push 0xba7a7bcd
push edx
push eax
call fcn.004305f0
imul esi, esi, 0x1531b042
mov ecx, dword [0x45dbd0]
mov edi, eax
sub ebx, ecx
mov eax, 0x9a168f41
imul ebx, ebx, 0x2b57abfe
mul ecx
mov ecx, dword [0x45dbd8]
add edi, ebx
imul ecx, ecx, 0x3903276d
shr edx, 0x1f
sub edi, edx
mov edx, dword [0x45dbcc]
imul edx, edx, 0x7672ee00
sub edi, esi
sub edi, ecx
sub edi, edx
mov dword [0x45dbe0], edi
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.0043040d
mov esp, ebp
pop ebp
ret