Function at 0x10004660
Capabilities:
Accept command line arguments
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100113e7
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xorps xmm0, xmm0
mov dword [ebp - 0x90], 0
xor eax, eax
mov dword [ebp - 0x8c], 7
movups xmmword [ebp - 0xa0], xmm0
mov word [ebp - 0xa0], ax
mov dword [ebp - 4], eax
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], 7
mov word [ebp - 0x88], ax
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], al
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.100038b0
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x60], 0
push str.Stip
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x5c], 0
movups xmmword [ebp - 0x70], xmm0
call fcn.10004ef0
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 5
mov esi, dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call esi
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov edi, dword [ebp - 0x28]
test eax, eax
je 0x100048d7
cmp dword [ebp - 0xa4], 1
jne 0x100048d7
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x28]
sub esp, 0x18
xorps xmm0, xmm0
cmp dword [ebp - 0x14], 0x10
mov edi, esp
mov dword [ebp - 0xa8], esp
cmovae ecx, dword [ebp - 0x28]
mov dword [ebp - 0xa4], ecx
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
cmp eax, 0x7fffffff
ja 0x10004b40
mov dword [edi + 0x14], 0xf
cmp eax, 0x10
jae 0x100047df
push 0x10
push ecx
push edi
mov dword [edi + 0x10], eax
call fcn.100080c0
jmp 0x10004866
mov esi, eax
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x10004818
mov eax, 0x80000000
mov esi, 0x7fffffff
add eax, 0x23
push eax
call fcn.100056d9
add esp, 4
test eax, eax
je 0x10004b4a
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
mov eax, dword [ebp - 0x18]
jmp 0x10004850
mov ecx, 0x16
cmp esi, ecx
cmovb esi, ecx
lea ecx, [esi + 1]
cmp ecx, 0x1000
jb 0x1000483a
lea eax, [ecx + 0x23]
cmp eax, ecx
jbe 0x10004b45
jmp 0x100047f9
test ecx, ecx
je 0x1000484e
push ecx
call fcn.100056d9
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0x18]
jmp 0x10004850
xor ecx, ecx
mov dword [edi + 0x10], eax
inc eax
push eax
push dword [ebp - 0xa4]
mov dword [edi], ecx
push ecx
mov dword [edi + 0x14], esi
call fcn.100080c0
add esp, 0xc
sub esp, 0x18
mov byte [ebp - 4], 6
lea eax, [ebp - 0x40]
mov dword [ebp - 0xa4], esp
mov ecx, esp
push eax
call fcn.10004c40
sub esp, 0x18
mov byte [ebp - 4], 7
lea eax, [ebp - 0x88]
mov dword [ebp - 0xac], esp
mov ecx, esp
push eax
call fcn.10004c40
sub esp, 0x18
mov byte [ebp - 4], 8
lea eax, [ebp - 0x58]
mov dword [ebp - 0xb0], esp
mov ecx, esp
push eax
call fcn.10004c40
sub esp, 0x18
mov byte [ebp - 4], 9
lea eax, [ebp - 0xa0]
mov ecx, esp
push eax
call fcn.10004c40
mov byte [ebp - 4], 5
call fcn.10004390
jmp 0x1000499b
lea eax, [ebp - 0xa8]
push eax
call esi
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [ebp - 0xa4], eax
test eax, eax
je 0x1000499e
cmp dword [ebp - 0xa8], 2
jne 0x1000499e
mov ecx, dword [eax + 4]
mov edx, ecx
lea esi, [edx + 2]
nop word [eax + eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x10004910
sub edx, esi
lea edi, [ebp - 0x70]
mov esi, dword [ebp - 0x60]
sar edx, 1
cmp dword [ebp - 0x5c], 8
cmovae edi, dword [ebp - 0x70]
cmp esi, edx
jne 0x1000498f
test esi, esi
je 0x10004948
sub edi, ecx
mov ax, word [edi + ecx]
cmp ax, word [ecx]
jne 0x1000498f
add ecx, 2
sub esi, 1
jne 0x10004937
push dword [ebp - 0xa4]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0x44], 8
lea eax, [ebp - 0x58]
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmovae eax, dword [ebp - 0x58]
push eax
call esi
cmp eax, 0xffffffff
je 0x1000499b
test al, 0x10
jne 0x1000499b
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push eax
call esi
cmp eax, 0xffffffff
je 0x1000499b
test al, 0x10
jne 0x1000499b
call fcn.10001580
jmp 0x1000499b
push dword [ebp - 0xa4]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x5c]
cmp eax, 8
jb 0x100049d8
mov edx, dword [ebp - 0x70]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100049ce
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004b4a
push ecx
push edx
call fcn.10005709
add esp, 8
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x10004a0b
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x10004a01
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004b4a
push ecx
push edi
call fcn.10005709
add esp, 8
mov ecx, dword [ebp - 0x2c]
cmp ecx, 8
jb 0x10004a45
mov edx, dword [ebp - 0x40]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10004a3b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004b4a
push ecx
push edx
call fcn.10005709
add esp, 8
mov ecx, dword [ebp - 0x74]
xor eax, eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
cmp ecx, 8
jb 0x10004a96
mov edx, dword [ebp - 0x88]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10004a8c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004b4a
push ecx
push edx
call fcn.10005709
add esp, 8
mov ecx, dword [ebp - 0x44]
cmp ecx, 8
jb 0x10004ad0
mov edx, dword [ebp - 0x58]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10004ac6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004b4a
push ecx
push edx
call fcn.10005709
add esp, 8
mov ecx, dword [ebp - 0x8c]
xor eax, eax
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
cmp ecx, 8
jb 0x10004b20
mov edx, dword [ebp - 0xa0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10004b16
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004b4a
push ecx
push edx
call fcn.10005709
add esp, 8
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100055a9
mov esp, ebp
pop ebp
ret
call fcn.10003660
call fcn.100035c0
call fcn.10008cd4
int3