Function at 0x4251b7
Capabilities:
Accept command line arguments
Check for time delay via gettickcount

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0x10c
push ebx
push esi
push edi
lea ecx, [ebp + 0x78]
call fcn.0040ac34
xor ebx, ebx
mov dword [ebp + 0x60], ebx
mov byte [0x49af61], 1
call fcn.0040d411
mov dword [ebp + 0x18], eax
movzx ax, al
xor ecx, ecx
mov ch, al
mov dword [ebp + 0x58], ebx
or ecx, eax
mov dword [ebp + 0x28], ecx
lea ecx, [ebp + 0x48]
call fcn.0042e1c4
push str.PeExe
push 0xffffffffffffffff
mov esi, 0x49aed0
push esi
call fcn.00430102
add esp, 0xc
lea ecx, [ebp + 0x30]
call fcn.0042e1c4
push ebx
lea eax, [ebp + 0x30]
push eax
push str.SCRIPTINIT
push 0x64
push dword [0x49addc]
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call fcn.004101ba
lea eax, [ebp + 0x30]
push 1
push eax
call fcn.0044244b
mov edx, dword [ebp + 0x30]
add esp, 0x1c
lea ecx, [ebp + 0x54]
mov dword [ebp + 0x54], edx
call fcn.0040ac34
cmp dword [ebp + 0x34], 4
mov eax, dword [ebp + 0x54]
jg 0x42525e
mov word [edx], bx
mov word [eax], bx
cmp word [eax], bx
mov edi, 0x49aed0
je 0x42531e
push 0x40
push 0x4887dc
mov ecx, edi
call fcn.00414618
mov eax, dword [ebp + 0x30]
mov dword [ebp + 0x54], eax
mov al, byte [0x499270]
mov dword [ebp + 0x30], ebx
mov byte [ebp + 0x5f], al
mov byte [0x499270], 1
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp + 0x44]
call fcn.0043a4ba
push 0x484964
push dword [ebp + 0x44]
mov ecx, edi
push dword [ebp + 0x54]
call fcn.004653f6
push 0xffffffffffffffff
mov dword [ebp + 0x60], eax
mov al, byte [ebp + 0x5f]
push ebx
push str.__Autoapp
mov ecx, edi
mov byte [0x499270], al
call fcn.0040bce3
cmp eax, ebx
je 0x4252f2
add eax, 4
cmp eax, ebx
je 0x4252f2
mov eax, dword [eax]
xor ecx, ecx
mov cx, word [eax]
cmp cx, bx
je 0x4252e9
inc eax
mov dword [ebp + 0x58], ecx
inc eax
push eax
lea ecx, [ebp + 0x48]
call fcn.0043a57e
push 0xffffffffffffffff
push ebx
push str.__bInitWin
mov ecx, edi
call fcn.0040bce3
cmp eax, ebx
jne 0x425309
xor eax, eax
jmp 0x42530c
add eax, 4
cmp eax, ebx
setne al
lea ecx, [ebp + 0x44]
mov byte [0x49ae80], al
call fcn.00428a48
push dword [ebp + 0x30]
call fcn.00428a1a
pop ecx
lea ecx, [ebp + 0x30]
call fcn.00428a48
push str.PeExe
push 1
push esi
call fcn.00430102
add esp, 0xc
lea ecx, [ebp + 0x1c]
call fcn.0042e1c4
movzx eax, word [ebp + 0x28]
shl eax, 0x10
cmp word [ebp + 0x58], 0x2a
mov dword [ebp + 0x20], ebx
mov dword [ebp + 0x24], ebx
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x54], ebx
je 0x4253b5
cmp word [ebp + 0x58], 0x24
je 0x4253b5
mov eax, dword [ebp + 0x48]
cmp word [eax], bx
jne 0x4253b5
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x1c]
push eax
push str.SCRIPT
push 0x65
push dword [0x49addc]
call fcn.004101ba
mov eax, dword [ebp + 0x3c]
or eax, 1
push eax
lea eax, [ebp + 0x1c]
push eax
call fcn.0044244b
mov eax, dword [ebp + 0x1c]
add esp, 0x1c
cmp dword [ebp + 0x20], 4
mov dword [ebp + 0x54], eax
jg 0x4253b5
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0x28], ebx
mov dword [ebp + 0x3c], ebx
mov dword [ebp + 0x54], ebx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov esi, eax
cmp esi, ebx
mov dword [ebp + 0x14], esi
je 0x4253e2
push 0x11
lea eax, [ebp + 0x14]
push eax
push str.PECMDpecmd_cmd
call fcn.00428ad5
add esp, 0xc
test eax, eax
mov byte [0x49ad50], 1
jne 0x4253e8
mov byte [0x49ad50], bl
push 4
push dword [ebp + 0x78]
push 0x4855c4
call fcn.0042996a
add esp, 0xc
test al, al
je 0x425404
mov byte [0x49ab86], bl
mov al, byte [0x49ad50]
cmp al, bl
mov byte [ebp + 0x67], al
jne 0x4254dd
cmp word [ebp + 0x58], 0x2d
jne 0x42541f
or byte [ebp + 0x67], 2
cmp word [ebp + 0x58], 0x2a
jne 0x42544b
push 0x49aefc
mov byte [0x499270], 1
call fcn.0042d464
mov eax, dword [ebp + 0x48]
pop ecx
add eax, 8
push eax
mov ecx, edi
call fcn.00424c60
jmp 0x4254d5
cmp word [ebp + 0x58], 0x24
jne 0x425468
push ebx
push ebx
push ebx
push dword [ebp + 0x48]
mov ecx, edi
mov byte [0x499270], 1
call fcn.004228ce
jmp 0x4254d5
mov eax, dword [ebp + 0x48]
cmp word [eax], bx
je 0x4254a0
cmp dword [ebp + 0x54], ebx
jne 0x4254a0
push 0x4850e8
lea ecx, [ebp + 0x48]
mov byte [0x499270], 1
call fcn.0042e232
push dword [ebp + 0x78]
lea ecx, [ebp + 0x48]
call fcn.0042e232
push dword [ebp + 0x48]
mov ecx, edi
call fcn.0041e615
jmp 0x4254d5
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
jne 0x4254dd
cmp dword [ebp + 0x54], ebx
jne 0x4254dd
push 5
push 0x12e
push dword [0x49addc]
call dword [sym.imp.KERNEL32.dll_FindResourceW]
test eax, eax
je 0x42596c
push ebx
push 0x484964
mov ecx, edi
call fcn.0041dce2
mov dword [ebp + 0x60], eax
jmp 0x42596c
lea ecx, [ebp + 0x58]
call fcn.0042e1c4
cmp esi, ebx
jne 0x4254f9
lea ecx, [ebp + 0x58]
call fcn.00428a48
or esi, 0xffffffff
jmp 0x4259aa
lea eax, [ebp + 0x58]
push eax
push esi
call fcn.004171f7
mov eax, dword [ebp + 0x58]
mov dword [ebp + 0x60], eax
push 1
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp + 0x60]
push eax
mov dword [ebp + 0x44], ebx
call fcn.004149d8
add esp, 0x14
lea ecx, [ebp + 0x60]
mov dword [ebp + 0x60], eax
call fcn.0040ac34
mov esi, dword [ebp + 0x60]
mov eax, esi
sub eax, dword [ebp + 0x58]
sar eax, 1
cmp dword [ebp + 0x54], ebx
mov dword [ebp + 0x44], eax
je 0x425544
cmp byte [ebp + 0x67], bl
mov byte [ebp + 0x53], 1
je 0x425547
mov byte [ebp + 0x53], bl
cmp byte [ebp + 0x53], bl
mov byte [ebp + 0x67], 0x10
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
mov byte [ebp + 0x5f], 1
je 0x42556f
lea esi, [ebp + 0x1c]
mov byte [0x499270], 1
mov byte [ebp + 0x5f], bl
jmp 0x425759
push dword [ebp + 0x1c]
call fcn.00428a1a
pop ecx
lea ecx, [ebp + 0x1c]
call fcn.00428a48
cmp word [esi], 0x2f
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0x28], ebx
mov dword [ebp + 0x3c], ebx
mov byte [ebp + 0x5e], bl
jne 0x4255b3
mov ax, word [esi + 2]
or ax, 0x20
cmp ax, 0x6c
jne 0x4255b3
mov ax, word [esi + 4]
call fcn.0040ac1b
test al, al
je 0x4255b3
mov al, byte [esi + 2]
mov byte [ebp + 0x5e], al
cmp byte [ebp + 0x5e], bl
mov dword [ebp + 0x54], ebx
je 0x4255dc
mov word [esi + 2], 0x20
mov word [esi], 0x20
add esi, 4
lea ecx, [ebp + 0x60]
mov dword [ebp + 0x60], esi
call fcn.0040ac34
mov esi, dword [ebp + 0x60]
jmp 0x425680
cmp word [esi], 0x22
push ebx
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x60]
push eax
sete byte [ebp + 0x2f]
mov dword [ebp + 0x4c], ebx
mov dword [ebp + 0x60], esi
call fcn.004149d8
sub eax, dword [ebp + 0x60]
add esp, 0xc
sar eax, 1
push eax
push dword [ebp + 0x60]
lea ecx, [ebp + 0x40]
call fcn.0043a4d7
push dword [ebp + 0x40]
call fcn.00470011
cmp byte [ebp + 0x2f], bl
pop ecx
mov dword [ebp + 0x4c], eax
je 0x425637
cmp eax, ebx
je 0x42562e
mov ax, word [esi + 2]
call fcn.0040ac1b
test al, al
je 0x425637
push esi
call fcn.0040dca1
pop ecx
mov esi, eax
cmp dword [ebp + 0x4c], ebx
je 0x425678
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
mov dword [ebp + 0x4c], eax
add eax, 0xa
push eax
lea ecx, [ebp + 0x54]
call fcn.0042e20b
push 0xc
push 0x48877c
push dword [ebp + 0x54]
call fcn.00470580
push dword [ebp + 0x4c]
mov eax, dword [ebp + 0x54]
add eax, 0xa
push esi
push eax
call fcn.00403fda
mov esi, dword [ebp + 0x54]
add esp, 0x18
lea ecx, [ebp + 0x40]
call fcn.00428a48
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp + 0x40], eax
add eax, 3
push eax
lea ecx, [ebp + 0x30]
call fcn.0042e20b
mov eax, dword [ebp + 0x40]
inc eax
push eax
push esi
push dword [ebp + 0x30]
call fcn.00403fda
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x40]
add esp, 0xc
cmp byte [ebp + 0x5e], bl
mov word [eax + ecx*2 + 2], bx
je 0x42574a
push dword [ebp + 0x30]
mov byte [ebp + 0x67], bl
call fcn.0042aab8
mov eax, dword [ebp + 0x30]
mov dword [ebp + 0x60], eax
pop ecx
lea eax, [ebp + 0x60]
call fcn.00404016
mov esi, dword [ebp + 0x60]
sub esi, dword [ebp + 0x30]
mov eax, dword [ebp + 0x44]
sar esi, 1
add eax, esi
mov dword [ebp + 0x4c], eax
inc eax
push eax
lea ecx, [ebp + 0x58]
call fcn.0042e20b
cmp esi, ebx
jle 0x42574a
mov eax, dword [ebp + 0x58]
mov ecx, dword [ebp + 0x44]
push esi
push dword [ebp + 0x30]
lea eax, [eax + ecx*2]
push eax
call fcn.00403fda
mov eax, dword [ebp + 0x58]
mov ecx, dword [ebp + 0x4c]
add esp, 0xc
cmp byte [ebp + 0x5e], 0x4c
mov word [eax + ecx*2], bx
jne 0x42574a
push dword [ebp + 0x60]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
add eax, eax
push eax
push dword [ebp + 0x60]
mov dword [ebp + 0x4c], eax
push dword [ebp + 0x30]
call fcn.004708c0
mov ecx, dword [ebp + 0x4c]
lea eax, [esi + esi]
push eax
mov eax, dword [ebp + 0x30]
add ecx, eax
push ebx
push ecx
call fcn.00470340
add esp, 0x18
or byte [ebp + 0x67], 1
lea ecx, [ebp + 0x54]
lea esi, [ebp + 0x30]
call fcn.00428a48
mov eax, dword [esi]
push 1
push dword [ebp + 0x58]
mov ecx, 0x49aed0
mov dword [ebp + 0x60], eax
call fcn.0043d9b9
cmp byte [ebp + 0x53], bl
je 0x42577e
push 0x10040
push str.101
jmp 0x4257b4
lea ecx, [ebp + 0x60]
call fcn.0040ac34
push dword [ebp + 0x60]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edx, dword [ebp + 0x60]
lea ecx, [edx + eax*2 - 2]
jmp 0x4257a9
mov ax, word [ecx]
call fcn.0040ac1b
test al, al
je 0x4257ad
mov word [ecx], bx
dec ecx
dec ecx
cmp ecx, edx
jae 0x425798
push 0x40
push str.cmdline
mov ecx, edi
call fcn.00414618
mov edi, dword [esi]
mov eax, dword [ebp + 0x60]
sub eax, edi
test eax, 0xfffffffe
jle 0x4257e3
push dword [ebp + 0x60]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + eax + 2]
push eax
push dword [ebp + 0x60]
push edi
call fcn.004708c0
add esp, 0xc
mov edi, dword [esi]
push 0x488750
lea ecx, [ebp + 0x40]
call fcn.0043a4ba
push ebx
push 0x49aed0
lea ecx, [ebp - 0xa4]
call fcn.0041df36
movzx eax, word [ebp + 0x28]
push eax
lea ecx, [ebp - 0xa4]
mov dword [ebp + 0x44], eax
call fcn.0042c2e0
mov ax, word [ebp + 0x28]
mov word [ebp - 0x9c], ax
mov eax, edi
push ebx
lea edi, [ebp - 0xa4]
call fcn.0041477c
push dword [ebp + 0x28]
push dword [esi]
call fcn.0040d3f8
mov ecx, edi
push ecx
lea ecx, [ebp + 0x40]
push ecx
mov ecx, dword [ebp + 0x3c]
push eax
push ebx
push esi
mov dword [ebp + 0x4c], eax
call fcn.0041d2c6
movzx edi, word [ebp + 0x18]
movzx eax, ax
or dword [ebp + 0x3c], eax
mov eax, dword [ebp + 0x4c]
inc eax
push eax
mov eax, edi
xor eax, dword [ebp + 0x44]
push eax
push dword [esi]
call fcn.0040d46c
mov eax, dword [ebp + 0x3c]
add esp, 0x2c
and eax, 2
shl edi, 0x10
push ebx
lea ecx, [ebp - 0xa4]
or edi, eax
call fcn.0041da45
lea ecx, [ebp - 0x60]
call fcn.00428a48
lea ecx, [ebp + 0x40]
call fcn.00428a48
movsx eax, byte [ebp + 0x5f]
push str.PeExe
push eax
push 0x49aed0
call fcn.00430102
mov ecx, dword [esi]
xor eax, eax
mov al, byte [ebp + 0x67]
add esp, 0xc
push ebx
push ebx
mov dword [esi], ebx
and eax, 1
or eax, edi
or eax, 0x80
push eax
push ebx
push dword [ebp + 0x58]
push ecx
mov ecx, 0x49aed0
call fcn.004654e7
mov dword [ebp + 0x60], eax
call fcn.0042e68b
cmp dword [0x49b1a0], ebx
jle 0x4258e7
mov byte [0x499280], 0xff
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
mov edi, eax
sub edi, 0x14
call esi
jmp 0x42594f
call esi
mov dword [ebp + 0x4c], eax
sub eax, edi
cmp eax, 1
jb 0x42590e
push ebx
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov edi, dword [ebp + 0x4c]
push 0x4bf
push 0xa
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
jmp 0x425947
push 1
push ebx
push ebx
push ebx
lea eax, [ebp - 8]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x42594f
lea eax, [ebp - 8]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 8]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
cmp dword [0x49b1a0], ebx
jg 0x425920
cmp dword [0x49b1a0], ebx
jg 0x4258f8
lea ecx, [ebp + 0x30]
call fcn.00428a48
lea ecx, [ebp + 0x58]
call fcn.00428a48
mov edi, 0x49aed0
push dword [ebp + 0x1c]
call fcn.00428a1a
pop ecx
mov ecx, 0x49b638
call fcn.00428f3b
mov ecx, 0x49b208
call fcn.00428f69
push 0x49aefc
call fcn.0042d464
pop ecx
call fcn.0040dc3e
mov eax, 0x484964
push eax
push eax
mov ecx, edi
call fcn.00416b56
mov esi, dword [ebp + 0x60]
lea ecx, [ebp + 0x1c]
call fcn.00428a48
lea ecx, [ebp + 0x48]
call fcn.00428a48
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x68
leave
ret