Function at 0x42c3e0
Capabilities:
Delete file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc0c
mov eax, dword [0x519008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
mov dword [ebp - 0xc08], ebx
mov eax, dword [ebx]
test eax, eax
je 0x42c85f
push esi
push eax
call fcn.0040d0b9
push dword [ebx + 4]
call fcn.0040d0b9
add esp, 8
push dword [ebx + 0x30]
push ecx
lea ecx, [ebx + 0x20]
call fcn.00401ae0
mov dword [ebx + 0x30], 0
lea eax, [ebp - 0x804]
push dword [ebx + 0x18]
push str._s.header
push 0x400
push eax
call fcn.004014e0
mov esi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea eax, [ebp - 0xc04]
add esp, 0x10
push 0x200
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x804]
push eax
push 0
push 0xfde9
call esi
test eax, eax
je 0x42c49a
cmp word [ebp + eax*2 - 0xc04], 0
je 0x42c484
xor ecx, ecx
mov word [ebp + eax*2 - 0xc04], cx
lea eax, [ebp - 0xc04]
push 0x504ef0
push eax
call fcn.0040c65a
add esp, 8
jmp 0x42c49c
xor eax, eax
push 0x200
mov dword [ebx], eax
lea eax, [ebp - 0xc04]
push eax
push 0xffffffffffffffff
push dword [ebx + 0x18]
push 0
push 0xfde9
call esi
test eax, eax
je 0x42c4ef
cmp word [ebp + eax*2 - 0xc04], 0
je 0x42c4d1
xor ecx, ecx
mov word [ebp + eax*2 - 0xc04], cx
lea eax, [ebp - 0xc04]
push 0x504ef8
push eax
call fcn.0040c65a
add esp, 8
mov dword [ebp - 0xc0c], eax
mov esi, eax
jmp 0x42c4f7
xor esi, esi
mov dword [ebp - 0xc0c], esi
mov eax, dword [ebx + 8]
push edi
push esi
push 1
mov byte [eax], 0x72
mov eax, dword [ebx + 8]
push 7
mov byte [eax + 1], 0x68
mov eax, dword [ebx + 8]
mov byte [eax + 2], 0x65
mov eax, dword [ebx + 8]
mov byte [eax + 3], 0x61
mov eax, dword [ebx + 8]
mov byte [eax + 4], 0x7a
mov eax, dword [ebx + 8]
mov byte [eax + 5], 0x69
mov eax, dword [ebx + 8]
mov byte [eax + 6], 0x70
push dword [ebx + 8]
call fcn.0040d634
mov eax, dword [ebx + 8]
push esi
push 1
push 2
mov word [eax], 0x100
push dword [ebx + 8]
call fcn.0040d634
mov edx, dword [ebx + 0x1c]
mov eax, edx
mov ecx, dword [ebx + 8]
shr eax, 0x18
push esi
push 1
mov byte [ecx], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + 1], al
mov eax, edx
shr eax, 8
mov byte [ecx + 2], al
mov byte [ecx + 3], dl
push 4
push dword [ebx + 8]
call fcn.0040d634
mov ebx, dword [ebx]
push ebx
call fcn.0040cd09
push 2
push 0
push ebx
mov edi, eax
call fcn.0040d400
add esp, 0x40
push ebx
call fcn.0040cd09
push 0
push edi
push ebx
mov esi, eax
call fcn.0040d400
mov ebx, dword [ebp - 0xc08]
lea edx, [esi + 0x11]
push dword [ebp - 0xc0c]
mov eax, edx
shr eax, 0x18
mov ecx, dword [ebx + 8]
push 1
push 4
mov byte [ecx], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + 1], al
mov eax, edx
shr eax, 8
mov byte [ecx + 2], al
mov byte [ecx + 3], dl
push dword [ebx + 8]
call fcn.0040d634
mov ebx, dword [ebx]
push ebx
call fcn.0040cd09
push 2
push 0
push ebx
mov esi, eax
call fcn.0040d400
push ebx
call fcn.0040cd09
push 0
push esi
push ebx
mov edi, eax
call fcn.0040d400
mov ebx, dword [ebp - 0xc08]
add esp, 0x40
mov edx, edi
push dword [ebx + 0xc]
mov ecx, dword [ebx]
push dword [ebx + 8]
push dword [ebp - 0xc0c]
call fcn.0042b380
push dword [ebx]
call fcn.0040d0b9
push dword [ebx + 0x18]
lea eax, [ebp - 0x804]
push str._s.data
push 0x400
push eax
call fcn.004014e0
add esp, 0x20
lea eax, [ebp - 0x404]
push 0x200
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x804]
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
je 0x42c696
cmp word [ebp + eax*2 - 0x404], 0
je 0x42c678
xor ecx, ecx
mov word [ebp + eax*2 - 0x404], cx
lea eax, [ebp - 0x404]
push 0x504ef0
push eax
call fcn.0040c65a
add esp, 8
mov dword [ebp - 0xc08], eax
mov edi, eax
jmp 0x42c69e
xor edi, edi
mov dword [ebp - 0xc08], edi
push edi
mov dword [ebx + 4], edi
call fcn.0040cd09
push 2
push 0
push edi
mov esi, eax
call fcn.0040d400
push edi
call fcn.0040cd09
push 0
push esi
push dword [ebp - 0xc08]
mov edi, eax
call fcn.0040d400
push dword [ebx + 0xc]
mov esi, dword [ebp - 0xc0c]
mov edx, edi
push dword [ebx + 8]
mov ecx, dword [ebx + 4]
push esi
call fcn.0042b380
push dword [ebx + 4]
call fcn.0040d0b9
push esi
call fcn.0040d0b9
push dword [ebx + 0x18]
lea eax, [ebp - 0x804]
push str._s.header
push 0x400
push eax
call fcn.004014e0
mov esi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea eax, [ebp - 0x404]
add esp, 0x44
push 0x200
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x804]
push eax
push 0
push 0xfde9
call esi
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x42c756
cmp word [ebp + eax*2 - 0x404], 0
je 0x42c74d
xor ecx, ecx
mov word [ebp + eax*2 - 0x404], cx
lea eax, [ebp - 0x404]
push eax
call edi
push dword [ebx + 0x18]
lea eax, [ebp - 0x804]
push str._s.data
push 0x400
push eax
call fcn.004014e0
add esp, 0x10
lea eax, [ebp - 0x404]
push 0x200
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x804]
push eax
push 0
push 0xfde9
call esi
test eax, eax
je 0x42c7b2
cmp word [ebp + eax*2 - 0x404], 0
je 0x42c7a9
xor ecx, ecx
mov word [ebp + eax*2 - 0x404], cx
lea eax, [ebp - 0x404]
push eax
call edi
mov esi, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x18]
pop edi
mov eax, dword [esi]
cmp eax, vtable.rhea::AllocatorSimple_class_rhea::AllocatorTrackingPolicy_simple_.0
jne 0x42c86e
movzx eax, byte [ecx - 3]
lea edx, [ecx - 8]
movzx ecx, byte [edx + 4]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 7]
shl ecx, 0x10
or ecx, eax
movzx eax, byte [edx + 6]
dec dword [esi + 0x18]
and ecx, 0x3fffffff
shl eax, 8
or ecx, eax
sub dword [esi + 0x1c], ecx
push edx
call fcn.0040beca
add esp, 4
mov esi, dword [ebx + 0x10]
mov ecx, dword [ebx + 8]
mov eax, dword [esi]
cmp eax, vtable.rhea::AllocatorSimple_class_rhea::AllocatorTrackingPolicy_simple_.0
jne 0x42c878
movzx eax, byte [ecx - 3]
lea edx, [ecx - 8]
movzx ecx, byte [edx + 4]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 7]
shl ecx, 0x10
or ecx, eax
movzx eax, byte [edx + 6]
dec dword [esi + 0x18]
and ecx, 0x3fffffff
shl eax, 8
or ecx, eax
sub dword [esi + 0x1c], ecx
push edx
call fcn.0040beca
add esp, 4
mov dword [ebx + 0x18], 0
mov dword [ebx + 8], 0
mov dword [ebx], 0
mov dword [ebx + 4], 0
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.00403d8c
mov esp, ebp
pop ebp
ret
push 0
push ecx
mov ecx, esi
call dword [eax + 0x10]
jmp 0x42c7fd
push 0
push ecx
mov ecx, esi
call dword [eax + 0x10]
jmp 0x42c843