Function at 0x405b88
Capabilities:
Terminate process

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x110
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
xor eax, eax
mov ebx, ecx
push esi
inc eax
push edi
mov edi, eax
test ebx, ebx
je 0x4060b4
cmp byte [ebx], 0
je 0x4060b4
test edi, edi
je 0x405ca0
mov al, byte [ebx]
cmp al, 0x20
je 0x405bda
cmp al, 9
je 0x405bda
cmp al, 0xd
je 0x405bda
cmp al, 0xa
je 0x405bda
cmp al, 0xb
je 0x405bda
cmp al, 0xc
jne 0x405be5
push ebx
call dword [sym.imp.USER32.dll_CharNextA]
mov ebx, eax
jmp 0x405bc0
cmp byte [ebx], 0
mov dword [ebp - 0x10c], ebx
je 0x405ca0
xor ecx, ecx
xor edx, edx
xor esi, esi
test edx, edx
jne 0x405c1a
mov al, byte [ebx]
cmp al, 0x20
je 0x405c82
cmp al, 9
je 0x405c82
cmp al, 0xd
je 0x405c82
cmp al, 0xa
je 0x405c82
cmp al, 0xb
je 0x405c82
cmp al, 0xc
je 0x405c82
jmp 0x405c1e
test esi, esi
jne 0x405c82
mov al, byte [ebx]
cmp al, 0x22
jne 0x405c5e
lea eax, [ebx + 1]
cmp byte [eax], 0x22
je 0x405c42
test edx, edx
jne 0x405c33
inc edx
jmp 0x405c38
xor ebx, ebx
lea esi, [ebx + 1]
mov ebx, eax
mov dword [ebp - 0x10c], eax
jmp 0x405c79
cmp ecx, 0x103
jae 0x405fab
push 2
mov byte [ebp + ecx - 0x108], 0x22
inc ecx
pop eax
add ebx, eax
jmp 0x405c73
cmp ecx, 0x103
jae 0x405fab
mov byte [ebp + ecx - 0x108], al
inc ecx
inc ebx
mov dword [ebp - 0x10c], ebx
cmp byte [ebx], 0
jne 0x405bfa
cmp ecx, 0x104
jae 0x4060c5
mov byte [ebp + ecx - 0x108], 0
test edx, edx
je 0x405cee
test esi, esi
jne 0x405cf2
xor edi, edi
cmp dword [0x40894c], 0
je 0x4060b2
cmp byte [0x408a5e], 0
jne 0x4060b2
push 0x104
push 0x408a5e
push dword [0x409164]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x4060b0
push 0x5c
pop edx
mov ecx, 0x408a5e
call fcn.004065af
mov byte [eax + 1], 0
jmp 0x4060b2
test esi, esi
jne 0x405c9e
mov al, byte [ebp - 0x108]
cmp al, 0x2f
je 0x405d04
cmp al, 0x2d
jne 0x405fab
movsx eax, byte [ebp - 0x107]
push eax
call dword [sym.imp.USER32.dll_CharUpperA]
movsx eax, al
sub eax, 0x3f
je 0x406082
sub eax, 4
je 0x405fb2
dec eax
je 0x405ef8
sub eax, 0xa
je 0x405e80
sub eax, 3
je 0x405e3c
dec eax
je 0x405d5b
dec eax
dec eax
je 0x405ef8
xor edi, edi
cmp byte [ebx], 0
jne 0x405bb8
jmp 0x405ca0
mov al, byte [ebp - 0x106]
test al, al
jne 0x405d79
xor eax, eax
mov dword [0x409a6c], 3
inc eax
mov dword [0x408948], eax
jmp 0x405d4d
cmp al, 0x3a
jne 0x405e13
xor eax, eax
inc eax
cmp byte [ebp - 0x105], 0
mov dword [0x409a6c], eax
je 0x405d4d
xor ebx, ebx
lea esi, [ebp - 0x105]
inc ebx
movsx eax, byte [esi]
inc esi
push eax
call dword [sym.imp.USER32.dll_CharUpperA]
movsx eax, al
sub eax, 0x41
je 0x405dfa
sub eax, 3
je 0x405df1
sub eax, 5
je 0x405de8
sub eax, 5
je 0x405ddf
dec eax
dec eax
je 0x405dd3
sub eax, 3
je 0x405dca
xor edi, edi
jmp 0x405e09
or dword [0x409a6c], 4
jmp 0x405e03
or dword [0x408c68], 0x80
jmp 0x405e09
and dword [0x409a6c], 0xfffffffe
jmp 0x405e03
and dword [0x409a6c], 0xfffffffd
jmp 0x405e03
or dword [0x408c68], 0x40
jmp 0x405e09
push 2
pop eax
or dword [0x409a6c], eax
mov dword [0x408948], ebx
cmp byte [esi], 0
jne 0x405d9b
jmp 0x406077
push 0xffffffffffffffff
lea eax, [ebp - 0x107]
push eax
push 0xffffffffffffffff
xor eax, eax
push 0x401398
inc eax
push eax
push 0x7f
call dword [sym.imp.KERNEL32.dll_CompareStringA]
dec eax
dec eax
je 0x405d4d
jmp 0x405d4b
mov al, byte [ebp - 0x106]
test al, al
jne 0x405e54
push 2
pop eax
mov word [0x408958], ax
jmp 0x405d4d
cmp al, 0x3a
jne 0x405d4b
movsx eax, byte [ebp - 0x105]
push eax
call dword [sym.imp.USER32.dll_CharUpperA]
cmp al, 0x31
je 0x405e46
cmp al, 0x41
je 0x405e7b
cmp al, 0x55
je 0x405e46
jmp 0x405d4b
xor eax, eax
inc eax
jmp 0x405e49
mov al, byte [ebp - 0x106]
test al, al
jne 0x405e97
xor eax, eax
inc eax
mov dword [0x40894c], eax
jmp 0x405d4d
cmp al, 0x3a
jne 0x405d4b
cmp byte [ebp - 0x105], 0
je 0x405d4d
xor ebx, ebx
lea esi, [ebp - 0x105]
inc ebx
movsx eax, byte [esi]
inc esi
push eax
call dword [sym.imp.USER32.dll_CharUpperA]
movsx eax, al
sub eax, 0x45
je 0x405ee8
push 2
pop ecx
sub eax, ecx
je 0x405ee0
sub eax, 0xf
je 0x405ed8
xor edi, edi
jmp 0x405eee
mov dword [0x408954], ebx
jmp 0x405eee
mov dword [0x408950], ebx
jmp 0x405eee
mov dword [0x40894c], ebx
cmp byte [esi], 0
jne 0x405eb5
jmp 0x406077
cmp byte [ebp - 0x106], 0x3a
jne 0x405d4b
xor ebx, ebx
lea esi, [ebp - 0x108]
cmp byte [ebp - 0x105], 0x22
sete bl
add ebx, 3
add esi, ebx
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x405f21
sub ecx, edx
jne 0x405f37
mov ebx, dword [ebp - 0x10c]
jmp 0x405d4b
lea edx, [ebp - 0x110]
mov dword [ebp - 0x110], ebx
mov ecx, esi
call fcn.00405afe
test eax, eax
je 0x405f2c
movsx eax, byte [ebp - 0x107]
push eax
call dword [sym.imp.USER32.dll_CharUpperA]
cmp al, 0x54
lea ecx, [ebp - 0x108]
mov eax, dword [ebp - 0x110]
mov edx, 0x104
jne 0x405f7a
add eax, ebx
mov ebx, 0x408a5e
jmp 0x405f81
add eax, ebx
mov ebx, 0x40895a
add eax, ecx
mov ecx, ebx
push eax
call fcn.00401485
push 0x401111
mov edx, 0x104
mov ecx, ebx
call fcn.004064e7
mov ecx, ebx
call fcn.00403086
test eax, eax
jne 0x406077
xor eax, eax
jmp 0x4060b4
mov al, byte [ebp - 0x106]
test al, al
jne 0x405fc9
xor eax, eax
inc eax
mov dword [0x408944], eax
jmp 0x405d4d
cmp al, 0x3a
jne 0x405d4b
xor ebx, ebx
lea esi, [ebp - 0x108]
cmp byte [ebp - 0x105], 0x22
sete bl
add ebx, 3
add esi, ebx
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x405fed
sub ecx, edx
je 0x405f2c
push 0x5b
pop edx
mov ecx, esi
call fcn.00406494
test eax, eax
je 0x40601c
push 0x5d
pop edx
mov ecx, esi
call fcn.00406494
test eax, eax
je 0x405f2c
push 0x5d
pop edx
mov ecx, esi
call fcn.00406494
test eax, eax
je 0x40603c
push 0x5b
pop edx
mov ecx, esi
call fcn.00406494
test eax, eax
je 0x405f2c
lea edx, [ebp - 0x110]
mov dword [ebp - 0x110], ebx
mov ecx, esi
call fcn.00405afe
test eax, eax
je 0x405f2c
mov eax, dword [ebp - 0x110]
lea ecx, [ebp - 0x108]
add eax, ebx
mov edx, 0x104
add eax, ecx
mov ecx, 0x408b62
push eax
call fcn.00401485
mov ebx, dword [ebp - 0x10c]
jmp 0x405d4d
xor ebx, ebx
mov edx, 0x521
push ebx
push 0x40
push ebx
push 0x401111
xor ecx, ecx
call fcn.00404327
mov eax, dword [0x4085c8]
test eax, eax
je 0x4060a9
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call dword [sym.imp.KERNEL32.dll_ExitProcess]
xor edi, edi
mov eax, edi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00406c20
mov esp, ebp
pop ebp
ret
call fcn.00406d85
int3