Function at 0x429690
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4bb0b4
mov eax, dword fs:[0]
push eax
sub esp, 0xc
mov eax, dword [0x4f4320]
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 [0x501ed0]
mov dword [ebp - 0x18], 0
test al, 1
jne 0x429dbf
or eax, 1
mov dword [0x501ed0], eax
push 0xffffffffffffffff
mov dword [ebp - 4], 0
mov ecx, 0x501ee4
push 0x4d3808
mov dword [0x501ee0], 9
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 1
mov ecx, 0x501f6c
push str.Enter
mov dword [0x501f68], 0xd
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 2
mov ecx, 0x501ff4
push 0x4d381c
mov dword [0x501ff0], 0x1b
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 3
mov ecx, 0x50207c
push str.Caps
mov dword [0x502078], 0x14
call fcn.0046b500
mov byte [ebp - 4], 4
mov ecx, str.space_key_name
push 0xffffffffffffffff
mov dword [0x502100], 0x20
call fcn.0040c780
push eax
mov ecx, 0x502104
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 5
mov ecx, 0x50218c
push str.PageUp
mov dword [0x502188], 0x21
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 6
mov ecx, 0x502214
push str.PageDown
mov dword [0x502210], 0x22
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 7
mov ecx, 0x50229c
push 0x4d3864
mov dword [0x502298], 0x23
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 8
mov ecx, 0x502324
push str.Home
mov dword [0x502320], 0x24
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 9
mov ecx, 0x5023ac
push 0x4d3878
mov dword [0x5023a8], 0x25
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0xa
mov ecx, 0x502434
push 0x4d387c
mov dword [0x502430], 0x26
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0xb
mov ecx, 0x5024bc
push 0x4d3880
mov dword [0x5024b8], 0x27
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0xc
mov ecx, 0x502544
push 0x4d3884
mov dword [0x502540], 0x28
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0xd
mov ecx, 0x5025cc
push str.Insert
mov dword [0x5025c8], 0x2d
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0xe
mov ecx, 0x502654
push str.Delete
mov dword [0x502650], 0x2e
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0xf
mov ecx, 0x5026dc
push str.Num0
mov dword [0x5026d8], 0x60
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x10
mov ecx, 0x502764
push str.Num1
mov dword [0x502760], 0x61
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x11
mov ecx, 0x5027ec
push str.Num2
mov dword [0x5027e8], 0x62
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x12
mov ecx, 0x502874
push str.Num3
mov dword [0x502870], 0x63
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x13
mov ecx, 0x5028fc
push str.Num4
mov dword [0x5028f8], 0x64
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x14
mov ecx, 0x502984
push str.Num5
mov dword [0x502980], 0x65
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x15
mov ecx, 0x502a0c
push str.Num6
mov dword [0x502a08], 0x66
call fcn.0046b500
mov byte [ebp - 4], 0x16
mov dword [0x502a90], 0x67
push 0xffffffffffffffff
push str.Num7
mov ecx, 0x502a94
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x17
mov ecx, 0x502b1c
push str.Num8
mov dword [0x502b18], 0x68
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x18
mov ecx, 0x502ba4
push str.Num9
mov dword [0x502ba0], 0x69
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x19
mov ecx, 0x502c2c
push str.._
mov dword [0x502c28], 0x6a
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1a
mov ecx, 0x502cb4
push 0x4d3924
mov dword [0x502cb0], 0x6b
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1b
mov ecx, 0x502d3c
push 0x4d3a88
mov dword [0x502d38], 0x6d
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1c
mov ecx, 0x502dc4
push 0x4d3928
mov dword [0x502dc0], 0x6e
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1d
mov ecx, 0x502e4c
push 0x4d392c
mov dword [0x502e48], 0x6f
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1e
mov ecx, 0x502ed4
push 0x4d3930
mov dword [0x502ed0], 0x70
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x1f
mov ecx, 0x502f5c
push 0x4d3938
mov dword [0x502f58], 0x71
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x20
mov ecx, 0x502fe4
push 0x4d3940
mov dword [0x502fe0], 0x72
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x21
mov ecx, 0x50306c
push 0x4d3948
mov dword [0x503068], 0x73
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x22
mov ecx, 0x5030f4
push 0x4d3950
mov dword [0x5030f0], 0x74
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x23
mov ecx, 0x50317c
push 0x4d3958
mov dword [0x503178], 0x75
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x24
mov ecx, 0x503204
push 0x4d3960
mov dword [0x503200], 0x76
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x25
mov ecx, 0x50328c
push 0x4d3968
mov dword [0x503288], 0x77
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x26
mov ecx, 0x503314
push 0x4d3970
mov dword [0x503310], 0x78
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x27
mov ecx, 0x50339c
push 0x4d3978
mov dword [0x503398], 0x79
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x28
mov ecx, 0x503424
push 0x4d3980
mov dword [0x503420], 0x7a
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x29
mov ecx, 0x5034ac
push 0x4d3988
mov dword [0x5034a8], 0x7b
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2a
mov ecx, 0x503534
push str.Shift
mov dword [0x503530], 0x10
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2b
mov ecx, 0x5035bc
push str.Ctrl
mov dword [0x5035b8], 0x11
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2c
mov ecx, 0x503644
push 0x4d39a8
mov dword [0x503640], 0x12
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2d
mov dword [0x5036c8], 0xba
push 0x4d39b0
mov ecx, 0x5036cc
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2e
mov ecx, 0x503754
push 0x4d3924
mov dword [0x503750], 0xbb
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2f
mov ecx, 0x5037dc
push 0x4d39b4
mov dword [0x5037d8], 0xbc
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x30
mov ecx, 0x503864
push 0x4d3a88
mov dword [0x503860], 0xbd
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x31
mov ecx, 0x5038ec
push 0x4d3928
mov dword [0x5038e8], 0xbe
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x32
mov ecx, 0x503974
push 0x4d392c
mov dword [0x503970], 0xbf
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x33
mov ecx, 0x5039fc
push 0x4d39b8
mov dword [0x5039f8], 0xc0
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x34
mov ecx, 0x503a84
push 0x4d39bc
mov dword [0x503a80], 0xdb
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x35
mov ecx, 0x503b0c
push 0x4d1534
mov dword [0x503b08], 0xdc
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x36
mov ecx, 0x503b94
push 0x4d39c0
mov dword [0x503b90], 0xdd
call fcn.0046b500
push 0xffffffffffffffff
mov byte [ebp - 4], 0x37
mov ecx, 0x503c1c
push 0x4d39c4
mov dword [0x503c18], 0xde
call fcn.0046b500
push 0x4c3370
call fcn.004b65d0
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 0x429e08
test al, al
jne 0x429e08
mov ecx, 0x501ee0
mov edi, edi
cmp dword [ecx], esi
je 0x429dfb
add ecx, 0x88
cmp ecx, 0x503ca0
jne 0x429de0
push 0xffffffffffffffff
push 0x4cc844
jmp 0x429e18
add ecx, 4
push ecx
mov ecx, edi
call fcn.0046b4d0
jmp 0x429e1f
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.0046b500
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.004b64dc
mov esp, ebp
pop ebp
ret