Function at 0x670a3590
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x30
mov eax, dword [ecx + 4]
push ebx
push ebp
push esi
push edi
xor edi, edi
xor esi, esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov byte [eax + 0x88], 1
cmp dword [esp + 0x4c], edi
jl 0x670a39a6
jg 0x670a35d4
cmp dword [esp + 0x48], edi
jbe 0x670a39a6
jmp 0x670a35d4
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx + 4]
mov ebx, 1
mov dword [esp + 0x2c], edi
lea ebp, [esp + 0x13]
mov edx, dword [esi + 0x54]
cmp edx, edi
je 0x670a3623
mov eax, dword [esi + 0x58]
movzx ecx, byte [eax]
dec edx
inc eax
mov dword [esi + 0x54], edx
mov dword [esi + 0x58], eax
cmp ecx, 0xffffffff
je 0x670a3623
mov eax, dword [esi + 0x80]
add dword [eax], ebx
adc dword [eax + 4], edi
cmp cl, 0xd
jne 0x670a3614
test byte [esi + 0x4c], 0x10
jne 0x670a35e4
mov byte [esp + 0x13], cl
mov eax, ebx
mov dword [esp + 0x1c], edi
jmp 0x670a38d3
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
jmp 0x670a3630
push ebx
push ebp
lea ecx, [esi + 0x54]
call fcn.670a2310
mov edi, eax
test edi, edi
jle 0x670a3675
mov ecx, dword [esi + 0x80]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
add dword [esp + 0x20], eax
adc dword [esp + 0x24], edx
cmp eax, ebx
jne 0x670a3668
cmp edx, dword [esp + 0x2c]
jne 0x670a3668
test byte [esi + 0x4c], 0x10
je 0x670a3933
add ebp, edi
sub ebx, eax
sbb dword [esp + 0x2c], edx
jmp 0x670a37b1
cmp byte [esi + 0x89], 0
je 0x670a36a9
test byte [esi + 0x4c], 1
je 0x670a3939
mov ecx, esi
mov byte [esi + 0x89], 0
call sym.QtCore_Ad_4.dll_public:_bool___thiscall_QIODevicePrivate::isSequential_void_const
test al, al
je 0x670a36a9
lea eax, [esi + 0x78]
mov dword [esi + 0x80], eax
mov dword [esi + 0x84], eax
mov ecx, ebx
or ecx, dword [esp + 0x2c]
je 0x670a3961
test byte [esi + 0x4c], 0x20
jne 0x670a37b1
cmp dword [esp + 0x2c], 0
jg 0x670a37c6
jl 0x670a36d8
cmp ebx, 0x4000
jae 0x670a37b1
push 0x4000
lea ecx, [esi + 0x54]
call fcn.670a2670
mov edx, dword [esi + 0x68]
mov dword [esp + 0x18], eax
cmp edx, dword [esi + 0x70]
jne 0x670a36f9
mov eax, dword [esi + 0x6c]
cmp eax, dword [esi + 0x74]
je 0x670a371f
mov ecx, esi
call sym.QtCore_Ad_4.dll_public:_bool___thiscall_QIODevicePrivate::isSequential_void_const
test al, al
jne 0x670a371f
mov eax, dword [esi + 0x6c]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov edx, dword [edx + 0x40]
push eax
mov eax, dword [esi + 0x68]
push eax
call edx
test al, al
je 0x670a3972
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov edx, dword [esp + 0x18]
mov eax, dword [eax + 0x60]
push 0
push 0x4000
push edx
call eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
test edx, edx
jg 0x670a374c
jl 0x670a3748
test eax, eax
jae 0x670a374c
xor eax, eax
jmp 0x670a3750
mov eax, dword [esp + 0x30]
mov ecx, 0x4000
sub ecx, eax
push ecx
lea ecx, [esi + 0x54]
call fcn.670a2200
cmp dword [esp + 0x34], 0
jl 0x670a37b1
jg 0x670a3770
cmp dword [esp + 0x30], 0
jbe 0x670a37b1
mov eax, dword [esi + 0x84]
mov edx, dword [esp + 0x30]
add dword [eax], edx
mov ecx, dword [esp + 0x34]
adc dword [eax + 4], ecx
cmp dword [esi + 0x54], 0
je 0x670a37b1
push ebx
push ebp
lea ecx, [esi + 0x54]
call fcn.670a2310
mov ecx, dword [esi + 0x80]
mov edi, eax
cdq
add dword [esp + 0x20], eax
adc dword [esp + 0x24], edx
add ebp, edi
sub ebx, eax
sbb dword [esp + 0x2c], edx
add dword [ecx], eax
adc dword [ecx + 4], edx
cmp dword [esp + 0x2c], 0
jl 0x670a385b
jg 0x670a37c6
test ebx, ebx
je 0x670a385b
mov edx, dword [esi + 0x68]
cmp edx, dword [esi + 0x70]
jne 0x670a37d6
mov eax, dword [esi + 0x6c]
cmp eax, dword [esi + 0x74]
je 0x670a37fc
mov ecx, esi
call sym.QtCore_Ad_4.dll_public:_bool___thiscall_QIODevicePrivate::isSequential_void_const
test al, al
jne 0x670a37fc
mov eax, dword [esi + 0x6c]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov edx, dword [edx + 0x40]
push eax
mov eax, dword [esi + 0x68]
push eax
call edx
test al, al
je 0x670a3972
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 0x60]
push edx
push ebx
push ebp
call eax
mov ecx, eax
and ecx, edx
cmp ecx, 0xffffffff
jne 0x670a3829
mov edx, dword [esp + 0x20]
mov eax, edx
or eax, dword [esp + 0x24]
je 0x670a393f
jmp 0x670a3867
test edx, edx
jl 0x670a385b
jg 0x670a3833
test eax, eax
je 0x670a385b
mov ecx, dword [esi + 0x80]
add edi, eax
add dword [esp + 0x20], eax
adc dword [esp + 0x24], edx
add ebp, eax
sub ebx, eax
sbb dword [esp + 0x2c], edx
add dword [ecx], eax
adc dword [ecx + 4], edx
mov ecx, dword [esi + 0x84]
add dword [ecx], eax
adc dword [ecx + 4], edx
mov ecx, dword [esp + 0x20]
mov edx, ecx
or ecx, dword [esp + 0x24]
je 0x670a38c9
test byte [esi + 0x4c], 0x10
je 0x670a38c9
mov eax, ebp
sub eax, edi
mov dword [esp + 0x18], ebp
cmp eax, ebp
jae 0x670a38c9
cmp byte [eax], 0xd
je 0x670a388e
mov edi, edi
inc eax
cmp eax, ebp
je 0x670a3989
cmp byte [eax], 0xd
jne 0x670a3880
mov edi, eax
cmp eax, ebp
jae 0x670a38bc
mov cl, byte [eax]
inc eax
cmp cl, 0xd
je 0x670a38a1
mov byte [edi], cl
inc edi
jmp 0x670a38b2
add edx, 0xffffffff
adc dword [esp + 0x24], 0xffffffff
dec ebp
add ebx, 1
adc dword [esp + 0x2c], 0
cmp eax, dword [esp + 0x18]
jb 0x670a3894
mov dword [esp + 0x20], edx
cmp eax, edi
setne al
test al, al
jne 0x670a3630
mov eax, edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x3c]
mov esi, eax
cmp eax, 1
jne 0x670a3998
mov eax, dword [esp + 0x44]
mov cl, byte [esp + 0x13]
mov byte [eax], cl
inc eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x38]
add eax, esi
mov edi, 0
adc edx, edi
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
cmp cl, 0xa
je 0x670a39c2
cmp edx, dword [esp + 0x4c]
jl 0x670a35d0
jg 0x670a39c2
cmp eax, dword [esp + 0x48]
jb 0x670a35d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 0xc
mov eax, dword [esp + 0x20]
jmp 0x670a38cb
cmp dword [esi + 0x4c], 0
jne 0x670a3948
or eax, 0xffffffff
mov dword [esp + 0x1c], eax
jmp 0x670a38d3
push str.QIODevice::read:_WriteOnly_device
call sym.QtCore_Ad_4.dll_void___cdecl_qWarning_char_const__
add esp, 4
or eax, 0xffffffff
mov dword [esp + 0x1c], eax
jmp 0x670a38d3
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], ecx
jmp 0x670a38d3
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, eax
or edx, ecx
je 0x670a393f
mov dword [esp + 0x1c], ecx
jmp 0x670a38d3
mov ecx, dword [esp + 0x24]
mov eax, edx
mov dword [esp + 0x1c], ecx
jmp 0x670a38d3
mov eax, dword [esp + 0x38]
mov ecx, eax
or ecx, edx
jne 0x670a39c2
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov eax, dword [edx + 0x2c]
call eax
test al, al
je 0x670a39be
pop edi
mov eax, esi
pop esi
pop ebp
cdq
pop ebx
add esp, 0x30
ret 0xc
or eax, 0xffffffff
cdq
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 0xc