Function at 0x42e900
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c2854
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 [0x50cd28]
mov dword [ebp - 0x18], 0
test al, 1
jne 0x42f02f
or eax, 1
mov dword [0x50cd28], eax
push 0xffffffffffffffff
mov dword [ebp - 4], 0
mov ecx, 0x50cd34
push 0x4dc664
mov dword [0x50cd30], 9
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 1
mov ecx, 0x50cdbc
push str.Enter
mov dword [0x50cdb8], 0xd
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 2
mov ecx, 0x50ce44
push 0x4dc678
mov dword [0x50ce40], 0x1b
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 3
mov ecx, 0x50cecc
push str.Caps
mov dword [0x50cec8], 0x14
call fcn.00471840
mov byte [ebp - 4], 4
mov ecx, str.space_key_name
push 0xffffffffffffffff
mov dword [0x50cf50], 0x20
call fcn.0040bfa0
push eax
mov ecx, 0x50cf54
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 5
mov ecx, 0x50cfdc
push str.PageUp
mov dword [0x50cfd8], 0x21
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 6
mov ecx, 0x50d064
push str.PageDown
mov dword [0x50d060], 0x22
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 7
mov ecx, 0x50d0ec
push 0x4dc6c0
mov dword [0x50d0e8], 0x23
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 8
mov ecx, 0x50d174
push str.Home
mov dword [0x50d170], 0x24
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 9
mov ecx, 0x50d1fc
push 0x4dc6d4
mov dword [0x50d1f8], 0x25
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0xa
mov ecx, 0x50d284
push 0x4dc6d8
mov dword [0x50d280], 0x26
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0xb
mov ecx, 0x50d30c
push 0x4dc6dc
mov dword [0x50d308], 0x27
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0xc
mov ecx, 0x50d394
push 0x4dc6e0
mov dword [0x50d390], 0x28
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0xd
mov ecx, 0x50d41c
push str.Insert
mov dword [0x50d418], 0x2d
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0xe
mov ecx, 0x50d4a4
push str.Delete
mov dword [0x50d4a0], 0x2e
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0xf
mov ecx, 0x50d52c
push str.Num0
mov dword [0x50d528], 0x60
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x10
mov ecx, 0x50d5b4
push str.Num1
mov dword [0x50d5b0], 0x61
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x11
mov ecx, 0x50d63c
push str.Num2
mov dword [0x50d638], 0x62
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x12
mov ecx, 0x50d6c4
push str.Num3
mov dword [0x50d6c0], 0x63
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x13
mov ecx, 0x50d74c
push str.Num4
mov dword [0x50d748], 0x64
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x14
mov ecx, 0x50d7d4
push str.Num5
mov dword [0x50d7d0], 0x65
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x15
mov ecx, 0x50d85c
push str.Num6
mov dword [0x50d858], 0x66
call fcn.00471840
mov byte [ebp - 4], 0x16
mov dword [0x50d8e0], 0x67
push 0xffffffffffffffff
push str.Num7
mov ecx, 0x50d8e4
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x17
mov ecx, 0x50d96c
push str.Num8
mov dword [0x50d968], 0x68
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x18
mov ecx, 0x50d9f4
push str.Num9
mov dword [0x50d9f0], 0x69
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x19
mov ecx, 0x50da7c
push str.._
mov dword [0x50da78], 0x6a
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1a
mov ecx, 0x50db04
push 0x4dc780
mov dword [0x50db00], 0x6b
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1b
mov ecx, 0x50db8c
push 0x4dc8e4
mov dword [0x50db88], 0x6d
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1c
mov ecx, 0x50dc14
push 0x4dc784
mov dword [0x50dc10], 0x6e
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1d
mov ecx, 0x50dc9c
push 0x4dc788
mov dword [0x50dc98], 0x6f
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1e
mov ecx, 0x50dd24
push 0x4dc78c
mov dword [0x50dd20], 0x70
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1f
mov ecx, 0x50ddac
push 0x4dc794
mov dword [0x50dda8], 0x71
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x20
mov ecx, 0x50de34
push 0x4dc79c
mov dword [0x50de30], 0x72
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x21
mov ecx, 0x50debc
push 0x4dc7a4
mov dword [0x50deb8], 0x73
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x22
mov ecx, 0x50df44
push 0x4dc7ac
mov dword [0x50df40], 0x74
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x23
mov ecx, 0x50dfcc
push 0x4dc7b4
mov dword [0x50dfc8], 0x75
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x24
mov ecx, 0x50e054
push 0x4dc7bc
mov dword [0x50e050], 0x76
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x25
mov ecx, 0x50e0dc
push 0x4dc7c4
mov dword [0x50e0d8], 0x77
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x26
mov ecx, 0x50e164
push 0x4dc7cc
mov dword [0x50e160], 0x78
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x27
mov ecx, 0x50e1ec
push 0x4dc7d4
mov dword [0x50e1e8], 0x79
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x28
mov ecx, 0x50e274
push 0x4dc7dc
mov dword [0x50e270], 0x7a
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x29
mov ecx, 0x50e2fc
push 0x4dc7e4
mov dword [0x50e2f8], 0x7b
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2a
mov ecx, 0x50e384
push str.Shift
mov dword [0x50e380], 0x10
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2b
mov ecx, 0x50e40c
push str.Ctrl
mov dword [0x50e408], 0x11
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2c
mov ecx, 0x50e494
push 0x4dc804
mov dword [0x50e490], 0x12
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2d
mov dword [0x50e518], 0xba
push 0x4dc80c
mov ecx, 0x50e51c
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2e
mov ecx, 0x50e5a4
push 0x4dc780
mov dword [0x50e5a0], 0xbb
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2f
mov ecx, 0x50e62c
push 0x4dc810
mov dword [0x50e628], 0xbc
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x30
mov ecx, 0x50e6b4
push 0x4dc8e4
mov dword [0x50e6b0], 0xbd
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x31
mov ecx, 0x50e73c
push 0x4dc784
mov dword [0x50e738], 0xbe
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x32
mov ecx, 0x50e7c4
push 0x4dc788
mov dword [0x50e7c0], 0xbf
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x33
mov ecx, 0x50e84c
push 0x4dc814
mov dword [0x50e848], 0xc0
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x34
mov ecx, 0x50e8d4
push 0x4dc818
mov dword [0x50e8d0], 0xdb
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x35
mov ecx, 0x50e95c
push 0x4d9f34
mov dword [0x50e958], 0xdc
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x36
mov ecx, 0x50e9e4
push 0x4dc81c
mov dword [0x50e9e0], 0xdd
call fcn.00471840
push 0xffffffffffffffff
mov byte [ebp - 4], 0x37
mov ecx, 0x50ea6c
push 0x4dc820
mov dword [0x50ea68], 0xde
call fcn.00471840
push 0x4cacd0
call fcn.004bcf60
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 0x42f078
test al, al
jne 0x42f078
mov ecx, 0x50cd30
mov edi, edi
cmp dword [ecx], esi
je 0x42f06b
add ecx, 0x88
cmp ecx, 0x50eaf0
jne 0x42f050
push 0xffffffffffffffff
push 0x4d48b8
jmp 0x42f088
add ecx, 4
push ecx
mov ecx, edi
call fcn.00471810
jmp 0x42f08f
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.00471840
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.004bce6c
mov esp, ebp
pop ebp
ret