Function at 0x10051a5
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 ecx
cmp eax, ebx
mov dword [ebp - 4], ecx
je 0x1005622
cmp byte [eax], bl
je 0x1005622
cmp byte [eax], bl
mov ecx, eax
je 0x10055e2
cmp dword [ebp - 4], ebx
je 0x10055e2
mov eax, ecx
mov cl, byte [eax]
cmp cl, 0x20
je 0x1005201
cmp cl, 9
je 0x1005201
cmp cl, 0xd
je 0x1005201
cmp cl, 0xa
je 0x1005201
cmp cl, 0xb
je 0x1005201
cmp cl, 0xc
jne 0x100520a
push eax
call dword [sym.imp.USER32.dll_CharNextA]
jmp 0x10051e1
cmp byte [eax], bl
je 0x10055e2
mov edi, eax
xor ecx, ecx
xor edx, edx
mov dword [ebp - 8], edi
xor esi, esi
cmp edx, ebx
jne 0x100523f
mov al, byte [edi]
cmp al, 0x20
je 0x100523b
cmp al, 9
je 0x100523b
cmp al, 0xd
je 0x100523b
cmp al, 0xa
je 0x100523b
cmp al, 0xb
je 0x100523b
cmp al, 0xc
jne 0x1005243
cmp edx, ebx
je 0x100527d
cmp esi, ebx
jne 0x100527d
mov al, byte [edi]
cmp al, 0x22
jne 0x100526d
cmp byte [edi + 1], 0x22
lea eax, [edi + 1]
je 0x1005260
cmp edx, ebx
push 1
jne 0x100525b
pop edx
jmp 0x100525c
pop esi
mov edi, eax
jmp 0x1005276
mov byte [ebp + ecx - 0x10c], 0x22
inc ecx
inc edi
inc edi
jmp 0x1005276
mov byte [ebp + ecx - 0x10c], al
inc ecx
inc edi
cmp byte [edi], bl
mov dword [ebp - 8], edi
jne 0x100521d
cmp edx, ebx
mov byte [ebp + ecx - 0x10c], bl
je 0x1005294
cmp esi, ebx
jne 0x100529c
cmp edx, ebx
jne 0x10055df
cmp esi, ebx
jne 0x10055df
cmp byte [ebp - 0x10c], 0x2f
je 0x10052b2
cmp byte [ebp - 0x10c], 0x2d
jne 0x10055db
movsx eax, byte [ebp - 0x10b]
mov edi, dword [sym.imp.USER32.dll_CharUpperA]
push eax
call edi
movsx eax, al
sub eax, 0x3f
je 0x10055af
sub eax, 4
je 0x100550d
dec eax
je 0x1005468
sub eax, 0xa
je 0x10053ea
push 3
pop ecx
sub eax, ecx
je 0x100539e
dec eax
je 0x1005302
dec eax
dec eax
je 0x1005468
jmp 0x10055cb
cmp byte [ebp - 0x10a], bl
jne 0x1005312
mov dword [0x100b6cc], ecx
jmp 0x1005370
cmp byte [ebp - 0x10a], 0x3a
jne 0x100537f
cmp byte [ebp - 0x109], bl
mov dword [0x100b6cc], 1
je 0x1005370
lea esi, [ebp - 0x109]
movsx eax, byte [esi]
push eax
inc esi
call edi
cmp al, 0x41
je 0x1005365
cmp al, 0x49
je 0x100535c
cmp al, 0x4e
je 0x1005353
cmp al, 0x53
jne 0x100536c
or dword [0x100b6cc], 4
jmp 0x100536c
and dword [0x100b6cc], 0xfffffffe
jmp 0x100536c
and dword [0x100b6cc], 0xfffffffd
jmp 0x100536c
or dword [0x100b6cc], 2
cmp byte [esi], bl
jne 0x1005333
mov dword [0x100aaa8], 1
jmp 0x10055ce
lea eax, [ebp - 0x10b]
push eax
push 0x10014bc
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x10055ce
jmp 0x10055cb
cmp byte [ebp - 0x10a], bl
je 0x10053dc
cmp byte [ebp - 0x10a], 0x3a
jne 0x10055cb
movsx eax, byte [ebp - 0x109]
push eax
call edi
cmp al, 0x31
je 0x10053dc
cmp al, 0x41
je 0x10053ce
cmp al, 0x55
je 0x10053dc
jmp 0x10055cb
mov word [0x100aab8], 1
jmp 0x10055ce
mov word [0x100aab8], 2
jmp 0x10055ce
cmp byte [ebp - 0x10a], bl
jne 0x1005401
mov dword [0x100aaac], 1
jmp 0x10055ce
cmp byte [ebp - 0x10a], 0x3a
jne 0x10055cb
cmp byte [ebp - 0x109], bl
je 0x10055ce
lea esi, [ebp - 0x109]
movsx eax, byte [esi]
push eax
inc esi
call edi
movsx eax, al
sub eax, 0x45
je 0x1005455
dec eax
dec eax
je 0x1005449
sub eax, 0xf
je 0x100543d
mov dword [ebp - 4], ebx
jmp 0x100545f
mov dword [0x100aab4], 1
jmp 0x100545f
mov dword [0x100aab0], 1
jmp 0x100545f
mov dword [0x100aaac], 1
cmp byte [esi], bl
jne 0x1005420
jmp 0x10055ce
cmp byte [ebp - 0x10a], 0x3a
jne 0x10055cb
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 0x10055cb
lea eax, [ebp + 8]
mov dword [ebp + 8], esi
push eax
push edi
call fcn.01005129
test eax, eax
je 0x10055cb
movsx eax, byte [ebp - 0x10b]
push eax
call dword [sym.imp.USER32.dll_CharUpperA]
cmp al, 0x54
mov eax, dword [ebp + 8]
jne 0x10054d7
add eax, esi
mov esi, 0x100abbe
lea eax, [ebp + eax - 0x10c]
push eax
jmp 0x10054e6
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.010059ea
mov eax, esi
push eax
call fcn.01002c42
test eax, eax
je 0x10055db
jmp 0x10055ce
cmp byte [ebp - 0x10a], bl
jne 0x1005524
mov dword [0x100aaa4], 1
jmp 0x10055ce
cmp byte [ebp - 0x10a], 0x3a
jne 0x10055cb
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 0x10055cb
push 0x5b
push edi
call fcn.01005988
test eax, eax
je 0x100556c
push 0x5d
push edi
call fcn.01005988
test eax, eax
je 0x10055cb
push 0x5d
push edi
call fcn.01005988
test eax, eax
je 0x1005584
push 0x5b
push edi
call fcn.01005988
test eax, eax
je 0x10055cb
lea eax, [ebp + 8]
mov dword [ebp + 8], esi
push eax
push edi
call fcn.01005129
test eax, eax
je 0x10055cb
mov eax, dword [ebp + 8]
add eax, esi
lea eax, [ebp + eax - 0x10c]
push eax
push 0x100acc2
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x10055ce
call fcn.01001b01
mov eax, dword [0x100aa80]
cmp eax, ebx
je 0x10055c4
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov dword [ebp - 4], ebx
mov ecx, dword [ebp - 8]
cmp byte [ecx], bl
jne 0x10051d6
jmp 0x10055e2
xor eax, eax
jmp 0x1005624
mov dword [ebp - 4], ebx
cmp dword [0x100aaac], ebx
je 0x100561d
cmp byte [0x100abbe], bl
jne 0x100561d
mov esi, 0x100abbe
push 0x104
push esi
push dword [0x100b6dc]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x100561a
push 0x5c
push esi
call fcn.010059b8
mov byte [eax + 1], bl
jmp 0x100561d
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 4]
jmp 0x1005624
mov eax, ecx
pop edi
pop esi
pop ebx
leave
ret 4