Function at 0x4ae270
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x588e44
mov eax, dword fs:[0]
push eax
sub esp, 0x10c
mov eax, dword [0x603320]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, edx
mov edi, ecx
mov eax, dword [0x62c558]
mov dword [ebp - 0x118], 0
test al, 1
jne 0x4ae9fb
or eax, 1
mov dword [0x62c558], eax
push 0xffffffffffffffff
mov dword [ebp - 4], 0
mov ecx, 0x62c564
push 0x5b8e84
mov dword [0x62c560], 9
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 1
mov ecx, 0x62c5ec
push str.Enter
mov dword [0x62c5e8], 0xd
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 2
mov ecx, 0x62c674
push 0x5b8e98
mov dword [0x62c670], 0x1b
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 3
mov ecx, 0x62c6fc
push str.Caps
mov dword [0x62c6f8], 0x14
call fcn.0052d3e0
push 0x100
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 4
push 0
push eax
mov dword [0x62c780], 0x20
call sub.MSVCR120.dll_memset
push 0x80
push str.space_key_name
push 0x80
lea eax, [ebp - 0x110]
push eax
push 0
call dword [sym.imp.MSVCR120.dll_mbstowcs_s]
lea eax, [ebp - 0x110]
push eax
call fcn.00531580
add esp, 0x24
test eax, eax
jne 0x4ae3ad
lea eax, [ebp - 0x110]
push eax
push eax
call fcn.00530690
lea eax, [ebp - 0x110]
push eax
call fcn.00531580
add esp, 0xc
push 0xffffffffffffffff
push eax
mov ecx, 0x62c784
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 5
mov ecx, 0x62c80c
push str.PageUp
mov dword [0x62c808], 0x21
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 6
mov ecx, 0x62c894
push str.PageDown
mov dword [0x62c890], 0x22
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 7
mov ecx, 0x62c91c
push 0x5b8ee0
mov dword [0x62c918], 0x23
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 8
mov ecx, 0x62c9a4
push str.Home
mov dword [0x62c9a0], 0x24
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 9
mov ecx, 0x62ca2c
push 0x5b8ef4
mov dword [0x62ca28], 0x25
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0xa
mov ecx, 0x62cab4
push 0x5b8ef8
mov dword [0x62cab0], 0x26
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0xb
mov ecx, 0x62cb3c
push 0x5b8efc
mov dword [0x62cb38], 0x27
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0xc
mov ecx, 0x62cbc4
push 0x5b8f00
mov dword [0x62cbc0], 0x28
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0xd
mov ecx, 0x62cc4c
push str.Insert
mov dword [0x62cc48], 0x2d
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0xe
mov ecx, 0x62ccd4
push 0x5b90cc
mov dword [0x62ccd0], 0x2e
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0xf
mov ecx, 0x62cd5c
push str.Num0
mov dword [0x62cd58], 0x60
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x10
mov ecx, 0x62cde4
push str.Num1
mov dword [0x62cde0], 0x61
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x11
mov ecx, 0x62ce6c
push str.Num2
mov dword [0x62ce68], 0x62
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x12
mov ecx, 0x62cef4
push str.Num3
mov dword [0x62cef0], 0x63
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x13
mov ecx, 0x62cf7c
push str.Num4
mov dword [0x62cf78], 0x64
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x14
mov ecx, 0x62d004
push str.Num5
mov dword [0x62d000], 0x65
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x15
mov ecx, 0x62d08c
push str.Num6
mov dword [0x62d088], 0x66
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x16
mov ecx, 0x62d114
push str.Num7
mov dword [0x62d110], 0x67
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x17
mov ecx, 0x62d19c
push str.Num8
mov dword [0x62d198], 0x68
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x18
mov ecx, 0x62d224
push str.Num9
mov dword [0x62d220], 0x69
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x19
mov ecx, 0x62d2ac
push 0x5a8240
mov dword [0x62d2a8], 0x6a
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1a
mov ecx, 0x62d334
push 0x5b8f8c
mov dword [0x62d330], 0x6b
call fcn.0052d3e0
mov byte [ebp - 4], 0x1b
mov dword [0x62d3b8], 0x6d
push 0xffffffffffffffff
push 0x5aa790
mov ecx, 0x62d3bc
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1c
mov ecx, 0x62d444
push 0x5b7f14
mov dword [0x62d440], 0x6e
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1d
mov ecx, 0x62d4cc
push 0x5b8f90
mov dword [0x62d4c8], 0x6f
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1e
mov ecx, 0x62d554
push 0x5b8f94
mov dword [0x62d550], 0x70
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1f
mov ecx, 0x62d5dc
push 0x5b8f9c
mov dword [0x62d5d8], 0x71
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x20
mov ecx, 0x62d664
push 0x5b8fa4
mov dword [0x62d660], 0x72
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x21
mov ecx, 0x62d6ec
push 0x5b8fac
mov dword [0x62d6e8], 0x73
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x22
mov ecx, 0x62d774
push 0x5b8fb4
mov dword [0x62d770], 0x74
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x23
mov ecx, 0x62d7fc
push 0x5b8fbc
mov dword [0x62d7f8], 0x75
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x24
mov ecx, 0x62d884
push 0x5b8fc4
mov dword [0x62d880], 0x76
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x25
mov ecx, 0x62d90c
push 0x5b8fcc
mov dword [0x62d908], 0x77
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x26
mov ecx, 0x62d994
push 0x5b8fd4
mov dword [0x62d990], 0x78
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x27
mov ecx, 0x62da1c
push 0x5b8fdc
mov dword [0x62da18], 0x79
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x28
mov ecx, 0x62daa4
push 0x5b8fe4
mov dword [0x62daa0], 0x7a
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x29
mov ecx, 0x62db2c
push 0x5b8fec
mov dword [0x62db28], 0x7b
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2a
mov ecx, 0x62dbb4
push str.Shift
mov dword [0x62dbb0], 0x10
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2b
mov ecx, 0x62dc3c
push str.Ctrl
mov dword [0x62dc38], 0x11
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2c
mov ecx, 0x62dcc4
push 0x5b900c
mov dword [0x62dcc0], 0x12
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2d
mov ecx, 0x62dd4c
push 0x5b2570
mov dword [0x62dd48], 0xba
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2e
mov ecx, 0x62ddd4
push 0x5b8f8c
mov dword [0x62ddd0], 0xbb
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2f
mov ecx, 0x62de5c
push 0x5ac188
mov dword [0x62de58], 0xbc
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x30
mov ecx, 0x62dee4
push 0x5aa790
mov dword [0x62dee0], 0xbd
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x31
mov ecx, 0x62df6c
push 0x5b7f14
mov dword [0x62df68], 0xbe
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x32
mov dword [0x62dff0], 0xbf
push 0x5b8f90
mov ecx, 0x62dff4
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x33
mov ecx, 0x62e07c
push 0x5b9014
mov dword [0x62e078], 0xc0
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x34
mov ecx, 0x62e104
push 0x5b0e78
mov dword [0x62e100], 0xdb
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x35
mov ecx, 0x62e18c
push 0x5a6c40
mov dword [0x62e188], 0xdc
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x36
mov ecx, 0x62e214
push 0x5b0e94
mov dword [0x62e210], 0xdd
call fcn.0052d3e0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x37
mov ecx, 0x62e29c
push 0x5b9018
mov dword [0x62e298], 0xde
call fcn.0052d3e0
push 0x598180
call fcn.00577044
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea eax, [esi - 0x30]
cmp eax, 9
lea eax, [esi - 0x41]
setbe cl
cmp eax, 0x19
setbe al
test cl, cl
jne 0x4aea46
test al, al
jne 0x4aea46
mov eax, 0x62c560
lea ebx, [ebx]
cmp dword [eax], esi
je 0x4aea39
add eax, 0x88
cmp eax, 0x62e320
jne 0x4aea20
push 0xffffffffffffffff
push 0x5a2b98
jmp 0x4aea5f
add eax, 4
mov ecx, edi
push eax
call fcn.0052d3b0
jmp 0x4aea66
xor eax, eax
mov word [ebp - 0x114], si
mov word [ebp - 0x112], ax
lea eax, [ebp - 0x114]
push 0xffffffffffffffff
push eax
mov ecx, edi
call fcn.0052d3e0
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00576f50
mov esp, ebp
pop ebp
ret