Function at 0x42c4c0
Capabilities:
Write file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov dword [esp + 0x20], ecx
cmp edx, 1
jbe 0x42c540
mov ebp, dword [eax]
mov edi, 0
mov ecx, dword [ebp + 4]
mov ebx, dword [ecx + 0x64]
mov ecx, dword [ecx + 0x60]
add ecx, 1
adc ebx, 0
cmp ecx, edx
sbb ebx, edi
jb 0x42c540
mov ecx, dword [eax + 0xc]
mov esi, eax
mov eax, 1
lea edi, [edx - 2]
shr edi, 3
shl eax, cl
shr edi, cl
mov dword [esp + 0x24], eax
mov eax, dword [esi + 8]
and eax, edi
mov ebx, eax
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x10]
mov ebx, dword [eax + ebx*4]
test ebx, ebx
je 0x42c670
mov eax, dword [ebx + 4]
test eax, eax
je 0x42c569
cmp edi, dword [ebx + 8]
jne 0x42c551
mov eax, dword [esp + 0x20]
xor ecx, ecx
xor edx, edx
mov dword [eax], ebx
add esp, 0x4c
mov eax, ecx
pop ebx
pop esi
pop edi
pop ebp
ret
add esp, 0x4c
mov ecx, 0x16
xor edx, edx
pop ebx
mov eax, ecx
pop esi
pop edi
pop ebp
ret
mov eax, ebx
call fcn.0042c2e0
mov ecx, eax
mov eax, edx
or eax, ecx
jne 0x42c6e4
mov ecx, dword [esi + 0xc]
mov ebp, dword [esi]
lea eax, [esp + 0x3c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x3c], 0
xor edx, edx
xor esi, esi
mov dword [ebx + 4], 0
shld edx, edi, cl
mov dword [esp + 0x14], eax
mov eax, edi
shl eax, cl
test cl, 0x20
cmovne edx, eax
cmovne eax, esi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], edx
mov dword [esp + 8], eax
lea eax, [ebx + 0x18]
mov dword [esp + 4], eax
mov eax, dword [ebp]
mov dword [esp], eax
call fcn.00432f20
mov ecx, eax
mov eax, edx
or eax, ecx
jne 0x42c5e0
mov eax, dword [esp + 0x3c]
mov dword [ebx + 4], 1
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], eax
jmp 0x42c529
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
call fcn.0041d490
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
mov esi, eax
call ebx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x10], esi
mov dword [esp + 8], 0x5361a0
mov dword [esp + 0xc], ecx
mov dword [esp + 4], str.__s__Failed_to_read_bitmap_data_into_cache_item:__lu___s_
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call ebx
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x5361e1
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call ebx
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
jmp 0x42c533
mov eax, dword [esp + 0x24]
mov dword [esp], 0
mov dword [esp + 0x3c], 0
lea ebx, [eax + 0x18]
lea eax, [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp + 0x2c], eax
call fcn.00427280
mov ecx, eax
mov eax, edx
or eax, ecx
jne 0x42c730
mov ebx, dword [esp + 0x3c]
mov eax, dword [esi + 0x10]
mov edx, dword [esp + 0x28]
mov ecx, dword [esi + 0xc]
mov dword [ebx], esi
mov ebp, dword [esi]
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0
mov dword [eax + edx*4], ebx
jmp 0x42c571
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
call fcn.0041d490
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
mov esi, eax
call ebx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x10], esi
mov dword [esp + 8], 0x5361a0
mov dword [esp + 0xc], ecx
mov dword [esp + 4], str.__s__Failed_to_commit_dirty_bitmap_cache_entry_to_disk:__lu___s_
jmp 0x42c621
mov dword [esp + 0x24], edx
mov esi, dword [fcn.004a1b90]
mov dword [esp + 0x20], ecx
mov dword [esp], 2
call esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x5361a0
mov dword [esp + 4], str.__s__Failed_to_allocate__Iu_bytes_for_bitmap_cache_entry_struct.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call esi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x5361e1
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call esi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.0041d490
mov dword [esp], 2
mov ebx, eax
call esi
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x10], ebx
mov dword [esp + 8], 0x5361a0
mov dword [esp + 0xc], ecx
mov dword [esp + 4], str.__s__Failed_to_create_bitmap_cache_entry:__lu___s_
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call esi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x5361e1
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call esi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
jmp 0x42c533