Function at 0x1004301
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 0x1004843
cmp byte [eax], 0
je 0x1004843
mov dword [ebp - 0x110], eax
mov ebx, 0x104
cmp dword [ebp - 0x10c], 0
je 0x1004450
mov eax, dword [ebp - 0x110]
mov cl, byte [eax]
cmp cl, 0x20
je 0x1004374
cmp cl, 9
je 0x1004374
cmp cl, 0xd
je 0x1004374
cmp cl, 0xa
je 0x1004374
cmp cl, 0xb
je 0x1004374
cmp cl, 0xc
jne 0x100437d
push eax
call dword [sym.imp.USER32.dll_CharNextA]
jmp 0x1004354
cmp byte [eax], 0
je 0x1004450
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x110], eax
xor esi, esi
test edx, edx
jne 0x10043c4
mov eax, dword [ebp - 0x110]
mov al, byte [eax]
cmp al, 0x20
je 0x1004439
cmp al, 9
je 0x1004439
cmp al, 0xd
je 0x1004439
cmp al, 0xa
je 0x1004439
cmp al, 0xb
je 0x1004439
cmp al, 0xc
je 0x1004439
jmp 0x10043c8
test esi, esi
jne 0x1004439
mov eax, dword [ebp - 0x110]
mov al, byte [eax]
cmp al, 0x22
jne 0x1004410
mov eax, dword [ebp - 0x110]
inc eax
cmp byte [eax], 0x22
je 0x10043f2
test edx, edx
jne 0x10043e8
mov edx, edi
jmp 0x10043ea
mov esi, edi
mov dword [ebp - 0x110], eax
jmp 0x100442a
cmp ecx, 0x103
jae 0x1004752
mov byte [ebp + ecx - 0x108], 0x22
inc ecx
add dword [ebp - 0x110], 2
jmp 0x100442a
cmp ecx, 0x103
jae 0x1004752
mov byte [ebp + ecx - 0x108], al
inc ecx
inc dword [ebp - 0x110]
mov eax, dword [ebp - 0x110]
cmp byte [eax], 0
jne 0x1004392
mov byte [ebp + ecx - 0x108], 0
test edx, edx
je 0x1004496
test esi, esi
jne 0x100449a
and dword [ebp - 0x10c], 0
cmp dword [0x100deec], 0
je 0x100483b
cmp byte [0x100dffe], 0
jne 0x100483b
push ebx
mov esi, 0x100dffe
push esi
push dword [0x100db04]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x1004834
push 0x5c
push esi
call fcn.01007503
mov byte [eax + 1], 0
jmp 0x100483b
test esi, esi
jne 0x1004449
cmp byte [ebp - 0x108], 0x2f
je 0x10044b0
cmp byte [ebp - 0x108], 0x2d
jne 0x1004752
movsx eax, byte [ebp - 0x107]
mov esi, dword [sym.imp.USER32.dll_CharUpperA]
push eax
call esi
movsx eax, al
sub eax, 0x3f
je 0x1004817
sub eax, 4
je 0x1004759
dec eax
je 0x10046ac
sub eax, 0xa
je 0x1004633
push 3
pop ecx
sub eax, ecx
je 0x10045f0
dec eax
je 0x1004516
dec eax
dec eax
je 0x10046ac
and dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x110]
cmp byte [eax], 0
jne 0x1004341
jmp 0x1004450
cmp byte [ebp - 0x106], 0
jne 0x100452d
mov dword [0x100daec], ecx
mov dword [0x100dee8], edi
jmp 0x1004502
cmp byte [ebp - 0x106], 0x3a
jne 0x10045ca
cmp byte [ebp - 0x105], 0
mov dword [0x100daec], edi
je 0x1004502
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 0x10045b3
sub eax, 3
je 0x10045aa
sub eax, 5
je 0x10045a1
sub eax, 5
je 0x1004598
dec eax
dec eax
je 0x100458c
sub eax, 3
je 0x1004583
and dword [ebp - 0x10c], 0
jmp 0x10045c0
or dword [0x100daec], 4
jmp 0x10045ba
or dword [0x100e208], 0x80
jmp 0x10045c0
and dword [0x100daec], 0xfffffffe
jmp 0x10045ba
and dword [0x100daec], 0xfffffffd
jmp 0x10045ba
or dword [0x100e208], 0x40
jmp 0x10045c0
or dword [0x100daec], 2
mov dword [0x100dee8], edi
cmp byte [esi], 0
jne 0x100454f
jmp 0x1004502
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 0x1004502
jmp 0x10044fb
cmp byte [ebp - 0x106], 0
jne 0x1004607
push 2
pop eax
mov word [0x100def8], ax
jmp 0x1004502
cmp byte [ebp - 0x106], 0x3a
jne 0x10044fb
movsx eax, byte [ebp - 0x105]
push eax
call esi
cmp al, 0x31
je 0x10045f9
cmp al, 0x41
je 0x100462f
cmp al, 0x55
je 0x10045f9
jmp 0x10044fb
mov eax, edi
jmp 0x10045fc
cmp byte [ebp - 0x106], 0
jne 0x1004647
mov dword [0x100deec], edi
jmp 0x1004502
cmp byte [ebp - 0x106], 0x3a
jne 0x10044fb
cmp byte [ebp - 0x105], 0
je 0x1004502
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 0x100469c
dec eax
dec eax
je 0x1004694
sub eax, 0xf
je 0x100468c
and dword [ebp - 0x10c], 0
jmp 0x10046a2
mov dword [0x100def4], edi
jmp 0x10046a2
mov dword [0x100def0], edi
jmp 0x10046a2
mov dword [0x100deec], edi
cmp byte [esi], 0
jne 0x1004667
jmp 0x1004502
cmp byte [ebp - 0x106], 0x3a
jne 0x10044fb
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 0x10046e8
and dword [ebp - 0x10c], 0
jmp 0x100480f
lea eax, [ebp - 0x114]
push eax
push edi
mov dword [ebp - 0x114], esi
call fcn.01003525
test eax, eax
je 0x10046dc
movsx eax, byte [ebp - 0x107]
push eax
call dword [sym.imp.USER32.dll_CharUpperA]
cmp al, 0x54
mov eax, dword [ebp - 0x114]
jne 0x1004720
add eax, esi
mov esi, 0x100dffe
jmp 0x1004727
add eax, esi
mov esi, 0x100defa
lea eax, [ebp + eax - 0x108]
push eax
push ebx
push esi
call fcn.01001eb0
push 0x10012e1
push ebx
push esi
call fcn.01007480
mov eax, esi
push eax
call fcn.01002f17
test eax, eax
jne 0x100480f
xor eax, eax
jmp 0x1004845
cmp byte [ebp - 0x106], 0
jne 0x100476d
mov dword [0x100dee4], edi
jmp 0x1004502
cmp byte [ebp - 0x106], 0x3a
jne 0x10044fb
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 0x10046dc
push 0x5b
push edi
call fcn.010073de
test eax, eax
je 0x10047bd
push 0x5d
push edi
call fcn.010073de
test eax, eax
je 0x10046dc
push 0x5d
push edi
call fcn.010073de
test eax, eax
je 0x10047d9
push 0x5b
push edi
call fcn.010073de
test eax, eax
je 0x10046dc
lea eax, [ebp - 0x114]
push eax
push edi
mov dword [ebp - 0x114], esi
call fcn.01003525
test eax, eax
je 0x10046dc
mov eax, dword [ebp - 0x114]
add eax, esi
lea eax, [ebp + eax - 0x108]
push eax
push ebx
push 0x100e102
call fcn.01001eb0
xor edi, edi
inc edi
jmp 0x1004502
call fcn.01001ad6
mov eax, dword [0x100cd70]
test eax, eax
je 0x100482c
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 0x1004845
mov eax, edi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01006b07
leave
ret 4