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

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0x104
push ebx
push esi
push edi
lea ecx, [ebp + 0x78]
call fcn.00409aad
xor ebx, ebx
mov byte [0x48ff3d], 1
mov dword [ebp + 0x28], ebx
call fcn.0040c314
mov dword [ebp + 0x18], eax
movzx ax, al
xor ecx, ecx
mov ch, al
mov dword [ebp + 0x54], ebx
or ecx, eax
mov dword [ebp + 0x2c], ecx
lea ecx, [ebp + 0x48]
call fcn.0042aeb8
push str.PeExe
push 0xffffffffffffffff
mov esi, 0x48feb8
push esi
call fcn.0042ccbb
add esp, 0xc
lea ecx, [ebp + 0x30]
call fcn.0042aeb8
push ebx
lea eax, [ebp + 0x30]
push eax
push str.SCRIPTINIT
push 0x64
push dword [0x48fde8]
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x38], ebx
call fcn.0040f8b6
lea eax, [ebp + 0x30]
push 1
push eax
call fcn.00433b9f
mov edx, dword [ebp + 0x30]
add esp, 0x1c
lea ecx, [ebp + 0x5c]
mov dword [ebp + 0x5c], edx
call fcn.00409aad
cmp dword [ebp + 0x34], 4
mov eax, dword [ebp + 0x5c]
jg 0x422745
mov word [edx], bx
mov word [eax], bx
cmp word [eax], bx
mov edi, 0x48feb8
je 0x4227de
push 0x40
push 0x47e334
mov ecx, edi
call fcn.00413a63
mov eax, dword [ebp + 0x30]
mov dword [ebp + 0x5c], eax
mov al, byte [0x48e2a0]
mov dword [ebp + 0x30], ebx
mov byte [ebp + 0x5b], al
mov byte [0x48e2a0], 1
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp + 0x44]
call fcn.00434695
push 0x47a8e8
push dword [ebp + 0x44]
mov ecx, edi
push dword [ebp + 0x5c]
call fcn.0045b418
mov al, byte [ebp + 0x5b]
push 0xffffffffffffffff
push ebx
push str.__Autoapp
mov ecx, edi
mov byte [0x48e2a0], al
call fcn.0040ac3f
cmp eax, ebx
je 0x4227d6
add eax, 4
cmp eax, ebx
je 0x4227d6
mov eax, dword [eax]
xor ecx, ecx
mov cx, word [eax]
cmp cx, bx
je 0x4227cd
inc eax
mov dword [ebp + 0x54], ecx
inc eax
push eax
lea ecx, [ebp + 0x48]
call fcn.00426075
lea ecx, [ebp + 0x44]
call fcn.0042602e
push dword [ebp + 0x30]
call fcn.00425fea
pop ecx
lea ecx, [ebp + 0x30]
call fcn.0042602e
push str.PeExe
push 1
push esi
call fcn.0042ccbb
add esp, 0xc
lea ecx, [ebp + 0x1c]
call fcn.0042aeb8
movzx eax, word [ebp + 0x2c]
shl eax, 0x10
cmp word [ebp + 0x54], 0x2a
mov dword [ebp + 0x20], ebx
mov dword [ebp + 0x24], ebx
mov dword [ebp + 0x40], eax
mov dword [ebp + 0x5c], ebx
je 0x422875
cmp word [ebp + 0x54], 0x24
je 0x422875
mov eax, dword [ebp + 0x48]
cmp word [eax], bx
jne 0x422875
lea eax, [ebp + 0x40]
push eax
lea eax, [ebp + 0x1c]
push eax
push str.SCRIPT
push 0x65
push dword [0x48fde8]
call fcn.0040f8b6
mov eax, dword [ebp + 0x40]
or eax, 1
push eax
lea eax, [ebp + 0x1c]
push eax
call fcn.00433b9f
mov eax, dword [ebp + 0x1c]
add esp, 0x1c
cmp dword [ebp + 0x20], 4
mov dword [ebp + 0x5c], eax
jg 0x422875
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0x2c], ebx
mov dword [ebp + 0x40], ebx
mov dword [ebp + 0x5c], ebx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov esi, eax
cmp esi, ebx
mov dword [ebp + 0x14], esi
je 0x4228a2
push 0x11
lea eax, [ebp + 0x14]
push eax
push str.PECMDpecmd_cmd
call fcn.0042614a
add esp, 0xc
test eax, eax
mov byte [0x48fd58], 1
jne 0x4228a8
mov byte [0x48fd58], bl
push 4
push dword [ebp + 0x78]
push str.MAIN
call fcn.00426f79
add esp, 0xc
test al, al
je 0x4228c4
mov byte [0x48fba6], bl
mov al, byte [0x48fd58]
cmp al, bl
mov byte [ebp + 0x67], al
jne 0x42297e
cmp word [ebp + 0x54], 0x2d
jne 0x4228df
or byte [ebp + 0x67], 2
cmp word [ebp + 0x54], 0x2a
jne 0x422907
lea eax, [ebp + 0x28]
push eax
mov byte [0x48e2a0], 1
call fcn.0042a709
mov eax, dword [ebp + 0x48]
pop ecx
add eax, 8
push eax
mov ecx, edi
call fcn.004221a1
jmp 0x422976
cmp word [ebp + 0x54], 0x24
jne 0x422924
push ebx
push ebx
push ebx
push dword [ebp + 0x48]
mov ecx, edi
mov byte [0x48e2a0], 1
call fcn.0041ff01
jmp 0x422976
mov eax, dword [ebp + 0x48]
cmp word [eax], bx
je 0x42295c
cmp dword [ebp + 0x5c], ebx
jne 0x42295c
push 0x47aff8
lea ecx, [ebp + 0x48]
mov byte [0x48e2a0], 1
call fcn.0042af26
push dword [ebp + 0x78]
lea ecx, [ebp + 0x48]
call fcn.0042af26
push dword [ebp + 0x48]
mov ecx, edi
call fcn.0041e8ce
jmp 0x422976
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
jne 0x42297e
cmp dword [ebp + 0x5c], ebx
jne 0x42297e
push ebx
push 0x47a8e8
mov ecx, edi
call fcn.0041e003
mov dword [ebp + 0x5c], eax
jmp 0x422df6
lea ecx, [ebp + 0x54]
call fcn.0042aeb8
cmp esi, ebx
jne 0x42299a
lea ecx, [ebp + 0x54]
call fcn.0042602e
or esi, 0xffffffff
jmp 0x422e38
lea eax, [ebp + 0x54]
push eax
push esi
call fcn.0041640e
mov eax, dword [ebp + 0x54]
mov dword [ebp + 0x60], eax
push 1
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.00413db8
add esp, 0x14
lea ecx, [ebp + 0x60]
mov dword [ebp + 0x60], eax
call fcn.00409aad
mov esi, dword [ebp + 0x60]
mov eax, esi
sub eax, dword [ebp + 0x54]
sar eax, 1
cmp dword [ebp + 0x5c], ebx
mov dword [ebp + 0x44], eax
je 0x4229e2
cmp byte [ebp + 0x67], bl
mov byte [ebp + 0x53], 1
je 0x4229e5
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 + 0x5b], 1
je 0x422a0d
lea esi, [ebp + 0x1c]
mov byte [0x48e2a0], 1
mov byte [ebp + 0x5b], bl
jmp 0x422bf0
push dword [ebp + 0x1c]
call fcn.00425fea
pop ecx
lea ecx, [ebp + 0x1c]
call fcn.0042602e
cmp word [esi], 0x2f
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0x2c], ebx
mov dword [ebp + 0x40], ebx
mov byte [ebp + 0x5a], bl
jne 0x422a51
mov ax, word [esi + 2]
or ax, 0x20
cmp ax, 0x6c
jne 0x422a51
mov ax, word [esi + 4]
call fcn.00426083
test al, al
je 0x422a51
mov al, byte [esi + 2]
mov byte [ebp + 0x5a], al
cmp byte [ebp + 0x5a], bl
mov dword [ebp + 0x5c], ebx
je 0x422a7a
mov word [esi + 2], 0x20
mov word [esi], 0x20
add esi, 4
lea ecx, [ebp + 0x60]
mov dword [ebp + 0x60], esi
call fcn.00409aad
mov esi, dword [ebp + 0x60]
jmp 0x422b1b
cmp word [esi], 0x22
push ebx
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp + 0x60]
push eax
sete byte [ebp + 0x3f]
mov dword [ebp + 0x60], esi
call fcn.00413db8
sub eax, dword [ebp + 0x60]
add esp, 0xc
sar eax, 1
push eax
push dword [ebp + 0x60]
lea ecx, [ebp + 0x4c]
call fcn.00426041
push dword [ebp + 0x4c]
call fcn.0046646e
cmp byte [ebp + 0x3f], bl
pop ecx
mov dword [ebp + 0x60], eax
je 0x422ad2
cmp eax, ebx
je 0x422ac9
mov ax, word [esi + 2]
call fcn.00426083
test al, al
je 0x422ad2
push esi
call fcn.0040ca55
pop ecx
mov esi, eax
cmp dword [ebp + 0x60], ebx
je 0x422b13
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
mov dword [ebp + 0x60], eax
add eax, 0xa
push eax
lea ecx, [ebp + 0x5c]
call fcn.0042aeff
push 0xc
push str.LOAD
push dword [ebp + 0x5c]
call fcn.004669c0
push dword [ebp + 0x60]
mov eax, dword [ebp + 0x5c]
add eax, 0xa
push esi
push eax
call fcn.00403ac3
mov esi, dword [ebp + 0x5c]
add esp, 0x18
lea ecx, [ebp + 0x4c]
call fcn.0042602e
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp + 0x4c], eax
add eax, 3
push eax
lea ecx, [ebp + 0x30]
call fcn.0042aeff
mov eax, dword [ebp + 0x4c]
inc eax
push eax
push esi
push dword [ebp + 0x30]
call fcn.00403ac3
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x4c]
add esp, 0xc
cmp byte [ebp + 0x5a], bl
mov word [eax + ecx*2 + 2], bx
je 0x422be1
push dword [ebp + 0x30]
mov byte [ebp + 0x67], bl
call fcn.00428034
mov edi, dword [ebp + 0x30]
pop ecx
lea eax, [ebp + 0x60]
mov dword [ebp + 0x60], edi
call fcn.00403aff
mov esi, dword [ebp + 0x60]
mov eax, dword [ebp + 0x44]
sub esi, edi
sar esi, 1
lea edi, [esi + eax]
lea eax, [edi + 1]
push eax
lea ecx, [ebp + 0x54]
call fcn.0042aeff
cmp esi, ebx
jle 0x422bdc
mov eax, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x44]
push esi
push dword [ebp + 0x30]
lea eax, [eax + ecx*2]
push eax
call fcn.00403ac3
mov eax, dword [ebp + 0x54]
add esp, 0xc
cmp byte [ebp + 0x5a], 0x4c
mov word [eax + edi*2], bx
jne 0x422bdc
push dword [ebp + 0x60]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
lea edi, [eax + eax]
push edi
push dword [ebp + 0x60]
push dword [ebp + 0x30]
call fcn.00466d00
lea eax, [esi + esi]
push eax
mov eax, dword [ebp + 0x30]
add edi, eax
push ebx
push edi
call fcn.00466780
add esp, 0x18
mov edi, 0x48feb8
or byte [ebp + 0x67], 1
lea ecx, [ebp + 0x5c]
lea esi, [ebp + 0x30]
call fcn.0042602e
mov eax, dword [esi]
push 1
push dword [ebp + 0x54]
mov ecx, 0x48feb8
mov dword [ebp + 0x60], eax
call fcn.0042d162
cmp byte [ebp + 0x53], bl
je 0x422c12
push 0x40
push str.101
jmp 0x422c48
lea ecx, [ebp + 0x60]
call fcn.00409aad
push dword [ebp + 0x60]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edx, dword [ebp + 0x60]
lea ecx, [edx + eax*2 - 2]
jmp 0x422c3d
mov ax, word [ecx]
call fcn.00426083
test al, al
je 0x422c41
mov word [ecx], bx
dec ecx
dec ecx
cmp ecx, edx
jae 0x422c2c
push 0x40
push str.cmdline
mov ecx, edi
call fcn.00413a63
mov edi, dword [esi]
mov eax, dword [ebp + 0x60]
sub eax, edi
test eax, 0xfffffffe
jle 0x422c77
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.00466d00
add esp, 0xc
mov edi, dword [esi]
push 0x47e2bc
lea ecx, [ebp + 0x4c]
call fcn.00434695
push ebx
push 0x48feb8
lea ecx, [ebp - 0x9c]
call fcn.0041e1e7
movzx eax, word [ebp + 0x2c]
push eax
lea ecx, [ebp - 0x9c]
mov dword [ebp + 0x5c], eax
call fcn.0042965b
mov ax, word [ebp + 0x2c]
mov word [ebp - 0x94], ax
mov eax, edi
push ebx
lea edi, [ebp - 0x9c]
call fcn.00413b5c
push dword [ebp + 0x2c]
push dword [esi]
call fcn.0040c2fb
mov ecx, edi
push ecx
lea ecx, [ebp + 0x4c]
push ecx
mov ecx, dword [ebp + 0x40]
push eax
push ebx
push esi
mov dword [ebp + 0x44], eax
call fcn.0041b590
movzx edi, word [ebp + 0x18]
movzx eax, ax
or dword [ebp + 0x40], eax
mov eax, dword [ebp + 0x44]
inc eax
push eax
mov eax, edi
xor eax, dword [ebp + 0x5c]
push eax
push dword [esi]
call fcn.0040c36f
mov eax, dword [ebp + 0x40]
add esp, 0x2c
and eax, 2
shl edi, 0x10
push ebx
lea ecx, [ebp - 0x9c]
or edi, eax
call fcn.0041c5fe
lea ecx, [ebp - 0x64]
call fcn.0042602e
lea ecx, [ebp + 0x4c]
call fcn.0042602e
movsx eax, byte [ebp + 0x5b]
push str.PeExe
push eax
push 0x48feb8
call fcn.0042ccbb
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
push eax
push ebx
push dword [ebp + 0x54]
push ecx
mov ecx, 0x48feb8
call fcn.0045b505
cmp dword [0x49019c], ebx
mov dword [ebp + 0x5c], eax
jle 0x422d71
mov byte [0x48e2ac], 0xff
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov esi, eax
sub esi, 0x14
call edi
jmp 0x422dd9
call edi
mov dword [ebp + 0x4c], eax
sub eax, esi
cmp eax, 1
jb 0x422d98
push ebx
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov esi, dword [ebp + 0x4c]
push 0x4bf
push 0xa
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
jmp 0x422dd1
push 1
push ebx
push ebx
push ebx
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x422dd9
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
cmp dword [0x49019c], ebx
jg 0x422daa
cmp dword [0x49019c], ebx
jg 0x422d82
lea ecx, [ebp + 0x30]
call fcn.0042602e
lea ecx, [ebp + 0x54]
call fcn.0042602e
mov edi, 0x48feb8
push dword [ebp + 0x1c]
call fcn.00425fea
pop ecx
mov ecx, 0x490648
call fcn.0042656c
mov ecx, 0x490258
call fcn.0042659a
cmp dword [ebp + 0x28], ebx
je 0x422e22
lea eax, [ebp + 0x28]
push eax
call fcn.0042a709
pop ecx
call fcn.0040c9fc
mov eax, 0x47a8e8
push eax
push eax
mov ecx, edi
call fcn.00415cfb
mov esi, dword [ebp + 0x5c]
lea ecx, [ebp + 0x1c]
call fcn.0042602e
lea ecx, [ebp + 0x48]
call fcn.0042602e
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x68
leave
ret