Function at 0x1003cdc
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 0x1003cfb
sub eax, ecx
lea eax, [eax + 0x100ac20]
jmp 0x1003d16
lea ecx, [eax - 1]
cmp byte [ecx], 0x5c
je 0x1003d1a
mov eax, ecx
cmp eax, esi
ja 0x1003d0c
push eax
call fcn.01003b0f
push esi
mov dword [0x100a190], eax
call fcn.01002e03
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 0x1003d48
cmp al, 9
je 0x1003d48
cmp al, 0x22
jne 0x1003d52
cmp al, 0x22
jne 0x1003d4f
xor ecx, ecx
inc ecx
inc ebp
jmp 0x1003d39
test ecx, ecx
mov dword [esp + 0x18], ebp
je 0x1003d72
cmp byte [ebp], 0
mov eax, ebp
je 0x1003d72
cmp byte [eax], 0x22
je 0x1003d6f
inc eax
cmp byte [eax], 0
jne 0x1003d62
jmp 0x1003d72
mov byte [eax], 0x20
mov eax, ebp
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x1003d77
sub eax, ecx
lea eax, [eax + ebp - 1]
jmp 0x1003d96
mov cl, byte [eax]
cmp cl, 0x20
je 0x1003d92
cmp cl, 9
jne 0x1003d9a
mov byte [eax], 0
dec eax
cmp eax, ebp
jae 0x1003d86
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 0x1003db1
sub eax, esi
lea edx, [eax + ecx - 1]
jmp 0x1003dc6
cmp byte [edx], 0x2e
je 0x1003dcc
dec edx
cmp edx, ecx
ja 0x1003dc0
jmp 0x1003dff
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1003dd1
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 0x1003f09
mov al, byte [esi]
mov dl, byte [ecx]
or al, 0x20
or dl, 0x20
cmp al, dl
jne 0x1003f01
lea ebp, [esi + 1]
lea esi, [ecx + 1]
jmp 0x1003e33
test al, al
je 0x1003e4c
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 0x1003e2d
test al, al
jne 0x1003f01
xor edi, edi
cmp byte [ebp], 0x2e
mov dword [esp + 0x14], edi
jne 0x1003e91
cmp dword [esp + 0x10], edi
jbe 0x1003e91
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 0x1003f15
inc edi
cmp edi, dword [esp + 0x10]
jb 0x1003e6d
add ebp, dword [esp + 0x10]
mov al, byte [ebp]
cmp al, 0x20
je 0x1003ea0
cmp al, 9
je 0x1003ea0
test al, al
jne 0x1003f01
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 0x1003ef0
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 0x1003f1f
mov ecx, dword [0x100a190]
mov esi, dword [esp + 0x1c]
inc esi
cmp byte [esi], 0
mov dword [esp + 0x1c], esi
jne 0x1003e14
jmp 0x1003f25
and dword [esp + 0x14], 0
jmp 0x1003e91
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 0x1003f30
sub eax, edx
cmp eax, 3
jb 0x100413b
add eax, 0xfffffffe
mov dword [esp + 0x14], eax
je 0x100413b
mov ebx, dword [sym.imp.msvcrt.dll__strnicmp]
cmp byte [edi], 0x20
jne 0x100412b
lea ebp, [edi + 4]
mov al, byte [ebp - 3]
cmp al, 0x2d
je 0x1003f70
cmp al, 0x2f
jne 0x100412b
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1003f75
sub eax, edx
cmp eax, 2
jbe 0x100412b
lea esi, [edi + 2]
movsx eax, byte [esi]
cmp eax, 0x65
jg 0x1004056
je 0x1004009
sub eax, 0x45
je 0x1004009
sub eax, 4
je 0x1004110
sub eax, 7
je 0x10040e8
dec eax
je 0x10040b8
dec eax
dec eax
je 0x10040a9
dec eax
dec eax
je 0x10040a4
sub eax, 3
jne 0x100412b
mov al, byte [edi + 3]
cmp al, 0x3a
je 0x100401d
cmp al, 0x50
je 0x1004083
cmp al, 0x58
je 0x100405e
cmp al, 0x70
je 0x1004083
cmp al, 0x78
je 0x100405e
cmp al, 0x20
je 0x1003ffa
test al, al
jne 0x100412b
mov dword [0x100a18c], 1
jmp 0x100412b
push 8
push 0x10024a0
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x100403c
add ebp, 6
push ebp
mov dword [0x100a18c], 1
call fcn.01002d3e
test eax, eax
jne 0x100412b
push 0x52
call fcn.010035c6
push 7
push 0x1002498
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x100412b
mov al, byte [edi + 9]
jmp 0x1003fee
sub eax, 0x69
jmp 0x1003fa0
mov al, byte [ebp]
cmp al, 0x20
je 0x100406d
test al, al
jne 0x100412b
and dword [0x100a004], 0
mov dword [0x100a18c], 1
jmp 0x100412b
mov al, byte [ebp]
cmp al, 0x20
je 0x1004092
test al, al
jne 0x100412b
xor eax, eax
inc eax
mov dword [0x100a18c], eax
mov dword [0x100a054], eax
jmp 0x100412b
mov al, byte [edi + 3]
jmp 0x10040fc
mov al, byte [edi + 3]
cmp al, 0x3a
je 0x1004121
cmp al, 0x20
je 0x1004121
test al, al
jmp 0x100411f
push 5
push 0x1002490
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x10040e3
mov al, byte [ebp + 3]
cmp al, 0x20
je 0x10040d4
test al, al
jne 0x100412b
xor eax, eax
inc eax
mov dword [0x100a194], eax
mov dword [0x101b0c0], eax
jmp 0x100412b
mov al, byte [edi + 3]
jmp 0x10040cc
push 7
push 0x1002488
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x100412b
mov al, byte [edi + 9]
cmp al, 0x20
je 0x1004104
test al, al
jne 0x100412b
mov dword [0x101b0c0], 1
jmp 0x100412b
push 9
push 0x100247c
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x100412b
mov dword [0x100aae8], 1
dec dword [esp + 0x14]
inc edi
cmp dword [esp + 0x14], 0
ja 0x1003f55
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret