Function at 0x47a5f0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, ecx
push edi
push esi
push ebx
sub esp, 0x3c
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x50]
mov dword [esp], esi
mov ecx, edi
mov dword [esp + 0x1c], eax
call method.QVector_unsigned_char_.resize_int_
mov eax, dword [edi]
sub esp, 4
mov edx, dword [eax + 4]
cmp esi, edx
cmova esi, edx
cmp ebx, 0xffffffff
je 0x47a870
cmp ebx, 0xfffffffe
jne 0x47a700
test esi, esi
je 0x47a7ba
mov dword [esp + 0x18], ebp
xor ebx, ebx
jmp 0x47a68c
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov dword [esp], 1
call dword [method.QArrayData.allocate_unsigned_int__unsigned_int__unsigned_int__QFlags_QArrayData::AllocationOption__]
mov dword [edi], eax
lea ecx, [eax + ebx]
mov edx, ebp
add ecx, dword [eax + 0xc]
add ebx, 1
mov byte [ecx], dl
cmp esi, ebx
je 0x47a749
lea eax, [esp + 0x2b]
mov dword [esp], 0xfffffffe
mov ecx, dword [esp + 0x18]
mov dword [esp + 8], eax
lea eax, [esp + 0x2c]
mov dword [esp + 4], eax
mov byte [esp + 0x2b], 0
call method.osemu::OsSyscallExceptionHandler.rx_byte_pool_int__unsigned_int__bool_
sub esp, 0xc
cmp byte [esp + 0x2b], 0
je 0x47a7d8
mov eax, dword [edi]
mov ebp, dword [esp + 0x2c]
mov ecx, dword [eax]
cmp ecx, 1
jbe 0x47a677
test dword [eax + 8], 0x7fffffff
je 0x47a650
mov dword [esp + 4], 0
mov eax, dword [eax + 8]
mov ecx, edi
and eax, 0x7fffffff
mov dword [esp], eax
call method.QVector_unsigned_char_.realloc_int__QFlags_QArrayData::AllocationOption__
mov eax, dword [edi]
sub esp, 8
jmp 0x47a677
mov edx, dword [eax]
cmp edx, 1
jbe 0x47a733
test dword [eax + 8], 0x7fffffff
je 0x47a7f0
mov dword [esp + 4], 0
mov eax, dword [eax + 8]
mov ecx, edi
and eax, 0x7fffffff
mov dword [esp], eax
call method.QVector_unsigned_char_.realloc_int__QFlags_QArrayData::AllocationOption__
mov eax, dword [edi]
sub esp, 8
mov dword [esp + 8], esi
add eax, dword [eax + 0xc]
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [sym.imp.msvcrt.dll__read]
mov esi, eax
mov ebp, esi
test esi, esi
jns 0x47a7bc
cmp esi, 0xffffefff
jbe 0x47a7ae
call dword [sym.imp.msvcrt.dll__errno]
mov edx, dword [0x57c5e0]
mov edx, dword [edx + 0xc]
test edx, edx
je 0x47a870
mov ebx, dword [eax]
xor esi, esi
jmp 0x47a780
mov esi, edx
mov edx, ecx
test edx, edx
je 0x47a791
mov ecx, dword [edx + 4]
mov eax, dword [edx + 8]
cmp ebx, dword [edx + 0xc]
jle 0x47a778
mov edx, eax
test edx, edx
jne 0x47a780
mov ebp, 0xffffffff
test esi, esi
je 0x47a7ae
cmp ebx, dword [esi + 0xc]
jl 0x47a7ae
mov eax, dword [esi + 0x10]
mov ebp, eax
mov eax, 0xffffffff
neg ebp
cmove ebp, eax
add esp, 0x3c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
xor ebp, ebp
mov dword [esp], ebp
mov ecx, edi
call method.QVector_unsigned_char_.resize_int_
mov eax, ebp
sub esp, 4
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
cmp byte [esp + 0x1c], 0
jne 0x47a820
lea esi, [ebx + 1]
mov ebp, esi
jmp 0x47a74b
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov dword [esp], 1
call dword [method.QArrayData.allocate_unsigned_int__unsigned_int__unsigned_int__QFlags_QArrayData::AllocationOption__]
mov dword [edi], eax
jmp 0x47a733
mov eax, dword [edi]
mov edx, dword [eax]
cmp edx, 1
jbe 0x47a859
test dword [eax + 8], 0x7fffffff
jne 0x47a87a
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov dword [esp], 1
call dword [method.QArrayData.allocate_unsigned_int__unsigned_int__unsigned_int__QFlags_QArrayData::AllocationOption__]
mov dword [edi], eax
lea edx, [eax + ebx]
add edx, dword [eax + 0xc]
mov byte [edx], 0xa
jmp 0x47a7df
mov ebp, 0xffffffff
jmp 0x47a7ae
mov dword [esp + 4], 0
mov eax, dword [eax + 8]
mov ecx, edi
and eax, 0x7fffffff
mov dword [esp], eax
call method.QVector_unsigned_char_.realloc_int__QFlags_QArrayData::AllocationOption__
mov eax, dword [edi]
sub esp, 8
jmp 0x47a859