Function at 0x410700
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5623a4
mov eax, dword fs:[0]
push eax
sub esp, 0x10c
mov eax, dword [0x5e2320]
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 [0x5fcfb4]
mov dword [ebp - 0x118], 0
test al, 1
jne 0x410e8b
or eax, 1
mov dword [0x5fcfb4], eax
push 0xffffffffffffffff
mov dword [ebp - 4], 0
mov ecx, 0x5fcfc4
push 0x58b194
mov dword [0x5fcfc0], 9
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 1
mov ecx, 0x5fd04c
push str.Enter
mov dword [0x5fd048], 0xd
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 2
mov ecx, 0x5fd0d4
push 0x58b1a8
mov dword [0x5fd0d0], 0x1b
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 3
mov ecx, 0x5fd15c
push str.Caps
mov dword [0x5fd158], 0x14
call fcn.00516f50
push 0x100
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 4
push 0
push eax
mov dword [0x5fd1e0], 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.0051b100
add esp, 0x24
test eax, eax
jne 0x41083d
lea eax, [ebp - 0x110]
push eax
push eax
call fcn.0051a210
lea eax, [ebp - 0x110]
push eax
call fcn.0051b100
add esp, 0xc
push 0xffffffffffffffff
push eax
mov ecx, 0x5fd1e4
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 5
mov ecx, 0x5fd26c
push str.PageUp
mov dword [0x5fd268], 0x21
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 6
mov ecx, 0x5fd2f4
push str.PageDown
mov dword [0x5fd2f0], 0x22
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 7
mov ecx, 0x5fd37c
push 0x58b1f0
mov dword [0x5fd378], 0x23
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 8
mov ecx, 0x5fd404
push str.Home
mov dword [0x5fd400], 0x24
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 9
mov ecx, 0x5fd48c
push 0x58b204
mov dword [0x5fd488], 0x25
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0xa
mov ecx, 0x5fd514
push 0x58b208
mov dword [0x5fd510], 0x26
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0xb
mov ecx, 0x5fd59c
push 0x58b20c
mov dword [0x5fd598], 0x27
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0xc
mov ecx, 0x5fd624
push 0x58b210
mov dword [0x5fd620], 0x28
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0xd
mov ecx, 0x5fd6ac
push str.Insert
mov dword [0x5fd6a8], 0x2d
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0xe
mov ecx, 0x5fd734
push 0x58d378
mov dword [0x5fd730], 0x2e
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0xf
mov ecx, 0x5fd7bc
push str.Num0
mov dword [0x5fd7b8], 0x60
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x10
mov ecx, 0x5fd844
push str.Num1
mov dword [0x5fd840], 0x61
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x11
mov ecx, 0x5fd8cc
push str.Num2
mov dword [0x5fd8c8], 0x62
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x12
mov ecx, 0x5fd954
push str.Num3
mov dword [0x5fd950], 0x63
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x13
mov ecx, 0x5fd9dc
push str.Num4
mov dword [0x5fd9d8], 0x64
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x14
mov ecx, 0x5fda64
push str.Num5
mov dword [0x5fda60], 0x65
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x15
mov ecx, 0x5fdaec
push str.Num6
mov dword [0x5fdae8], 0x66
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x16
mov ecx, 0x5fdb74
push str.Num7
mov dword [0x5fdb70], 0x67
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x17
mov ecx, 0x5fdbfc
push str.Num8
mov dword [0x5fdbf8], 0x68
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x18
mov ecx, 0x5fdc84
push str.Num9
mov dword [0x5fdc80], 0x69
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x19
mov ecx, 0x5fdd0c
push 0x58b29c
mov dword [0x5fdd08], 0x6a
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1a
mov ecx, 0x5fdd94
push 0x58b2a0
mov dword [0x5fdd90], 0x6b
call fcn.00516f50
mov byte [ebp - 4], 0x1b
mov dword [0x5fde18], 0x6d
push 0xffffffffffffffff
push 0x58d374
mov ecx, 0x5fde1c
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1c
mov ecx, 0x5fdea4
push 0x58b2a4
mov dword [0x5fdea0], 0x6e
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1d
mov ecx, 0x5fdf2c
push 0x58b2a8
mov dword [0x5fdf28], 0x6f
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1e
mov ecx, 0x5fdfb4
push 0x58b2ac
mov dword [0x5fdfb0], 0x70
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1f
mov ecx, 0x5fe03c
push 0x58b2b4
mov dword [0x5fe038], 0x71
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x20
mov ecx, 0x5fe0c4
push 0x58b2bc
mov dword [0x5fe0c0], 0x72
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x21
mov ecx, 0x5fe14c
push 0x58b2c4
mov dword [0x5fe148], 0x73
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x22
mov ecx, 0x5fe1d4
push 0x58b2cc
mov dword [0x5fe1d0], 0x74
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x23
mov ecx, 0x5fe25c
push 0x58b2d4
mov dword [0x5fe258], 0x75
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x24
mov ecx, 0x5fe2e4
push 0x58b2dc
mov dword [0x5fe2e0], 0x76
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x25
mov ecx, 0x5fe36c
push 0x58b2e4
mov dword [0x5fe368], 0x77
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x26
mov ecx, 0x5fe3f4
push 0x58b2ec
mov dword [0x5fe3f0], 0x78
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x27
mov ecx, 0x5fe47c
push 0x58b2f4
mov dword [0x5fe478], 0x79
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x28
mov ecx, 0x5fe504
push 0x58b2fc
mov dword [0x5fe500], 0x7a
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x29
mov ecx, 0x5fe58c
push 0x58b304
mov dword [0x5fe588], 0x7b
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2a
mov ecx, 0x5fe614
push 0x58b30c
mov dword [0x5fe610], 0x10
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2b
mov ecx, 0x5fe69c
push 0x58b318
mov dword [0x5fe698], 0x11
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2c
mov ecx, 0x5fe724
push 0x58b324
mov dword [0x5fe720], 0x12
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2d
mov ecx, 0x5fe7ac
push str.____
mov dword [0x5fe7a8], 0xba
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2e
mov ecx, 0x5fe834
push 0x58b2a0
mov dword [0x5fe830], 0xbb
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2f
mov ecx, 0x5fe8bc
push 0x58b330
mov dword [0x5fe8b8], 0xbc
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x30
mov ecx, 0x5fe944
push 0x58d374
mov dword [0x5fe940], 0xbd
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x31
mov ecx, 0x5fe9cc
push 0x58b2a4
mov dword [0x5fe9c8], 0xbe
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x32
mov dword [0x5fea50], 0xbf
push 0x58b2a8
mov ecx, 0x5fea54
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x33
mov ecx, 0x5feadc
push 0x58b334
mov dword [0x5fead8], 0xc0
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x34
mov ecx, 0x5feb64
push 0x58b338
mov dword [0x5feb60], 0xdb
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x35
mov ecx, 0x5febec
push 0x58d370
mov dword [0x5febe8], 0xdc
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x36
mov ecx, 0x5fec74
push 0x58b33c
mov dword [0x5fec70], 0xdd
call fcn.00516f50
push 0xffffffffffffffff
mov byte [ebp - 4], 0x37
mov ecx, 0x5fecfc
push 0x58b340
mov dword [0x5fecf8], 0xde
call fcn.00516f50
push 0x57d880
call fcn.005601b4
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 0x410ed6
test al, al
jne 0x410ed6
mov eax, 0x5fcfc0
lea ebx, [ebx]
cmp dword [eax], esi
je 0x410ec9
add eax, 0x88
cmp eax, 0x5fed80
jne 0x410eb0
push 0xffffffffffffffff
push 0x588858
jmp 0x410eef
add eax, 4
mov ecx, edi
push eax
call fcn.00516f20
jmp 0x410ef6
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.00516f50
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.005600c0
mov esp, ebp
pop ebp
ret