Function at 0x1004353
Capabilities:
Terminate process

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x114
mov eax, dword [0x100c2c4]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
xor edi, edi
inc edi
test eax, eax
mov dword [ebp - 0x10c], edi
je 0x100489d
cmp byte [eax], 0
je 0x100489d
mov dword [ebp - 0x110], eax
mov ebx, 0x104
cmp dword [ebp - 0x10c], 0
je 0x10044a2
mov eax, dword [ebp - 0x110]
mov cl, byte [eax]
cmp cl, 0x20
je 0x10043c6
cmp cl, 9
je 0x10043c6
cmp cl, 0xd
je 0x10043c6
cmp cl, 0xa
je 0x10043c6
cmp cl, 0xb
je 0x10043c6
cmp cl, 0xc
jne 0x10043cf
push eax
call dword [sym.imp.USER32.dll_CharNextA]
jmp 0x10043a6
cmp byte [eax], 0
je 0x10044a2
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x110], eax
xor esi, esi
test edx, edx
jne 0x1004416
mov eax, dword [ebp - 0x110]
mov al, byte [eax]
cmp al, 0x20
je 0x100448b
cmp al, 9
je 0x100448b
cmp al, 0xd
je 0x100448b
cmp al, 0xa
je 0x100448b
cmp al, 0xb
je 0x100448b
cmp al, 0xc
je 0x100448b
jmp 0x100441a
test esi, esi
jne 0x100448b
mov eax, dword [ebp - 0x110]
mov al, byte [eax]
cmp al, 0x22
jne 0x1004462
mov eax, dword [ebp - 0x110]
inc eax
cmp byte [eax], 0x22
je 0x1004444
test edx, edx
jne 0x100443a
mov edx, edi
jmp 0x100443c
mov esi, edi
mov dword [ebp - 0x110], eax
jmp 0x100447c
cmp ecx, 0x103
jae 0x10047ac
mov byte [ebp + ecx - 0x108], 0x22
inc ecx
add dword [ebp - 0x110], 2
jmp 0x100447c
cmp ecx, 0x103
jae 0x10047ac
mov byte [ebp + ecx - 0x108], al
inc ecx
inc dword [ebp - 0x110]
mov eax, dword [ebp - 0x110]
cmp byte [eax], 0
jne 0x10043e4
test edx, edx
mov byte [ebp + ecx - 0x108], 0
je 0x10044e8
test esi, esi
jne 0x10044ec
and dword [ebp - 0x10c], 0
cmp dword [0x100deec], 0
je 0x1004895
cmp byte [0x100dffe], 0
jne 0x1004895
push ebx
mov esi, 0x100dffe
push esi
push dword [0x100db04]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x100488e
push 0x5c
push esi
call fcn.01007553
mov byte [eax + 1], 0
jmp 0x1004895
test esi, esi
jne 0x100449b
cmp byte [ebp - 0x108], 0x2f
je 0x1004502
cmp byte [ebp - 0x108], 0x2d
jne 0x10047ac
movsx eax, byte [ebp - 0x107]
mov esi, dword [sym.imp.USER32.dll_CharUpperA]
push eax
call esi
movsx eax, al
sub eax, 0x3f
je 0x1004871
sub eax, 4
je 0x10047b3
dec eax
je 0x1004706
sub eax, 0xa
je 0x100468d
push 3
pop ecx
sub eax, ecx
je 0x1004642
dec eax
je 0x1004568
dec eax
dec eax
je 0x1004706
and dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x110]
cmp byte [eax], 0
jne 0x1004393
jmp 0x10044a2
cmp byte [ebp - 0x106], 0
jne 0x100457f
mov dword [0x100daec], ecx
mov dword [0x100dee8], edi
jmp 0x1004554
cmp byte [ebp - 0x106], 0x3a
jne 0x100461c
cmp byte [ebp - 0x105], 0
mov dword [0x100daec], edi
je 0x1004554
lea esi, [ebp - 0x105]
movsx eax, byte [esi]
push eax
call dword [sym.imp.USER32.dll_CharUpperA]
movsx eax, al
inc esi
sub eax, 0x41
je 0x1004605
sub eax, 3
je 0x10045fc
sub eax, 5
je 0x10045f3
sub eax, 5
je 0x10045ea
dec eax
dec eax
je 0x10045de
sub eax, 3
je 0x10045d5
and dword [ebp - 0x10c], 0
jmp 0x1004612
or dword [0x100daec], 4
jmp 0x100460c
or dword [0x100e208], 0x80
jmp 0x1004612
and dword [0x100daec], 0xfffffffe
jmp 0x100460c
and dword [0x100daec], 0xfffffffd
jmp 0x100460c
or dword [0x100e208], 0x40
jmp 0x1004612
or dword [0x100daec], 2
mov dword [0x100dee8], edi
cmp byte [esi], 0
jne 0x10045a1
jmp 0x1004554
push 0xffffffffffffffff
lea eax, [ebp - 0x107]
push eax
push 0xffffffffffffffff
push 0x100146c
push edi
push 0x7f
call dword [sym.imp.KERNEL32.dll_CompareStringA]
dec eax
dec eax
je 0x1004554
jmp 0x100454d
cmp byte [ebp - 0x106], 0
jne 0x1004659
mov word [0x100def8], 2
jmp 0x1004554
cmp byte [ebp - 0x106], 0x3a
jne 0x100454d
movsx eax, byte [ebp - 0x105]
push eax
call esi
cmp al, 0x31
je 0x100464b
cmp al, 0x41
je 0x1004681
cmp al, 0x55
je 0x100464b
jmp 0x100454d
mov word [0x100def8], di
jmp 0x1004554
cmp byte [ebp - 0x106], 0
jne 0x10046a1
mov dword [0x100deec], edi
jmp 0x1004554
cmp byte [ebp - 0x106], 0x3a
jne 0x100454d
cmp byte [ebp - 0x105], 0
je 0x1004554
lea esi, [ebp - 0x105]
movsx eax, byte [esi]
push eax
call dword [sym.imp.USER32.dll_CharUpperA]
movsx eax, al
inc esi
sub eax, 0x45
je 0x10046f6
dec eax
dec eax
je 0x10046ee
sub eax, 0xf
je 0x10046e6
and dword [ebp - 0x10c], 0
jmp 0x10046fc
mov dword [0x100def4], edi
jmp 0x10046fc
mov dword [0x100def0], edi
jmp 0x10046fc
mov dword [0x100deec], edi
cmp byte [esi], 0
jne 0x10046c1
jmp 0x1004554
cmp byte [ebp - 0x106], 0x3a
jne 0x100454d
xor eax, eax
cmp byte [ebp - 0x105], 0x22
sete al
add eax, 3
mov esi, eax
lea edi, [ebp + esi - 0x108]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jne 0x1004742
and dword [ebp - 0x10c], 0
jmp 0x1004869
lea eax, [ebp - 0x114]
push eax
push edi
mov dword [ebp - 0x114], esi
call fcn.01003579
test eax, eax
je 0x1004736
movsx eax, byte [ebp - 0x107]
push eax
call dword [sym.imp.USER32.dll_CharUpperA]
cmp al, 0x54
mov eax, dword [ebp - 0x114]
jne 0x100477a
add eax, esi
mov esi, 0x100dffe
jmp 0x1004781
add eax, esi
mov esi, 0x100defa
lea eax, [ebp + eax - 0x108]
push eax
push ebx
push esi
call fcn.01001f1e
push 0x10012e1
push ebx
push esi
call fcn.010074d0
mov eax, esi
push eax
call fcn.01002f6d
test eax, eax
jne 0x1004869
xor eax, eax
jmp 0x100489f
cmp byte [ebp - 0x106], 0
jne 0x10047c7
mov dword [0x100dee4], edi
jmp 0x1004554
cmp byte [ebp - 0x106], 0x3a
jne 0x100454d
xor eax, eax
cmp byte [ebp - 0x105], 0x22
sete al
add eax, 3
mov esi, eax
lea edi, [ebp + esi - 0x108]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x1004736
push 0x5b
push edi
call fcn.0100742e
test eax, eax
je 0x1004817
push 0x5d
push edi
call fcn.0100742e
test eax, eax
je 0x1004736
push 0x5d
push edi
call fcn.0100742e
test eax, eax
je 0x1004833
push 0x5b
push edi
call fcn.0100742e
test eax, eax
je 0x1004736
lea eax, [ebp - 0x114]
push eax
push edi
mov dword [ebp - 0x114], esi
call fcn.01003579
test eax, eax
je 0x1004736
mov eax, dword [ebp - 0x114]
add eax, esi
lea eax, [ebp + eax - 0x108]
push eax
push ebx
push 0x100e102
call fcn.01001f1e
xor edi, edi
inc edi
jmp 0x1004554
call fcn.01001b47
mov eax, dword [0x100cd70]
test eax, eax
je 0x1004886
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
and dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x10c]
jmp 0x100489f
mov eax, edi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01006b69
leave
ret 4