Function at 0x44d275
Capabilities:
Check for time delay via gettickcount
Check if file exists
Get file attributes

Disassembly:
push ebp
lea ebp, [esp - 0x484]
sub esp, 0x504
mov eax, dword [0x488548]
xor eax, ebp
mov dword [ebp + 0x480], eax
mov eax, dword [ebp + 0x490]
push ebx
mov dword [ebp - 0x6c], eax
xor eax, eax
push esi
mov esi, dword [ebp + 0x48c]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x60], eax
push edi
mov edi, dword [ebp + 0x494]
mov ebx, dword [edi]
mov eax, dword [edi + 8]
mov dword [ebp - 0x58], eax
mov eax, ebx
sar eax, 8
and eax, 0x1f
mov ecx, ebx
shr ecx, 0xb
and ecx, 0x10
mov edx, eax
mov dword [esi + 0x2fc4], eax
or eax, ecx
and ebx, 0xff
and edx, 0x10
xor eax, 0x1f
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x5c], ebx
cmp ebx, 0x9b
je 0x44da52
cmp ebx, 0x9c
je 0x44da52
cmp ebx, 0x9e
je 0x44da52
cmp ebx, 0x17
je 0x44d31b
cmp ebx, 0x1a
jne 0x44d31f
test ecx, ecx
jne 0x44d329
cmp ebx, 0x1b
je 0x44d329
cmp ebx, 0x1e
jne 0x44d353
lea eax, [ebp - 0x30]
push eax
push 0xffffffffffffffff
push dword [ebp - 0x6c]
call dword [sym.imp.PPLIB32W.DLL__PPcOldPath_12]
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x44da4d
test al, 0x10
je 0x44da4d
push 2
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x78]
push eax
push 0
lea eax, [edi + 0xc]
push eax
call dword [sym.imp.PPLIB32W.DLL__LoadFileImage_20]
test eax, eax
jne 0x44da5a
push 0x3feb
push 2
push dword [esi + 0xc]
call dword [sym.imp.PPLIB32W.DLL__PPxCommonCommand_12]
cmp ebx, 0x1b
je 0x44d395
cmp ebx, 0x1e
je 0x44d395
push 0x17
push esi
call fcn.00424970
jmp 0x44d3a6
push str.SCMPStart_Compare
mov edx, 0x20000002
mov ecx, esi
call fcn.00427caa
mov dword [ebp - 0x44], esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x80]
mov ecx, 0x278
xor edx, edx
mov ebx, ecx
div ebx
xor ebx, ebx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x78]
cmp dword [ebp - 0x3c], ebx
jmp 0x44d3ee
cmp word [eax + 0x50], 0x2e
jne 0x44d3f3
movzx edx, word [eax + 0x52]
cmp dx, bx
je 0x44d3e9
cmp dx, 0x2e
jne 0x44d3f3
cmp word [eax + 0x54], bx
jne 0x44d3f3
add eax, ecx
dec dword [ebp - 0x3c]
mov dword [ebp - 0x54], eax
jne 0x44d3cd
cmp dword [ebp - 0x3c], ebx
jle 0x44d40e
mov edx, dword [ebp - 0x3c]
add eax, 0x50
cmp byte [eax - 0x41], 2
jae 0x44d409
xor ebx, ebx
mov word [eax], bx
add eax, ecx
dec edx
jne 0x44d3fe
xor eax, eax
inc eax
cmp dword [esi + 0x1d20], eax
jne 0x44d421
mov dword [ebp - 0x64], eax
cmp dword [edi + 4], eax
je 0x44d424
mov dword [ebp - 0x64], ebx
test byte [ebp - 0x5c], 0x40
mov dword [ebp - 0x48], ebx
je 0x44d57b
cmp dword [esi + 0x1d54], ebx
jle 0x44d9ea
mov eax, dword [esi + 0x1d40]
mov ecx, dword [ebp - 0x48]
mov edi, dword [eax + ecx*4]
imul edi, edi, 0x278
add edi, dword [esi + 0x1d34]
cmp byte [edi + 0xf], 2
jb 0x44d564
test byte [edi + 0x274], 3
jne 0x44d564
mov eax, dword [ebp - 0x68]
test dword [edi + 0x24], eax
jne 0x44d564
lea eax, [edi + 0x50]
push eax
call fcn.004270bd
movzx ebx, word [edi + 0xc]
mov dword [ebp - 0x64], eax
sub eax, edi
sub eax, 0x50
sar eax, 1
sub ebx, eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x58], eax
test eax, eax
je 0x44d564
mov eax, dword [ebp - 0x54]
add eax, 0x24
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
test dword [ebp - 0x68], eax
jne 0x44d550
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [ebp - 0x4c]
cmp ecx, 0x3e8
jbe 0x44d4e2
mov dword [ebp - 0x4c], eax
lea eax, [edi + 0x50]
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x40], eax
call fcn.0044c70f
test eax, eax
jne 0x44d564
mov eax, dword [ebp - 0x38]
inc dword [ebp - 0x60]
add eax, 0x2c
push eax
call fcn.004270bd
push ebx
push eax
push dword [ebp - 0x64]
mov dword [ebp - 0x50], eax
call fcn.004693ef
add esp, 0xc
test eax, eax
jne 0x44d550
mov eax, dword [ebp - 0x50]
movzx eax, word [eax + ebx*2]
test ax, ax
je 0x44d52c
cmp ax, 0x2e
jne 0x44d550
mov eax, dword [ebp - 0x50]
lea eax, [eax + ebx*2 + 2]
push 0x2e
push eax
call fcn.0046891a
pop ecx
pop ecx
test eax, eax
jne 0x44d550
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x74]
test ecx, eax
je 0x44d542
mov ecx, dword [edi + 0x24]
xor ecx, eax
test cl, 0x10
jne 0x44d550
inc dword [ebp - 0x34]
push 1
push dword [ebp - 0x48]
push esi
call fcn.00407cfe
dec dword [ebp - 0x58]
add dword [ebp - 0x38], 0x278
cmp dword [ebp - 0x58], 0
jne 0x44d4a8
inc dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
cmp eax, dword [esi + 0x1d54]
jl 0x44d43d
jmp 0x44d9ea
cmp dword [ebp - 0x5c], 0x1c
je 0x44d8e2
cmp dword [esi + 0x1d54], ebx
jle 0x44d9ea
mov eax, dword [esi + 0x1d40]
mov ecx, dword [ebp - 0x48]
mov edi, dword [eax + ecx*4]
imul edi, edi, 0x278
add edi, dword [esi + 0x1d34]
cmp byte [edi + 0xf], 2
jb 0x44d8cb
test byte [edi + 0x274], 3
jne 0x44d8cb
mov ecx, dword [ebp - 0x68]
lea eax, [edi + 0x24]
mov dword [ebp - 0x38], eax
test dword [eax], ecx
jne 0x44d8cb
lea eax, [edi + 0x50]
push eax
call fcn.004270bd
mov ebx, dword [ebp - 0x54]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x50], eax
test eax, eax
je 0x44d8a5
mov eax, dword [ebp - 0x68]
test dword [ebx + 0x24], eax
jne 0x44d653
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [ebp - 0x4c]
cmp ecx, 0x3e8
jbe 0x44d622
mov dword [ebp - 0x4c], eax
lea eax, [edi + 0x50]
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x40], eax
call fcn.0044c70f
test eax, eax
jne 0x44d89f
inc dword [ebp - 0x60]
lea eax, [ebx + 0x50]
push eax
call fcn.004270bd
push eax
push dword [ebp - 0x7c]
call fcn.00468b65
pop ecx
pop ecx
test eax, eax
jne 0x44d653
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebp - 0x74]
test ecx, eax
je 0x44d667
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ecx]
xor ecx, eax
test cl, 0x10
je 0x44d667
dec dword [ebp - 0x50]
add ebx, 0x278
cmp dword [ebp - 0x50], 0
jne 0x44d5ee
jmp 0x44d8a5
mov eax, dword [ebp - 0x5c]
cmp eax, 0x1e
jg 0x44d7a5
je 0x44d6b0
cmp eax, 0x15
jl 0x44d873
cmp eax, 0x16
jle 0x44d75c
cmp eax, 0x17
je 0x44d71a
cmp eax, 0x18
je 0x44d839
cmp eax, 0x19
je 0x44d6ff
cmp eax, 0x1a
je 0x44d7df
cmp eax, 0x1b
jne 0x44d873
cmp byte [ebx + 0xf], 2
jb 0x44d873
lea ecx, [ebx + 0x24]
push ecx
lea ecx, [ebp - 0x30]
push ecx
push dword [ebp - 0x38]
push dword [ebp - 0x70]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.0044d1a8
test eax, eax
jne 0x44d775
inc dword [ebp - 0x34]
push 1
push dword [ebp - 0x48]
push esi
call fcn.00407cfe
lea eax, [ebx + 0x50]
push eax
push dword [ebp - 0x58]
push dword [ebp - 0x6c]
push dword [esi + 0xc]
call fcn.0044d228
jmp 0x44d873
mov eax, dword [edi + 0x40]
mov ecx, dword [ebx + 0x40]
cmp eax, ecx
jne 0x44d70f
mov eax, dword [edi + 0x44]
cmp eax, dword [ebx + 0x44]
jae 0x44d873
jmp 0x44d865
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x38]
test dword [ecx], eax
je 0x44d865
lea eax, [ebp - 0x30]
push eax
push ecx
lea eax, [esi + 0xa34]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.0044c7e0
test eax, eax
jne 0x44d873
lea eax, [ebx + 0x50]
push eax
push dword [ebp - 0x58]
push dword [ebp - 0x6c]
push dword [esi + 0xc]
call fcn.0044d228
jmp 0x44d865
lea edx, [ebx + 0x38]
lea ecx, [edi + 0x38]
call dword [0x487ccc]
test eax, eax
jge 0x44d873
jmp 0x44d865
cmp eax, 0xd
je 0x44d873
cmp eax, 0x4c7
je 0x44d873
mov ecx, dword [esi + 0x1d54]
push eax
lea eax, [ebx + 0x50]
push eax
push dword [esi + 0xc]
mov dword [ebp - 0x48], ecx
call dword [sym.imp.PPLIB32W.DLL__PPErrorBox_12]
jmp 0x44d873
cmp eax, 0x95
jl 0x44d873
cmp eax, 0x96
jle 0x44d855
cmp eax, 0x97
je 0x44d84b
cmp eax, 0x98
je 0x44d839
cmp eax, 0x99
je 0x44d825
cmp eax, 0x9a
jne 0x44d873
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x38]
test dword [ecx], eax
je 0x44d803
lea eax, [ebp - 0x30]
push eax
push ecx
lea eax, [esi + 0xa34]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.0044ca3e
jmp 0x44d73d
lea edx, [ebx + 0x38]
lea ecx, [edi + 0x38]
call dword [0x487ccc]
test eax, eax
jne 0x44d873
mov eax, dword [edi + 0x40]
cmp eax, dword [ebx + 0x40]
jne 0x44d873
mov eax, dword [edi + 0x44]
cmp eax, dword [ebx + 0x44]
jne 0x44d873
jmp 0x44d865
mov eax, dword [edi + 0x40]
mov ecx, dword [ebx + 0x40]
cmp eax, ecx
jne 0x44d835
mov eax, dword [edi + 0x44]
cmp eax, dword [ebx + 0x44]
jbe 0x44d873
jmp 0x44d865
mov eax, dword [edi + 0x40]
cmp eax, dword [ebx + 0x40]
jne 0x44d865
mov eax, dword [edi + 0x44]
cmp eax, dword [ebx + 0x44]
je 0x44d873
jmp 0x44d865
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x38]
test dword [ecx], eax
jmp 0x44d821
lea edx, [ebx + 0x38]
lea ecx, [edi + 0x38]
call dword [0x487ccc]
test eax, eax
jle 0x44d873
inc dword [ebp - 0x34]
push 1
push dword [ebp - 0x48]
push esi
call fcn.00407cfe
cmp dword [ebp - 0x64], 0
je 0x44d89f
cmp dword [ebp - 0x54], ebx
jne 0x44d899
mov eax, 0x278
jmp 0x44d88f
mov ecx, dword [ebp - 0x54]
cmp word [ecx + 0x50], 0
jne 0x44d89f
add dword [ebp - 0x54], eax
dec dword [ebp - 0x3c]
jne 0x44d885
jmp 0x44d89f
xor eax, eax
mov word [ebx + 0x50], ax
cmp dword [ebp - 0x50], 0
jne 0x44d8cb
cmp dword [ebp - 0x5c], 0x95
je 0x44d8bd
cmp dword [ebp - 0x5c], 0x1d
je 0x44d8bd
cmp dword [ebp - 0x5c], 0x9d
jne 0x44d8cb
inc dword [ebp - 0x34]
push 1
push dword [ebp - 0x48]
push esi
call fcn.00407cfe
inc dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
cmp eax, dword [esi + 0x1d54]
jl 0x44d591
jmp 0x44d9ea
cmp dword [esi + 0x1d54], ebx
mov dword [ebp - 0x64], ebx
jle 0x44d9ea
mov eax, dword [esi + 0x1d40]
mov ecx, dword [ebp - 0x48]
mov edi, dword [eax + ecx*4]
imul edi, edi, 0x278
add edi, dword [esi + 0x1d34]
cmp byte [edi + 0xf], 2
jb 0x44d9d8
test byte [edi + 0x274], 3
jne 0x44d9d8
mov eax, dword [ebp - 0x68]
test dword [edi + 0x24], eax
jne 0x44d9d8
mov eax, dword [ebp - 0x3c]
inc dword [ebp - 0x60]
mov dword [ebp - 0x50], eax
test eax, eax
je 0x44d9d8
mov ebx, dword [ebp - 0x54]
add ebx, 0x24
mov eax, dword [ebp - 0x68]
test dword [ebx], eax
jne 0x44d9c5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [ebp - 0x4c]
cmp ecx, 0x3e8
jbe 0x44d972
mov dword [ebp - 0x4c], eax
lea eax, [edi + 0x50]
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x40], eax
call fcn.0044c70f
test eax, eax
jne 0x44d9d8
mov eax, dword [edi + 0x40]
cmp eax, dword [ebx + 0x1c]
jne 0x44d9c5
mov eax, dword [edi + 0x44]
cmp eax, dword [ebx + 0x20]
jne 0x44d9c5
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x74]
test ecx, eax
je 0x44d995
mov ecx, dword [edi + 0x24]
xor ecx, eax
test cl, 0x10
jne 0x44d9c5
mov eax, dword [ebp - 0x64]
and eax, 3
inc eax
inc dword [ebp - 0x34]
push 1
mov byte [edi + 0x276], al
push dword [ebp - 0x48]
mov dword [ebp - 0x64], eax
push esi
call fcn.00407cfe
lea eax, [ebx + 0x2c]
push eax
push dword [ebp - 0x58]
push dword [ebp - 0x6c]
push dword [esi + 0xc]
call fcn.0044d228
dec dword [ebp - 0x50]
add ebx, 0x278
cmp dword [ebp - 0x50], 0
jne 0x44d943
inc dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
cmp eax, dword [esi + 0x1d54]
jl 0x44d8f1
mov ecx, dword [ebp - 0x78]
call fcn.00424f83
push 0x17
push esi
call fcn.00424970
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x44da0b
cmp dword [ebp - 0x34], eax
jne 0x44da0b
or ecx, 0xffffffff
jmp 0x44da0e
mov ecx, dword [ebp - 0x34]
cmp dword [ebp - 0x5c], 0x1b
je 0x44da1f
cmp dword [ebp - 0x5c], 0x1e
je 0x44da1f
mov eax, dword [esi + 0xc]
jmp 0x44da22
mov eax, dword [ebp - 0x6c]
push ecx
push 0xbe08
push dword [0x48b024]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
push esi
call fcn.004212d2
push 0x3fec
push 0
push dword [esi + 0xc]
call dword [sym.imp.PPLIB32W.DLL__PPxCommonCommand_12]
jmp 0x44da58
push 0x42
pop eax
jmp 0x44da5a
push esi
call fcn.004212d2
xor eax, eax
mov ecx, dword [ebp + 0x480]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0046890b
add ebp, 0x484
leave
ret 0xc