Function at 0x1004311
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 0x100485b
cmp byte [eax], 0
je 0x100485b
mov dword [ebp - 0x110], eax
mov ebx, 0x104
cmp dword [ebp - 0x10c], 0
je 0x1004460
mov eax, dword [ebp - 0x110]
mov cl, byte [eax]
cmp cl, 0x20
je 0x1004384
cmp cl, 9
je 0x1004384
cmp cl, 0xd
je 0x1004384
cmp cl, 0xa
je 0x1004384
cmp cl, 0xb
je 0x1004384
cmp cl, 0xc
jne 0x100438d
push eax
call dword [sym.imp.USER32.dll_CharNextA]
jmp 0x1004364
cmp byte [eax], 0
je 0x1004460
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x110], eax
xor esi, esi
test edx, edx
jne 0x10043d4
mov eax, dword [ebp - 0x110]
mov al, byte [eax]
cmp al, 0x20
je 0x1004449
cmp al, 9
je 0x1004449
cmp al, 0xd
je 0x1004449
cmp al, 0xa
je 0x1004449
cmp al, 0xb
je 0x1004449
cmp al, 0xc
je 0x1004449
jmp 0x10043d8
test esi, esi
jne 0x1004449
mov eax, dword [ebp - 0x110]
mov al, byte [eax]
cmp al, 0x22
jne 0x1004420
mov eax, dword [ebp - 0x110]
inc eax
cmp byte [eax], 0x22
je 0x1004402
test edx, edx
jne 0x10043f8
mov edx, edi
jmp 0x10043fa
mov esi, edi
mov dword [ebp - 0x110], eax
jmp 0x100443a
cmp ecx, 0x103
jae 0x100476a
mov byte [ebp + ecx - 0x108], 0x22
inc ecx
add dword [ebp - 0x110], 2
jmp 0x100443a
cmp ecx, 0x103
jae 0x100476a
mov byte [ebp + ecx - 0x108], al
inc ecx
inc dword [ebp - 0x110]
mov eax, dword [ebp - 0x110]
cmp byte [eax], 0
jne 0x10043a2
test edx, edx
mov byte [ebp + ecx - 0x108], 0
je 0x10044a6
test esi, esi
jne 0x10044aa
and dword [ebp - 0x10c], 0
cmp dword [0x100deec], 0
je 0x1004853
cmp byte [0x100dffe], 0
jne 0x1004853
push ebx
mov esi, 0x100dffe
push esi
push dword [0x100db04]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x100484c
push 0x5c
push esi
call fcn.01007523
mov byte [eax + 1], 0
jmp 0x1004853
test esi, esi
jne 0x1004459
cmp byte [ebp - 0x108], 0x2f
je 0x10044c0
cmp byte [ebp - 0x108], 0x2d
jne 0x100476a
movsx eax, byte [ebp - 0x107]
mov esi, dword [sym.imp.USER32.dll_CharUpperA]
push eax
call esi
movsx eax, al
sub eax, 0x3f
je 0x100482f
sub eax, 4
je 0x1004771
dec eax
je 0x10046c4
sub eax, 0xa
je 0x100464b
push 3
pop ecx
sub eax, ecx
je 0x1004600
dec eax
je 0x1004526
dec eax
dec eax
je 0x10046c4
and dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x110]
cmp byte [eax], 0
jne 0x1004351
jmp 0x1004460
cmp byte [ebp - 0x106], 0
jne 0x100453d
mov dword [0x100daec], ecx
mov dword [0x100dee8], edi
jmp 0x1004512
cmp byte [ebp - 0x106], 0x3a
jne 0x10045da
cmp byte [ebp - 0x105], 0
mov dword [0x100daec], edi
je 0x1004512
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 0x10045c3
sub eax, 3
je 0x10045ba
sub eax, 5
je 0x10045b1
sub eax, 5
je 0x10045a8
dec eax
dec eax
je 0x100459c
sub eax, 3
je 0x1004593
and dword [ebp - 0x10c], 0
jmp 0x10045d0
or dword [0x100daec], 4
jmp 0x10045ca
or dword [0x100e208], 0x80
jmp 0x10045d0
and dword [0x100daec], 0xfffffffe
jmp 0x10045ca
and dword [0x100daec], 0xfffffffd
jmp 0x10045ca
or dword [0x100e208], 0x40
jmp 0x10045d0
or dword [0x100daec], 2
mov dword [0x100dee8], edi
cmp byte [esi], 0
jne 0x100455f
jmp 0x1004512
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 0x1004512
jmp 0x100450b
cmp byte [ebp - 0x106], 0
jne 0x1004617
mov word [0x100def8], 2
jmp 0x1004512
cmp byte [ebp - 0x106], 0x3a
jne 0x100450b
movsx eax, byte [ebp - 0x105]
push eax
call esi
cmp al, 0x31
je 0x1004609
cmp al, 0x41
je 0x100463f
cmp al, 0x55
je 0x1004609
jmp 0x100450b
mov word [0x100def8], di
jmp 0x1004512
cmp byte [ebp - 0x106], 0
jne 0x100465f
mov dword [0x100deec], edi
jmp 0x1004512
cmp byte [ebp - 0x106], 0x3a
jne 0x100450b
cmp byte [ebp - 0x105], 0
je 0x1004512
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 0x10046b4
dec eax
dec eax
je 0x10046ac
sub eax, 0xf
je 0x10046a4
and dword [ebp - 0x10c], 0
jmp 0x10046ba
mov dword [0x100def4], edi
jmp 0x10046ba
mov dword [0x100def0], edi
jmp 0x10046ba
mov dword [0x100deec], edi
cmp byte [esi], 0
jne 0x100467f
jmp 0x1004512
cmp byte [ebp - 0x106], 0x3a
jne 0x100450b
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 0x1004700
and dword [ebp - 0x10c], 0
jmp 0x1004827
lea eax, [ebp - 0x114]
push eax
push edi
mov dword [ebp - 0x114], esi
call fcn.01003539
test eax, eax
je 0x10046f4
movsx eax, byte [ebp - 0x107]
push eax
call dword [sym.imp.USER32.dll_CharUpperA]
cmp al, 0x54
mov eax, dword [ebp - 0x114]
jne 0x1004738
add eax, esi
mov esi, 0x100dffe
jmp 0x100473f
add eax, esi
mov esi, 0x100defa
lea eax, [ebp + eax - 0x108]
push eax
push ebx
push esi
call fcn.01001ede
push 0x10012e1
push ebx
push esi
call fcn.010074a0
mov eax, esi
push eax
call fcn.01002f2d
test eax, eax
jne 0x1004827
xor eax, eax
jmp 0x100485d
cmp byte [ebp - 0x106], 0
jne 0x1004785
mov dword [0x100dee4], edi
jmp 0x1004512
cmp byte [ebp - 0x106], 0x3a
jne 0x100450b
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 0x10046f4
push 0x5b
push edi
call fcn.010073fe
test eax, eax
je 0x10047d5
push 0x5d
push edi
call fcn.010073fe
test eax, eax
je 0x10046f4
push 0x5d
push edi
call fcn.010073fe
test eax, eax
je 0x10047f1
push 0x5b
push edi
call fcn.010073fe
test eax, eax
je 0x10046f4
lea eax, [ebp - 0x114]
push eax
push edi
mov dword [ebp - 0x114], esi
call fcn.01003539
test eax, eax
je 0x10046f4
mov eax, dword [ebp - 0x114]
add eax, esi
lea eax, [ebp + eax - 0x108]
push eax
push ebx
push 0x100e102
call fcn.01001ede
xor edi, edi
inc edi
jmp 0x1004512
call fcn.01001b07
mov eax, dword [0x100cd70]
test eax, eax
je 0x1004844
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 0x100485d
mov eax, edi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01006b2f
leave
ret 4