Function at 0x40542e
Capabilities:
Delete file
Get file size
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x134
push edi
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x11c], 0
mov byte [ebp - 0x104], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x103]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x118], 0xffffffff
mov dword [ebp - 0x128], 0xffffffff
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x124], 0
push 0x1000
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x120], eax
cmp dword [ebp + 8], 0
jne 0x4054d5
jmp 0x405837
cmp dword [ebp + 0xc], 0
jne 0x4054e0
jmp 0x405832
push 0x32
lea ecx, [ebp - 0x104]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.00405841
add esp, 0xc
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0
jne 0x405509
jmp 0x40582d
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 0xffffffff
jne 0x405539
jmp 0x405828
mov dword [ebp - 0x11c], 2
cmp dword [ebp + 0x10], 0
je 0x405560
lea ecx, [ebp - 0x104]
push ecx
mov edx, dword [ebp - 0x11c]
push edx
push 0
push 0
push 0
call dword [ebp + 0x10]
push 0
push 0x80
push 2
push 0
push 1
push 0x40000000
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0xffffffff
jne 0x405590
jmp 0x405823
push 0
mov ecx, dword [ebp - 0x118]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x10c], 0xffffffff
jne 0x4055b3
jmp 0x40581e
mov dword [ebp - 0x11c], 2
cmp dword [ebp + 0x10], 0
je 0x4055e4
lea edx, [ebp - 0x104]
push edx
mov eax, dword [ebp - 0x11c]
push eax
push 0
mov ecx, dword [ebp - 0x114]
push ecx
mov edx, dword [ebp - 0x10c]
push edx
call dword [ebp + 0x10]
xor eax, eax
mov al, byte [0x4331a0]
test eax, eax
jne 0x4055f4
jmp 0x405819
push 0
lea ecx, [ebp - 0x124]
push ecx
push 0x1000
mov edx, dword [ebp - 0x120]
push edx
mov eax, dword [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0
jne 0x40562a
jmp 0x405814
push 0
lea ecx, [ebp - 0x108]
push ecx
mov edx, dword [ebp - 0x124]
push edx
mov eax, dword [ebp - 0x120]
push eax
mov ecx, dword [ebp - 0x128]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0
jne 0x405662
jmp 0x40580f
mov edx, dword [ebp - 0x114]
add edx, dword [ebp - 0x108]
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x11c], 5
cmp dword [ebp + 0x10], 0
je 0x4056a5
lea eax, [ebp - 0x104]
push eax
mov ecx, dword [ebp - 0x11c]
push ecx
push 0
mov edx, dword [ebp - 0x114]
push edx
mov eax, dword [ebp - 0x10c]
push eax
call dword [ebp + 0x10]
cmp dword [ebp - 0x124], 0
ja 0x4055e4
mov ecx, dword [ebp - 0x128]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x128], 0
mov edx, dword [ebp - 0x114]
cmp edx, dword [ebp - 0x10c]
je 0x405712
mov dword [ebp - 0x11c], 0
cmp dword [ebp + 0x10], 0
je 0x405703
lea eax, [ebp - 0x104]
push eax
mov ecx, dword [ebp - 0x11c]
push ecx
push 0
push 0
mov edx, dword [ebp - 0x10c]
push edx
call dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x40580a
mov dword [ebp - 0x11c], 6
cmp dword [ebp + 0x10], 0
je 0x405743
lea ecx, [ebp - 0x104]
push ecx
mov edx, dword [ebp - 0x11c]
push edx
push 0
mov eax, dword [ebp - 0x114]
push eax
mov ecx, dword [ebp - 0x10c]
push ecx
call dword [ebp + 0x10]
mov dword [ebp - 0x12c], 1
cmp dword [ebp - 0x12c], 0
jne 0x405782
mov dword [ebp - 0x11c], 0
cmp dword [ebp + 0x10], 0
je 0x405782
lea edx, [ebp - 0x104]
push edx
mov eax, dword [ebp - 0x11c]
push eax
push 0
push 0
mov ecx, dword [ebp - 0x10c]
push ecx
call dword [ebp + 0x10]
xor edx, edx
mov dl, byte [0x4331a0]
test edx, edx
jne 0x4057ba
mov dword [ebp - 0x11c], 7
cmp dword [ebp + 0x10], 0
je 0x4057ba
lea eax, [ebp - 0x104]
push eax
mov ecx, dword [ebp - 0x11c]
push ecx
push 0
push 0
mov edx, dword [ebp - 0x10c]
push edx
call dword [ebp + 0x10]
cmp dword [ebp - 0x120], 0
je 0x4057e8
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x134], eax
mov ecx, dword [ebp - 0x134]
push ecx
call sub.MFC42.DLL_operatordelete
add esp, 4
mov dword [ebp - 0x120], 0
mov edx, dword [ebp - 0x128]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x11c]
jmp 0x40583c
jmp 0x40574d
jmp 0x40574d
jmp 0x40574d
jmp 0x405782
jmp 0x40574d
jmp 0x40574d
jmp 0x40574d
jmp 0x40574d
jmp 0x40574d
jmp 0x40574d
pop edi
mov esp, ebp
pop ebp
ret