Function at 0x1004361
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
mov dword [ebp - 0x10c], edi
test eax, eax
je 0x100489f
cmp byte [eax], 0
je 0x100489f
mov dword [ebp - 0x110], eax
mov ebx, 0x104
cmp dword [ebp - 0x10c], 0
je 0x10044b0
mov eax, dword [ebp - 0x110]
mov cl, byte [eax]
cmp cl, 0x20
je 0x10043d4
cmp cl, 9
je 0x10043d4
cmp cl, 0xd
je 0x10043d4
cmp cl, 0xa
je 0x10043d4
cmp cl, 0xb
je 0x10043d4
cmp cl, 0xc
jne 0x10043dd
push eax
call dword [sym.imp.USER32.dll_CharNextA]
jmp 0x10043b4
cmp byte [eax], 0
je 0x10044b0
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x110], eax
xor esi, esi
test edx, edx
jne 0x1004424
mov eax, dword [ebp - 0x110]
mov al, byte [eax]
cmp al, 0x20
je 0x1004499
cmp al, 9
je 0x1004499
cmp al, 0xd
je 0x1004499
cmp al, 0xa
je 0x1004499
cmp al, 0xb
je 0x1004499
cmp al, 0xc
je 0x1004499
jmp 0x1004428
test esi, esi
jne 0x1004499
mov eax, dword [ebp - 0x110]
mov al, byte [eax]
cmp al, 0x22
jne 0x1004470
mov eax, dword [ebp - 0x110]
inc eax
cmp byte [eax], 0x22
je 0x1004452
test edx, edx
jne 0x1004448
mov edx, edi
jmp 0x100444a
mov esi, edi
mov dword [ebp - 0x110], eax
jmp 0x100448a
cmp ecx, 0x103
jae 0x10047b0
mov byte [ebp + ecx - 0x108], 0x22
inc ecx
add dword [ebp - 0x110], 2
jmp 0x100448a
cmp ecx, 0x103
jae 0x10047b0
mov byte [ebp + ecx - 0x108], al
inc ecx
inc dword [ebp - 0x110]
mov eax, dword [ebp - 0x110]
cmp byte [eax], 0
jne 0x10043f2
mov byte [ebp + ecx - 0x108], 0
test edx, edx
je 0x10044f6
test esi, esi
jne 0x10044fa
and dword [ebp - 0x10c], 0
cmp dword [0x100deec], 0
je 0x1004897
cmp byte [0x100dffe], 0
jne 0x1004897
push ebx
mov esi, 0x100dffe
push esi
push dword [0x100db04]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x1004890
push 0x5c
push esi
call fcn.01007693
mov byte [eax + 1], 0
jmp 0x1004897
test esi, esi
jne 0x10044a9
cmp byte [ebp - 0x108], 0x2f
je 0x1004510
cmp byte [ebp - 0x108], 0x2d
jne 0x10047b0
movsx eax, byte [ebp - 0x107]
mov esi, dword [sym.imp.USER32.dll_CharUpperA]
push eax
call esi
movsx eax, al
sub eax, 0x3f
je 0x1004873
sub eax, 4
je 0x10047b7
dec eax
je 0x100470c
sub eax, 0xa
je 0x1004693
push 3
pop ecx
sub eax, ecx
je 0x1004650
dec eax
je 0x1004576
dec eax
dec eax
je 0x100470c
and dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x110]
cmp byte [eax], 0
jne 0x10043a1
jmp 0x10044b0
cmp byte [ebp - 0x106], 0
jne 0x100458d
mov dword [0x100daec], ecx
mov dword [0x100dee8], edi
jmp 0x1004562
cmp byte [ebp - 0x106], 0x3a
jne 0x100462a
cmp byte [ebp - 0x105], 0
mov dword [0x100daec], edi
je 0x1004562
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 0x1004613
sub eax, 3
je 0x100460a
sub eax, 5
je 0x1004601
sub eax, 5
je 0x10045f8
dec eax
dec eax
je 0x10045ec
sub eax, 3
je 0x10045e3
and dword [ebp - 0x10c], 0
jmp 0x1004620
or dword [0x100daec], 4
jmp 0x100461a
or dword [0x100e208], 0x80
jmp 0x1004620
and dword [0x100daec], 0xfffffffe
jmp 0x100461a
and dword [0x100daec], 0xfffffffd
jmp 0x100461a
or dword [0x100e208], 0x40
jmp 0x1004620
or dword [0x100daec], 2
mov dword [0x100dee8], edi
cmp byte [esi], 0
jne 0x10045af
jmp 0x1004562
push 0xffffffffffffffff
lea eax, [ebp - 0x107]
push eax
push 0xffffffffffffffff
push 0x100147c
push edi
push 0x7f
call dword [sym.imp.KERNEL32.dll_CompareStringA]
dec eax
dec eax
je 0x1004562
jmp 0x100455b
cmp byte [ebp - 0x106], 0
jne 0x1004667
push 2
pop eax
mov word [0x100def8], ax
jmp 0x1004562
cmp byte [ebp - 0x106], 0x3a
jne 0x100455b
movsx eax, byte [ebp - 0x105]
push eax
call esi
cmp al, 0x31
je 0x1004659
cmp al, 0x41
je 0x100468f
cmp al, 0x55
je 0x1004659
jmp 0x100455b
mov eax, edi
jmp 0x100465c
cmp byte [ebp - 0x106], 0
jne 0x10046a7
mov dword [0x100deec], edi
jmp 0x1004562
cmp byte [ebp - 0x106], 0x3a
jne 0x100455b
cmp byte [ebp - 0x105], 0
je 0x1004562
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 0x10046fc
dec eax
dec eax
je 0x10046f4
sub eax, 0xf
je 0x10046ec
and dword [ebp - 0x10c], 0
jmp 0x1004702
mov dword [0x100def4], edi
jmp 0x1004702
mov dword [0x100def0], edi
jmp 0x1004702
mov dword [0x100deec], edi
cmp byte [esi], 0
jne 0x10046c7
jmp 0x1004562
cmp byte [ebp - 0x106], 0x3a
jne 0x100455b
xor eax, eax
cmp byte [ebp - 0x105], 0x22
sete al
lea esi, [eax + 3]
lea edi, [ebp + esi - 0x108]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jne 0x1004746
and dword [ebp - 0x10c], 0
jmp 0x100486b
lea eax, [ebp - 0x114]
push eax
push edi
mov dword [ebp - 0x114], esi
call fcn.01003572
test eax, eax
je 0x100473a
movsx eax, byte [ebp - 0x107]
push eax
call dword [sym.imp.USER32.dll_CharUpperA]
cmp al, 0x54
mov eax, dword [ebp - 0x114]
jne 0x100477e
add eax, esi
mov esi, 0x100dffe
jmp 0x1004785
add eax, esi
mov esi, 0x100defa
lea eax, [ebp + eax - 0x108]
push eax
push ebx
push esi
call fcn.01001edb
push 0x10012f1
push ebx
push esi
call fcn.01007610
mov eax, esi
push eax
call fcn.01002f4c
test eax, eax
jne 0x100486b
xor eax, eax
jmp 0x10048a1
cmp byte [ebp - 0x106], 0
jne 0x10047cb
mov dword [0x100dee4], edi
jmp 0x1004562
cmp byte [ebp - 0x106], 0x3a
jne 0x100455b
xor eax, eax
cmp byte [ebp - 0x105], 0x22
sete al
lea esi, [eax + 3]
lea edi, [ebp + esi - 0x108]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x100473a
push 0x5b
push edi
call fcn.0100756e
test eax, eax
je 0x1004819
push 0x5d
push edi
call fcn.0100756e
test eax, eax
je 0x100473a
push 0x5d
push edi
call fcn.0100756e
test eax, eax
je 0x1004835
push 0x5b
push edi
call fcn.0100756e
test eax, eax
je 0x100473a
lea eax, [ebp - 0x114]
push eax
push edi
mov dword [ebp - 0x114], esi
call fcn.01003572
test eax, eax
je 0x100473a
mov eax, dword [ebp - 0x114]
add eax, esi
lea eax, [ebp + eax - 0x108]
push eax
push ebx
push 0x100e102
call fcn.01001edb
xor edi, edi
inc edi
jmp 0x1004562
call fcn.01001aeb
mov eax, dword [0x100cd70]
test eax, eax
je 0x1004888
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 0x10048a1
mov eax, edi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01006b51
leave
ret 4