Function at 0x401c1a
Capabilities:
Execute command

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x854
mov dword [ebp - 0x428], 0x4130b8
mov dword [ebp - 0x424], 0x4130b8
mov dword [ebp - 0x420], 0x4130b8
mov dword [ebp - 0x41c], 0x4130b8
mov dword [ebp - 0x418], 0x4130b8
mov dword [ebp - 0x414], 0x4130b8
mov dword [ebp - 0x410], 0x4130b8
mov dword [esp + 4], str.CoInitialize
mov eax, dword [0x41600c]
mov dword [esp], eax
call sym._LoadDll
mov dword [0x41600c], eax
mov dword [esp + 4], str.CoUninitialize
mov eax, dword [0x416010]
mov dword [esp], eax
call sym._LoadDll
mov dword [0x416010], eax
mov dword [esp], 0
mov eax, dword [0x41600c]
call eax
sub esp, 4
mov dword [ebp - 0x830], eax
mov dword [ebp - 0x82c], 0
mov eax, dword [ebp - 0x82c]
cmp eax, dword [ebp + 8]
jge 0x401cf4
mov ecx, dword [ebp - 0x82c]
mov eax, dword [ebp - 0x82c]
lea edx, [eax*4]
mov eax, dword [ebp + 0xc]
mov eax, dword [edx + eax]
mov dword [ebp + ecx*4 - 0x428], eax
lea eax, [ebp - 0x82c]
inc dword [eax]
jmp 0x401cbf
cmp dword [ebp + 8], 1
setg al
movzx ebx, al
mov eax, dword [ebp - 0x424]
mov dword [esp], eax
call sym._strlen
cmp eax, 0x1f3
setbe al
movzx eax, al
and eax, ebx
test eax, eax
je 0x401d5f
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0x70
mov dword [esp + 4], 0x2e
mov eax, dword [ebp + 0xc]
add eax, 4
mov eax, dword [eax]
mov dword [esp], eax
call sym._path_split
mov dword [esp + 8], eax
mov dword [esp + 4], str._s.lnk
lea eax, [ebp - 0x408]
mov dword [esp], eax
call sym._sprintf
mov dword [esp + 8], 0x4130dc
mov dword [esp + 4], 0x4130de
lea eax, [ebp - 0x408]
mov dword [esp], eax
call sym._StrReplace
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x70
mov dword [esp + 4], 0x5c
lea eax, [ebp - 0x408]
mov dword [esp], eax
call sym._path_split
mov dword [esp + 4], eax
lea eax, [ebp - 0x408]
mov dword [esp], eax
call sym._stricmp
test eax, eax
je 0x401e45
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x70
mov dword [esp + 4], 0x5c
lea eax, [ebp - 0x408]
mov dword [esp], eax
call sym._path_split
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._access
test eax, eax
je 0x401e45
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x70
mov dword [esp + 4], 0x5c
lea eax, [ebp - 0x408]
mov dword [esp], eax
call sym._path_split
mov dword [esp + 8], eax
mov dword [esp + 4], str.md___s_
lea eax, [ebp - 0x828]
mov dword [esp], eax
call sym._sprintf
lea eax, [ebp - 0x828]
mov dword [esp], eax
call sym._system
cmp dword [ebp - 0x830], 0
js 0x401ef4
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6e
mov dword [esp + 4], 0x23
mov eax, dword [ebp - 0x418]
mov dword [esp], eax
call sym._path_split
mov dword [esp], eax
call sym._atoi
mov ebx, eax
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0x70
mov dword [esp + 4], 0x23
mov eax, dword [ebp - 0x418]
mov dword [esp], eax
call sym._path_split
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x410]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 5
mov eax, dword [ebp - 0x414]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x408]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x41c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x420]
mov dword [esp], eax
call sym._CreateShortCut
mov dword [ebp - 0x830], eax
mov eax, dword [0x416010]
call eax
mov ebx, dword [ebp - 4]
leave
ret