Function at 0x10046de
Capabilities:
Accept command line arguments
Get file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
push 0x104
mov esi, 0x100cf60
push esi
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov eax, esi
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x1004701
sub eax, ecx
lea eax, [eax + 0x100cf60]
jmp 0x100471c
lea ecx, [eax - 1]
cmp byte [ecx], 0x5c
je 0x1004720
mov eax, ecx
cmp eax, esi
ja 0x1004712
push eax
call fcn.0100450b
push esi
mov dword [0x100c4bc], eax
call fcn.0100309d
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov ebx, eax
mov dword [ebp - 0x14], ebx
xor ecx, ecx
mov al, byte [ebx]
cmp al, 0x20
je 0x100474c
cmp al, 9
je 0x100474c
cmp al, 0x22
jne 0x1004756
cmp al, 0x22
jne 0x1004753
xor ecx, ecx
inc ecx
inc ebx
jmp 0x100473e
test ecx, ecx
mov dword [ebp - 0x14], ebx
je 0x1004774
cmp byte [ebx], 0
mov eax, ebx
je 0x1004774
cmp byte [eax], 0x22
je 0x1004771
inc eax
cmp byte [eax], 0
jne 0x1004764
jmp 0x1004774
mov byte [eax], 0x20
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1004779
sub eax, edx
lea eax, [eax + ebx - 1]
jmp 0x1004798
mov cl, byte [eax]
cmp cl, 0x20
je 0x1004794
cmp cl, 9
jne 0x100479c
mov byte [eax], 0
dec eax
cmp eax, ebx
jae 0x1004788
mov eax, dword [0x100c4bc]
and dword [ebp - 4], 0
mov ecx, eax
mov byte [0x100d1e0], 0
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x10047b1
sub ecx, esi
lea edx, [ecx + eax - 1]
jmp 0x10047c6
cmp byte [edx], 0x2e
je 0x10047cc
dec edx
cmp edx, eax
ja 0x10047c0
jmp 0x10047fd
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10047d1
sub eax, esi
lea ecx, [eax + 1]
mov dword [ebp - 4], eax
mov eax, ecx
shr ecx, 2
mov esi, edx
mov edi, 0x100d1e0
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [edx], 0
mov eax, dword [0x100c4bc]
mov dword [0x100c4b0], 0x10022cf
cmp byte [ebx], 0
mov dword [ebp - 8], ebx
je 0x1004923
mov ecx, dword [ebp - 8]
mov cl, byte [ecx]
mov dl, byte [eax]
or cl, 0x20
or dl, 0x20
cmp cl, dl
jne 0x1004903
mov ebx, dword [ebp - 8]
inc ebx
lea esi, [eax + 1]
jmp 0x1004838
cmp byte [esi], 0
je 0x100484f
inc ebx
inc esi
mov dl, byte [ebx]
mov cl, byte [esi]
or dl, 0x20
or cl, 0x20
cmp cl, dl
je 0x1004831
cmp byte [esi], 0
jne 0x1004903
xor edi, edi
cmp byte [ebx], 0x2e
mov dword [ebp - 0x10], edi
jne 0x1004894
cmp dword [ebp - 4], edi
jbe 0x1004894
mov dword [ebp - 0xc], ebx
sub dword [ebp - 0xc], 0x100d1e0
mov dword [ebp - 0x10], 1
mov ecx, dword [ebp - 0xc]
lea esi, [edi + 0x100d1e0]
mov cl, byte [ecx + esi]
mov dl, byte [esi]
or cl, 0x20
or dl, 0x20
cmp cl, dl
jne 0x1004914
inc edi
cmp edi, dword [ebp - 4]
jb 0x100486f
add ebx, dword [ebp - 4]
mov cl, byte [ebx]
cmp cl, 0x20
je 0x10048a4
cmp cl, 9
je 0x10048a4
test cl, cl
jne 0x1004903
mov esi, dword [ebp - 0x14]
mov eax, ebx
sub eax, esi
mov ecx, eax
mov edx, ecx
shr ecx, 2
mov edi, 0x100cc00
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
cmp dword [ebp - 0x10], 0
rep movsb byte es:[edi], byte [esi]
lea edi, [eax + 0x100cc00]
mov byte [edi], 0
jne 0x10048ef
mov ecx, dword [ebp - 4]
mov edx, ecx
shr ecx, 2
mov esi, 0x100d1e0
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, edx
mov byte [eax + ecx + 0x100cc00], 0
push 0x100cc00
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
test al, 0x10
je 0x100491d
mov eax, dword [0x100c4bc]
inc dword [ebp - 8]
mov ecx, dword [ebp - 8]
cmp byte [ecx], 0
jne 0x1004813
jmp 0x1004923
and dword [ebp - 0x10], 0
jmp 0x1004894
mov dword [0x100c4b0], ebx
mov edi, dword [0x100c4b0]
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100492e
sub eax, edx
cmp eax, 3
jb 0x1004b46
add eax, 0xfffffffe
mov dword [ebp - 0x10], eax
je 0x1004b46
cmp byte [edi], 0x20
jne 0x1004b38
lea ebx, [edi + 4]
mov al, byte [ebx - 3]
cmp al, 0x2d
je 0x1004967
cmp al, 0x2f
jne 0x1004b38
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100496c
sub eax, edx
cmp eax, 2
jbe 0x1004b38
lea esi, [edi + 2]
movsx eax, byte [esi]
cmp eax, 0x65
jg 0x1004a59
je 0x1004a04
sub eax, 0x45
je 0x1004a04
sub eax, 4
je 0x1004b19
sub eax, 7
je 0x1004aed
dec eax
je 0x1004ab9
dec eax
dec eax
je 0x1004aaa
dec eax
dec eax
je 0x1004aa5
sub eax, 3
jne 0x1004b38
mov al, byte [edi + 3]
cmp al, 0x3a
je 0x1004a1c
cmp al, 0x50
je 0x1004a85
cmp al, 0x58
je 0x1004a61
cmp al, 0x70
je 0x1004a85
cmp al, 0x78
je 0x1004a61
cmp al, 0x20
je 0x10049f5
test al, al
jne 0x1004b38
mov dword [0x100c4b4], 1
jmp 0x1004b38
push 8
push 0x10025c0
push esi
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x1004a3b
add ebx, 6
push ebx
mov dword [0x100c4b4], 1
call fcn.01002fc1
test eax, eax
jne 0x1004b38
push 0x52
call fcn.01003bd7
push 7
push 0x10025b8
push esi
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x1004b38
mov al, byte [edi + 9]
jmp 0x10049e9
sub eax, 0x69
jmp 0x1004997
mov al, byte [ebx]
cmp al, 0x20
je 0x1004a6f
test al, al
jne 0x1004b38
and dword [section..data], 0
mov dword [0x100c4b4], 1
jmp 0x1004b38
mov al, byte [ebx]
cmp al, 0x20
je 0x1004a93
test al, al
jne 0x1004b38
xor eax, eax
inc eax
mov dword [0x100c4b4], eax
mov dword [0x100c054], eax
jmp 0x1004b38
mov al, byte [edi + 3]
jmp 0x1004b05
mov al, byte [edi + 3]
cmp al, 0x3a
je 0x1004b2e
cmp al, 0x20
je 0x1004b2e
test al, al
jmp 0x1004b2c
push 5
push 0x10025b0
push esi
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x1004ae8
mov al, byte [ebx + 3]
cmp al, 0x20
je 0x1004ad9
test al, al
jne 0x1004b38
xor eax, eax
inc eax
mov dword [0x100c4c0], eax
mov dword [0x101d420], eax
jmp 0x1004b38
mov al, byte [edi + 3]
jmp 0x1004ad1
push 7
push 0x10025a8
push esi
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x1004b38
mov al, byte [edi + 9]
cmp al, 0x20
je 0x1004b0d
test al, al
jne 0x1004b38
mov dword [0x101d420], 1
jmp 0x1004b38
push 9
push 0x100259c
push esi
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x1004b38
mov dword [0x100ce28], 1
dec dword [ebp - 0x10]
inc edi
cmp dword [ebp - 0x10], 0
ja 0x100494c
pop edi
pop esi
pop ebx
leave
ret