Function at 0x100523c
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 0x10056cb
cmp byte [eax], bl
je 0x10056cb
cmp byte [eax], bl
mov ecx, eax
je 0x100568b
cmp dword [ebp - 4], ebx
je 0x100568b
mov eax, ecx
mov cl, byte [eax]
cmp cl, 0x20
je 0x1005298
cmp cl, 9
je 0x1005298
cmp cl, 0xd
je 0x1005298
cmp cl, 0xa
je 0x1005298
cmp cl, 0xb
je 0x1005298
cmp cl, 0xc
jne 0x10052a1
push eax
call dword [sym.imp.USER32.dll_CharNextA]
jmp 0x1005278
cmp byte [eax], bl
je 0x100568b
mov edi, eax
xor ecx, ecx
xor edx, edx
mov dword [ebp - 8], edi
xor esi, esi
cmp edx, ebx
jne 0x10052d6
mov al, byte [edi]
cmp al, 0x20
je 0x10052d2
cmp al, 9
je 0x10052d2
cmp al, 0xd
je 0x10052d2
cmp al, 0xa
je 0x10052d2
cmp al, 0xb
je 0x10052d2
cmp al, 0xc
jne 0x10052da
cmp edx, ebx
je 0x1005314
cmp esi, ebx
jne 0x1005314
mov al, byte [edi]
cmp al, 0x22
jne 0x1005304
cmp byte [edi + 1], 0x22
lea eax, [edi + 1]
je 0x10052f7
cmp edx, ebx
push 1
jne 0x10052f2
pop edx
jmp 0x10052f3
pop esi
mov edi, eax
jmp 0x100530d
mov byte [ebp + ecx - 0x10c], 0x22
inc ecx
inc edi
inc edi
jmp 0x100530d
mov byte [ebp + ecx - 0x10c], al
inc ecx
inc edi
cmp byte [edi], bl
mov dword [ebp - 8], edi
jne 0x10052b4
cmp edx, ebx
mov byte [ebp + ecx - 0x10c], bl
je 0x100532b
cmp esi, ebx
jne 0x1005333
cmp edx, ebx
jne 0x1005688
cmp esi, ebx
jne 0x1005688
cmp byte [ebp - 0x10c], 0x2f
je 0x1005349
cmp byte [ebp - 0x10c], 0x2d
jne 0x1005684
movsx eax, byte [ebp - 0x10b]
mov edi, dword [sym.imp.USER32.dll_CharUpperA]
push eax
call edi
movsx eax, al
sub eax, 0x3f
je 0x1005658
sub eax, 4
je 0x10055b6
dec eax
je 0x1005511
sub eax, 0xa
je 0x1005493
push 3
pop ecx
sub eax, ecx
je 0x1005447
dec eax
je 0x1005399
dec eax
dec eax
je 0x1005511
jmp 0x1005674
cmp byte [ebp - 0x10a], bl
jne 0x10053a9
mov dword [0x100b6cc], ecx
jmp 0x1005419
cmp byte [ebp - 0x10a], 0x3a
jne 0x1005428
cmp byte [ebp - 0x109], bl
mov dword [0x100b6cc], 1
je 0x1005419
lea esi, [ebp - 0x109]
movsx eax, byte [esi]
push eax
inc esi
call edi
cmp al, 0x41
je 0x100540e
cmp al, 0x44
je 0x1005405
cmp al, 0x49
je 0x10053fc
cmp al, 0x4e
je 0x10053f3
cmp al, 0x53
je 0x10053ea
mov dword [ebp - 4], ebx
jmp 0x1005415
or dword [0x100b6cc], 4
jmp 0x1005415
and dword [0x100b6cc], 0xfffffffe
jmp 0x1005415
and dword [0x100b6cc], 0xfffffffd
jmp 0x1005415
or dword [0x100adc8], 0x40
jmp 0x1005415
or dword [0x100b6cc], 2
cmp byte [esi], bl
jne 0x10053ca
mov dword [0x100aaa8], 1
jmp 0x1005677
lea eax, [ebp - 0x10b]
push eax
push 0x10014bc
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1005677
jmp 0x1005674
cmp byte [ebp - 0x10a], bl
je 0x1005485
cmp byte [ebp - 0x10a], 0x3a
jne 0x1005674
movsx eax, byte [ebp - 0x109]
push eax
call edi
cmp al, 0x31
je 0x1005485
cmp al, 0x41
je 0x1005477
cmp al, 0x55
je 0x1005485
jmp 0x1005674
mov word [0x100aab8], 1
jmp 0x1005677
mov word [0x100aab8], 2
jmp 0x1005677
cmp byte [ebp - 0x10a], bl
jne 0x10054aa
mov dword [0x100aaac], 1
jmp 0x1005677
cmp byte [ebp - 0x10a], 0x3a
jne 0x1005674
cmp byte [ebp - 0x109], bl
je 0x1005677
lea esi, [ebp - 0x109]
movsx eax, byte [esi]
push eax
inc esi
call edi
movsx eax, al
sub eax, 0x45
je 0x10054fe
dec eax
dec eax
je 0x10054f2
sub eax, 0xf
je 0x10054e6
mov dword [ebp - 4], ebx
jmp 0x1005508
mov dword [0x100aab4], 1
jmp 0x1005508
mov dword [0x100aab0], 1
jmp 0x1005508
mov dword [0x100aaac], 1
cmp byte [esi], bl
jne 0x10054c9
jmp 0x1005677
cmp byte [ebp - 0x10a], 0x3a
jne 0x1005674
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 0x1005674
lea eax, [ebp + 8]
mov dword [ebp + 8], esi
push eax
push edi
call fcn.010051c0
test eax, eax
je 0x1005674
movsx eax, byte [ebp - 0x10b]
push eax
call dword [sym.imp.USER32.dll_CharUpperA]
cmp al, 0x54
mov eax, dword [ebp + 8]
jne 0x1005580
add eax, esi
mov esi, 0x100abbe
lea eax, [ebp + eax - 0x10c]
push eax
jmp 0x100558f
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.01005a72
mov eax, esi
push eax
call fcn.01002c7d
test eax, eax
je 0x1005684
jmp 0x1005677
cmp byte [ebp - 0x10a], bl
jne 0x10055cd
mov dword [0x100aaa4], 1
jmp 0x1005677
cmp byte [ebp - 0x10a], 0x3a
jne 0x1005674
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 0x1005674
push 0x5b
push edi
call fcn.010059f2
test eax, eax
je 0x1005615
push 0x5d
push edi
call fcn.010059f2
test eax, eax
je 0x1005674
push 0x5d
push edi
call fcn.010059f2
test eax, eax
je 0x100562d
push 0x5b
push edi
call fcn.010059f2
test eax, eax
je 0x1005674
lea eax, [ebp + 8]
mov dword [ebp + 8], esi
push eax
push edi
call fcn.010051c0
test eax, eax
je 0x1005674
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 0x1005677
call fcn.01001b27
mov eax, dword [0x100aa80]
cmp eax, ebx
je 0x100566d
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 0x100526d
jmp 0x100568b
xor eax, eax
jmp 0x10056cd
mov dword [ebp - 4], ebx
cmp dword [0x100aaac], ebx
je 0x10056c6
cmp byte [0x100abbe], bl
jne 0x10056c6
mov esi, 0x100abbe
push 0x104
push esi
push dword [0x100b6dc]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x10056c3
push 0x5c
push esi
call fcn.01005a40
mov byte [eax + 1], bl
jmp 0x10056c6
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 4]
jmp 0x10056cd
mov eax, ecx
pop edi
pop esi
pop ebx
leave
ret 4