Function at 0x418344
Capabilities:
Delete file

Disassembly:
mov eax, 0x42c544
call sub.MSVCRT.dll__EH_prolog
sub esp, 0x1e4
and byte [ebp - 0xf], 0
and byte [ebp - 0xd], 0
push ebx
push esi
push edi
push 1
lea ecx, [ebp - 0x1f0]
mov byte [ebp - 0xe], 1
call fcn.0040b2f6
and dword [ebp - 4], 0
and dword [ebp - 0x14], 0
lea eax, [ebp - 0x24]
mov edi, 0x441ef8
push eax
mov ecx, edi
call fcn.00419ca2
push 0x40
push 0x43e218
push dword [eax]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCRT.dll__fsopen]
add esp, 0xc
xor ebx, ebx
test eax, eax
setne bl
and byte [ebp - 4], 0
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x1c], eax
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x418578
push 0x54
call sub.MFC42.DLL_operatornew
mov ebx, eax
pop ecx
test ebx, ebx
je 0x41853f
mov esi, dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [ebp - 0x1c]
test byte [eax + 0xc], 0x10
jne 0x41853f
cmp dword [ebp - 0x14], 0x14
jge 0x41853f
push ebx
push 0x43e21c
push eax
call dword [sym.imp.MSVCRT.dll_fscanf]
add esp, 0xc
cmp byte [ebx], 0
je 0x418537
lea ecx, [ebp - 0x18]
call sub.MFC42.DLL_CString::CString_3
lea eax, [ebx + 9]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x18]
push 0x43e220
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [ebp - 0x18]
call sub.MFC42.DLL_CString::MakeUpper
push 0x43e224
push dword [ebp - 0x18]
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jne 0x41844c
push ebx
mov byte [ebp - 0x20], 0x42
push str.BASE_CAL__s
jmp 0x418456
push ebx
mov byte [ebp - 0x20], 0x56
push str.TEST_CAL__s
lea eax, [ebp - 0x40]
push eax
call esi
add esp, 0xc
lea ecx, [ebp - 0x1f0]
push dword [ebp - 0x20]
push 0x52
push ebx
call fcn.0040b605
test al, al
jne 0x418499
push ebx
push str._s_NOT_FOUND
push dword [0x43b000]
call esi
mov ecx, dword [0x43b000]
add esp, 0xc
push 2
push 0
push ecx
call fcn.0041ae3d
and byte [ebp - 0xe], 0
cmp byte [ebp - 0xe], 0
je 0x4184ec
push 0x42
push 0x4b
lea ecx, [ebp - 0x1f0]
call fcn.0040c049
lea eax, [ebp - 0xf]
push 1
push eax
lea ecx, [ebp - 0x1f0]
call fcn.0040bf5a
test eax, eax
jne 0x4184ec
push str.MAJOR_VERSION
push 0x430ab8
push dword [0x43b000]
call esi
mov ecx, dword [0x43b000]
add esp, 0xc
push 2
push 0
push ecx
call fcn.0041ae3d
and byte [ebp - 0xe], 0
mov cl, byte [ebp - 0xf]
xor eax, eax
cmp dword [ebp - 0x14], eax
jle 0x41850a
mov edx, dword [ebp + 8]
cmp cl, byte [eax + edx]
je 0x418506
inc eax
cmp eax, dword [ebp - 0x14]
jl 0x4184f6
jmp 0x41850a
mov byte [ebp - 0xd], 1
cmp byte [ebp - 0xd], 0
jne 0x41851c
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x14]
inc dword [ebp - 0x14]
mov byte [edx + eax], cl
lea ecx, [ebp - 0x1f0]
call fcn.0040af3c
and byte [ebp - 0xd], 0
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call sub.MFC42.DLL_CString::CString
and byte [ebx], 0
jmp 0x4183d4
push dword [ebp - 0x1c]
call dword [sym.imp.MSVCRT.dll_fclose]
pop ecx
lea eax, [ebp + 8]
push eax
mov ecx, edi
call fcn.00419ca2
push dword [eax]
mov byte [ebp - 4], 3
call dword [sym.imp.MSVCRT.dll_remove]
and byte [ebp - 4], 0
pop ecx
lea ecx, [ebp + 8]
call sub.MFC42.DLL_CString::CString
test ebx, ebx
je 0x418578
push ebx
call sub.MFC42.DLL_operatordelete
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x90]
call fcn.0040b493
lea ecx, [ebp - 0x90]
call dword [sym.imp.MSVCIRT.dll_public_virtual:_void___thiscall_ios::destructor_void_]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 4