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

Disassembly:
sub esp, 0x10
push ebx
push ebp
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 0x1003ddb
sub eax, ecx
lea eax, [eax + 0x100ac20]
jmp 0x1003df6
lea ecx, [eax - 1]
cmp byte [ecx], 0x5c
je 0x1003dfa
mov eax, ecx
cmp eax, esi
ja 0x1003dec
push eax
call fcn.01003bef
push esi
mov dword [0x100a190], eax
call fcn.01002ebd
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov ebp, eax
mov dword [esp + 0x18], ebp
xor ecx, ecx
mov al, byte [ebp]
cmp al, 0x20
je 0x1003e28
cmp al, 9
je 0x1003e28
cmp al, 0x22
jne 0x1003e32
cmp al, 0x22
jne 0x1003e2f
xor ecx, ecx
inc ecx
inc ebp
jmp 0x1003e19
test ecx, ecx
mov dword [esp + 0x18], ebp
je 0x1003e52
cmp byte [ebp], 0
mov eax, ebp
je 0x1003e52
cmp byte [eax], 0x22
je 0x1003e4f
inc eax
cmp byte [eax], 0
jne 0x1003e42
jmp 0x1003e52
mov byte [eax], 0x20
mov eax, ebp
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x1003e57
sub eax, ecx
lea eax, [eax + ebp - 1]
jmp 0x1003e76
mov cl, byte [eax]
cmp cl, 0x20
je 0x1003e72
cmp cl, 9
jne 0x1003e7a
mov byte [eax], 0
dec eax
cmp eax, ebp
jae 0x1003e66
mov ecx, dword [0x100a190]
and dword [esp + 0x10], 0
mov eax, ecx
mov byte [0x100ae80], 0
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x1003e91
sub eax, esi
lea edx, [eax + ecx - 1]
jmp 0x1003ea6
cmp byte [edx], 0x2e
je 0x1003eac
dec edx
cmp edx, ecx
ja 0x1003ea0
jmp 0x1003edf
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1003eb1
sub eax, esi
lea ecx, [eax + 1]
mov dword [esp + 0x10], 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 ecx, dword [0x100a190]
mov dword [0x100a188], 0x100226b
cmp byte [ebp], 0
mov esi, ebp
jmp 0x1003fe9
mov al, byte [esi]
mov dl, byte [ecx]
or al, 0x20
or dl, 0x20
cmp al, dl
jne 0x1003fe1
lea ebp, [esi + 1]
lea esi, [ecx + 1]
jmp 0x1003f13
test al, al
je 0x1003f2c
inc ebp
inc esi
mov al, byte [esi]
mov dl, byte [ebp]
mov bl, al
or dl, 0x20
or bl, 0x20
cmp bl, dl
je 0x1003f0d
test al, al
jne 0x1003fe1
xor edi, edi
cmp byte [ebp], 0x2e
mov dword [esp + 0x14], edi
jne 0x1003f71
cmp dword [esp + 0x10], edi
jbe 0x1003f71
mov eax, ebp
mov dword [esp + 0x14], 1
sub eax, 0x100ae80
lea esi, [edi + 0x100ae80]
mov dl, byte [eax + esi]
mov bl, byte [esi]
or dl, 0x20
or bl, 0x20
cmp dl, bl
jne 0x1003ff5
inc edi
cmp edi, dword [esp + 0x10]
jb 0x1003f4d
add ebp, dword [esp + 0x10]
mov al, byte [ebp]
cmp al, 0x20
je 0x1003f80
cmp al, 9
je 0x1003f80
test al, al
jne 0x1003fe1
mov esi, dword [esp + 0x18]
mov eax, ebp
sub eax, esi
mov ecx, eax
mov ebx, ecx
shr ecx, 2
mov edx, 0x100a8c0
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
cmp dword [esp + 0x14], 0
rep movsb byte es:[edi], byte [esi]
lea edi, [eax + 0x100a8c0]
mov byte [edi], 0
jne 0x1003fd0
mov ecx, dword [esp + 0x10]
mov ebx, ecx
shr ecx, 2
mov esi, 0x100ae80
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
mov byte [eax + ecx + 0x100a8c0], 0
push edx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
test al, 0x10
je 0x1003fff
mov ecx, dword [0x100a190]
mov esi, dword [esp + 0x1c]
inc esi
cmp byte [esi], 0
mov dword [esp + 0x1c], esi
jne 0x1003ef4
jmp 0x1004005
and dword [esp + 0x14], 0
jmp 0x1003f71
mov dword [0x100a188], ebp
mov edi, dword [0x100a188]
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1004010
sub eax, edx
cmp eax, 3
jb 0x100421b
add eax, 0xfffffffe
mov dword [esp + 0x14], eax
je 0x100421b
mov ebx, dword [sym.imp.msvcrt.dll__strnicmp]
cmp byte [edi], 0x20
jne 0x100420b
lea ebp, [edi + 4]
mov al, byte [ebp - 3]
cmp al, 0x2d
je 0x1004050
cmp al, 0x2f
jne 0x100420b
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1004055
sub eax, edx
cmp eax, 2
jbe 0x100420b
lea esi, [edi + 2]
movsx eax, byte [esi]
cmp eax, 0x65
jg 0x1004136
je 0x10040e9
sub eax, 0x45
je 0x10040e9
sub eax, 4
je 0x10041f0
sub eax, 7
je 0x10041c8
dec eax
je 0x1004198
dec eax
dec eax
je 0x1004189
dec eax
dec eax
je 0x1004184
sub eax, 3
jne 0x100420b
mov al, byte [edi + 3]
cmp al, 0x3a
je 0x10040fd
cmp al, 0x50
je 0x1004163
cmp al, 0x58
je 0x100413e
cmp al, 0x70
je 0x1004163
cmp al, 0x78
je 0x100413e
cmp al, 0x20
je 0x10040da
test al, al
jne 0x100420b
mov dword [0x100a18c], 1
jmp 0x100420b
push 8
push 0x10024a0
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x100411c
add ebp, 6
push ebp
mov dword [0x100a18c], 1
call fcn.01002df8
test eax, eax
jne 0x100420b
push 0x52
call fcn.010036a7
push 7
push 0x1002498
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x100420b
mov al, byte [edi + 9]
jmp 0x10040ce
sub eax, 0x69
jmp 0x1004080
mov al, byte [ebp]
cmp al, 0x20
je 0x100414d
test al, al
jne 0x100420b
and dword [0x100a004], 0
mov dword [0x100a18c], 1
jmp 0x100420b
mov al, byte [ebp]
cmp al, 0x20
je 0x1004172
test al, al
jne 0x100420b
xor eax, eax
inc eax
mov dword [0x100a18c], eax
mov dword [0x100a054], eax
jmp 0x100420b
mov al, byte [edi + 3]
jmp 0x10041dc
mov al, byte [edi + 3]
cmp al, 0x3a
je 0x1004201
cmp al, 0x20
je 0x1004201
test al, al
jmp 0x10041ff
push 5
push 0x1002490
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x10041c3
mov al, byte [ebp + 3]
cmp al, 0x20
je 0x10041b4
test al, al
jne 0x100420b
xor eax, eax
inc eax
mov dword [0x100a194], eax
mov dword [0x101b0c0], eax
jmp 0x100420b
mov al, byte [edi + 3]
jmp 0x10041ac
push 7
push 0x1002488
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x100420b
mov al, byte [edi + 9]
cmp al, 0x20
je 0x10041e4
test al, al
jne 0x100420b
mov dword [0x101b0c0], 1
jmp 0x100420b
push 9
push 0x100247c
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x100420b
mov dword [0x100aae8], 1
dec dword [esp + 0x14]
inc edi
cmp dword [esp + 0x14], 0
ja 0x1004035
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret