Function at 0x41e950
Capabilities:
Write file on windows

Disassembly:
push 0xf8
mov eax, 0x4ca3cc
call fcn.004981ed
mov edi, ecx
mov esi, dword [ebp + 8]
cmp dword [esi + 0x18], 8
jb 0x41e96f
mov eax, dword [esi + 4]
jmp 0x41e972
lea eax, [esi + 4]
xor ebx, ebx
push ebx
push 0x80
push 2
push ebx
push ebx
push 0xc0000000
push eax
call dword [0x50ca88]
mov dword [ebp - 0x14], eax
cmp eax, ebx
mov dword [ebp - 4], ebx
jne 0x41ea31
lea eax, [ebp - 0x104]
push eax
call fcn.00405267
push esi
push ecx
lea eax, [ebp - 0xfc]
push str.Error_opening
push eax
mov byte [ebp - 4], 1
call fcn.00405d69
add esp, 0xc
push eax
call fcn.00405eb8
pop ecx
pop ecx
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x104]
call fcn.004052f9
mov byte [ebp - 4], 2
cmp dword [eax + 0x18], 8
jb 0x41e9e4
mov eax, dword [eax + 4]
jmp 0x41e9e7
add eax, 4
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.00425a3b
push eax
lea eax, [ebp - 0x60]
push eax
mov byte [ebp - 4], 3
call fcn.004167e3
add esp, 0x10
mov byte [ebp - 4], 4
cmp dword [eax + 0x18], 0x10
jb 0x41ea11
mov eax, dword [eax + 4]
jmp 0x41ea14
add eax, 4
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x24]
call fcn.0048ec72
push 0x4f7698
lea eax, [ebp - 0x24]
push eax
call fcn.0048febc
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x41eb83
mov ecx, dword [edi + 8]
sub ecx, eax
mov dword [ebp - 0x28], ecx
je 0x41eb83
mov dword [ebp - 0x18], ebx
mov ebx, eax
lea esi, [ebp - 0x20]
call fcn.00418dc9
push 0
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x28]
call fcn.00417ee0
push eax
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x41eb23
lea eax, [ebp - 0x104]
push eax
call fcn.00405267
mov byte [ebp - 4], 5
mov eax, dword [edi + 4]
test eax, eax
jne 0x41ea92
xor edi, edi
jmp 0x41ea97
mov edi, dword [edi + 8]
sub edi, eax
push 0x4e231c
push ecx
push dword [ebp + 8]
lea eax, [ebp - 0xfc]
push ecx
push str._byte_s__to__
push ecx
push edi
push ecx
push str.Error_writing
push eax
call fcn.00405d69
add esp, 0xc
push eax
call fcn.0041f4d4
pop ecx
push eax
call fcn.0040c2c5
add esp, 0xc
push eax
call fcn.00405eb8
add esp, 0xc
push eax
call fcn.00405d69
pop ecx
pop ecx
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x104]
call fcn.004052f9
mov byte [ebp - 4], 6
cmp dword [eax + 0x18], 8
jb 0x41eafc
mov eax, dword [eax + 4]
jmp 0x41eaff
add eax, 4
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.00425a3b
push eax
lea eax, [ebp - 0x7c]
push eax
mov byte [ebp - 4], 7
call fcn.004167e3
add esp, 0x10
mov byte [ebp - 4], 8
jmp 0x41ea06
mov eax, dword [edi + 4]
test eax, eax
jne 0x41eb2e
xor edi, edi
jmp 0x41eb33
mov edi, dword [edi + 8]
sub edi, eax
cmp dword [ebp - 0x18], edi
je 0x41eb83
lea eax, [ebp - 0x104]
push eax
call fcn.00405267
lea eax, [ebp - 0xfc]
push str.Invalid_number_of_bytes_written.
push eax
mov byte [ebp - 4], 9
call fcn.00405d69
pop ecx
pop ecx
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x104]
call fcn.004052f9
push eax
lea eax, [ebp - 0x44]
push eax
mov byte [ebp - 4], 0xa
call fcn.004167e3
pop ecx
pop ecx
mov byte [ebp - 4], 0xb
jmp 0x41ea06
cmp dword [ebp - 0x14], 0xffffffff
je 0x41eb92
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.004982c5
ret