Function at 0x100447a
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, 0x100d240
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 0x100449d
sub eax, ecx
lea eax, [eax + 0x100d240]
jmp 0x10044b8
lea ecx, [eax - 1]
cmp byte [ecx], 0x5c
je 0x10044bc
mov eax, ecx
cmp eax, esi
ja 0x10044ae
push eax
call fcn.01004284
push esi
mov dword [0x100c7b0], eax
call fcn.010032de
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov edi, eax
xor ecx, ecx
mov al, byte [edi]
cmp al, 0x20
je 0x10044e5
cmp al, 9
je 0x10044e5
cmp al, 0x22
jne 0x10044ef
cmp al, 0x22
jne 0x10044ec
xor ecx, ecx
inc ecx
inc edi
jmp 0x10044d7
test ecx, ecx
mov dword [ebp - 0xc], edi
je 0x100450d
cmp byte [edi], 0
mov eax, edi
je 0x100450d
cmp byte [eax], 0x22
je 0x100450a
inc eax
cmp byte [eax], 0
jne 0x10044fd
jmp 0x100450d
mov byte [eax], 0x20
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1004512
sub eax, edx
lea eax, [eax + edi - 1]
jmp 0x1004531
mov cl, byte [eax]
cmp cl, 0x20
je 0x100452d
cmp cl, 9
jne 0x1004535
mov byte [eax], 0
dec eax
cmp eax, edi
jae 0x1004521
mov eax, dword [0x100c7b0]
and dword [ebp - 4], 0
mov ecx, eax
mov byte [0x100d4a0], 0
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x100454a
sub ecx, esi
lea esi, [ecx + eax - 1]
jmp 0x100455f
cmp byte [esi], 0x2e
je 0x1004565
dec esi
cmp esi, eax
ja 0x1004559
jmp 0x100458e
mov eax, esi
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x100456a
sub eax, ecx
mov dword [ebp - 4], eax
inc eax
push eax
push esi
push 0x100d4a0
call sub.msvcrt.dll_memcpy
mov byte [esi], 0
mov eax, dword [0x100c7b0]
add esp, 0xc
mov dword [0x100c7a8], 0x100227f
cmp byte [edi], 0
mov esi, edi
mov dword [ebp - 0x14], edi
je 0x100469f
mov cl, byte [esi]
mov dl, byte [eax]
or cl, 0x20
or dl, 0x20
cmp cl, dl
jne 0x1004681
lea edi, [esi + 1]
lea esi, [eax + 1]
jmp 0x10045c6
test cl, cl
je 0x10045de
inc edi
inc esi
mov cl, byte [esi]
mov dl, byte [edi]
mov bl, cl
or dl, 0x20
or bl, 0x20
cmp bl, dl
je 0x10045c0
test cl, cl
jne 0x1004681
xor ecx, ecx
cmp byte [edi], 0x2e
mov dword [ebp - 0x10], ecx
jne 0x100461f
cmp dword [ebp - 4], ecx
jbe 0x100461f
mov dword [ebp - 8], edi
sub dword [ebp - 8], 0x100d4a0
mov dword [ebp - 0x10], 1
mov edx, dword [ebp - 8]
lea esi, [ecx + 0x100d4a0]
mov dl, byte [edx + esi]
mov bl, byte [esi]
or dl, 0x20
or bl, 0x20
cmp dl, bl
jne 0x1004693
inc ecx
cmp ecx, dword [ebp - 4]
jb 0x10045fe
add edi, dword [ebp - 4]
mov cl, byte [edi]
cmp cl, 0x20
je 0x100462f
cmp cl, 9
je 0x100462f
test cl, cl
jne 0x1004681
mov esi, edi
sub esi, dword [ebp - 0xc]
mov ebx, 0x100cee0
push esi
push dword [ebp - 0xc]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp dword [ebp - 0x10], 0
lea eax, [esi + 0x100cee0]
mov byte [eax], 0
jne 0x1004671
push dword [ebp - 4]
push 0x100d4a0
push eax
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 4]
add esp, 0xc
mov byte [esi + eax + 0x100cee0], 0
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
test al, 0x10
je 0x1004699
mov eax, dword [0x100c7b0]
mov esi, dword [ebp - 0x14]
inc esi
cmp byte [esi], 0
mov dword [ebp - 0x14], esi
jne 0x10045a6
jmp 0x100469f
and dword [ebp - 0x10], 0
jmp 0x100461f
mov dword [0x100c7a8], edi
mov ebx, dword [0x100c7a8]
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10046aa
sub eax, edx
cmp eax, 3
jb 0x10048c0
add eax, 0xfffffffe
mov dword [ebp - 0x10], eax
je 0x10048c0
cmp byte [ebx], 0x20
jne 0x10048b2
lea edi, [ebx + 4]
mov al, byte [edi - 3]
cmp al, 0x2d
je 0x10046e3
cmp al, 0x2f
jne 0x10048b2
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10046e8
sub eax, edx
cmp eax, 2
jbe 0x10048b2
lea esi, [ebx + 2]
movsx eax, byte [esi]
cmp eax, 0x65
jg 0x10047f3
je 0x1004785
sub eax, 0x45
je 0x1004785
sub eax, 4
je 0x1004893
sub eax, 7
je 0x1004879
dec eax
je 0x1004845
dec eax
dec eax
je 0x1004836
dec eax
dec eax
je 0x100481b
sub eax, 3
jne 0x10048b2
mov al, byte [ebx + 3]
cmp al, 0x3a
je 0x100479d
cmp al, 0x50
je 0x10047fb
cmp al, 0x58
je 0x1004761
cmp al, 0x70
je 0x10047fb
cmp al, 0x78
jne 0x10047d8
mov al, byte [edi]
cmp al, 0x20
je 0x100476f
test al, al
jne 0x10048b2
and dword [section..data], 0
mov dword [0x100c7ac], 1
jmp 0x10048b2
push 8
push 0x10025cc
push esi
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x10047bc
add edi, 6
push edi
mov dword [0x100c7ac], 1
call fcn.01003200
test eax, eax
jne 0x10048b2
push 0x52
call fcn.01003b40
push 7
push 0x10025c4
push esi
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x10048b2
mov al, byte [ebx + 9]
cmp al, 0x20
je 0x10047e4
test al, al
jne 0x10048b2
mov dword [0x100c7ac], 1
jmp 0x10048b2
sub eax, 0x69
jmp 0x1004713
mov al, byte [edi]
cmp al, 0x20
je 0x1004809
test al, al
jne 0x10048b2
xor eax, eax
inc eax
mov dword [0x100c7ac], eax
mov dword [0x100c354], eax
jmp 0x10048b2
mov al, byte [ebx + 3]
cmp al, 0x20
je 0x100482a
test al, al
jne 0x10048b2
mov dword [0x101d6e0], 1
jmp 0x10048b2
mov al, byte [ebx + 3]
cmp al, 0x3a
je 0x10048a8
cmp al, 0x20
je 0x10048a8
test al, al
jmp 0x10048a6
push 5
push 0x10025bc
push esi
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x100485f
mov al, byte [edi + 3]
jmp 0x1004862
mov al, byte [ebx + 3]
cmp al, 0x20
je 0x100486a
test al, al
jne 0x10048b2
xor eax, eax
inc eax
mov dword [0x100c7b4], eax
mov dword [0x101d6e0], eax
jmp 0x10048b2
push 7
push 0x10025b4
push esi
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x10048b2
mov al, byte [ebx + 9]
jmp 0x100481e
push 9
push 0x10025a8
push esi
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x10048b2
mov dword [0x100d108], 1
dec dword [ebp - 0x10]
inc ebx
cmp dword [ebp - 0x10], 0
ja 0x10046c8
pop edi
pop esi
pop ebx
leave
ret