Function at 0x100400d
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, 0x100cf40
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 0x1004030
sub eax, ecx
lea eax, [eax + 0x100cf40]
jmp 0x100404b
lea ecx, [eax - 1]
cmp byte [ecx], 0x5c
je 0x100404f
mov eax, ecx
cmp eax, esi
ja 0x1004041
push eax
call fcn.01003e3a
push esi
mov dword [0x100c4b0], eax
call fcn.01003016
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 0x100407b
cmp al, 9
je 0x100407b
cmp al, 0x22
jne 0x1004085
cmp al, 0x22
jne 0x1004082
xor ecx, ecx
inc ecx
inc ebx
jmp 0x100406d
test ecx, ecx
mov dword [ebp - 0x14], ebx
je 0x10040a3
cmp byte [ebx], 0
mov eax, ebx
je 0x10040a3
cmp byte [eax], 0x22
je 0x10040a0
inc eax
cmp byte [eax], 0
jne 0x1004093
jmp 0x10040a3
mov byte [eax], 0x20
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10040a8
sub eax, edx
lea eax, [eax + ebx - 1]
jmp 0x10040c7
mov cl, byte [eax]
cmp cl, 0x20
je 0x10040c3
cmp cl, 9
jne 0x10040cb
mov byte [eax], 0
dec eax
cmp eax, ebx
jae 0x10040b7
mov eax, dword [0x100c4b0]
and dword [ebp - 4], 0
mov ecx, eax
mov byte [0x100d1a0], 0
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x10040e0
sub ecx, esi
lea edx, [ecx + eax - 1]
jmp 0x10040f5
cmp byte [edx], 0x2e
je 0x10040fb
dec edx
cmp edx, eax
ja 0x10040ef
jmp 0x100412c
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1004100
sub eax, esi
lea ecx, [eax + 1]
mov dword [ebp - 4], eax
mov eax, ecx
shr ecx, 2
mov esi, edx
mov edi, 0x100d1a0
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 [0x100c4b0]
mov dword [0x100c4a8], 0x10022bb
cmp byte [ebx], 0
mov dword [ebp - 8], ebx
je 0x1004252
mov ecx, dword [ebp - 8]
mov cl, byte [ecx]
mov dl, byte [eax]
or cl, 0x20
or dl, 0x20
cmp cl, dl
jne 0x1004232
mov ebx, dword [ebp - 8]
inc ebx
lea esi, [eax + 1]
jmp 0x1004167
cmp byte [esi], 0
je 0x100417e
inc ebx
inc esi
mov dl, byte [ebx]
mov cl, byte [esi]
or dl, 0x20
or cl, 0x20
cmp cl, dl
je 0x1004160
cmp byte [esi], 0
jne 0x1004232
xor edi, edi
cmp byte [ebx], 0x2e
mov dword [ebp - 0x10], edi
jne 0x10041c3
cmp dword [ebp - 4], edi
jbe 0x10041c3
mov dword [ebp - 0xc], ebx
sub dword [ebp - 0xc], 0x100d1a0
mov dword [ebp - 0x10], 1
mov ecx, dword [ebp - 0xc]
lea esi, [edi + 0x100d1a0]
mov cl, byte [ecx + esi]
mov dl, byte [esi]
or cl, 0x20
or dl, 0x20
cmp cl, dl
jne 0x1004243
inc edi
cmp edi, dword [ebp - 4]
jb 0x100419e
add ebx, dword [ebp - 4]
mov cl, byte [ebx]
cmp cl, 0x20
je 0x10041d3
cmp cl, 9
je 0x10041d3
test cl, cl
jne 0x1004232
mov esi, dword [ebp - 0x14]
mov eax, ebx
sub eax, esi
mov ecx, eax
mov edx, ecx
shr ecx, 2
mov edi, 0x100cbe0
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 + 0x100cbe0]
mov byte [edi], 0
jne 0x100421e
mov ecx, dword [ebp - 4]
mov edx, ecx
shr ecx, 2
mov esi, 0x100d1a0
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 + 0x100cbe0], 0
push 0x100cbe0
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
test al, 0x10
je 0x100424c
mov eax, dword [0x100c4b0]
inc dword [ebp - 8]
mov ecx, dword [ebp - 8]
cmp byte [ecx], 0
jne 0x1004142
jmp 0x1004252
and dword [ebp - 0x10], 0
jmp 0x10041c3
mov dword [0x100c4a8], ebx
mov edi, dword [0x100c4a8]
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100425d
sub eax, edx
cmp eax, 3
jb 0x1004475
add eax, 0xfffffffe
mov dword [ebp - 0x10], eax
je 0x1004475
cmp byte [edi], 0x20
jne 0x1004467
lea ebx, [edi + 4]
mov al, byte [ebx - 3]
cmp al, 0x2d
je 0x1004296
cmp al, 0x2f
jne 0x1004467
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100429b
sub eax, edx
cmp eax, 2
jbe 0x1004467
lea esi, [edi + 2]
movsx eax, byte [esi]
cmp eax, 0x65
jg 0x1004388
je 0x1004333
sub eax, 0x45
je 0x1004333
sub eax, 4
je 0x1004448
sub eax, 7
je 0x100441c
dec eax
je 0x10043e8
dec eax
dec eax
je 0x10043d9
dec eax
dec eax
je 0x10043d4
sub eax, 3
jne 0x1004467
mov al, byte [edi + 3]
cmp al, 0x3a
je 0x100434b
cmp al, 0x50
je 0x10043b4
cmp al, 0x58
je 0x1004390
cmp al, 0x70
je 0x10043b4
cmp al, 0x78
je 0x1004390
cmp al, 0x20
je 0x1004324
test al, al
jne 0x1004467
mov dword [0x100c4ac], 1
jmp 0x1004467
push 8
push 0x10024f0
push esi
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x100436a
add ebx, 6
push ebx
mov dword [0x100c4ac], 1
call fcn.01002f3a
test eax, eax
jne 0x1004467
push 0x52
call fcn.01003892
push 7
push 0x10024e8
push esi
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x1004467
mov al, byte [edi + 9]
jmp 0x1004318
sub eax, 0x69
jmp 0x10042c6
mov al, byte [ebx]
cmp al, 0x20
je 0x100439e
test al, al
jne 0x1004467
and dword [section..data], 0
mov dword [0x100c4ac], 1
jmp 0x1004467
mov al, byte [ebx]
cmp al, 0x20
je 0x10043c2
test al, al
jne 0x1004467
xor eax, eax
inc eax
mov dword [0x100c4ac], eax
mov dword [0x100c054], eax
jmp 0x1004467
mov al, byte [edi + 3]
jmp 0x1004434
mov al, byte [edi + 3]
cmp al, 0x3a
je 0x100445d
cmp al, 0x20
je 0x100445d
test al, al
jmp 0x100445b
push 5
push 0x10024e0
push esi
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x1004417
mov al, byte [ebx + 3]
cmp al, 0x20
je 0x1004408
test al, al
jne 0x1004467
xor eax, eax
inc eax
mov dword [0x100c4b4], eax
mov dword [0x101d3e0], eax
jmp 0x1004467
mov al, byte [edi + 3]
jmp 0x1004400
push 7
push 0x10024d8
push esi
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x1004467
mov al, byte [edi + 9]
cmp al, 0x20
je 0x100443c
test al, al
jne 0x1004467
mov dword [0x101d3e0], 1
jmp 0x1004467
push 9
push 0x10024cc
push esi
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x1004467
mov dword [0x100ce08], 1
dec dword [ebp - 0x10]
inc edi
cmp dword [ebp - 0x10], 0
ja 0x100427b
pop edi
pop esi
pop ebx
leave
ret