Function at 0x42ecc4
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffea0
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x160], eax
xor eax, eax
push ebp
push 0x42eef7
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 4], eax
call sub.kernel32.dll_GetLastError
mov edi, eax
push 0
lea eax, [ebp - 0x160]
mov edx, dword [ebp + 8]
call fcn.00404154
mov eax, dword [ebp - 0x160]
lea ecx, [ebp - 0xc]
lea edx, [ebp - 0x15c]
call fcn.0042e5f8
test al, al
je 0x42eed8
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x15c]
xor ecx, ecx
mov al, 1
call fcn.0042e830
mov ebx, eax
test bl, bl
je 0x42ee5b
mov eax, dword [ebp - 0x158]
push eax
push 0
push 0x100040
call sub.kernel32.dll_OpenProcess
mov esi, eax
test esi, esi
je 0x42ee5d
push 2
push 0
push 0
lea eax, [ebp - 0x150]
push eax
call sub.kernel32.dll_GetCurrentProcess
push eax
mov eax, dword [ebp - 0x150]
push eax
push esi
call sub.kernel32.dll_DuplicateHandle
test eax, eax
je 0x42ee5d
call fcn.0042e278
mov dword [ebp - 0x10], eax
push 0
lea eax, [ebp - 8]
push eax
push 4
lea eax, [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x150]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x42ee40
cmp dword [ebp - 8], 4
jne 0x42ee40
push 0
lea eax, [ebp - 8]
push eax
push 4
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x150]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x42ee40
cmp dword [ebp - 8], 4
jne 0x42ee40
push 0
lea eax, [ebp - 8]
push eax
push 4
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x150]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x42ee40
cmp dword [ebp - 8], 4
jne 0x42ee40
push 0
lea eax, [ebp - 8]
push eax
push 4
lea eax, [ebp + 0x18]
push eax
mov eax, dword [ebp - 0x150]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x42ee40
cmp dword [ebp - 8], 4
jne 0x42ee40
push 0
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp - 0x150]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
je 0x42ee40
mov eax, dword [ebp - 8]
cmp eax, dword [ebp + 0x10]
je 0x42ee44
xor eax, eax
jmp 0x42ee46
mov al, 1
neg al
sbb eax, eax
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x150]
push eax
call sub.kernel32.dll_CloseHandle
jmp 0x42ee5d
xor esi, esi
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_ReleaseMutex
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_CloseHandle
test esi, esi
je 0x42eec9
cmp dword [ebp - 4], 0
je 0x42eec3
cmp dword [ebp + 0x18], 0
je 0x42eec3
push ebp
mov ecx, 0x7d0
mov edx, esi
mov eax, dword [ebp - 0x18]
call fcn.0042ec4c
pop ecx
test al, al
je 0x42eebe
push ebp
mov ecx, dword [ebp + 0x1c]
mov edx, esi
mov eax, dword [ebp - 0x14]
call fcn.0042ec4c
pop ecx
test al, al
je 0x42eeb7
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 0x18]
call fcn.004028b8
jmp 0x42eec3
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x42eec3
xor eax, eax
mov dword [ebp - 4], eax
push esi
call sub.kernel32.dll_CloseHandle
test bl, bl
je 0x42eed8
lea eax, [ebp - 0x15c]
call fcn.0042e7d0
push edi
call sub.kernel32.dll_SetLastError
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x42eefe
lea eax, [ebp - 0x160]
call fcn.00403f5c
ret