Function at 0x408fda
Capabilities:
Check for time delay via gettickcount
Read file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x8f0]
sub esp, 0x970
mov eax, dword [0x437b00]
xor eax, ebp
mov dword [ebp + 0x8ec], eax
and dword [ebp - 0x78], 0
push ebx
mov ebx, dword [ebp + 0x8f8]
push esi
push edi
push ebx
call dword [sym.imp.PPLIB32W.DLL__VFSFindLastEntry_4]
push 0x42e35c
push eax
call fcn.00422af6
pop ecx
pop ecx
test eax, eax
je 0x409046
lea esi, [ebp + 0x43c]
mov ecx, ebx
sub esi, ebx
movzx edx, word [ecx]
mov word [esi + ecx], dx
inc ecx
inc ecx
test dx, dx
jne 0x409024
sub eax, ebx
sar eax, 1
xor ecx, ecx
mov word [ebp + eax*2 + 0x43c], cx
lea ebx, [ebp + 0x43c]
push 7
pop ecx
mov edi, 0x42d7ac
mov esi, ebx
xor eax, eax
repe cmpsw word [esi], word es:[edi]
je 0x409552
push 4
pop ecx
mov edi, str.https:__
mov esi, ebx
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
je 0x409552
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x80]
push eax
push ebx
call fcn.00407466
xor edi, edi
mov dword [ebp - 0x7c], eax
cmp eax, edi
jne 0x40908d
xor eax, eax
jmp 0x409558
cmp eax, 0xffffffff
jne 0x40909a
xor eax, eax
inc eax
jmp 0x409558
mov esi, dword [sym.imp.PPLIB32W.DLL__GetCustData_12]
push 4
push 0x436890
push str.X_wsiz
call esi
test dword [ebp + 0x8fc], 0x10000
jne 0x409171
cmp dword [0x438ff4], edi
jne 0x4090d7
mov eax, dword [0x438ff0]
cmp eax, dword [0x436890]
jb 0x409171
call dword [sym.imp.PPLIB32W.DLL__UsePPx_0]
push ebx
push 0x100
call dword [sym.imp.PPLIB32W.DLL__SearchHistory_8]
cmp eax, edi
je 0x40916b
movzx edx, word [eax - 2]
mov cx, word [eax - 6]
sub cx, dx
sub cx, 6
movzx ecx, cx
sub ecx, 0xc
cmp ecx, 0xa
jl 0x40916b
movzx edx, dx
lea eax, [edx + eax + 0xc]
mov dl, byte [eax + 1]
cmp dl, 0x67
jne 0x409129
mov ecx, dword [eax + 2]
mov dword [0x438ff8], ecx
mov eax, dword [eax + 6]
mov dword [0x438ffc], eax
jmp 0x409146
cmp dl, 0x65
jne 0x409141
cmp ecx, 0xe
jl 0x409141
mov ecx, dword [eax + 6]
mov dword [0x438ff8], ecx
mov eax, dword [eax + 0xa]
jmp 0x409122
mov eax, dword [0x438ffc]
mov ecx, dword [0x438ff4]
cmp eax, ecx
ja 0x40915f
jne 0x40916b
mov eax, dword [0x438ff8]
cmp eax, dword [0x438ff0]
jb 0x40916b
mov dword [0x438ffc], edi
mov dword [0x438ff8], edi
call dword [sym.imp.PPLIB32W.DLL__FreePPx_0]
mov edi, dword [ebp - 0x80]
movzx eax, word [edi]
test ax, ax
je 0x40924a
cmp ax, 0x5c
jne 0x409191
cmp word [edi + 2], 0
je 0x40924a
push 2
pop esi
lea edx, [ebp - 0x74]
mov dword [ebp - 0x78], esi
mov eax, ebx
sub edx, ebx
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, esi
test cx, cx
jne 0x40919e
mov eax, edi
sub eax, ebx
sar eax, 1
xor ecx, ecx
mov word [ebp + eax*2 - 0x74], cx
push 4
lea eax, [ebp - 0x78]
push eax
push str.X_llsiz
call dword [sym.imp.PPLIB32W.DLL__GetCustData_12]
mov eax, dword [0x43b52c]
xor esi, esi
inc esi
cmp dword [ebp - 0x78], esi
je 0x4091e9
cmp dword [0x438fe8], esi
je 0x4091e9
cmp dword [ebp - 0x78], 2
jne 0x4091ef
mov eax, esi
jmp 0x4091ef
push 2
mov dword [ebp - 0x78], esi
pop eax
push 0x43bd68
push 0x43bd6c
push 0x438ff4
push 0x438ff0
push edi
lea ecx, [ebp - 0x74]
push ecx
push dword [ebp - 0x7c]
push eax
call dword [sym.imp.PPLIB32W.DLL__VFSGetArchivefileImage_32]
test eax, eax
je 0x409221
push eax
call fcn.0040fe23
jmp 0x409086
cmp dword [ebp - 0x78], 2
mov eax, dword [0x438ff0]
jne 0x40923e
cmp eax, dword [0x436890]
jne 0x40923e
mov dword [0x438fe8], 3
mov dword [0x43bd70], eax
mov eax, esi
jmp 0x409558
cmp dword [0x438ff4], 0
mov eax, dword [0x438ff0]
mov dword [0x43bd70], eax
jbe 0x409290
cmp dword [0x438fe8], 2
jge 0x409270
mov dword [0x438fe8], 3
mov ecx, dword [0x438ff8]
or eax, 0xffffffff
or ecx, dword [0x438ffc]
mov dword [0x43bd70], eax
je 0x409290
mov dword [0x438fe8], 4
test byte [ebp + 0x8fc], 0x20
je 0x4092c9
push 4
lea eax, [ebp - 0x78]
push eax
push str.X_svsz
mov dword [ebp - 0x78], 0x989680
call esi
mov eax, dword [0x43bd70]
cmp eax, dword [ebp - 0x78]
jbe 0x4092c9
mov eax, dword [ebp - 0x78]
mov dword [0x43bd70], eax
mov dword [0x438fe8], 3
cmp eax, dword [0x436890]
jbe 0x4093f7
mov eax, dword [0x438fe8]
test eax, eax
jne 0x4092e6
push 3
pop eax
mov dword [0x438fe8], eax
mov ecx, dword [0x438ff8]
or ecx, dword [0x438ffc]
je 0x4092fc
push 4
pop eax
mov dword [0x438fe8], eax
cmp eax, 4
jge 0x40938b
cmp dword [0x438ff4], 0
jne 0x40938b
cmp dword [0x438ff0], 0x40000000
jae 0x40938b
cmp eax, 1
je 0x4093e6
push 4
lea eax, [ebp - 0x78]
push eax
push str.X_llsiz
mov dword [ebp - 0x78], 2
call esi
mov eax, dword [ebp - 0x78]
cmp eax, 3
ja 0x409348
mov ebx, dword [eax*4 + 0x436a04]
jmp 0x40934a
xor ebx, ebx
test ebx, ebx
jne 0x40938e
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push dword [0x43b52c]
mov esi, dword [sym.imp.PPLIB32W.DLL__ForceSetForegroundWindow_4]
mov edi, eax
call esi
push 0x33
push str.Warning
push str.QOSLFile_size_too_large._Read_file_image_partially_
push dword [0x43b52c]
call dword [sym.imp.PPLIB32W.DLL__PMessageBox_16]
mov ebx, eax
cmp edi, dword [0x43b52c]
je 0x40938e
push edi
call esi
jmp 0x40938e
push 6
pop ebx
cmp ebx, 6
jne 0x4093cc
mov eax, dword [0x438ff0]
mov ecx, dword [0x438ff4]
mov esi, dword [0x436890]
sub ecx, dword [0x438ffc]
mov edx, eax
sub eax, dword [0x438ff8]
mov dword [0x43bd70], esi
cmp eax, edx
jbe 0x4093bd
dec ecx
test ecx, ecx
jne 0x4093f7
cmp eax, esi
jae 0x4093f7
mov dword [0x43bd70], eax
jmp 0x4093f7
cmp ebx, 7
je 0x4093e6
push 0
call fcn.0040fe23
push dword [ebp - 0x7c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x409086
xor eax, eax
mov dword [0x438fe8], eax
mov dword [0x438ffc], eax
mov dword [0x438ff8], eax
cmp dword [0x438fe8], 3
jl 0x409416
push 0
push 0x438ffc
push dword [0x438ff8]
push dword [ebp - 0x7c]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov eax, dword [0x43bd70]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalAlloc]
add eax, 0x400
push eax
push 2
call esi
mov dword [0x43bd6c], eax
test eax, eax
jne 0x409469
mov ebx, 0xc800000
mov edi, 0xa00000
mov eax, dword [0x43bd70]
cmp eax, ebx
jbe 0x40944b
mov eax, ebx
jmp 0x409451
cmp eax, edi
jbe 0x4093d1
mov eax, edi
mov dword [0x43bd70], eax
add eax, 0x400
push eax
push 2
call esi
mov dword [0x43bd6c], eax
test eax, eax
je 0x40943e
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [0x43bd68], eax
test eax, eax
je 0x4093d1
mov ecx, dword [0x43bd70]
mov edi, 0x400
push edi
add eax, ecx
push 0
push eax
call fcn.004229f0
mov eax, dword [0x43bd70]
mov ecx, 0x1000
add esp, 0xc
mov dword [0x43bd74], eax
mov dword [ebp - 0x78], eax
cmp eax, ecx
jb 0x4094af
mov dword [ebp - 0x78], ecx
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
push 0
push 0x43bd70
push dword [ebp - 0x78]
mov ebx, eax
push dword [0x43bd68]
push dword [ebp - 0x7c]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4093d1
mov eax, dword [0x43bd74]
cmp eax, dword [0x43bd70]
jbe 0x409523
call esi
mov ecx, dword [ebp - 0x7c]
inc dword [0x4390b4]
mov dword [0x439038], ecx
mov ecx, eax
sub ecx, ebx
mov dword [0x43a828], 0x20000
mov dword [0x43903c], 1
cmp ecx, 0x1f
jae 0x40951b
push eax
call fcn.00408abf
dec dword [0x4390b4]
jmp 0x40952c
push dword [ebp - 0x7c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x43bd68]
test eax, eax
je 0x409086
mov ecx, dword [0x43bd70]
push edi
add eax, ecx
push 0
push eax
call fcn.004229f0
add esp, 0xc
jmp 0x409092
push ebx
call fcn.00407a05
mov ecx, dword [ebp + 0x8ec]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00422725
add ebp, 0x8f0
leave
ret 8