Function at 0x2e06e36b
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
push ebx
push esi
push edi
mov ebx, ecx
call fcn.2e06e1cb
push dword [ebp + 0x1c]
and dword [ebp - 0xc], 0
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
call fcn.2e06df17
mov edi, dword [ebp + 0x14]
mov eax, 0x10000
mov dword [ebp - 8], edi
cmp edi, eax
jb 0x2e06e3a2
mov dword [ebp - 8], eax
push edi
push dword [ebp + 0x18]
lea ecx, [ebp - 0x54]
call fcn.2e06df92
add edi, dword [ebp + 8]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
push 0
pop esi
adc esi, dword [ebp + 0xc]
push 0
add ecx, 0x10000
pop edx
adc eax, edx
cmp esi, eax
jb 0x2e06e409
ja 0x2e06e3d2
cmp edi, ecx
jbe 0x2e06e409
cmp dword [ebp - 0x50], edx
je 0x2e06e3e4
lea ecx, [ebp - 0x54]
call fcn.2e071a96
mov dword [ebp - 4], eax
jmp 0x2e06e3e7
mov dword [ebp - 4], edx
cmp dword [ebp - 4], 0
jl 0x2e06e51d
push dword [ebp + 0x1c]
lea eax, [ebx + 8]
mov ecx, dword [eax]
push esi
push edi
push eax
call dword [ecx + 0x18]
xor ecx, ecx
test eax, eax
setge cl
mov dword [ebp - 0xc], ecx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.2e06b579
mov edi, dword [ebp + 0xc]
push edi
push dword [ebp + 8]
mov dword [ebp - 0x24], eax
call fcn.2e06b583
xor esi, esi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x50], esi
je 0x2e06e43d
lea ecx, [ebp - 0x54]
call fcn.2e071a96
mov dword [ebp - 4], eax
jmp 0x2e06e440
mov dword [ebp - 4], esi
cmp dword [ebp - 4], esi
jl 0x2e06e505
mov eax, dword [ebx + 0x30]
lea ecx, [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x10]
push ecx
push dword [ebp - 8]
push dword [ebp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
cmp dword [ebx + 0x38], esi
je 0x2e06e48b
cmp eax, esi
jne 0x2e06e4aa
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
jne 0x2e06e48f
mov eax, dword [ebx + 0x30]
push 1
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x2c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
cmp eax, esi
jne 0x2e06e4aa
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, esi
jle 0x2e06e4a3
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 4], eax
cmp eax, esi
jne 0x2e06e505
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 0x18]
add dword [ecx], eax
mov ecx, dword [ebp + 8]
sub dword [ebp + 0x14], eax
add dword [ebp + 0x10], eax
add ecx, eax
adc edi, esi
mov dword [ebp + 8], ecx
mov dword [ebp + 0xc], edi
cmp dword [ebp - 0x14], edi
ja 0x2e06e4d7
jb 0x2e06e4d1
cmp dword [ebp - 0x18], ecx
ja 0x2e06e4d7
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], edi
mov dword [ebp - 4], esi
cmp dword [ebp - 8], eax
jne 0x2e06e4f9
cmp dword [ebp + 0x14], esi
je 0x2e06e502
mov eax, 0x10000
cmp dword [ebp + 0x14], eax
jae 0x2e06e4f1
mov eax, dword [ebp + 0x14]
mov dword [ebp - 8], eax
jmp 0x2e06e409
mov dword [ebp - 4], 0x80004005
jmp 0x2e06e505
mov dword [ebp - 0xc], esi
cmp dword [ebp - 0xc], esi
je 0x2e06e51d
push 0
push dword [ebp - 0x14]
lea eax, [ebx + 8]
push dword [ebp - 0x18]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
jmp 0x2e06e529
mov eax, dword [ebp - 0x18]
mov dword [ebx + 0x60], eax
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0x64], eax
cmp dword [ebp - 0x50], 0
pop edi
pop esi
mov dword [ebp - 0x54], 0x2e0229b4
pop ebx
je 0x2e06e541
lea ecx, [ebp - 0x54]
call fcn.2e071a39
mov eax, dword [ebp - 4]
leave
ret 0x18