Function at 0x5e9fd0
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x674
push ebx
push esi
mov esi, dword [ebp + 0x10]
mov eax, dword [esi]
push edi
xor edi, edi
push edi
push 0x2d
push eax
lea ecx, [esp + 0x74]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCompactPathExW]
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebx]
mov edx, dword [edx + 0x20]
push edi
lea eax, [esp + 0x6c]
push eax
mov ecx, ebx
call edx
mov eax, dword [ebx]
mov edx, dword [eax + 0x20]
push 1
push str.Please_wait...
mov ecx, ebx
call edx
mov eax, dword [esi + 4]
cmp eax, edi
jne 0x5ea02c
mov eax, dword [0x73658c]
cmp eax, edi
jne 0x5ea02c
call fcn.005ebef0
mov dword [esp + 0x34], eax
mov eax, dword [eax + 0xe]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov ebx, dword [esi + 8]
add word [ebx + 0x12], 1
mov eax, dword [esp + 0x34]
cmp eax, edi
mov dword [esp + 0x4c], ebx
je 0x5ea059
cmp byte [eax + 0xd], 0
setne al
test al, al
je 0x5ea0d5
add word [ebx + 0x12], 0xffff
movzx eax, word [ebx + 0x12]
cmp ax, di
mov esi, dword [ebp + 8]
mov dword [esi], 2
jne 0x5ea07b
mov edx, dword [ebx]
mov eax, dword [edx]
push 1
mov ecx, ebx
call eax
mov eax, dword [esp + 0x34]
cmp eax, edi
je 0x5ea432
mov edi, eax
mov dword [esp + 0x34], 0
mov ecx, dword [edi + 0xe]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x5ea432
cmp edi, dword [0x73658c]
je 0x5ea0c0
mov edx, dword [edi]
mov eax, dword [edx]
push 1
mov ecx, edi
call eax
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [edi + 0xe]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
test byte [ebx + 0xd], 1
je 0x5ea0f6
add word [ebx + 0x12], 0xffff
movzx eax, word [ebx + 0x12]
mov esi, dword [ebp + 8]
mov dword [esi], 2
cmp ax, di
jmp 0x5ea41d
movzx ecx, byte [ebx + 0xc]
mov edx, dword [ebx + 8]
push ecx
push edx
lea eax, [esp + 0x3c]
call fcn.005f16d0
lea eax, [esp + 0x34]
fld dword [0x7236a0]
push eax
lea ecx, [esp + 0x40]
fstp dword [esp + 0x68]
push ecx
lea ecx, [esp + 0x5f]
mov dword [esp + 0x63], edi
mov byte [esp + 0x67], 0
mov dword [esp + 0x68], edi
mov dword [esp + 0x5f], 0x6dc918
call dword [0x6dc91c]
push eax
lea edi, [esp + 0x38]
call fcn.005ebe20
lea ecx, [esp + 0x3c]
call fcn.005ebde0
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x5ea15f
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
push 0
call eax
cmp dword [esi + 0xc], 0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
sete al
test al, al
mov byte [esp + 0x3b], al
je 0x5ea178
mov eax, dword [edx + 0x28]
jmp 0x5ea17b
mov eax, dword [edx + 0x2c]
call eax
mov eax, dword [esp + 0x34]
test eax, eax
je 0x5ea18a
mov al, byte [eax + 8]
jmp 0x5ea18c
mov al, 1
movzx eax, al
xor ecx, ecx
shl eax, 0xd
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0069c0de
add esp, 4
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x40], eax
lea esp, [esp]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x48]
add eax, 1
test al, 1
mov dword [esp + 0x48], eax
jne 0x5ea1e8
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov edx, dword [eax]
call edx
test al, al
jne 0x5ea3aa
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x5ea206
mov eax, dword [ecx]
mov edx, dword [eax + 8]
call edx
mov ecx, dword [esp + 0x34]
test ecx, ecx
mov edi, eax
je 0x5ea208
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
call edx
jmp 0x5ea20a
xor edi, edi
xor eax, eax
sub eax, edi
mov esi, eax
mov dword [esp + 0x3c], esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esp + 0x40]
cmp eax, 0xc8
jbe 0x5ea2b7
mov eax, dword [esp + 0x34]
test eax, eax
je 0x5ea240
mov esi, dword [eax + 4]
test esi, esi
jg 0x5ea245
mov dword [esp + 0x40], 0
jmp 0x5ea263
mov esi, 0xac44
mov eax, edi
cdq
idiv esi
mov ecx, eax
mov eax, edx
imul ecx, ecx, 0x3e8
imul eax, eax, 0x3e8
cdq
idiv esi
add eax, ecx
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x270]
lea eax, [esp + 0x40]
call fcn.005ebf60
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x274]
push edx
push str.Read__s_of__s
mov esi, 0x104
lea edi, [esp + 0x484]
call fcn.004af0d0
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
add esp, 0xc
push 0
mov edx, edi
push edx
call eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
test esi, esi
jle 0x5ea37a
cmp esi, 0x2000
jle 0x5ea2cc
mov esi, 0x2000
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x5ea2e3
mov edx, dword [ecx]
mov edi, dword [esp + 0x44]
mov eax, dword [edx + 4]
push esi
push edi
call eax
jmp 0x5ea306
test esi, esi
jg 0x5ea2eb
xor eax, eax
jmp 0x5ea2f2
lea eax, [esi*4]
mov ecx, dword [esp + 0x44]
push eax
push 0
push ecx
call fcn.006a1300
mov edi, dword [esp + 0x50]
add esp, 0xc
mov edx, dword [ebx]
mov eax, dword [edx + 4]
push esi
push edi
mov ecx, ebx
call eax
test byte [ebx + 0xd], 1
jne 0x5ea3dd
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0xc]
test eax, eax
mov dword [esp + 0x50], eax
je 0x5ea1c0
mov esi, dword [ebx + 8]
test esi, esi
mov eax, dword [ebx + 4]
jg 0x5ea341
mov dword [esp + 0x3c], 0
jmp 0x5ea35d
cdq
idiv esi
mov ecx, eax
mov eax, edx
imul ecx, ecx, 0x3e8
imul eax, eax, 0x3e8
cdq
idiv esi
add eax, ecx
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov eax, dword [edx + 0x24]
fidiv dword [esp + 0x50]
sub esp, 8
fstp qword [esp]
call eax
jmp 0x5ea1c0
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x5ea3e9
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
test al, al
je 0x5ea3e9
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x5ea1c4
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c]
push 0x96
call eax
jmp 0x5ea1c0
mov esi, dword [ebp + 8]
mov ecx, dword [esp + 0x44]
mov dword [esi], 1
push ecx
call fcn.0069c8fa
add esp, 4
lea ecx, [esp + 0x4c]
call fcn.00408310
lea ecx, [esp + 0x34]
call fcn.005ebde0
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov esi, dword [ebp + 8]
mov dword [esi], 2
push edi
jmp 0x5ea3b8
cmp byte [esp + 0x3b], 0
je 0x5ea3fa
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov eax, dword [edx + 0x2c]
call eax
mov ecx, dword [esp + 0x44]
mov esi, dword [ebp + 8]
push ecx
mov dword [esi], 0
call fcn.0069c8fa
add word [ebx + 0x12], 0xffff
movzx eax, word [ebx + 0x12]
add esp, 4
test ax, ax
jne 0x5ea429
mov edx, dword [ebx]
mov eax, dword [edx]
push 1
mov ecx, ebx
call eax
lea ecx, [esp + 0x34]
call fcn.005ebde0
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc