Function at 0x43834d
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.0041d38d
mov byte [0x5191d9], 1
call fcn.0041fdbd
mov dword [ebp + 0x24], eax
movzx ax, al
xor ecx, ecx
mov ch, al
xor ebx, ebx
mov dword [ebp + 0x54], ebx
or ecx, eax
mov dword [ebp + 0x34], ecx
lea ecx, [ebp + 0x48]
call fcn.00446250
push str.PeExe
push 0xffffffffffffffff
mov edi, 0x519150
push edi
call fcn.00448b60
add esp, 0xc
lea ecx, [ebp + 0x28]
call fcn.0041d325
push ebx
lea eax, [ebp + 0x28]
push eax
push str.SCRIPTINIT
push 0x64
push dword [0x51907c]
call fcn.00422b90
lea eax, [ebp + 0x28]
push 1
push eax
call fcn.00463e60
mov edx, dword [ebp + 0x28]
add esp, 0x1c
lea ecx, [ebp + 0x5c]
mov dword [ebp + 0x5c], edx
call fcn.0041d38d
cmp dword [ebp + 0x2c], 4
mov eax, dword [ebp + 0x5c]
jg 0x4383eb
mov word [edx], bx
mov word [eax], bx
cmp word [eax], bx
mov esi, 0x519150
je 0x4384a8
push 0x40
push 0x4f2e80
mov ecx, esi
call fcn.00426e40
mov eax, dword [ebp + 0x28]
mov dword [ebp + 0x5c], eax
mov al, byte [0x5152d8]
mov dword [ebp + 0x28], ebx
mov byte [ebp + 0x5b], al
mov byte [0x5152d8], 1
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp + 0x44]
call fcn.00457400
push 0x4ebd38
push dword [ebp + 0x44]
mov ecx, esi
push dword [ebp + 0x5c]
call fcn.0049f180
mov al, byte [ebp + 0x5b]
push 0xffffffffffffffff
push ebx
push str.__Autoapp
mov ecx, esi
mov byte [0x5152d8], al
call fcn.0041e533
cmp eax, ebx
je 0x43847c
add eax, 4
cmp eax, ebx
je 0x43847c
mov eax, dword [eax]
xor ecx, ecx
mov cx, word [eax]
cmp cx, bx
je 0x438473
inc eax
mov dword [ebp + 0x54], ecx
inc eax
push eax
lea ecx, [ebp + 0x48]
call fcn.004575a0
push 0xffffffffffffffff
push ebx
push str.__bInitWin
mov ecx, esi
call fcn.0041e533
cmp eax, ebx
jne 0x438493
xor eax, eax
jmp 0x438496
add eax, 4
cmp eax, ebx
setne al
lea ecx, [ebp + 0x44]
mov byte [0x519110], al
call fcn.0043f290
push dword [ebp + 0x28]
call fcn.0043f270
pop ecx
lea ecx, [ebp + 0x28]
call fcn.00415ebc
push str.PeExe
push 1
push edi
call fcn.00448b60
add esp, 0xc
lea ecx, [ebp + 0x18]
call fcn.0041d325
movzx eax, word [ebp + 0x34]
shl eax, 0x10
cmp word [ebp + 0x54], 0x2a
mov dword [ebp + 0x40], eax
mov dword [ebp + 0x5c], ebx
je 0x438539
cmp word [ebp + 0x54], 0x24
je 0x438539
mov eax, dword [ebp + 0x48]
cmp word [eax], bx
jne 0x438539
lea eax, [ebp + 0x40]
push eax
lea eax, [ebp + 0x18]
push eax
push str.SCRIPT
push 0x65
push dword [0x51907c]
call fcn.00422b90
mov eax, dword [ebp + 0x40]
or eax, 1
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.00463e60
mov eax, dword [ebp + 0x18]
add esp, 0x1c
cmp dword [ebp + 0x1c], 4
mov dword [ebp + 0x5c], eax
jg 0x438539
mov dword [ebp + 0x24], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x40], ebx
mov dword [ebp + 0x5c], ebx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov edi, eax
cmp edi, ebx
mov dword [ebp + 0x14], edi
je 0x438566
push 0x11
lea eax, [ebp + 0x14]
push eax
push str.PECMDpecmd_cmd
call fcn.0043f370
add esp, 0xc
test eax, eax
mov byte [0x518ff0], 1
jne 0x43856c
mov byte [0x518ff0], bl
push 4
push dword [ebp + 0x78]
push str.MAIN
call fcn.00440450
add esp, 0xc
test al, al
je 0x438588
mov byte [0x518de2], bl
mov al, byte [0x518ff0]
cmp al, bl
mov byte [ebp + 0x67], al
jne 0x438643
cmp word [ebp + 0x54], 0x2d
jne 0x4385a3
or byte [ebp + 0x67], 2
cmp word [ebp + 0x54], 0x2a
jne 0x4385cc
push 0x51917c
mov byte [0x5152d8], 1
call fcn.00444f20
mov eax, dword [ebp + 0x48]
pop ecx
add eax, 8
push eax
mov ecx, esi
call fcn.00437dbc
jmp 0x43863b
cmp word [ebp + 0x54], 0x24
jne 0x4385e9
push ebx
push ebx
push ebx
push dword [ebp + 0x48]
mov ecx, esi
mov byte [0x5152d8], 1
call fcn.00435957
jmp 0x43863b
mov eax, dword [ebp + 0x48]
cmp word [eax], bx
je 0x438621
cmp dword [ebp + 0x5c], ebx
jne 0x438621
push 0x4ef8e0
lea ecx, [ebp + 0x48]
mov byte [0x5152d8], 1
call fcn.004462e0
push dword [ebp + 0x78]
lea ecx, [ebp + 0x48]
call fcn.004462e0
push dword [ebp + 0x48]
mov ecx, esi
call fcn.004316cd
jmp 0x43863b
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
jne 0x438643
cmp dword [ebp + 0x5c], ebx
jne 0x438643
push ebx
push 0x4ebd38
mov ecx, esi
call fcn.00430b29
mov dword [ebp + 0x5c], eax
jmp 0x438acb
lea ecx, [ebp + 0x54]
call fcn.00446250
cmp edi, ebx
jne 0x43865f
lea ecx, [ebp + 0x54]
call fcn.0043f290
or esi, 0xffffffff
jmp 0x438b09
lea eax, [ebp + 0x54]
push eax
push edi
call fcn.00429be5
mov eax, dword [ebp + 0x54]
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.0042723f
add esp, 0x14
lea ecx, [ebp + 0x60]
mov dword [ebp + 0x60], eax
call fcn.0041d38d
mov edi, dword [ebp + 0x60]
mov eax, edi
sub eax, dword [ebp + 0x54]
sar eax, 1
cmp dword [ebp + 0x5c], ebx
mov dword [ebp + 0x44], eax
je 0x4386aa
cmp byte [ebp + 0x67], bl
mov byte [ebp + 0x53], 1
je 0x4386ad
mov byte [ebp + 0x53], bl
push dword [0x5191f8]
lea ecx, [ebp + 0x28]
mov byte [ebp + 0x67], 0x10
call fcn.004151fb
cmp byte [ebp + 0x53], bl
mov byte [ebp + 0x5b], 1
je 0x4386da
lea edi, [ebp + 0x18]
mov byte [0x5152d8], 1
mov byte [ebp + 0x5b], bl
jmp 0x4388c4
push dword [ebp + 0x18]
call fcn.0043f270
pop ecx
lea ecx, [ebp + 0x18]
call fcn.0043f290
cmp word [edi], 0x2f
mov dword [ebp + 0x24], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x40], ebx
mov byte [ebp + 0x5a], bl
jne 0x43871e
mov ax, word [edi + 2]
or ax, 0x20
cmp ax, 0x6c
jne 0x43871e
mov ax, word [edi + 4]
call fcn.0041d35d
test al, al
je 0x43871e
mov al, byte [edi + 2]
mov byte [ebp + 0x5a], al
cmp byte [ebp + 0x5a], bl
mov dword [ebp + 0x5c], ebx
je 0x438747
mov word [edi + 2], 0x20
mov word [edi], 0x20
add edi, 4
lea ecx, [ebp + 0x60]
mov dword [ebp + 0x60], edi
call fcn.0041d38d
mov edi, dword [ebp + 0x60]
jmp 0x4387eb
cmp word [edi], 0x22
push ebx
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x60]
push eax
sete byte [ebp + 0x3b]
mov dword [ebp + 0x4c], ebx
mov dword [ebp + 0x60], edi
call fcn.0042723f
sub eax, dword [ebp + 0x60]
add esp, 0xc
sar eax, 1
push eax
push dword [ebp + 0x60]
lea ecx, [ebp + 0x3c]
call fcn.00457450
push dword [ebp + 0x3c]
call fcn.004abec0
cmp byte [ebp + 0x3b], bl
pop ecx
mov dword [ebp + 0x4c], eax
je 0x4387a2
cmp eax, ebx
je 0x438799
mov ax, word [edi + 2]
call fcn.0041d35d
test al, al
je 0x4387a2
push edi
call fcn.0042063d
pop ecx
mov edi, eax
cmp dword [ebp + 0x4c], ebx
je 0x4387e3
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
mov dword [ebp + 0x4c], eax
add eax, 0xa
push eax
lea ecx, [ebp + 0x5c]
call fcn.004462b0
push 0xc
push str.LOAD
push dword [ebp + 0x5c]
call fcn.004b0040
push dword [ebp + 0x4c]
mov eax, dword [ebp + 0x5c]
add eax, 0xa
push edi
push eax
call fcn.004acbce
mov edi, dword [ebp + 0x5c]
add esp, 0x18
lea ecx, [ebp + 0x3c]
call fcn.0043f290
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp + 0x3c], eax
add eax, 3
push eax
lea ecx, [ebp + 0x28]
call fcn.004462b0
mov eax, dword [ebp + 0x3c]
inc eax
push eax
push edi
push dword [ebp + 0x28]
call fcn.004acbce
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x3c]
add esp, 0xc
cmp byte [ebp + 0x5a], bl
mov word [eax + ecx*2 + 2], bx
je 0x4388b5
push dword [ebp + 0x28]
mov byte [ebp + 0x67], bl
call fcn.00441d30
mov eax, dword [ebp + 0x28]
mov dword [ebp + 0x60], eax
pop ecx
lea eax, [ebp + 0x60]
call fcn.004226e8
mov edi, dword [ebp + 0x60]
sub edi, dword [ebp + 0x28]
mov eax, dword [ebp + 0x44]
sar edi, 1
add eax, edi
mov dword [ebp + 0x4c], eax
inc eax
push eax
lea ecx, [ebp + 0x54]
call fcn.004462b0
cmp edi, ebx
jle 0x4388b5
mov eax, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x44]
push edi
push dword [ebp + 0x28]
lea eax, [eax + ecx*2]
push eax
call fcn.004acbce
mov eax, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x4c]
add esp, 0xc
cmp byte [ebp + 0x5a], 0x4c
mov word [eax + ecx*2], bx
jne 0x4388b5
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 + 0x28]
call fcn.004aee50
mov ecx, dword [ebp + 0x4c]
lea eax, [edi + edi]
push eax
mov eax, dword [ebp + 0x28]
add ecx, eax
push ebx
push ecx
call fcn.004afe00
add esp, 0x18
or byte [ebp + 0x67], 1
lea ecx, [ebp + 0x5c]
lea edi, [ebp + 0x28]
call fcn.0043f290
mov eax, dword [edi]
push 1
push dword [ebp + 0x54]
mov ecx, 0x519150
mov dword [ebp + 0x60], eax
call fcn.0045c8b0
cmp byte [ebp + 0x53], bl
je 0x4388e6
push 0x40
push str.101
jmp 0x43891c
lea ecx, [ebp + 0x60]
call fcn.0041d38d
push dword [ebp + 0x60]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edx, dword [ebp + 0x60]
lea ecx, [edx + eax*2 - 2]
jmp 0x438911
mov ax, word [ecx]
call fcn.0041d35d
test al, al
je 0x438915
mov word [ecx], bx
dec ecx
dec ecx
cmp ecx, edx
jae 0x438900
push 0x40
push str.cmdline
mov ecx, esi
call fcn.00426e40
mov esi, dword [edi]
mov eax, dword [ebp + 0x60]
sub eax, esi
test eax, 0xfffffffe
jle 0x43894b
push dword [ebp + 0x60]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + eax + 2]
push eax
push dword [ebp + 0x60]
push esi
call fcn.004aee50
add esp, 0xc
mov esi, dword [edi]
push 0x4f2df4
lea ecx, [ebp + 0x3c]
call fcn.00457400
push ebx
push 0x519150
lea ecx, [ebp - 0x9c]
call fcn.00430db1
movzx eax, word [ebp + 0x34]
push eax
lea ecx, [ebp - 0x9c]
mov dword [ebp + 0x44], eax
call fcn.00443950
mov ax, word [ebp + 0x34]
mov ecx, esi
push ebx
lea esi, [ebp - 0x9c]
mov word [ebp - 0x94], ax
call fcn.00426fa5
push dword [ebp + 0x34]
push dword [edi]
call fcn.0041fda4
mov ecx, esi
push ecx
lea ecx, [ebp + 0x3c]
push ecx
mov ecx, dword [ebp + 0x40]
push eax
push ebx
push edi
mov dword [ebp + 0x4c], eax
call fcn.00430069
movzx esi, word [ebp + 0x24]
movzx eax, ax
or dword [ebp + 0x40], eax
mov eax, dword [ebp + 0x4c]
inc eax
push eax
mov eax, esi
xor eax, dword [ebp + 0x44]
push eax
push dword [edi]
call fcn.0041fe18
mov eax, dword [ebp + 0x40]
and eax, 2
shl esi, 0x10
add esp, 0x2c
lea ecx, [ebp - 0x9c]
or esi, eax
call fcn.004312ec
lea ecx, [ebp + 0x3c]
call fcn.0043f290
movsx eax, byte [ebp + 0x5b]
push str.PeExe
push eax
push 0x519150
call fcn.00448b60
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ebp + 0x67]
add esp, 0xc
push ebx
push ebx
mov dword [edi], ebx
and eax, 1
or eax, esi
or eax, 0x80
push eax
push ebx
push dword [ebp + 0x54]
push ecx
mov ecx, 0x519150
call fcn.0049f2d0
mov dword [ebp + 0x5c], eax
call fcn.004469e0
cmp dword [0x519440], ebx
jle 0x438a46
mov byte [0x5152e8], 0xff
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
mov edi, eax
sub edi, 0x14
call esi
jmp 0x438aae
call esi
mov dword [ebp + 0x4c], eax
sub eax, edi
cmp eax, 1
jb 0x438a6d
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 0x438aa6
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 0x438aae
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 [0x519440], ebx
jg 0x438a7f
cmp dword [0x519440], ebx
jg 0x438a57
lea ecx, [ebp + 0x28]
call fcn.00415ebc
lea ecx, [ebp + 0x54]
call fcn.0043f290
mov esi, 0x519150
push dword [ebp + 0x18]
call fcn.0043f270
pop ecx
mov ecx, 0x515368
call fcn.0043f7a0
mov ecx, 0x515720
call fcn.0043f7d0
push 0x51917c
call fcn.00444f20
pop ecx
call fcn.004205da
mov eax, 0x4ebd38
push eax
push eax
mov ecx, esi
call fcn.004294f9
mov esi, dword [ebp + 0x5c]
lea ecx, [ebp + 0x18]
call fcn.00415ebc
lea ecx, [ebp + 0x48]
call fcn.0043f290
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x68
leave
ret