Function at 0x105c117
Capabilities:
Write file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x30
or dword [ebp - 0xc], 0xffffffff
push ebx
push esi
push edi
mov ebx, ecx
xor edi, edi
push 0x1026a14
mov esi, 0x100000
push 0x5e
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 8], esi
mov dword [ebp - 0x20], edi
call sub.vdsutil.dll_public:_void___thiscall_CVdsCallTracer::constructor_unsigned_long_int__char_const__
lea eax, [ebp - 0xc]
push eax
push 0xc0000000
push dword [ebx + 0x9c]
call sub.vdsutil.dll_unsigned_long_int___stdcall_OpenDevice_unsigned_short_int___unsigned_long_int__void___
mov ebx, eax
cmp ebx, edi
je 0x105c191
push ebx
push 0x10269f0
push edi
push 0x5e
call sub.vdsutil.dll_void___cdecl_VdsTraceEx_unsigned_long_int__unsigned_long_int__char__
add esp, 0x10
cmp ebx, edi
jle 0x105c31b
and ebx, 0xffff
or ebx, 0x80070000
jmp 0x105c319
cmp dword [ebp - 8], 0x200
jb 0x105c1be
push dword [ebp - 8]
push 8
call dword [sym.imp.API_MS_Win_Core_Heap_L1_1_0.dll_GetProcessHeap]
push eax
call sub.vdsutil.dll_void____stdcall_VdsHeapAlloc_void___unsigned_long_int__unsigned_long_int_
push eax
lea ecx, [ebp - 0x10]
call sym.vds.exe_public:_char____thiscall_CVdsHeapPtr_char_::operator_char__
cmp dword [ebp - 0x10], edi
jne 0x105c1d9
shr dword [ebp - 8], 1
jmp 0x105c191
mov ebx, 0x8007000e
push ebx
push 0x10269d0
push edi
push 0x5e
call sub.vdsutil.dll_void___cdecl_VdsTraceEx_unsigned_long_int__unsigned_long_int__char__
add esp, 0x10
jmp 0x105c2cf
xor edx, edx
mov eax, esi
div dword [ebp - 8]
mov ebx, dword [sym.imp.API_MS_Win_Core_File_L1_1_0.dll_SetFilePointerEx]
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 4], eax
mov dword [ebp - 0x18], eax
xor eax, eax
inc eax
cmp dword [ebp - 4], edi
jbe 0x105c273
cmp eax, edi
je 0x105c236
push edi
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 8]
push dword [ebp - 0x10]
push dword [ebp - 0xc]
call dword [sym.imp.API_MS_Win_Core_File_L1_1_0.dll_WriteFile]
cmp eax, edi
je 0x105c22d
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x14]
push edi
adc dword [ebp - 0x24], edi
push edi
push dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
push eax
push dword [ebp - 0xc]
call ebx
dec dword [ebp - 4]
jne 0x105c1fa
cmp eax, edi
jne 0x105c273
call dword [sym.imp.API_MS_Win_Core_ErrorHandling_L1_1_0.dll_GetLastError]
mov esi, eax
mov eax, dword [ebp - 0x18]
dec eax
push esi
cmp dword [ebp - 4], eax
jne 0x105c26c
push 0x10269ac
push edi
push 0x5e
call sub.vdsutil.dll_void___cdecl_VdsTraceEx_unsigned_long_int__unsigned_long_int__char__
add esp, 0x10
cmp esi, edi
jle 0x105c268
and esi, 0xffff
or esi, 0x80070000
mov ebx, esi
jmp 0x105c2cf
push 0x1026988
jmp 0x105c24d
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 4], eax
mov eax, dword [ecx + 0x68]
mov ecx, dword [ecx + 0x6c]
push edi
sub eax, esi
push edi
sbb ecx, edi
push ecx
push eax
push dword [ebp - 0xc]
call ebx
cmp eax, edi
je 0x105c2b8
xor eax, eax
inc eax
cmp dword [ebp - 4], edi
jbe 0x105c2cd
cmp eax, edi
je 0x105c2b8
push edi
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 8]
push dword [ebp - 0x10]
push dword [ebp - 0xc]
call dword [sym.imp.API_MS_Win_Core_File_L1_1_0.dll_WriteFile]
dec dword [ebp - 4]
jne 0x105c29b
cmp eax, 1
je 0x105c2cd
call dword [sym.imp.API_MS_Win_Core_ErrorHandling_L1_1_0.dll_GetLastError]
mov esi, eax
push esi
push 0x102695c
jmp 0x105c24d
xor ebx, ebx
push edi
lea eax, [ebp - 0x20]
push eax
push edi
push edi
push edi
push edi
push 0x70140
push dword [ebp - 0xc]
call dword [sym.imp.API_MS_Win_Core_IO_L1_1_0.dll_DeviceIoControl]
test eax, eax
jne 0x105c319
call dword [sym.imp.API_MS_Win_Core_ErrorHandling_L1_1_0.dll_GetLastError]
mov esi, eax
push esi
push 0x1026934
push edi
push 0x5e
call sub.vdsutil.dll_void___cdecl_VdsTraceEx_unsigned_long_int__unsigned_long_int__char__
add esp, 0x10
cmp ebx, edi
jne 0x105c31b
cmp esi, edi
jle 0x105c317
and esi, 0xffff
or esi, 0x80070000
mov ebx, esi
cmp ebx, edi
jl 0x105c320
push 0x64
pop edi
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 4]
push edi
push ebx
call sub.vdsutil.dll_public:_void___thiscall_CVdsAsyncObjectBase::SetCompletionStatus_long_int__unsigned_long_int_
mov ecx, dword [esi + 4]
call sub.vdsutil.dll_public:_void___thiscall_CVdsAsyncObjectBase::Signal_void_
mov esi, dword [esi + 4]
mov eax, dword [esi]
push esi
call dword [eax + 8]
lea ecx, [ebp - 0x30]
call sub.vdsutil.dll_public:_void___thiscall_CVdsCallTracer::destructor_void_
lea ecx, [ebp - 0x10]
call sym.vds.exe_public:_void___thiscall_CVdsHeapPtr_char_::destructor_void_
lea ecx, [ebp - 0xc]
call sym.vds.exe_public:_void___thiscall_CVdsHandleImpl__1_::destructor_void_
pop edi
pop esi
xor eax, eax
pop ebx
leave
ret 4