Function at 0x10051f9
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10c
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push 1
xor ebx, ebx
pop edi
cmp eax, ebx
mov dword [ebp - 4], edi
je 0x10056a6
cmp byte [eax], bl
je 0x10056a6
mov dword [ebp + 8], eax
cmp byte [eax], bl
je 0x1005666
cmp dword [ebp - 4], ebx
je 0x1005666
mov eax, dword [ebp + 8]
mov cl, byte [eax]
cmp cl, 0x20
je 0x1005257
cmp cl, 9
je 0x1005257
cmp cl, 0xd
je 0x1005257
cmp cl, 0xa
je 0x1005257
cmp cl, 0xb
je 0x1005257
cmp cl, 0xc
jne 0x1005260
push eax
call dword [sym.imp.USER32.dll_CharNextA]
jmp 0x1005237
cmp byte [eax], bl
je 0x1005666
xor ecx, ecx
xor edx, edx
mov dword [ebp + 8], eax
xor esi, esi
cmp edx, ebx
jne 0x1005296
mov eax, dword [ebp + 8]
mov al, byte [eax]
cmp al, 0x20
je 0x1005292
cmp al, 9
je 0x1005292
cmp al, 0xd
je 0x1005292
cmp al, 0xa
je 0x1005292
cmp al, 0xb
je 0x1005292
cmp al, 0xc
jne 0x100529a
cmp edx, ebx
je 0x10052dc
cmp esi, ebx
jne 0x10052dc
mov eax, dword [ebp + 8]
mov al, byte [eax]
cmp al, 0x22
jne 0x10052ca
mov eax, dword [ebp + 8]
inc eax
cmp byte [eax], 0x22
je 0x10052bb
cmp edx, ebx
jne 0x10052b4
mov edx, edi
jmp 0x10052b6
mov esi, edi
mov dword [ebp + 8], eax
jmp 0x10052d5
mov byte [ebp + ecx - 0x10c], 0x22
inc ecx
add dword [ebp + 8], 2
jmp 0x10052d5
mov byte [ebp + ecx - 0x10c], al
inc ecx
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
cmp byte [eax], bl
jne 0x1005271
cmp edx, ebx
mov byte [ebp + ecx - 0x10c], bl
je 0x10052f3
cmp esi, ebx
jne 0x10052fb
cmp edx, ebx
jne 0x1005663
cmp esi, ebx
jne 0x1005663
cmp byte [ebp - 0x10c], 0x2f
je 0x1005311
cmp byte [ebp - 0x10c], 0x2d
jne 0x100565f
movsx eax, byte [ebp - 0x10b]
mov esi, dword [sym.imp.USER32.dll_CharUpperA]
push eax
call esi
movsx eax, al
sub eax, 0x3f
je 0x1005638
sub eax, 4
je 0x1005592
dec eax
je 0x10054ed
sub eax, 0xa
je 0x100547b
push 3
pop ecx
sub eax, ecx
je 0x1005431
dec eax
je 0x1005361
dec eax
dec eax
je 0x10054ed
jmp 0x1005654
cmp byte [ebp - 0x10a], bl
jne 0x100537a
mov dword [0x100b6cc], ecx
mov dword [0x100aaa8], edi
jmp 0x1005657
cmp byte [ebp - 0x10a], 0x3a
jne 0x1005412
cmp byte [ebp - 0x109], bl
mov dword [0x100b6cc], edi
je 0x1005657
lea esi, [ebp - 0x109]
movsx eax, byte [esi]
push eax
inc esi
call dword [sym.imp.USER32.dll_CharUpperA]
movsx eax, al
sub eax, 0x41
je 0x10053fc
sub eax, 3
je 0x10053f3
sub eax, 5
je 0x10053ea
sub eax, 5
je 0x10053e1
dec eax
dec eax
je 0x10053d8
sub eax, 3
je 0x10053cf
mov dword [ebp - 4], ebx
jmp 0x1005409
or dword [0x100b6cc], 4
jmp 0x1005403
or byte [0x100adc8], 0x80
jmp 0x1005409
and dword [0x100b6cc], 0xfffffffe
jmp 0x1005403
and dword [0x100b6cc], 0xfffffffd
jmp 0x1005403
or dword [0x100adc8], 0x40
jmp 0x1005409
or dword [0x100b6cc], 2
mov dword [0x100aaa8], edi
cmp byte [esi], bl
jne 0x100539f
jmp 0x1005657
lea eax, [ebp - 0x10b]
push eax
push 0x10014bc
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1005657
jmp 0x1005654
cmp byte [ebp - 0x10a], bl
je 0x100546d
cmp byte [ebp - 0x10a], 0x3a
jne 0x1005654
movsx eax, byte [ebp - 0x109]
push eax
call esi
cmp al, 0x31
je 0x100546d
cmp al, 0x41
je 0x1005461
cmp al, 0x55
je 0x100546d
jmp 0x1005654
mov word [0x100aab8], di
jmp 0x1005657
mov word [0x100aab8], 2
jmp 0x1005657
cmp byte [ebp - 0x10a], bl
jne 0x100548e
mov dword [0x100aaac], edi
jmp 0x1005657
cmp byte [ebp - 0x10a], 0x3a
jne 0x1005654
cmp byte [ebp - 0x109], bl
je 0x1005657
lea esi, [ebp - 0x109]
movsx eax, byte [esi]
push eax
inc esi
call dword [sym.imp.USER32.dll_CharUpperA]
movsx eax, al
sub eax, 0x45
je 0x10054de
dec eax
dec eax
je 0x10054d6
sub eax, 0xf
je 0x10054ce
mov dword [ebp - 4], ebx
jmp 0x10054e4
mov dword [0x100aab4], edi
jmp 0x10054e4
mov dword [0x100aab0], edi
jmp 0x10054e4
mov dword [0x100aaac], edi
cmp byte [esi], bl
jne 0x10054ad
jmp 0x1005657
cmp byte [ebp - 0x10a], 0x3a
jne 0x1005654
xor eax, eax
cmp byte [ebp - 0x109], 0x22
sete al
add eax, 3
mov esi, eax
lea edi, [ebp + esi - 0x10c]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x1005616
lea eax, [ebp - 8]
mov dword [ebp - 8], esi
push eax
push edi
call fcn.0100517d
test eax, eax
je 0x1005616
movsx eax, byte [ebp - 0x10b]
push eax
call dword [sym.imp.USER32.dll_CharUpperA]
cmp al, 0x54
mov eax, dword [ebp - 8]
jne 0x100555c
add eax, esi
mov esi, 0x100abbe
lea eax, [ebp + eax - 0x10c]
push eax
jmp 0x100556b
add eax, esi
mov esi, 0x100aaba
lea eax, [ebp + eax - 0x10c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x10012c4
push esi
call fcn.01005a4d
mov eax, esi
push eax
call fcn.01002c71
test eax, eax
je 0x100565f
jmp 0x1005633
cmp byte [ebp - 0x10a], bl
jne 0x10055a5
mov dword [0x100aaa4], edi
jmp 0x1005657
cmp byte [ebp - 0x10a], 0x3a
jne 0x1005654
xor eax, eax
cmp byte [ebp - 0x109], 0x22
sete al
add eax, 3
mov esi, eax
lea edi, [ebp + esi - 0x10c]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x1005616
push 0x5b
push edi
call fcn.010059cd
test eax, eax
je 0x10055ed
push 0x5d
push edi
call fcn.010059cd
test eax, eax
je 0x1005616
push 0x5d
push edi
call fcn.010059cd
test eax, eax
je 0x1005605
push 0x5b
push edi
call fcn.010059cd
test eax, eax
je 0x1005616
lea eax, [ebp - 8]
mov dword [ebp - 8], esi
push eax
push edi
call fcn.0100517d
test eax, eax
jne 0x100561b
mov dword [ebp - 4], ebx
jmp 0x1005633
mov eax, dword [ebp - 8]
add eax, esi
lea eax, [ebp + eax - 0x10c]
push eax
push 0x100acc2
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 1
pop edi
jmp 0x1005657
call fcn.01001b27
mov eax, dword [0x100aa80]
cmp eax, ebx
je 0x100564d
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov dword [ebp - 4], ebx
mov eax, dword [ebp + 8]
jmp 0x1005223
xor eax, eax
jmp 0x10056a8
mov dword [ebp - 4], ebx
cmp dword [0x100aaac], ebx
je 0x10056a1
cmp byte [0x100abbe], bl
jne 0x10056a1
mov esi, 0x100abbe
push 0x104
push esi
push dword [0x100b6dc]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x100569e
push 0x5c
push esi
call fcn.01005a1b
mov byte [eax + 1], bl
jmp 0x10056a1
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 4]
jmp 0x10056a8
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret 4