Function at 0x40d9f8
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x13c
mov edi, dword [ebp + 8]
mov dword [esp + 4], 0xffffffff
mov dword [esp], str.enter_red_slot.
mov eax, dword [method.QString.fromAscii_helper_char_const__int_]
mov dword [ebp - 0xf8], eax
call eax
mov dword [ebp - 0x28], eax
lea ebx, [ebp - 0x28]
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.00402184
mov eax, dword [ebp - 0x28]
lock dec dword [eax]
setne dl
test dl, dl
jne 0x40da4e
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call dword [method.QString.free_QString::Data_]
mov edx, dword [edi + 0x48]
test edx, edx
je 0x40e01c
mov eax, dword [edi + 0x30]
test eax, eax
je 0x40e578
mov dword [esp + 4], 0x1388
mov eax, dword [edi + 0x28]
mov dword [esp], eax
call dword [method.QTimer.start_int_]
mov eax, dword [edi + 0x30]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x50]
cmp edx, 0
jl 0x40e02d
jle 0x40e024
cmp byte [edi + 0x41], 0
jne 0x40e580
lea ebx, [ebp - 0x2c]
mov dword [esp + 8], 6
mov dword [esp + 0xc], 0
mov eax, dword [edi + 0x30]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov ecx, dword [method.QIODevice.read_long_long_]
mov dword [ebp - 0x100], ecx
call ecx
push esi
mov dword [esp + 4], ebx
lea eax, [edi + 0x3c]
mov dword [esp], eax
call dword [method.QByteArray.operator_QByteArray_const_]
mov eax, dword [ebp - 0x2c]
lock dec dword [eax]
setne dl
test dl, dl
jne 0x40daf1
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call dword [sym.imp.QtCore4.dll_qFree_void_]
mov eax, dword [edi + 0x3c]
mov edx, dword [eax + 8]
cmp edx, 4
jle 0x40e5cc
mov eax, dword [eax + 0xc]
movzx esi, byte [eax + 4]
cmp edx, 5
je 0x40f453
mov dl, byte [eax + 5]
mov byte [ebp - 0x108], dl
mov al, byte [eax + 3]
mov byte [edi + 0x54], al
mov dword [esp], 0x18
call fcn.00428df0
mov ebx, eax
mov dword [ebp - 0xac], 2
lea eax, [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebx + 8]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov ecx, dword [method.QTextStream.QTextStream_QString__QFlags_QIODevice::OpenModeFlag__]
mov dword [ebp - 0x104], ecx
call ecx
mov eax, dword [sym.imp.QtCore4.dll_QString::shared_null]
mov dword [ebx + 8], eax
lock inc dword [eax]
setne dl
mov dword [ebx + 0xc], 1
mov dword [ebx + 0x10], 0
mov byte [ebx + 0x14], 1
mov byte [ebx + 0x15], 1
mov dword [ebp - 0x30], ebx
lea ebx, [ebp - 0xb0]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], str.enter_read_head.
mov dword [esp], ebx
call dword [method.QString.fromAscii_char_const__int_]
push ecx
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call dword [method.QTextStream.operator___QString_const_]
mov eax, dword [ebp - 0xb0]
lock dec dword [eax]
setne dl
test dl, dl
je 0x40e604
mov eax, dword [ebp - 0x30]
cmp byte [eax + 0x14], 0
jne 0x40e5e8
mov edx, dword [eax + 0xc]
dec edx
mov dword [eax + 0xc], edx
test edx, edx
jne 0x40dc0e
mov ebx, eax
cmp byte [eax + 0x15], 0
jne 0x40e704
test ebx, ebx
je 0x40dc0e
mov eax, dword [ebx + 8]
lock dec dword [eax]
setne dl
test dl, dl
je 0x40e6f0
mov dword [esp], ebx
call dword [method.QTextStream.QTextStream__]
mov dword [esp], ebx
call fcn.00428db0
shl esi, 8
movzx eax, byte [ebp - 0x108]
add esi, eax
mov word [edi + 0x4c], si
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + 0xc]
cmp byte [eax], 0xaa
je 0x40e688
mov eax, dword [edi + 0x30]
mov dword [esp], eax
call dword [method.QAbstractSocket.disconnectFromHost__]
lea ebx, [ebp - 0x34]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x43388d
mov dword [esp + 4], 0x42e000
mov dword [esp], ebx
call dword [method.QMetaObject.tr_char_const__char_const__const]
push eax
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.00401944
mov eax, dword [ebp - 0x34]
lock dec dword [eax]
setne dl
test dl, dl
je 0x40e788
mov esi, dword [edi + 0x4c]
mov al, byte [edi + 0x41]
mov byte [ebp - 0x108], al
jmp 0x40e045
mov dword [esp], 0x18
call fcn.00428df0
mov ebx, eax
mov dword [ebp - 0xd0], 2
lea eax, [ebp - 0xd0]
mov dword [esp + 8], eax
lea eax, [ebx + 8]
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [ebp - 0x104]
mov eax, dword [ebp - 0xec]
mov dword [ebx + 8], eax
mov edx, dword [ebp - 0xf0]
lock inc dword [edx]
setne al
mov dword [ebx + 0xc], 1
mov dword [ebx + 0x10], 0
mov byte [ebx + 0x14], 1
mov byte [ebx + 0x15], 1
mov dword [ebp - 0x44], ebx
lea ebx, [ebp - 0xd4]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], str.enter_read_file_length.
mov dword [esp], ebx
call dword [ebp - 0xf4]
push eax
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x44]
mov dword [esp], eax
call dword [ebp - 0xfc]
mov eax, dword [ebp - 0xd4]
lock dec dword [eax]
setne dl
test dl, dl
je 0x40edc0
mov eax, dword [ebp - 0x44]
cmp byte [eax + 0x14], 0
jne 0x40eda4
mov edx, dword [eax + 0xc]
dec edx
mov dword [eax + 0xc], edx
test edx, edx
jne 0x40dd7a
mov ebx, eax
cmp byte [eax + 0x15], 0
jne 0x40ee20
test ebx, ebx
je 0x40dd7a
mov eax, dword [ebx + 8]
lock dec dword [eax]
setne dl
test dl, dl
je 0x40ee0c
mov dword [esp], ebx
call dword [method.QTextStream.QTextStream__]
mov dword [esp], ebx
call fcn.00428db0
lea esi, [ebp - 0x90]
movzx eax, word [edi + 0x4c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov eax, dword [edi + 0x30]
mov dword [esp + 4], eax
mov dword [esp], esi
mov ebx, dword [method.QIODevice.read_long_long_]
call ebx
push ecx
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x104], ecx
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov eax, dword [edi + 0x30]
mov dword [esp + 4], eax
mov dword [esp], ecx
call ebx
push edx
mov byte [edi + 0x41], 0
mov eax, dword [ebp - 0x60]
mov edx, dword [eax + 0xc]
cmp byte [edx], 0xcc
jne 0x40dfef
mov eax, dword [ebp - 0x90]
mov edx, dword [eax + 8]
test edx, edx
jle 0x40ede8
mov eax, dword [eax + 0xc]
mov cl, byte [eax]
mov byte [ebp - 0x100], cl
cmp edx, 1
je 0x40f290
mov cl, byte [eax + 1]
cmp edx, 2
je 0x40f0fc
mov bl, byte [eax + 2]
cmp edx, 3
je 0x40f0dc
movzx edx, cl
movzx ecx, bl
mov bl, byte [ebp - 0x100]
shl ebx, 0x18
movzx eax, byte [eax + 3]
lea eax, [ebx + eax]
shl edx, 0x10
add eax, edx
shl ecx, 8
lea ecx, [eax + ecx]
mov ebx, ecx
mov dword [edi + 0x44], ebx
mov dword [edi + 0x48], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
mov eax, dword [edi + 0x1c]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call dword [method.QProgressBar.setRange_int__int_]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 2
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 3
movzx eax, byte [edi + 0x60]
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.00402680
mov word [ebp - 0x1a], 0x20
mov eax, dword [edi + 0x44]
mov dword [ebp - 0x100], eax
mov dword [esp + 4], 0x4338ec
lea edx, [ebp - 0x48]
mov dword [esp], edx
call fcn.004262a4
lea ebx, [ebp - 0x4c]
lea eax, [ebp - 0x1a]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0xa
mov dword [esp + 0x10], 0
mov ecx, dword [ebp - 0x100]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
lea eax, [ebp - 0x48]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov edx, dword [method.QString.arg_unsigned_long_long__int__int__QChar_const__const]
mov dword [ebp - 0xec], edx
call edx
push eax
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.00402184
mov dword [esp], ebx
call fcn.004262c8
lea eax, [ebp - 0x48]
mov dword [esp], eax
call fcn.004262c8
mov word [ebp - 0x1c], 0x20
mov edi, dword [edi + 0x44]
mov dword [ebp - 0x100], edi
mov dword [esp + 4], str.filetotal_length:__1
lea edi, [ebp - 0x54]
mov dword [esp], edi
call fcn.004262a4
lea ebx, [ebp - 0x58]
lea eax, [ebp - 0x1c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0xa
mov dword [esp + 0x10], 0
mov edx, dword [ebp - 0x100]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
mov dword [esp + 4], edi
mov dword [esp], ebx
call dword [ebp - 0xec]
push ecx
lea ecx, [ebp - 0x50]
mov dword [esp], ecx
call fcn.00424dec
push edx
mov dword [esp + 4], 0x22
mov eax, dword [ebp - 0x50]
mov dword [esp], eax
mov eax, dword [method.QTextStream.operator___char_]
mov dword [ebp - 0xec], eax
call eax
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [ebp - 0xfc]
mov dword [esp + 4], 0x22
mov dword [esp], eax
call dword [ebp - 0xec]
mov eax, dword [ebp - 0x50]
cmp byte [eax + 0x14], 0
jne 0x40edf4
lea edx, [ebp - 0x50]
mov dword [esp], edx
call fcn.004260fc
mov dword [esp], ebx
call fcn.004262c8
mov dword [esp], edi
call fcn.004262c8
mov eax, dword [ebp - 0x60]
lock dec dword [eax]
setne dl
test dl, dl
je 0x40edd4
mov eax, dword [ebp - 0x90]
lock dec dword [eax]
setne dl
test dl, dl
jne 0x40e01c
mov eax, dword [ebp - 0x90]
mov dword [esp], eax
call dword [sym.imp.QtCore4.dll_qFree_void_]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
leave
ret
cmp eax, 5
ja 0x40da92
mov esi, dword [edi + 0x4c]
mov al, byte [edi + 0x41]
mov byte [ebp - 0x108], al
mov edx, dword [method.QTextStream.QTextStream_QString__QFlags_QIODevice::OpenModeFlag__]
mov dword [ebp - 0x104], edx
movzx esi, si
mov dword [ebp - 0x10c], esi
mov eax, dword [edi + 0x30]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x50]
mov ebx, eax
mov esi, edx
movzx ecx, byte [edi + 0x54]
mov dword [ebp - 0x110], ecx
mov dword [esp], 0x18
call fcn.00428df0
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xb8], 2
lea eax, [ebp - 0xb8]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x100]
add eax, 8
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x100]
mov dword [esp], eax
call dword [ebp - 0x104]
mov edx, dword [sym.imp.QtCore4.dll_QString::shared_null]
mov dword [ebp - 0xec], edx
mov ecx, dword [ebp - 0x100]
mov dword [ecx + 8], edx
mov dword [ebp - 0xf0], edx
lock inc dword [edx]
setne al
mov dword [ecx + 0xc], 1
mov dword [ecx + 0x10], 0
mov byte [ecx + 0x14], 1
mov byte [ecx + 0x15], 1
mov dword [ebp - 0x40], ecx
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], str.cmd:
lea ecx, [ebp - 0xbc]
mov dword [esp], ecx
mov eax, dword [method.QString.fromAscii_char_const__int_]
mov dword [ebp - 0xf4], eax
call eax
push ecx
lea edx, [ebp - 0xbc]
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
mov ecx, dword [method.QTextStream.operator___QString_const_]
mov dword [ebp - 0xfc], ecx
call ecx
mov eax, dword [ebp - 0xbc]
lock dec dword [eax]
setne dl
test dl, dl
je 0x40e564
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x14], 0
jne 0x40e548
mov edx, dword [ebp - 0x110]
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [method.QTextStream.operator___int_]
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x14], 0
jne 0x40e530
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], str.byte:
lea ecx, [ebp - 0xc0]
mov dword [esp], ecx
call dword [ebp - 0xf4]
push edx
lea eax, [ebp - 0xc0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call dword [ebp - 0xfc]
mov eax, dword [ebp - 0xc0]
lock dec dword [eax]
setne dl
test dl, dl
je 0x40e51c
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x14], 0
jne 0x40e504
mov dword [esp + 0xc], 0xa
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
lea ecx, [ebp - 0xa8]
mov dword [esp], ecx
call dword [method.QString.number_long_long__int_]
push eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call dword [ebp - 0xfc]
mov eax, dword [ebp - 0xa8]
lock dec dword [eax]
setne dl
test dl, dl
je 0x40e4f0
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x14], 0
jne 0x40e4d8
lea ebx, [ebp - 0xc4]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], str.isheadread
mov dword [esp], ebx
call dword [ebp - 0xf4]
push esi
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call dword [ebp - 0xfc]
mov eax, dword [ebp - 0xc4]
lock dec dword [eax]
setne dl
test dl, dl
je 0x40e4c4
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x14], 0
jne 0x40e4a8
cmp byte [ebp - 0x108], 0
jne 0x40e438
mov edx, 0x4338bc
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [method.QTextStream.operator___char_const_]
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x14], 0
jne 0x40e490
lea ebx, [ebp - 0xc8]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], str.frametotal:
mov dword [esp], ebx
call dword [ebp - 0xf4]
push ecx
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call dword [ebp - 0xfc]
mov eax, dword [ebp - 0xc8]
lock dec dword [eax]
setne dl
test dl, dl
je 0x40e460
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x14], 0
jne 0x40e444
mov ecx, dword [ebp - 0x10c]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [method.QTextStream.operator___unsigned_short_]
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x14], 0
jne 0x40e474
mov edx, dword [eax + 0xc]
dec edx
mov dword [eax + 0xc], edx
test edx, edx
jne 0x40e342
mov ebx, eax
cmp byte [eax + 0x15], 0
jne 0x40e618
test ebx, ebx
je 0x40e342
mov eax, dword [ebx + 8]
lock dec dword [eax]
setne dl
test dl, dl
je 0x40e59c
mov dword [esp], ebx
call dword [method.QTextStream.QTextStream__]
mov dword [esp], ebx
call fcn.00428db0
cmp byte [edi + 0x42], 0
je 0x40e36c
cmp byte [edi + 0x41], 0
je 0x40e362
cmp byte [edi + 0x54], 2
je 0x40e7e1
cmp byte [edi + 0x54], 3
je 0x40e824
cmp byte [edi + 0x42], 0
jne 0x40e01c
mov al, byte [edi + 0x41]
test al, al
je 0x40e5b0
cmp byte [edi + 0x54], 4
je 0x40ec1e
mov eax, dword [edi + 0x30]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x50]
movzx ecx, word [edi + 0x4c]
inc ecx
mov ebx, ecx
sar ebx, 0x1f
cmp edx, ebx
jl 0x40e01c
jg 0x40e3a8
cmp eax, ecx
jb 0x40e01c
mov dword [esp + 4], str.message_wrong
lea ebx, [ebp - 0x9c]
mov dword [esp], ebx
call fcn.004262a4
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.00402184
mov dword [esp], ebx
call fcn.004262c8
lea ebx, [ebp - 0xa0]
movzx eax, word [edi + 0x4c]
inc eax
mov dword [esp + 8], eax
cdq
mov dword [esp + 0xc], edx
mov eax, dword [edi + 0x30]
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [method.QIODevice.read_long_long_]
push esi
mov dword [esp], ebx
call fcn.00425228
mov word [edi + 0x4c], 0
lea ebx, [ebp - 0xa4]
mov dword [esp], ebx
call fcn.00424dec
push ecx
mov dword [esp + 4], str._____________error_____________
mov dword [esp], ebx
call fcn.00426220
mov dword [esp], ebx
call fcn.004260fc
mov byte [edi + 0x41], 0
jmp 0x40e01c
mov edx, 0x4338c2
jmp 0x40e27a
mov dword [esp + 4], 0x20
mov dword [esp], eax
call dword [method.QTextStream.operator___char_]
mov eax, dword [ebp - 0x40]
jmp 0x40e2e5
mov eax, dword [ebp - 0xc8]
mov dword [esp], eax
call dword [method.QString.free_QString::Data_]
jmp 0x40e2d8
mov dword [esp + 4], 0x20
mov dword [esp], eax
call dword [method.QTextStream.operator___char_]
mov eax, dword [ebp - 0x40]
jmp 0x40e305
mov dword [esp + 4], 0x20
mov dword [esp], eax
call dword [method.QTextStream.operator___char_]
jmp 0x40e294
mov dword [esp + 4], 0x20
mov dword [esp], eax
call dword [method.QTextStream.operator___char_]
mov eax, dword [ebp - 0x40]
jmp 0x40e268
mov eax, dword [ebp - 0xc4]
mov dword [esp], eax
call dword [method.QString.free_QString::Data_]
jmp 0x40e25b
mov dword [esp + 4], 0x20
mov dword [esp], eax
call dword [method.QTextStream.operator___char_]
jmp 0x40e217
mov eax, dword [ebp - 0xa8]
mov dword [esp], eax
call dword [method.QString.free_QString::Data_]
jmp 0x40e20a
mov dword [esp + 4], 0x20
mov dword [esp], eax
call dword [method.QTextStream.operator___char_]
jmp 0x40e1c0
mov eax, dword [ebp - 0xc0]
mov dword [esp], eax
call dword [method.QString.free_QString::Data_]
jmp 0x40e1b3
mov dword [esp + 4], 0x20
mov dword [esp], eax
call dword [method.QTextStream.operator___char_]
jmp 0x40e169
mov dword [esp + 4], 0x20
mov dword [esp], eax
call dword [method.QTextStream.operator___char_]
mov eax, dword [ebp - 0x40]
jmp 0x40e149
mov eax, dword [ebp - 0xbc]
mov dword [esp], eax
call dword [method.QString.free_QString::Data_]
jmp 0x40e13c
xor eax, eax
jmp 0x40da7b
mov esi, dword [edi + 0x4c]
mov byte [ebp - 0x108], 1
mov edx, dword [method.QTextStream.QTextStream_QString__QFlags_QIODevice::OpenModeFlag__]
mov dword [ebp - 0x104], edx
jmp 0x40e045
mov eax, dword [ebx + 8]
mov dword [esp], eax
call dword [method.QString.free_QString::Data_]
jmp 0x40e331
cmp byte [edi + 0x42], 0
jne 0x40e01c
cmp byte [edi + 0x54], 4
je 0x40e01c
jmp 0x40e381
cmp edx, 3
jg 0x40f44e
xor eax, eax
mov byte [ebp - 0x108], 0
xor esi, esi
jmp 0x40db1c
mov dword [esp + 4], 0x20
mov dword [esp], eax
call dword [method.QTextStream.operator___char_]
mov eax, dword [ebp - 0x30]
jmp 0x40dbd1
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call dword [method.QString.free_QString::Data_]
jmp 0x40dbc4
lea ebx, [ebp - 0xcc]
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [method.QString.toLocal8Bit___const]
push edx
mov eax, dword [ebp - 0xcc]
mov edx, dword [eax]
dec edx
je 0x40e7bc
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [method.QByteArray.realloc_int_]
mov eax, dword [ebp - 0xcc]
mov edx, dword [eax + 0xc]
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call dword [sym.imp.QtCore4.dll_qt_message_output_QtMsgType__char_const_]
mov eax, dword [ebp - 0xcc]
lock dec dword [eax]
setne dl
test dl, dl
je 0x40e7a8
mov ebx, dword [ebp - 0x40]
jmp 0x40e31c
mov al, byte [edi + 0x54]
sub eax, 2
cmp al, 2
jbe 0x40e76c
mov byte [edi + 0x41], 0
lea ebx, [ebp - 0x38]
movzx esi, si
inc esi
mov dword [esp + 8], esi
mov ecx, esi
sar ecx, 0x1f
mov dword [esp + 0xc], ecx
mov eax, dword [edi + 0x30]
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [ebp - 0x100]
push edi
mov dword [esp], ebx
call fcn.00425228
lea ebx, [ebp - 0x3c]
mov dword [esp], ebx
call fcn.00424dec
push esi
mov dword [esp + 4], str.head_wrong.
mov dword [esp], ebx
call fcn.00426220
mov dword [esp], ebx
call fcn.004260fc
jmp 0x40e01c
mov eax, dword [ebx + 8]
mov dword [esp], eax
call dword [method.QString.free_QString::Data_]
jmp 0x40dbfd
lea ebx, [ebp - 0xb4]
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [method.QString.toLocal8Bit___const]
push edx
mov eax, dword [ebp - 0xb4]
mov edx, dword [eax]
dec edx
je 0x40e77c
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [method.QByteArray.realloc_int_]
mov eax, dword [ebp - 0xb4]
mov edx, dword [eax + 0xc]
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call dword [sym.imp.QtCore4.dll_qt_message_output_QtMsgType__char_const_]
mov eax, dword [ebp - 0xb4]
lock dec dword [eax]
setne dl
test dl, dl
je 0x40e7d0
mov ebx, dword [ebp - 0x30]
jmp 0x40dbe8
mov byte [edi + 0x41], 1
mov byte [ebp - 0x108], 1
jmp 0x40e045
mov edx, dword [eax + 0xc]
lea ecx, [eax + 0x10]
cmp edx, ecx
jne 0x40e726
jmp 0x40e73f
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call dword [method.QString.free_QString::Data_]
mov esi, dword [edi + 0x4c]
mov dl, byte [edi + 0x41]
mov byte [ebp - 0x108], dl
jmp 0x40e045
mov eax, dword [ebp - 0xcc]
mov dword [esp], eax
call dword [sym.imp.QtCore4.dll_qFree_void_]
jmp 0x40e67e
mov edx, dword [eax + 0xc]
lea ecx, [eax + 0x10]
cmp edx, ecx
jne 0x40e63e
jmp 0x40e657
mov eax, dword [ebp - 0xb4]
mov dword [esp], eax
call dword [sym.imp.QtCore4.dll_qFree_void_]
jmp 0x40e762
mov edx, dword [edi + 0x30]
mov eax, dword [edx]
mov dword [esp], edx
call dword [eax + 0x50]
mov ebx, eax
mov ecx, edx
movzx eax, word [edi + 0x4c]
inc eax
cdq
cmp ecx, edx
jg 0x40dc8c
jl 0x40e808
cmp ebx, eax
jae 0x40dc8c
mov al, byte [edi + 0x41]
cmp byte [edi + 0x42], 0
je 0x40e36f
test al, al
jne 0x40e358
jmp 0x40e362
mov edx, dword [edi + 0x30]
mov eax, dword [edx]
mov dword [esp], edx
call dword [eax + 0x50]
mov ebx, eax
mov ecx, edx
movzx eax, word [edi + 0x4c]
inc eax
cdq
cmp ecx, edx
jl 0x40e362
jg 0x40e84b
cmp ebx, eax
jb 0x40e362
mov dword [esp], 0x18
call fcn.00428df0
mov ebx, eax
mov dword [ebp - 0xdc], 2
lea eax, [ebp - 0xdc]
mov dword [esp + 8], eax
lea eax, [ebx + 8]
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [ebp - 0x104]
mov ecx, dword [ebp - 0xec]
mov dword [ebx + 8], ecx
mov edx, dword [ebp - 0xf0]
lock inc dword [edx]
setne al
mov dword [ebx + 0xc], 1
mov dword [ebx + 0x10], 0
mov byte [ebx + 0x14], 1
mov byte [ebx + 0x15], 1
mov dword [ebp - 0x5c], ebx
lea ebx, [ebp - 0xe0]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], str.enter_read_file_data.
mov dword [esp], ebx
call dword [ebp - 0xf4]
push eax
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x5c]
mov dword [esp], eax
call dword [ebp - 0xfc]
mov eax, dword [ebp - 0xe0]
lock dec dword [eax]
setne dl
test dl, dl
je 0x40eafc
mov eax, dword [ebp - 0x5c]
cmp byte [eax + 0x14], 0
jne 0x40eae0
mov edx, dword [eax + 0xc]
dec edx
mov dword [eax + 0xc], edx
test edx, edx
jne 0x40e939
mov ebx, eax
cmp byte [eax + 0x15], 0
jne 0x40ebb0
test ebx, ebx
je 0x40e939
mov eax, dword [ebx + 8]
lock dec dword [eax]
setne dl
test dl, dl
je 0x40eb9c
mov dword [esp], ebx
call dword [method.QTextStream.QTextStream__]
mov dword [esp], ebx
call fcn.00428db0
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x104], ecx
mov dword [esp + 8], 2
mov dword [esp + 0xc], 0
mov eax, dword [edi + 0x30]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov eax, dword [method.QIODevice.read_long_long_]
mov dword [ebp - 0x100], eax
call eax
push ecx
mov edx, dword [ebp - 0x60]
mov eax, dword [edx + 8]
test eax, eax
jg 0x40eac0
xor eax, eax
cmp dword [edi + 0x50], eax
je 0x40eb10
lea ebx, [ebp - 0x8c]
movzx eax, word [edi + 0x4c]
dec eax
mov dword [esp + 8], eax
cdq
mov dword [esp + 0xc], edx
mov eax, dword [edi + 0x30]
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [ebp - 0x100]
push edx
cmp byte [edi + 0x43], 0
je 0x40e9f3
mov eax, dword [edi + 0x50]
mov byte [edi + 0x43], 0
movzx edx, al
mov dword [esp + 0x1c], edx
movzx eax, ah
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 2
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 3
movzx eax, byte [edi + 0x60]
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.00402680
mov word [ebp - 0x22], 0x20
mov ecx, dword [edi + 0x50]
mov dword [ebp - 0x100], ecx
mov dword [esp + 4], str.missing_num__1_data..request_data_again..
lea eax, [ebp - 0x78]
mov dword [esp], eax
call fcn.004262a4
lea esi, [ebp - 0x7c]
lea eax, [ebp - 0x22]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0xa
mov dword [esp + 0x10], 0
mov eax, dword [ebp - 0x100]
cdq
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x78]
mov dword [esp + 4], edx
mov dword [esp], esi
call dword [method.QString.arg_long_long__int__int__QChar_const__const]
push eax
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.00402184
mov dword [esp], esi
call fcn.004262c8
lea eax, [ebp - 0x78]
mov dword [esp], eax
call fcn.004262c8
mov byte [edi + 0x41], 0
lea esi, [ebp - 0x80]
mov dword [esp], esi
call fcn.00424dec
push edi
mov dword [esp + 4], str.serial_num_wrong.
mov dword [esp], esi
call fcn.00426220
mov dword [esp], esi
call fcn.004260fc
mov dword [esp], ebx
call fcn.00425228
mov eax, dword [ebp - 0x60]
lock dec dword [eax]
setne dl
test dl, dl
jne 0x40e01c
mov eax, dword [ebp - 0x60]
mov dword [esp], eax
call dword [sym.imp.QtCore4.dll_qFree_void_]
jmp 0x40e01c
mov edx, dword [edx + 0xc]
mov cl, byte [edx]
dec eax
je 0x40f1d2
movzx eax, cl
movzx edx, byte [edx + 1]
shl eax, 8
lea eax, [edx + eax]
jmp 0x40e97a
mov dword [esp + 4], 0x20
mov dword [esp], eax
call dword [method.QTextStream.operator___char_]
mov eax, dword [ebp - 0x5c]
jmp 0x40e8fc
mov eax, dword [ebp - 0xe0]
mov dword [esp], eax
call dword [method.QString.free_QString::Data_]
jmp 0x40e8ef
mov byte [edi + 0x43], 1
lea esi, [ebp - 0x90]
movzx eax, word [edi + 0x4c]
sub eax, 2
mov dword [esp + 8], eax
cdq
mov dword [esp + 0xc], edx
mov eax, dword [edi + 0x30]
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [ebp - 0x100]
push edx
lea ebx, [ebp - 0x8c]
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov eax, dword [edi + 0x30]
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [ebp - 0x100]
push eax
mov byte [edi + 0x41], 0
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0xc]
cmp byte [eax], 0xcc
je 0x40ee9b
mov dword [esp], str.end_error_wrong.
call dword [sym.imp.QtCore4.dll_qDebug_char_const__::_]
mov dword [esp], ebx
call fcn.00425228
mov dword [esp], esi
call fcn.00425228
jmp 0x40ea9e
mov eax, dword [ebx + 8]
mov dword [esp], eax
call dword [method.QString.free_QString::Data_]
jmp 0x40e928
lea ebx, [ebp - 0xe4]
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [method.QString.toLocal8Bit___const]
push esi
mov eax, dword [ebp - 0xe4]
mov edx, dword [eax]
dec edx
je 0x40efa0
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [method.QByteArray.realloc_int_]
mov eax, dword [ebp - 0xe4]
mov edx, dword [eax + 0xc]
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call dword [sym.imp.QtCore4.dll_qt_message_output_QtMsgType__char_const_]
mov eax, dword [ebp - 0xe4]
lock dec dword [eax]
setne dl
test dl, dl
je 0x40ef8c
mov ebx, dword [ebp - 0x5c]
jmp 0x40e913
mov eax, dword [edi + 0x30]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x50]
movzx ecx, word [edi + 0x4c]
inc ecx
mov ebx, ecx
sar ebx, 0x1f
cmp edx, ebx
jl 0x40e5b0
jg 0x40ec45
cmp eax, ecx
jb 0x40e5b0
mov eax, dword [edi + 0x28]
mov dword [esp], eax
call dword [method.QTimer.stop__]
lea ebx, [ebp - 0x84]
mov edx, 0x4339dc
mov eax, ebx
call fcn.00401918
mov dword [esp + 4], ebx
mov eax, dword [edi + 0x1c]
mov eax, dword [eax + 0x28]
mov dword [esp], eax
call dword [method.QLabel.setText_QString_const_]
mov dword [esp], ebx
call fcn.004262c8
lea ebx, [ebp - 0x88]
mov dword [esp], ebx
call fcn.00424dec
push ecx
mov dword [esp + 4], str.enter_check_passwd.
mov dword [esp], ebx
call fcn.00426220
mov dword [esp], ebx
call fcn.004260fc
lea ebx, [ebp - 0x8c]
movzx eax, word [edi + 0x4c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov eax, dword [edi + 0x30]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov eax, dword [method.QIODevice.read_long_long_]
mov dword [ebp - 0x114], eax
call eax
push edx
lea esi, [ebp - 0x90]
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov edx, dword [edi + 0x30]
mov dword [esp + 4], edx
mov dword [esp], esi
mov eax, dword [ebp - 0x114]
call eax
push eax
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x40ed10
test ecx, ecx
jne 0x40ed5c
xor eax, eax
nop
mov dword [esp + 4], eax
mov dword [esp], edx
call dword [ebp - 0xf8]
mov dword [ebp - 0x94], eax
mov byte [edi + 0x41], 0
mov edx, dword [ebp - 0x90]
mov edx, dword [edx + 0xc]
cmp byte [edx], 0xcc
je 0x40ed74
lea eax, [ebp - 0x94]
mov dword [esp], eax
call fcn.004262c8
mov dword [esp], esi
call fcn.00425228
mov dword [esp], ebx
call fcn.00425228
jmp 0x40e01c
cmp byte [edx], 0
je 0x40ed10
xor eax, eax
nop
inc eax
cmp ecx, eax
jbe 0x40ed14
cmp byte [edx + eax], 0
jne 0x40ed64
jmp 0x40ed14
mov dword [ebp - 0x98], eax
lock inc dword [eax]
setne dl
lea ecx, [ebp - 0x98]
mov dword [esp + 4], ecx
mov dword [esp], edi
call fcn.00402b30
lea ecx, [ebp - 0x98]
mov dword [esp], ecx
call fcn.004262c8
jmp 0x40ed39
mov dword [esp + 4], 0x20
mov dword [esp], eax
call dword [method.QTextStream.operator___char_]
mov eax, dword [ebp - 0x44]
jmp 0x40dd3d
mov eax, dword [ebp - 0xd4]
mov dword [esp], eax
call dword [method.QString.free_QString::Data_]
jmp 0x40dd30
mov eax, dword [ebp - 0x60]
mov dword [esp], eax
call dword [sym.imp.QtCore4.dll_qFree_void_]
jmp 0x40dffd
xor ebx, ebx
xor ecx, ecx
jmp 0x40de3c
mov dword [esp + 4], 0x20
mov dword [esp], eax
call dword [ebp - 0xec]
jmp 0x40dfd1
mov eax, dword [ebx + 8]
mov dword [esp], eax
call dword [method.QString.free_QString::Data_]
jmp 0x40dd69
lea ebx, [ebp - 0xd8]
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [method.QString.toLocal8Bit___const]
push esi
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax]
dec edx
je 0x40ef79
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [method.QByteArray.realloc_int_]
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + 0xc]
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call dword [sym.imp.QtCore4.dll_qt_message_output_QtMsgType__char_const_]
mov eax, dword [ebp - 0xd8]
lock dec dword [eax]
setne dl
test dl, dl
je 0x40ee8a
mov ebx, dword [ebp - 0x44]
jmp 0x40dd54
mov eax, dword [ebp - 0xd8]
mov dword [esp], eax
call dword [sym.imp.QtCore4.dll_qFree_void_]
jmp 0x40ee82
mov eax, dword [edi + 0x38]
mov edx, dword [eax]
mov ecx, dword [edx + 0x34]
mov dword [ebp - 0x64], 0x26
lea edx, [ebp - 0x64]
mov dword [esp + 4], edx
mov dword [esp], eax
call ecx
mov eax, dword [ebp - 0x90]
mov edx, dword [eax + 8]
mov dword [esp + 8], edx
mov ecx, edx
sar ecx, 0x1f
mov dword [esp + 0xc], ecx
mov eax, dword [eax + 0xc]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x38]
mov dword [esp], eax
call dword [method.QIODevice.write_char_const__long_long_]
mov dword [ebp - 0x100], eax
mov ecx, edx
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 8]
mov dword [ebp - 0x108], eax
cdq
xor ecx, edx
xor dword [ebp - 0x100], eax
or ecx, dword [ebp - 0x100]
je 0x40efcc
mov eax, dword [edi + 0x38]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x38]
mov eax, dword [edi + 0x48]
test eax, eax
je 0x40efb3
mov eax, dword [edi + 0x30]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x50]
cmp edx, 0
jl 0x40ef69
jle 0x40f0ce
lea eax, [ebp - 0x74]
mov dword [esp], eax
call fcn.00424dec
push ecx
mov dword [esp + 4], str.File_read_not_finish.
lea edx, [ebp - 0x74]
mov dword [esp], edx
call fcn.00426220
lea eax, [ebp - 0x74]
mov dword [esp], eax
call fcn.004260fc
mov dword [esp], edi
call fcn.0040d9f8
mov eax, dword [edi + 0x30]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x50]
jmp 0x40eb85
mov edx, dword [eax + 0xc]
lea ecx, [eax + 0x10]
cmp edx, ecx
jne 0x40ee46
jmp 0x40ee5f
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call dword [sym.imp.QtCore4.dll_qFree_void_]
jmp 0x40ec16
mov edx, dword [eax + 0xc]
lea ecx, [eax + 0x10]
cmp edx, ecx
jne 0x40ebd6
jmp 0x40ebef
mov eax, dword [edi + 0x1c]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call dword [method.QProgressBar.reset__]
mov dword [esp], edi
call fcn.00409ea0
jmp 0x40ef69
mov word [ebp - 0x20], 0x20
mov word [ebp - 0x1e], 0x20
mov edx, dword [edi + 0x50]
mov dword [ebp - 0x100], edx
mov dword [esp + 4], str.Receive_file_data__serial_num:__1__data_size:__2.
lea ecx, [ebp - 0x68]
mov dword [esp], ecx
call fcn.004262a4
lea eax, [ebp - 0x1e]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0xa
mov dword [esp + 0x10], 0
mov eax, dword [ebp - 0x100]
cdq
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x68]
mov dword [esp + 4], edx
lea ecx, [ebp - 0x6c]
mov dword [esp], ecx
mov eax, dword [method.QString.arg_long_long__int__int__QChar_const__const]
mov dword [ebp - 0xec], eax
call eax
push ecx
lea eax, [ebp - 0x20]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0xa
mov dword [esp + 0x10], 0
mov eax, dword [ebp - 0x108]
cdq
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x6c]
mov dword [esp + 4], edx
lea ecx, [ebp - 0x70]
mov dword [esp], ecx
call dword [ebp - 0xec]
push edx
lea eax, [ebp - 0x70]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00402184
lea ecx, [ebp - 0x70]
mov dword [esp], ecx
call fcn.004262c8
lea ecx, [ebp - 0x6c]
mov dword [esp], ecx
call fcn.004262c8
lea ecx, [ebp - 0x68]
mov dword [esp], ecx
call fcn.004262c8
mov eax, dword [edi + 0x48]
add eax, 2
movzx edx, word [edi + 0x4c]
sub eax, edx
mov dword [edi + 0x48], eax
mov edx, dword [edi + 0x44]
sub edx, eax
mov dword [esp + 4], edx
mov eax, dword [edi + 0x1c]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call dword [method.QProgressBar.setValue_int_]
inc dword [edi + 0x50]
jmp 0x40ef0b
cmp eax, 0
jbe 0x40ef69
jmp 0x40ef37
movzx ecx, cl
movzx ebx, bl
shl ecx, 0x10
shl ebx, 8
add ecx, ebx
mov al, byte [ebp - 0x100]
shl eax, 0x18
add ecx, eax
mov ebx, ecx
jmp 0x40de3c
movzx ecx, cl
shl ecx, 0x10
mov al, byte [ebp - 0x100]
shl eax, 0x18
add ecx, eax
mov ebx, ecx
jmp 0x40de3c
movzx eax, cl
shl eax, 8
jmp 0x40e97a
shl ecx, 0x18
mov ebx, ecx
jmp 0x40de3c
xor esi, esi
mov eax, dword [eax + 0xc]
mov byte [ebp - 0x108], 0
jmp 0x40db19