Function at 0x407840
Capabilities:
Check if file exists
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x47228c
mov eax, dword fs:[0]
push eax
sub esp, 0x324
mov eax, dword [0x491050]
xor eax, esp
mov dword [esp + 0x320], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x491050]
xor eax, esp
push eax
lea eax, [esp + 0x338]
mov dword fs:[0], eax
mov edi, ecx
call fcn.0040ed10
xor ecx, ecx
xor esi, esi
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x4078b9
push str.__atl_condVal
push esi
push 0xe2
push str.C:Program_Files__x86_Microsoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.00439d00
add esp, 0x14
cmp eax, 1
jne 0x4078af
int3
push 0x80004005
call fcn.0040d9e0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
mov dword [esp + 0x340], esi
cmp edi, esi
jne 0x4078d8
xor eax, eax
jmp 0x4078e9
mov eax, edi
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4078e0
sub eax, edx
push eax
push edi
lea ecx, [esp + 0x20]
call fcn.0040d7e0
call fcn.0040ed10
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x40792e
push str.__atl_condVal
push esi
push 0xe2
push str.C:Program_Files__x86_Microsoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.00439d00
add esp, 0x14
cmp eax, 1
jne 0x407924
int3
push 0x80004005
call fcn.0040d9e0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea ebp, [eax + 0x10]
mov dword [esp + 0x14], ebp
push 0x103
lea ecx, [esp + 0x2d]
mov byte [esp + 0x344], 1
push esi
push ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
mov byte [esp + 0x34], 0
call fcn.00444930
push 0x103
lea edx, [esp + 0x13d]
push esi
push edx
mov byte [esp + 0x144], 0
call fcn.00444930
add esp, 0x18
cmp edi, esi
jne 0x407989
xor eax, eax
jmp 0x407999
mov eax, edi
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407990
sub eax, edx
push eax
push edi
lea ecx, [esp + 0x20]
call fcn.0040d7e0
push 0x104
lea eax, [esp + 0x2c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [esp + 0x28]
push 0x5c
push ecx
call fcn.0043f1e0
add esp, 8
cmp eax, esi
je 0x407aaf
push str.dprep.ini
lea edx, [esp + 0x2c]
push 0x104
push edx
mov byte [eax], 0
call fcn.0043e110
add esp, 0xc
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x407aaf
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [esp + 0x28]
push ecx
push 0x104
lea edx, [esp + 0x134]
push edx
push str.SAM
push str.count
push str.zvmn_ex
call ebx
lea eax, [esp + 0x12c]
push eax
call fcn.00440aa0
mov esi, 1
add esp, 4
cmp eax, esi
mov dword [esp + 0x1c], eax
jl 0x407aaf
nop
push 0x103
lea ecx, [esp + 0x235]
push 0
push ecx
mov byte [esp + 0x23c], 0
call fcn.00444930
push 0xa
lea edx, [esp + 0x240]
push edx
push esi
call fcn.0046e0e0
add esp, 0x18
lea eax, [esp + 0x28]
push eax
push 0x104
lea ecx, [esp + 0x134]
push ecx
push str.SAM
lea edx, [esp + 0x240]
push edx
push str.zvmn_ex
call ebx
lea eax, [esp + 0x12c]
push eax
push edi
call dword [sym.imp.SHLWAPI.dll_StrStrIA]
test eax, eax
jne 0x407b11
inc esi
cmp esi, dword [esp + 0x1c]
jle 0x407a40
lea ecx, [esp + 0x24]
push ecx
push 0x488238
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0x24]
call fcn.0040c3a0
mov byte [esp + 0x340], 2
mov ecx, dword [eax]
lea eax, [ecx - 0x10]
lea esi, [ebp - 0x10]
cmp eax, esi
je 0x407c49
cmp dword [esi + 0xc], 0
jl 0x407c37
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x407c37
push eax
call fcn.0040d130
add esp, 4
mov ecx, esi
mov ebp, eax
call fcn.0040d540
add ebp, 0x10
mov dword [esp + 0x14], ebp
jmp 0x407c49
push 0x4878c0
lea ecx, [esp + 0x18]
push str.c:zvDPREP.log
push ecx
call fcn.0043ec90
add esp, 0xc
test eax, eax
jne 0x407b53
mov edx, dword [esp + 0x14]
push edx
push edi
call fcn.0043ed30
mov eax, dword [esp + 0x1c]
push eax
push 0x4878d4
call fcn.0043ed30
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0043efd0
add esp, 0x14
push 0x4878c0
lea edx, [esp + 0x18]
push str.c:zvDPREP.log
push edx
call fcn.0043ec90
add esp, 0xc
test eax, eax
jne 0x407b99
mov eax, dword [esp + 0x14]
push eax
push str.Above_line_present_in_dprep.ini_exclude_list_n
call fcn.0043ed30
mov ecx, dword [esp + 0x1c]
push ecx
push 0x4878d4
call fcn.0043ed30
mov edx, dword [esp + 0x24]
push edx
call fcn.0043efd0
add esp, 0x14
add ebp, 0xfffffff0
lea esi, [ebp + 0xc]
mov byte [esp + 0x340], 0
cmp dword [esi], 0
jne 0x407bca
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_Files__x86_Microsoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.00439d00
add esp, 0x14
cmp eax, 1
jne 0x407bca
int3
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
test eax, eax
jg 0x407be1
mov ecx, dword [ebp]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ebp
call eax
mov dword [esp + 0x340], 0xffffffff
mov esi, dword [esp + 0x18]
add esi, 0xfffffff0
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jne 0x407c1a
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_Files__x86_Microsoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.00439d00
add esp, 0x14
cmp eax, 1
jne 0x407c1a
int3
or ecx, 0xffffffff
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x407c30
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov al, 1
jmp 0x407f29
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.0040d7e0
mov ebp, dword [esp + 0x14]
mov byte [esp + 0x340], 1
mov esi, dword [esp + 0x1c]
add esi, 0xfffffff0
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jne 0x407c7f
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_Files__x86_Microsoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.00439d00
add esp, 0x14
cmp eax, 1
jne 0x407c7f
int3
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x407c95
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
jmp 0x407ca0
push 0x486f97
push ebp
call fcn.0043f8a0
add esp, 8
test eax, eax
setne al
test al, al
je 0x407e90
inc dword [esp + 0x20]
lea ecx, [esp + 0x24]
push ecx
push 0x488238
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0x24]
call fcn.0040c3a0
mov byte [esp + 0x340], 3
mov ecx, dword [eax]
lea eax, [ecx - 0x10]
lea esi, [ebp - 0x10]
cmp eax, esi
je 0x407d59
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x407d47
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x407d47
push eax
call fcn.0040d130
add esp, 4
cmp dword [edi], 0
mov ebp, eax
jne 0x407d28
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_Files__x86_Microsoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.00439d00
add esp, 0x14
cmp eax, 1
jne 0x407d28
int3
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x407d3e
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebp, 0x10
mov dword [esp + 0x14], ebp
jmp 0x407d59
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.0040d7e0
mov ebp, dword [esp + 0x14]
mov byte [esp + 0x340], 1
mov esi, dword [esp + 0x1c]
add esi, 0xfffffff0
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jne 0x407d8f
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_Files__x86_Microsoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.00439d00
add esp, 0x14
cmp eax, 1
jne 0x407d8f
int3
or ecx, 0xffffffff
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x407da5
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
push 0x486f97
push ebp
call fcn.0044fd00
add esp, 8
test eax, eax
je 0x407e90
cmp dword [esp + 0x20], 6
jne 0x407ca0
push ebp
push 0x488a60
call ebx
test eax, eax
je 0x407dee
push ebp
push 0x488a64
call ebx
test eax, eax
je 0x407dee
push ebp
push 0x488a68
call ebx
test eax, eax
jne 0x407ca0
add ebp, 0xfffffff0
lea esi, [ebp + 0xc]
mov byte [esp + 0x340], 0
cmp dword [esi], 0
jne 0x407e1f
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_Files__x86_Microsoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.00439d00
add esp, 0x14
cmp eax, 1
jne 0x407e1f
int3
or ecx, 0xffffffff
lock xadd dword [esi], ecx
dec ecx
test ecx, ecx
jg 0x407e36
mov ecx, dword [ebp]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ebp
call eax
mov dword [esp + 0x340], 0xffffffff
mov esi, dword [esp + 0x18]
add esi, 0xfffffff0
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jne 0x407e6f
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_Files__x86_Microsoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.00439d00
add esp, 0x14
cmp eax, 1
jne 0x407e6f
int3
or ecx, 0xffffffff
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x407c30
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov al, 1
jmp 0x407f29
add ebp, 0xfffffff0
lea esi, [ebp + 0xc]
mov byte [esp + 0x340], 0
cmp dword [esi], 0
jne 0x407ec1
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_Files__x86_Microsoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.00439d00
add esp, 0x14
cmp eax, 1
jne 0x407ec1
int3
or ecx, 0xffffffff
lock xadd dword [esi], ecx
dec ecx
test ecx, ecx
jg 0x407ed8
mov ecx, dword [ebp]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ebp
call eax
mov dword [esp + 0x340], 0xffffffff
mov esi, dword [esp + 0x18]
add esi, 0xfffffff0
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jne 0x407f11
push str.nRefs___0
push 0
push 0x6b
push str.C:Program_Files__x86_Microsoft_Visual_Studio_9.0VC_atlmfcinclude_atlsimpstr.h
push 2
call fcn.00439d00
add esp, 0x14
cmp eax, 1
jne 0x407f11
int3
or ecx, 0xffffffff
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x407f27
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
xor al, al
mov ecx, dword [esp + 0x338]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x320]
xor ecx, esp
call fcn.00439cd0
add esp, 0x330
ret