Function at 0x401f73
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
cmp dword [0x42c144], 0
je 0x401fb5
push 0x76
mov eax, dword [0x42c3a8]
push eax
call dword [sym.imp.MSVCRT20.dll_strchr]
add esp, 8
test eax, eax
je 0x401fb5
mov eax, dword [ebp + 8]
push eax
push 0x431d40
push 0x22
call fcn.004093aa
add esp, 0xc
mov eax, dword [ebp + 8]
push eax
call fcn.0041e6bd
add esp, 4
test eax, eax
je 0x401fda
mov eax, dword [ebp + 8]
push eax
call fcn.0041c6d5
add esp, 4
jmp 0x402324
cmp dword [ebp + 0xc], 0
jne 0x4020c5
mov eax, dword [ebp + 8]
movsx eax, byte [eax]
push eax
call dword [sym.imp.MSVCRT20.dll_toupper]
add esp, 4
mov dword [ebp + 0xc], eax
push 0x432eb8
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.MSVCRT20.dll__stricmp]
add esp, 8
test eax, eax
jne 0x402020
mov dword [ebp + 0xc], 0x31
mov eax, dword [ebp + 0xc]
jmp 0x40232c
push 0x432ebc
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.MSVCRT20.dll__stricmp]
add esp, 8
test eax, eax
jne 0x402049
mov dword [ebp + 0xc], 0x32
mov eax, dword [ebp + 0xc]
jmp 0x40232c
push 0x432ec0
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.MSVCRT20.dll__stricmp]
add esp, 8
test eax, eax
jne 0x402072
mov dword [ebp + 0xc], 0x33
mov eax, dword [ebp + 0xc]
jmp 0x40232c
movsx eax, byte [ebp + 0xc]
push eax
push str.ABCDEFGIJKLMNOPQRSTUVWXYZ
call dword [sym.imp.MSVCRT20.dll_strchr]
add esp, 8
test eax, eax
je 0x4020a2
mov eax, dword [ebp + 8]
push eax
call sub.MSVCRT20.dll_strlen
add esp, 4
cmp eax, 1
je 0x4020c0
mov eax, dword [ebp + 8]
push eax
push 0x42f6d0
push 0x22
call fcn.004093aa
add esp, 0xc
push 7
call dword [sym.imp.MSVCRT20.dll_exit]
add esp, 4
jmp 0x402324
cmp dword [0x42b474], 0
jge 0x402148
push 0x200
mov eax, dword [ebp + 8]
push eax
mov eax, dword [0x42b470]
push eax
call fcn.00419717
add esp, 0xc
mov eax, dword [0x42b470]
push eax
call fcn.0041961e
add esp, 4
mov eax, dword [0x42b470]
push eax
call fcn.0041f2db
add esp, 4
mov eax, dword [0x42b470]
movsx eax, byte [eax]
test eax, eax
jne 0x40213d
cmp dword [0x42c3cc], 0
jne 0x40212f
push 0x42f328
call fcn.004081d7
add esp, 4
mov eax, dword [0x42b470]
push eax
call fcn.00401cdd
add esp, 4
inc dword [0x42b474]
jmp 0x402324
mov eax, dword [ebp + 8]
push eax
call fcn.0041961e
add esp, 4
mov eax, dword [ebp + 8]
push eax
call sub.MSVCRT20.dll_strlen
add esp, 4
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
dec eax
add eax, dword [ebp + 8]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov al, byte [eax]
mov byte [ebp - 0xc], al
mov eax, dword [ebp - 4]
movsx eax, byte [eax]
cmp eax, 0x20
jne 0x40218c
dec dword [ebp - 4]
jmp 0x402175
cmp dword [0x42b474], 0
jl 0x4021b4
mov eax, dword [0x42b4ac]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.MSVCRT20.dll__stricmp]
add esp, 8
test eax, eax
je 0x40230c
cmp dword [0x42b474], 0
jne 0x402218
cmp dword [0x42b40c], 0
jne 0x402218
mov eax, dword [0x42b408]
movsx eax, byte [eax]
test eax, eax
jne 0x402218
mov eax, dword [ebp - 4]
movsx eax, byte [eax]
push eax
push 0x432eb0
call dword [sym.imp.MSVCRT20.dll_strchr]
add esp, 8
test eax, eax
je 0x402218
mov eax, dword [ebp + 8]
mov dword [0x42b408], eax
movsx eax, byte [ebp - 0xc]
cmp eax, 0x20
je 0x402218
mov eax, dword [ebp + 0xc]
jmp 0x40232c
cmp dword [0x42b474], 0
jne 0x4022d1
cmp dword [0x42b40c], 0
jne 0x4022d1
mov eax, dword [0x42b408]
movsx eax, byte [eax]
test eax, eax
jne 0x4022d1
movsx eax, byte [ebp + 0xc]
push eax
push str.ABEFJMUX
call dword [sym.imp.MSVCRT20.dll_strchr]
add esp, 8
test eax, eax
je 0x4022d1
push 0x42f020
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.MSVCRT20.dll_strpbrk]
add esp, 8
test eax, eax
jne 0x4022d1
mov eax, dword [ebp + 8]
push eax
call fcn.004214e0
add esp, 4
test eax, eax
je 0x4022d1
mov eax, dword [ebp - 8]
add eax, 2
push eax
call fcn.0041a3d0
add esp, 4
mov dword [0x42b408], eax
mov eax, dword [ebp + 8]
push eax
mov eax, dword [0x42b408]
push eax
call sub.MSVCRT20.dll_strcpy
add esp, 8
mov eax, dword [ebp - 8]
mov ecx, dword [0x42b408]
mov byte [eax + ecx], 0x5c
mov eax, dword [ebp - 8]
mov ecx, dword [0x42b408]
mov byte [eax + ecx + 1], 0
jmp 0x402307
mov eax, dword [0x42b474]
cmp dword [0x42c360], eax
jg 0x4022ef
push 0x42f368
call fcn.004081d7
add esp, 4
mov eax, dword [ebp + 8]
mov ecx, dword [0x42b474]
mov edx, dword [0x42c194]
mov dword [edx + ecx*4], eax
inc dword [0x42b474]
jmp 0x402324
mov eax, dword [ebp + 8]
mov ecx, dword [0x42b474]
mov edx, dword [0x42c194]
mov dword [edx + ecx*4], eax
inc dword [0x42b474]
mov eax, dword [ebp + 0xc]
jmp 0x40232c
pop edi
pop esi
pop ebx
leave
ret