Function at 0x41468f
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x43d235
mov eax, dword fs:[0]
push eax
sub esp, 0x270
mov eax, dword [0x4524c8]
xor eax, esp
mov dword [esp + 0x268], eax
push ebx
push esi
push edi
mov eax, dword [0x4524c8]
xor eax, esp
push eax
lea eax, [esp + 0x280]
mov dword fs:[0], eax
mov dword [esp + 0x20], edx
mov edi, ecx
mov eax, dword [ebp + 8]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x10], eax
test edi, edi
je 0x41495a
xor esi, esi
cmp word [edi], si
je 0x41495a
xor eax, eax
push 0x206
mov word [esp + 0x70], ax
lea eax, [esp + 0x72]
push esi
push eax
call fcn.0041e3e0
add esp, 0xc
lea eax, [esp + 0x6c]
push edi
push str..pipe_s
push 0x104
push eax
call dword [sym.imp.SHLWAPI.dll_wnsprintfW]
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
add esp, 0xc
mov dword [esp + 0x28c], esi
lea ecx, [esp + 0x28]
call fcn.00413ea2
lea ecx, [esp + 0x24]
call fcn.00413f76
push esi
push 0x80
push 3
push ecx
lea ecx, [esp + 0x34]
call fcn.00413fc5
push eax
push esi
push 0xc0000000
lea eax, [esp + 0x84]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
mov dword [esp + 0x18], ebx
cmp ebx, 0xffffffff
jne 0x414826
mov edi, dword [ebp + 0x10]
mov ebx, 0xe7
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
jne 0x4147d9
push esi
lea eax, [esp + 0x70]
push eax
call dword [sym.imp.KERNEL32.dll_WaitNamedPipeW]
test eax, eax
jne 0x4147f6
mov edx, ebx
test edi, edi
je 0x414901
mov ecx, str.WaitRetry
dec edi
call fcn.00414256
jmp 0x4147f6
mov edx, eax
test edi, edi
je 0x414908
mov ecx, str.CreateRetry
dec edi
call fcn.00414256
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push 0x80
push 3
push ecx
lea ecx, [esp + 0x34]
call fcn.00413fc5
push eax
push esi
push 0xc0000000
lea eax, [esp + 0x84]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [esp + 0x18], eax
cmp eax, 0xffffffff
je 0x4147a8
mov eax, dword [esp + 0x10]
add eax, 8
mov dword [esp + 0x1c], esi
push eax
call fcn.0041dad6
mov edi, eax
pop ecx
test edi, edi
je 0x414945
push 4
lea eax, [esp + 0x24]
push eax
push edi
call fcn.0041e470
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ebx, dword [esp + 0x14]
xor ecx, ecx
test ebx, ebx
cmove eax, ecx
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push 4
push eax
lea eax, [edi + 4]
push eax
call fcn.0041e470
add esp, 0xc
test ebx, ebx
je 0x41488d
push dword [esp + 0x10]
lea eax, [edi + 8]
push ebx
push eax
call fcn.0041e470
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov ebx, esi
mov dword [esp + 0x14], esi
lea eax, [ecx + 8]
test eax, eax
je 0x414926
push esi
lea eax, [esp + 0x20]
sub ecx, ebx
push eax
add ecx, 8
lea eax, [ebx + edi]
push ecx
push eax
push dword [esp + 0x28]
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4148f2
mov ecx, dword [esp + 0x14]
mov eax, ecx
inc ecx
mov dword [esp + 0x14], ecx
cmp eax, 3
jg 0x414914
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov ecx, str.WriteFileRetry
call fcn.00414256
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add ebx, eax
lea eax, [ecx + 8]
cmp ebx, eax
jb 0x4148a2
jmp 0x414926
mov ecx, str.WaitEnd
jmp 0x41490d
mov ecx, str.CreateEnd
call fcn.00414256
jmp 0x414945
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov ecx, str.WriteFileEnd
call fcn.00414256
push edi
call fcn.0041f5a6
pop ecx
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x10]
add eax, 8
cmp eax, ebx
jne 0x414945
xor esi, esi
inc esi
or dword [esp + 0x288], 0xffffffff
lea ecx, [esp + 0x24]
call fcn.00413e1f
mov eax, esi
jmp 0x41495c
xor eax, eax
mov ecx, dword [esp + 0x280]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x268]
xor ecx, esp
call fcn.0041e2e9
mov esp, ebp
pop ebp
ret