Function at 0x42fa10
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c1764
mov eax, dword fs:[0]
push eax
sub esp, 0xc
mov eax, dword [0x4fe320]
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 [0x50d3b0]
mov dword [ebp - 0x18], 0
test al, 1
jne 0x43013f
or eax, 1
mov dword [0x50d3b0], eax
push 0xffffffffffffffff
mov dword [ebp - 4], 0
mov ecx, 0x50d3c4
push 0x4db1bc
mov dword [0x50d3c0], 9
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 1
mov ecx, 0x50d44c
push str.Enter
mov dword [0x50d448], 0xd
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 2
mov ecx, 0x50d4d4
push 0x4db1d0
mov dword [0x50d4d0], 0x1b
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 3
mov ecx, 0x50d55c
push str.Caps
mov dword [0x50d558], 0x14
call fcn.004707f0
mov byte [ebp - 4], 4
mov ecx, str.space_key_name
push 0xffffffffffffffff
mov dword [0x50d5e0], 0x20
call fcn.0040cfa0
push eax
mov ecx, 0x50d5e4
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 5
mov ecx, 0x50d66c
push str.PageUp
mov dword [0x50d668], 0x21
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 6
mov ecx, 0x50d6f4
push str.PageDown
mov dword [0x50d6f0], 0x22
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 7
mov ecx, 0x50d77c
push 0x4db218
mov dword [0x50d778], 0x23
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 8
mov ecx, 0x50d804
push str.Home
mov dword [0x50d800], 0x24
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 9
mov ecx, 0x50d88c
push 0x4db22c
mov dword [0x50d888], 0x25
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0xa
mov ecx, 0x50d914
push 0x4db230
mov dword [0x50d910], 0x26
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0xb
mov ecx, 0x50d99c
push 0x4db234
mov dword [0x50d998], 0x27
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0xc
mov ecx, 0x50da24
push 0x4db238
mov dword [0x50da20], 0x28
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0xd
mov ecx, 0x50daac
push str.Insert
mov dword [0x50daa8], 0x2d
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0xe
mov ecx, 0x50db34
push str.Delete
mov dword [0x50db30], 0x2e
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0xf
mov ecx, 0x50dbbc
push str.Num0
mov dword [0x50dbb8], 0x60
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x10
mov ecx, 0x50dc44
push str.Num1
mov dword [0x50dc40], 0x61
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x11
mov ecx, 0x50dccc
push str.Num2
mov dword [0x50dcc8], 0x62
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x12
mov ecx, 0x50dd54
push str.Num3
mov dword [0x50dd50], 0x63
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x13
mov ecx, 0x50dddc
push str.Num4
mov dword [0x50ddd8], 0x64
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x14
mov ecx, 0x50de64
push str.Num5
mov dword [0x50de60], 0x65
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x15
mov ecx, 0x50deec
push str.Num6
mov dword [0x50dee8], 0x66
call fcn.004707f0
mov byte [ebp - 4], 0x16
mov dword [0x50df70], 0x67
push 0xffffffffffffffff
push str.Num7
mov ecx, 0x50df74
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x17
mov ecx, 0x50dffc
push str.Num8
mov dword [0x50dff8], 0x68
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x18
mov ecx, 0x50e084
push str.Num9
mov dword [0x50e080], 0x69
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x19
mov ecx, 0x50e10c
push str.._
mov dword [0x50e108], 0x6a
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1a
mov ecx, 0x50e194
push 0x4db2d8
mov dword [0x50e190], 0x6b
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1b
mov ecx, 0x50e21c
push 0x4db43c
mov dword [0x50e218], 0x6d
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1c
mov ecx, 0x50e2a4
push 0x4db2dc
mov dword [0x50e2a0], 0x6e
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1d
mov ecx, 0x50e32c
push 0x4db2e0
mov dword [0x50e328], 0x6f
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1e
mov ecx, 0x50e3b4
push 0x4db2e4
mov dword [0x50e3b0], 0x70
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1f
mov ecx, 0x50e43c
push 0x4db2ec
mov dword [0x50e438], 0x71
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x20
mov ecx, 0x50e4c4
push 0x4db2f4
mov dword [0x50e4c0], 0x72
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x21
mov ecx, 0x50e54c
push 0x4db2fc
mov dword [0x50e548], 0x73
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x22
mov ecx, 0x50e5d4
push 0x4db304
mov dword [0x50e5d0], 0x74
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x23
mov ecx, 0x50e65c
push 0x4db30c
mov dword [0x50e658], 0x75
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x24
mov ecx, 0x50e6e4
push 0x4db314
mov dword [0x50e6e0], 0x76
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x25
mov ecx, 0x50e76c
push 0x4db31c
mov dword [0x50e768], 0x77
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x26
mov ecx, 0x50e7f4
push 0x4db324
mov dword [0x50e7f0], 0x78
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x27
mov ecx, 0x50e87c
push 0x4db32c
mov dword [0x50e878], 0x79
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x28
mov ecx, 0x50e904
push 0x4db334
mov dword [0x50e900], 0x7a
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x29
mov ecx, 0x50e98c
push 0x4db33c
mov dword [0x50e988], 0x7b
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2a
mov ecx, 0x50ea14
push str.Shift
mov dword [0x50ea10], 0x10
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2b
mov ecx, 0x50ea9c
push str.Ctrl
mov dword [0x50ea98], 0x11
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2c
mov ecx, 0x50eb24
push 0x4db35c
mov dword [0x50eb20], 0x12
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2d
mov dword [0x50eba8], 0xba
push 0x4db364
mov ecx, 0x50ebac
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2e
mov ecx, 0x50ec34
push 0x4db2d8
mov dword [0x50ec30], 0xbb
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2f
mov ecx, 0x50ecbc
push 0x4db368
mov dword [0x50ecb8], 0xbc
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x30
mov ecx, 0x50ed44
push 0x4db43c
mov dword [0x50ed40], 0xbd
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x31
mov ecx, 0x50edcc
push 0x4db2dc
mov dword [0x50edc8], 0xbe
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x32
mov ecx, 0x50ee54
push 0x4db2e0
mov dword [0x50ee50], 0xbf
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x33
mov ecx, 0x50eedc
push 0x4db36c
mov dword [0x50eed8], 0xc0
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x34
mov ecx, 0x50ef64
push 0x4db370
mov dword [0x50ef60], 0xdb
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x35
mov ecx, 0x50efec
push 0x4d8a7c
mov dword [0x50efe8], 0xdc
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x36
mov ecx, 0x50f074
push 0x4db374
mov dword [0x50f070], 0xdd
call fcn.004707f0
push 0xffffffffffffffff
mov byte [ebp - 4], 0x37
mov ecx, 0x50f0fc
push 0x4db378
mov dword [0x50f0f8], 0xde
call fcn.004707f0
push 0x4c9b20
call fcn.004bbcf0
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 0x430188
test al, al
jne 0x430188
mov ecx, 0x50d3c0
mov edi, edi
cmp dword [ecx], esi
je 0x43017b
add ecx, 0x88
cmp ecx, 0x50f180
jne 0x430160
push 0xffffffffffffffff
push 0x4d38dc
jmp 0x430198
add ecx, 4
push ecx
mov ecx, edi
call fcn.004707c0
jmp 0x43019f
xor eax, eax
mov word [ebp - 0x14], si
mov word [ebp - 0x12], ax
lea eax, [ebp - 0x14]
push 0xffffffffffffffff
push eax
mov ecx, edi
call fcn.004707f0
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.004bbbfc
mov esp, ebp
pop ebp
ret