Function at 0x428bb0
Capabilities:
Check if file exists

Disassembly:
push 0xffffffffffffffff
push 0x43f37a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x238
push ebx
push ebp
push esi
push edi
mov edi, ecx
xor ebx, ebx
push ebx
push ebx
mov eax, dword [edi + 0xa4]
push 0xf1
push eax
mov dword [esp + 0x34], edi
call dword [sym.imp.USER32.dll_SendMessageA]
lea ecx, [edi + 0x378]
call fcn.00417400
xor esi, esi
lea ecx, [esp + 0x38]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], ebx
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x34]
mov dword [esp + 0x250], ebx
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x30]
mov byte [esp + 0x250], 1
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [0x452204]
mov byte [esp + 0x250], 2
cmp eax, ebx
jne 0x428e6f
push 0x10
call sub.MFC42.DLL_operatornew
mov ebp, eax
add esp, 4
mov dword [esp + 0x3c], ebp
cmp ebp, ebx
je 0x428e16
mov dword [ebp], ebx
mov dword [ebp + 4], ebx
mov dword [ebp + 8], ebx
mov dword [ebp + 0xc], ebx
lea ecx, [esp + 0x10]
mov byte [esp + 0x250], 7
call sub.MFC42.DLL_CString::CString_3
mov byte [esp + 0x250], 8
call sub.MFC42.DLL_AfxGetModuleState
mov esi, dword [eax + 4]
push 0x104
push 0x104
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::GetBuffer
mov ecx, dword [esi + 0x6c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push str...LeakCheck.dll
push 0x104
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::GetBuffer
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendA]
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::ReleaseBuffer
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x145]
mov byte [esp + 0x144], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x41]
mov byte [esp + 0x40], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x144]
push 0x103
push edx
push eax
call fcn.00403a40
lea edi, [esp + 0x150]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x4c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x2e
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x50]
push ecx
call dword [sym.imp.MSVCRT.dll_strchr]
add esp, 0x14
cmp eax, ebx
je 0x428d4e
mov byte [eax], bl
lea edx, [esp + 0x40]
push edx
call dword [sym.imp.MSVCRT.dll_atoi]
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x428dfb
lea ecx, [esp + 0x144]
push str.4.1.0.1001
push ecx
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jge 0x428d90
cmp esi, 4
jle 0x428dfb
mov edx, dword [esp + 0x10]
push ebp
push 0x4460a8
push ebx
push ebx
push 0x446108
push edx
call fcn.00418db0
lea eax, [ebp + 4]
push eax
mov eax, dword [esp + 0x2c]
push 0x4460b8
push ebx
push ebx
push 0x446118
push eax
call fcn.00418db0
mov ecx, dword [esp + 0x40]
lea eax, [ebp + 8]
push eax
push 0x4460c8
push ebx
push ebx
push 0x446128
push ecx
call fcn.00418db0
mov edx, dword [esp + 0x58]
add esp, 0x48
lea eax, [ebp + 0xc]
push eax
push 0x4460e8
push ebx
push ebx
push 0x446148
push edx
call fcn.00418db0
add esp, 0x18
lea ecx, [esp + 0x10]
mov byte [esp + 0x250], 7
call sub.MFC42.DLL_CString::CString
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
jmp 0x428e18
xor ebp, ebp
lea ecx, [edi + 0xc4]
mov dword [0x452204], ebp
push 0x452204
push 1
mov eax, dword [ecx + 8]
mov byte [esp + 0x258], 2
push eax
call fcn.00406f30
mov eax, dword [0x452204]
mov eax, dword [eax]
cmp eax, ebx
je 0x428e59
mov ecx, dword [eax]
lea edx, [esp + 0x1c]
push edx
push eax
call dword [ecx + 0xc]
mov eax, dword [esp + 0x1c]
push eax
jmp 0x428e63
mov dword [esp + 0x1c], 4
push 4
call fcn.0043a1c0
mov ecx, eax
call fcn.0043a220
mov ecx, dword [0x452204]
mov eax, dword [ecx]
cmp eax, ebx
je 0x42915c
mov edx, dword [eax]
lea ecx, [esp + 0x20]
push ecx
push esi
push eax
call dword [edx + 0x60]
xor edx, edx
test eax, eax
setge dl
mov eax, edx
cmp eax, ebx
je 0x42915c
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x42915c
mov dword [esp + 0x10], ebx
mov ecx, dword [eax + 4]
mov eax, dword [0x452204]
mov eax, dword [eax]
cmp eax, ebx
je 0x429135
lea ebp, [esp + 0x1c]
mov dword [esp + 0x1c], ebx
mov edx, dword [eax]
push ebp
lea ebp, [esp + 0x14]
push ebp
push ecx
push eax
call dword [edx + 0x58]
test eax, eax
jl 0x428edd
cmp dword [esp + 0x1c], ebx
jne 0x428ee6
mov dword [esp + 0x10], ebx
jmp 0x429135
cmp dword [esp + 0x10], ebx
je 0x429135
mov ebp, dword [esp + 0x28]
push 0x1c
inc ebp
mov dword [esp + 0x2c], ebp
call sub.MFC42.DLL_operatornew
add esp, 4
cmp eax, ebx
je 0x428f28
mov cl, byte [esp + 0x2f]
mov dword [eax + 4], ebx
mov byte [eax], cl
mov ecx, 1
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ecx
mov esi, eax
jmp 0x428f2a
xor esi, esi
push 0x20c
call sub.MFC42.DLL_operatornew
mov edx, eax
add esp, 4
cmp edx, ebx
je 0x428f63
mov ecx, 0x41
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, 0x41
lea edi, [edx + 0x104]
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x24]
mov dword [edx + 0x208], ebx
mov eax, edx
jmp 0x428f65
xor eax, eax
mov edx, dword [esp + 0x20]
mov ebp, dword [sym.imp.MSVCRT.dll__snprintf]
mov dword [esp + 0x14], eax
add eax, 0x104
mov ecx, dword [edx + 0x28]
push ecx
push 0x45012c
push 0x103
push eax
call ebp
mov edx, dword [esp + 0x24]
add esp, 0x10
lea eax, [esp + 0x14]
mov byte [edx + 0x207], bl
mov ecx, dword [esi + 8]
push eax
push 1
push ecx
mov ecx, esi
call fcn.00406f30
push 0x20c
call sub.MFC42.DLL_operatornew
mov edx, eax
add esp, 4
cmp edx, ebx
je 0x428fdf
mov ecx, 0x41
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, 0x41
lea edi, [edx + 0x104]
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x24]
mov dword [edx + 0x208], ebx
jmp 0x428fe1
xor edx, edx
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], edx
add edx, 0x104
mov ecx, dword [eax + 4]
push ecx
push str.KB_d
push 0x103
push edx
call ebp
mov edx, dword [esp + 0x24]
add esp, 0x10
lea eax, [esp + 0x14]
mov byte [edx + 0x207], bl
mov ecx, dword [esi + 8]
push eax
push 1
push ecx
mov ecx, esi
call fcn.00406f30
push 0x20c
call sub.MFC42.DLL_operatornew
mov edx, eax
add esp, 4
cmp edx, ebx
je 0x429056
mov ecx, 0x41
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, 0x41
lea edi, [edx + 0x104]
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x24]
mov dword [edx + 0x208], ebx
jmp 0x429058
xor edx, edx
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], edx
add edx, 0x104
mov ecx, dword [eax + 8]
push ecx
push 0x45012c
push 0x103
push edx
call ebp
mov edx, dword [esp + 0x24]
add esp, 0x10
lea eax, [esp + 0x14]
mov byte [edx + 0x207], bl
mov ecx, dword [esi + 8]
push eax
push 1
push ecx
mov ecx, esi
call fcn.00406f30
push 0x20c
call sub.MFC42.DLL_operatornew
mov edx, eax
add esp, 4
cmp edx, ebx
je 0x4290cd
mov ecx, 0x41
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, 0x41
lea edi, [edx + 0x104]
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x24]
mov dword [edx + 0x208], ebx
jmp 0x4290cf
xor edx, edx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], edx
add edx, 0x104
mov ecx, dword [eax + 4]
push ecx
push 0x45012c
push 0x103
push edx
call ebp
mov edx, dword [esp + 0x24]
add esp, 0x10
lea eax, [esp + 0x14]
mov byte [edx + 0x207], bl
mov ecx, dword [esi + 8]
push eax
push 1
push ecx
mov ecx, esi
call fcn.00406f30
mov eax, dword [esp + 0x20]
push esi
push ebx
push 0xffffffffffffffff
mov edx, dword [eax + 0x28]
mov eax, dword [eax + 4]
push 1
push 1
push ebx
push edx
push eax
lea ecx, [edi + 0x378]
call fcn.00416be0
mov esi, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x258]
inc esi
push ecx
push esi
push 0x4cd
push edx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x28], esi
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x428e6f
cmp dword [esp + 0x28], ebx
jne 0x42934d
push ebx
lea ecx, [edi + 0x1c0]
call sub.MFC42.DLL_CWnd::EnableWindow
push ebx
lea ecx, [edi + 0xe8]
call sub.MFC42.DLL_CWnd::EnableWindow
push ebx
lea ecx, [edi + 0x298]
call sub.MFC42.DLL_CWnd::EnableWindow
push ebx
lea ecx, [edi + 0x84]
call sub.MFC42.DLL_CWnd::EnableWindow
push ebx
push ebx
push 0xffffffffffffffff
push 1
push 2
push ebx
push ebx
push 0xde
call fcn.004232b0
mov ecx, eax
call fcn.00423b90
lea ebp, [edi + 0x378]
push eax
push ebx
mov ecx, ebp
call fcn.00416be0
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_3
lea eax, [esp + 0x1c]
mov ecx, edi
push eax
mov byte [esp + 0x254], 9
mov dword [esp + 0x20], ebx
call fcn.0042de70
lea esi, [edi + 0x864]
mov ecx, esi
call fcn.00405610
push ebx
push 0xdf
call fcn.004232b0
mov ecx, eax
call fcn.00423b90
push eax
mov ecx, esi
call fcn.00405830
mov eax, dword [esp + 0x18]
cmp eax, ebx
jle 0x42925e
push eax
push 1
push 0xe0
call fcn.004232b0
mov ecx, eax
call fcn.00423b90
lea ecx, [esp + 0x14]
push eax
push ecx
call sub.MFC42.DLL_CString::Format
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov dword [esp + 0x18], edx
push 0x7d5
push ebx
push 0xe1
call fcn.004232b0
mov ecx, eax
call fcn.00423b90
push eax
mov eax, dword [esp + 0x20]
push eax
mov ecx, esi
call fcn.00405700
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x4292b4
push eax
push 1
push 0xe2
call fcn.004232b0
mov ecx, eax
call fcn.00423b90
lea ecx, [esp + 0x14]
push eax
push ecx
call sub.MFC42.DLL_CString::Format
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov dword [esp + 0x18], edx
push 0x7d1
push ebx
push 0xe1
call fcn.004232b0
mov ecx, eax
call fcn.00423b90
push eax
mov eax, dword [esp + 0x20]
push eax
mov ecx, esi
call fcn.00405700
push 0x7d2
push ebx
push 0xe4
call fcn.004232b0
mov ecx, eax
call fcn.00423b90
push eax
push ebx
push 0xe3
call fcn.004232b0
mov ecx, eax
call fcn.00423b90
push eax
mov ecx, esi
call fcn.00405700
push 0x7d3
push ebx
push 0xe6
call fcn.004232b0
mov ecx, eax
call fcn.00423b90
push eax
push ebx
push 0xe5
call fcn.004232b0
mov ecx, eax
call fcn.00423b90
push eax
mov ecx, esi
call fcn.00405700
mov ecx, esi
call fcn.00405660
push 5
mov ecx, esi
call sub.MFC42.DLL_CWnd::ShowWindow
push ebx
mov ecx, ebp
call sub.MFC42.DLL_CWnd::ShowWindow
lea ecx, [esp + 0x10]
mov dword [edi + 0xc38], 1
mov byte [esp + 0x250], 2
call sub.MFC42.DLL_CString::CString
jmp 0x4293a0
push 1
lea ecx, [edi + 0x1c0]
call sub.MFC42.DLL_CWnd::EnableWindow
push 1
lea ecx, [edi + 0xe8]
call sub.MFC42.DLL_CWnd::EnableWindow
push 1
lea ecx, [edi + 0x298]
call sub.MFC42.DLL_CWnd::EnableWindow
push 1
lea ecx, [edi + 0x84]
call sub.MFC42.DLL_CWnd::EnableWindow
push ebx
lea ecx, [edi + 0x864]
call sub.MFC42.DLL_CWnd::ShowWindow
push 5
lea ecx, [edi + 0x378]
call sub.MFC42.DLL_CWnd::ShowWindow
mov dword [edi + 0xc38], ebx
lea ecx, [esp + 0x30]
mov byte [esp + 0x250], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x34]
mov byte [esp + 0x250], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x38]
mov dword [esp + 0x250], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x248]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x244
ret 4