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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
push 0x104
mov esi, 0x100ac20
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 0x1004055
sub eax, ecx
lea eax, [eax + 0x100ac20]
jmp 0x1004070
lea ecx, [eax - 1]
cmp byte [ecx], 0x5c
je 0x1004074
mov eax, ecx
cmp eax, esi
ja 0x1004066
push eax
call fcn.01003e68
push esi
mov dword [0x100a190], eax
call fcn.010030e2
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov ebx, eax
xor ecx, ecx
mov al, byte [ebx]
cmp al, 0x20
je 0x100409d
cmp al, 9
je 0x100409d
cmp al, 0x22
jne 0x10040a7
cmp al, 0x22
jne 0x10040a4
xor ecx, ecx
inc ecx
inc ebx
jmp 0x100408f
test ecx, ecx
mov dword [ebp - 0x14], ebx
je 0x10040c5
cmp byte [ebx], 0
mov eax, ebx
je 0x10040c5
cmp byte [eax], 0x22
je 0x10040c2
inc eax
cmp byte [eax], 0
jne 0x10040b5
jmp 0x10040c5
mov byte [eax], 0x20
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10040ca
sub eax, edx
lea eax, [eax + ebx - 1]
jmp 0x10040e9
mov cl, byte [eax]
cmp cl, 0x20
je 0x10040e5
cmp cl, 9
jne 0x10040ed
mov byte [eax], 0
dec eax
cmp eax, ebx
jae 0x10040d9
mov eax, dword [0x100a190]
and dword [ebp - 4], 0
mov ecx, eax
mov byte [0x100ae80], 0
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x1004102
sub ecx, esi
lea edx, [ecx + eax - 1]
jmp 0x1004117
cmp byte [edx], 0x2e
je 0x100411d
dec edx
cmp edx, eax
ja 0x1004111
jmp 0x100414e
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1004122
sub eax, esi
lea ecx, [eax + 1]
mov dword [ebp - 4], eax
mov eax, ecx
shr ecx, 2
mov esi, edx
mov edi, 0x100ae80
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 [0x100a190]
mov dword [0x100a188], 0x100226b
cmp byte [ebx], 0
mov dword [ebp - 8], ebx
je 0x1004274
mov ecx, dword [ebp - 8]
mov cl, byte [ecx]
mov dl, byte [eax]
or cl, 0x20
or dl, 0x20
cmp cl, dl
jne 0x1004254
mov ebx, dword [ebp - 8]
inc ebx
lea esi, [eax + 1]
jmp 0x1004189
cmp byte [esi], 0
je 0x10041a0
inc ebx
inc esi
mov dl, byte [ebx]
mov cl, byte [esi]
or dl, 0x20
or cl, 0x20
cmp cl, dl
je 0x1004182
cmp byte [esi], 0
jne 0x1004254
xor edi, edi
cmp byte [ebx], 0x2e
mov dword [ebp - 0x10], edi
jne 0x10041e5
cmp dword [ebp - 4], edi
jbe 0x10041e5
mov dword [ebp - 0xc], ebx
sub dword [ebp - 0xc], 0x100ae80
mov dword [ebp - 0x10], 1
mov ecx, dword [ebp - 0xc]
lea esi, [edi + 0x100ae80]
mov cl, byte [ecx + esi]
mov dl, byte [esi]
or cl, 0x20
or dl, 0x20
cmp cl, dl
jne 0x1004265
inc edi
cmp edi, dword [ebp - 4]
jb 0x10041c0
add ebx, dword [ebp - 4]
mov cl, byte [ebx]
cmp cl, 0x20
je 0x10041f5
cmp cl, 9
je 0x10041f5
test cl, cl
jne 0x1004254
mov esi, dword [ebp - 0x14]
mov eax, ebx
sub eax, esi
mov ecx, eax
mov edx, ecx
shr ecx, 2
mov edi, 0x100a8c0
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 + 0x100a8c0]
mov byte [edi], 0
jne 0x1004240
mov ecx, dword [ebp - 4]
mov edx, ecx
shr ecx, 2
mov esi, 0x100ae80
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 + 0x100a8c0], 0
push 0x100a8c0
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
test al, 0x10
je 0x100426e
mov eax, dword [0x100a190]
inc dword [ebp - 8]
mov ecx, dword [ebp - 8]
cmp byte [ecx], 0
jne 0x1004164
jmp 0x1004274
and dword [ebp - 0x10], 0
jmp 0x10041e5
mov dword [0x100a188], ebx
mov edi, dword [0x100a188]
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100427f
sub eax, edx
cmp eax, 3
jb 0x1004497
add eax, 0xfffffffe
mov dword [ebp - 0x10], eax
je 0x1004497
cmp byte [edi], 0x20
jne 0x1004489
lea ebx, [edi + 4]
mov al, byte [ebx - 3]
cmp al, 0x2d
je 0x10042b8
cmp al, 0x2f
jne 0x1004489
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10042bd
sub eax, edx
cmp eax, 2
jbe 0x1004489
lea esi, [edi + 2]
movsx eax, byte [esi]
cmp eax, 0x65
jg 0x10043aa
je 0x1004355
sub eax, 0x45
je 0x1004355
sub eax, 4
je 0x100446a
sub eax, 7
je 0x100443e
dec eax
je 0x100440a
dec eax
dec eax
je 0x10043fb
dec eax
dec eax
je 0x10043f6
sub eax, 3
jne 0x1004489
mov al, byte [edi + 3]
cmp al, 0x3a
je 0x100436d
cmp al, 0x50
je 0x10043d6
cmp al, 0x58
je 0x10043b2
cmp al, 0x70
je 0x10043d6
cmp al, 0x78
je 0x10043b2
cmp al, 0x20
je 0x1004346
test al, al
jne 0x1004489
mov dword [0x100a18c], 1
jmp 0x1004489
push 8
push 0x10025b8
push esi
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x100438c
add ebx, 6
push ebx
mov dword [0x100a18c], 1
call fcn.01003019
test eax, eax
jne 0x1004489
push 0x52
call fcn.01003827
push 7
push 0x10025b0
push esi
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x1004489
mov al, byte [edi + 9]
jmp 0x100433a
sub eax, 0x69
jmp 0x10042e8
mov al, byte [ebx]
cmp al, 0x20
je 0x10043c0
test al, al
jne 0x1004489
and dword [section..data], 0
mov dword [0x100a18c], 1
jmp 0x1004489
mov al, byte [ebx]
cmp al, 0x20
je 0x10043e4
test al, al
jne 0x1004489
xor eax, eax
inc eax
mov dword [0x100a18c], eax
mov dword [0x100a054], eax
jmp 0x1004489
mov al, byte [edi + 3]
jmp 0x1004456
mov al, byte [edi + 3]
cmp al, 0x3a
je 0x100447f
cmp al, 0x20
je 0x100447f
test al, al
jmp 0x100447d
push 5
push 0x10025a8
push esi
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x1004439
mov al, byte [ebx + 3]
cmp al, 0x20
je 0x100442a
test al, al
jne 0x1004489
xor eax, eax
inc eax
mov dword [0x100a194], eax
mov dword [0x101b0c0], eax
jmp 0x1004489
mov al, byte [edi + 3]
jmp 0x1004422
push 7
push 0x10025a0
push esi
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x1004489
mov al, byte [edi + 9]
cmp al, 0x20
je 0x100445e
test al, al
jne 0x1004489
mov dword [0x101b0c0], 1
jmp 0x1004489
push 9
push 0x1002594
push esi
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x1004489
mov dword [0x100aae8], 1
dec dword [ebp - 0x10]
inc edi
cmp dword [ebp - 0x10], 0
ja 0x100429d
pop edi
pop esi
pop ebx
leave
ret