Function at 0x42bdb0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x10
mov ecx, dword [esp + 0x14]
push ebx
push ebp
xor edx, edx
mov ebp, dword [ecx + 0x24]
push esi
mov eax, ebp
push edi
div dword [ecx + 0xc]
mov edx, dword [ecx + 8]
mov edi, dword [ecx + 0x28]
inc edx
xor ebx, ebx
shr edx, 1
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], ebx
mov esi, eax
mov dword [esp + 0x18], eax
sub esi, edx
test ebp, ebp
mov dword [esp + 0x14], esi
jbe 0x42bf93
mov ebp, dword [esp + 0x28]
jmp 0x42bdf6
mov esi, dword [esp + 0x14]
mov eax, dword [ebp + 4]
dec eax
mov dword [ebp + 4], eax
js 0x42be0c
mov ecx, dword [ebp]
xor eax, eax
mov al, byte [ecx]
inc ecx
mov dword [ebp], ecx
jmp 0x42be15
push ebp
call sub.MSVCRT.dll__filbuf
add esp, 4
test eax, eax
je 0x42be67
inc eax
cdq
sub eax, edx
mov esi, eax
mov eax, dword [ebp + 4]
sar esi, 1
dec eax
mov dword [ebp + 4], eax
js 0x42be37
mov ecx, dword [ebp]
xor eax, eax
mov al, byte [ecx]
inc ecx
mov dword [ebp], ecx
jmp 0x42be40
push ebp
call sub.MSVCRT.dll__filbuf
add esp, 4
add edi, ebx
mov bl, al
mov bh, bl
mov ecx, esi
mov eax, ebx
mov edx, ecx
shl eax, 0x10
mov ax, bx
mov ebx, dword [esp + 0x1c]
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
jmp 0x42bf7c
mov eax, dword [ebp + 4]
dec eax
mov dword [ebp + 4], eax
js 0x42be7d
mov ecx, dword [ebp]
xor eax, eax
mov al, byte [ecx]
inc ecx
mov dword [ebp], ecx
jmp 0x42be86
push ebp
call sub.MSVCRT.dll__filbuf
add esp, 4
cmp eax, 2
jle 0x42bed2
inc eax
mov ecx, dword [esp + 0x24]
cdq
sub eax, edx
mov edx, dword [ecx + 0x24]
mov esi, eax
push ebp
sar esi, 1
push 1
lea eax, [ebx + esi]
cmp eax, edx
jne 0x42beb6
lea edx, [edi + ebx]
push esi
push edx
call sub.MSVCRT.dll_fread
add esp, 0x10
jmp 0x42bf80
lea eax, [esi + 1]
cdq
sub eax, edx
sar eax, 1
shl eax, 1
push eax
lea eax, [edi + ebx]
push eax
call sub.MSVCRT.dll_fread
add esp, 0x10
jmp 0x42bf80
jne 0x42bf37
mov eax, dword [ebp + 4]
dec eax
mov dword [ebp + 4], eax
js 0x42beee
mov eax, dword [ebp]
xor ecx, ecx
mov cl, byte [eax]
inc eax
mov dword [esp + 0x28], ecx
mov dword [ebp], eax
jmp 0x42befb
push ebp
call sub.MSVCRT.dll__filbuf
add esp, 4
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 4]
dec eax
mov dword [ebp + 4], eax
js 0x42bf11
mov ecx, dword [ebp]
xor eax, eax
mov al, byte [ecx]
inc ecx
mov dword [ebp], ecx
jmp 0x42bf1a
push ebp
call sub.MSVCRT.dll__filbuf
add esp, 4
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
imul esi, eax
lea eax, [edx + 1]
cdq
sub eax, edx
sar eax, 1
add esi, eax
xor eax, eax
mov ecx, esi
add edi, ebx
jmp 0x42bf6e
test eax, eax
jne 0x42bf5f
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
add eax, ebx
xor edx, edx
div ecx
test edx, edx
je 0x42bf80
mov eax, ebx
xor edx, edx
div ecx
mov esi, ecx
xor eax, eax
sub esi, edx
add edi, ebx
mov ecx, esi
jmp 0x42bf6e
test ebx, ebx
jne 0x42bf80
mov eax, dword [esp + 0x24]
mov ebx, dword [eax + 0x24]
xor eax, eax
mov ecx, ebx
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
add ebx, esi
mov dword [esp + 0x1c], ebx
cmp ebx, dword [eax + 0x24]
jb 0x42bdf2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret