Function at 0x1000bd30
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ecx
push ebx
push ebp
mov ebp, ecx
push esi
push edi
xor eax, eax
lea ecx, [ebp + 0x3c]
mov dword [ecx], eax
inc eax
add ecx, 4
cmp eax, 0x100
jl 0x1000bd3c
mov edi, 0x100518a4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x100518a4
add ecx, 0x310
call fcn.10006340
mov edi, 0x100518a0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x100518a0
add ecx, 0x320
call fcn.10006340
mov edi, 0x1005189c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x1005189c
add ecx, 0x330
call fcn.10006340
mov edi, 0x10051898
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x10051898
add ecx, 0x340
call fcn.10006340
mov edi, 0x10051894
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x10051894
add ecx, 0x350
call fcn.10006340
mov edi, 0x10051890
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x10051890
add ecx, 0x360
call fcn.10006340
mov edi, 0x1005188c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x1005188c
add ecx, 0x370
call fcn.10006340
mov edi, 0x10051888
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x10051888
add ecx, 0x380
call fcn.10006340
mov edi, 0x10051884
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x10051884
add ecx, 0x390
call fcn.10006340
mov edi, 0x10051880
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x10051880
add ecx, 0x300
call fcn.10006340
mov edi, 0x1005187c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x1005187c
add ecx, 0x2d0
call fcn.10006340
mov edi, str._0987654321
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push str._0987654321
add ecx, 0x3d0
call fcn.10006340
mov edi, str.backspace
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push str.backspace
add ecx, 0x7f0
call fcn.10006340
mov edi, 0x10051868
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x10051868
add ecx, 0x90
call fcn.10006340
mov edi, 0x10051864
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x10051864
mov ecx, dword [ebp + 0x30]
add ecx, 0x710
call fcn.10006340
mov edi, 0x10051860
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x10051860
add ecx, 0x770
call fcn.10006340
mov edi, 0x10051444
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x10051444
add ecx, 0x650
call fcn.10006340
mov edi, 0x1005185c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x1005185c
add ecx, 0x720
call fcn.10006340
mov edi, 0x10051858
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x10051858
add ecx, 0x740
call fcn.10006340
mov edi, 0x10051854
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x10051854
add ecx, 0x790
call fcn.10006340
mov edi, 0x10051850
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x10051850
add ecx, 0x750
call fcn.10006340
mov edi, 0x1005184c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x1005184c
add ecx, 0x690
call fcn.10006340
mov edi, 0x10051848
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x10051848
add ecx, 0x6f0
call fcn.10006340
mov edi, 0x10051844
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x10051844
add ecx, 0x700
call fcn.10006340
mov edi, 0x10051840
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x10051840
add ecx, 0x5b0
call fcn.10006340
mov edi, str.__poiuytrwq
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push str.__poiuytrwq
add ecx, 0x5d0
call fcn.10006340
mov edi, str.enter
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push str.enter
add ecx, 0xd0
call fcn.10006340
mov edi, 0x1005182c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x1005182c
add ecx, 0x850
call fcn.10006340
mov edi, 0x10051828
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x10051828
add ecx, 0x610
call fcn.10006340
mov edi, 0x10051824
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x10051824
add ecx, 0x730
call fcn.10006340
mov edi, 0x10051820
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x10051820
add ecx, 0x640
call fcn.10006340
mov edi, 0x1005181c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x1005181c
add ecx, 0x660
call fcn.10006340
mov edi, 0x10051818
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x10051818
add ecx, 0x670
call fcn.10006340
mov edi, 0x10051814
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x10051814
add ecx, 0x680
call fcn.10006340
mov edi, 0x10051810
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x10051810
add ecx, 0x6a0
call fcn.10006340
mov edi, 0x1005180c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x1005180c
add ecx, 0x6b0
call fcn.10006340
mov edi, 0x10051808
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x10051808
add ecx, 0x6c0
call fcn.10006340
mov edi, 0x10051804
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x10051804
add ecx, 0x3b0
call fcn.10006340
mov edi, 0x10051800
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x10051800
add ecx, 0x270
call fcn.10006340
mov edi, 0x100517f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x100517f8
add ecx, 0x860
call fcn.10006340
mov edi, 0x100517f4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x100517f4
call fcn.10006340
mov edi, 0x100517f0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x100517f0
add ecx, 0x7a0
call fcn.10006340
mov edi, 0x100517ec
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x100517ec
add ecx, 0x780
call fcn.10006340
mov edi, 0x100517e8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x100517e8
add ecx, 0x630
call fcn.10006340
or ecx, 0xffffffff
mov edi, 0x100517e4
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x100517e4
add ecx, 0x760
call fcn.10006340
mov edi, 0x100517e0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x100517e0
add ecx, 0x620
call fcn.10006340
mov edi, 0x100517dc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x100517dc
add ecx, 0x6e0
call fcn.10006340
mov edi, 0x100517d8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x100517d8
add ecx, 0x6d0
call fcn.10006340
mov edi, 0x1005144c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x1005144c
add ecx, 0x2c0
call fcn.10006340
mov edi, str..mnbvcxz_
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push str..mnbvcxz_
add ecx, 0x2e0
call fcn.10006340
mov edi, str.kp_slash
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push str.kp_slash
add ecx, 0x2f0
call fcn.10006340
mov edi, str.rshift
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push str.rshift
add ecx, 0x860
call fcn.10006340
mov edi, 0x100517bc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [ebp + 0x30]
push 0x100517bc
add ecx, 0x2a0
call fcn.10006340
mov ebx, dword [ebp + 0x30]
mov edi, 0x100517b8
or ecx, 0xffffffff
xor eax, eax
add ebx, 0x840
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000c4d0
mov edi, dword [ebx + 4]
mov ecx, esi
mov eax, ecx
mov esi, 0x100517b8
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
push ecx
mov ecx, ebx
call fcn.100063e0
mov ebx, dword [ebp + 0x30]
mov edi, str.space
or ecx, 0xffffffff
xor eax, eax
add ebx, 0x200
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000c51e
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, str.space
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
call fcn.100063e0
mov ebx, dword [ebp + 0x30]
mov edi, str.capslock
or ecx, 0xffffffff
xor eax, eax
add ebx, 0xaf0
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000c56c
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, str.capslock
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
call fcn.100063e0
mov ebx, dword [ebp + 0x30]
mov edi, 0x100517a0
or ecx, 0xffffffff
xor eax, eax
add ebx, 0x870
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000c5ba
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, 0x100517a0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
call fcn.100063e0
mov ebx, dword [ebp + 0x30]
mov edi, 0x1005179c
or ecx, 0xffffffff
xor eax, eax
add ebx, 0x880
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000c608
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, 0x1005179c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
call fcn.100063e0
mov ebx, dword [ebp + 0x30]
mov edi, 0x10051798
or ecx, 0xffffffff
xor eax, eax
add ebx, 0x890
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000c656
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, 0x10051798
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
call fcn.100063e0
mov ebx, dword [ebp + 0x30]
mov edi, 0x10051794
or ecx, 0xffffffff
xor eax, eax
add ebx, 0x8a0
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000c6a4
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, 0x10051794
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
call fcn.100063e0
mov ebx, dword [ebp + 0x30]
mov edi, 0x10051790
or ecx, 0xffffffff
xor eax, eax
add ebx, 0x8b0
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000c6f2
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, 0x10051790
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
call fcn.100063e0
mov ebx, dword [ebp + 0x30]
mov edi, 0x1005178c
or ecx, 0xffffffff
xor eax, eax
add ebx, 0x8c0
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000c740
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, 0x1005178c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
call fcn.100063e0
mov ebx, dword [ebp + 0x30]
mov edi, 0x10051788
or ecx, 0xffffffff
xor eax, eax
add ebx, 0x8d0
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000c78e
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, 0x10051788
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
call fcn.100063e0
mov ebx, dword [ebp + 0x30]
mov edi, 0x10051784
or ecx, 0xffffffff
xor eax, eax
add ebx, 0x8e0
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000c7dc
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, 0x10051784
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
call fcn.100063e0
mov ebx, dword [ebp + 0x30]
mov edi, 0x10051780
or ecx, 0xffffffff
xor eax, eax
add ebx, 0x8f0
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000c82a
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, 0x10051780
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
call fcn.100063e0
mov ebx, dword [ebp + 0x30]
mov edi, 0x1005177c
or ecx, 0xffffffff
xor eax, eax
add ebx, 0x900
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000c878
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, 0x1005177c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
call fcn.100063e0
mov ebx, dword [ebp + 0x30]
mov edi, str.pause
or ecx, 0xffffffff
xor eax, eax
add ebx, 0xff0
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000c8c6
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, str.pause
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
call fcn.100063e0
mov ebx, dword [ebp + 0x30]
mov edi, str.home
or ecx, 0xffffffff
xor eax, eax
add ebx, 0x970
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000c914
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, str.home
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
call fcn.100063e0
mov ebx, dword [ebp + 0x30]
mov edi, str.uparrow
or ecx, 0xffffffff
xor eax, eax
add ebx, 0x800
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000c962
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, str.uparrow
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
call fcn.100063e0
mov ebx, dword [ebp + 0x30]
mov edi, str.pgup
or ecx, 0xffffffff
xor eax, eax
add ebx, 0x960
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000c9b2
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, str.pgup
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 4]
mov dword [ebx + 8], eax
mov byte [ecx + eax], 0
mov ebx, dword [ebp + 0x30]
mov edi, str.minus
or ecx, 0xffffffff
xor eax, eax
add ebx, 0xad0
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000ca02
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, str.minus
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 4]
mov dword [ebx + 8], eax
mov byte [eax + ecx], 0
mov ebx, dword [ebp + 0x30]
mov edi, str.leftarrow
or ecx, 0xffffffff
xor eax, eax
add ebx, 0x820
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000ca52
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, str.leftarrow
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 4]
mov dword [ebx + 8], eax
mov byte [eax + ecx], 0
mov ebx, dword [ebp + 0x30]
mov edi, str.kp_5
or ecx, 0xffffffff
xor eax, eax
add ebx, 0xa40
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000caa2
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, str.kp_5
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 4]
mov dword [ebx + 8], eax
mov byte [eax + ecx], 0
mov ebx, dword [ebp + 0x30]
mov edi, str.rightarrow
or ecx, 0xffffffff
xor eax, eax
add ebx, 0x830
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000caf2
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, str.rightarrow
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 4]
mov dword [ebx + 8], eax
mov byte [eax + ecx], 0
mov ebx, dword [ebp + 0x30]
mov edi, str.plus
or ecx, 0xffffffff
xor eax, eax
add ebx, 0xae0
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000cb42
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, str.plus
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 4]
mov dword [ebx + 8], eax
mov byte [eax + ecx], 0
mov ebx, dword [ebp + 0x30]
mov edi, 0x10051728
or ecx, 0xffffffff
xor eax, eax
add ebx, 0x980
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000cb92
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, 0x10051728
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 4]
mov dword [ebx + 8], eax
mov byte [eax + ecx], 0
mov ebx, dword [ebp + 0x30]
mov edi, str.downarrow
or ecx, 0xffffffff
xor eax, eax
add ebx, 0x810
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000cbe2
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, str.downarrow
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 4]
mov dword [ebx + 8], eax
mov byte [eax + ecx], 0
mov ebx, dword [ebp + 0x30]
mov edi, str.pgdn
or ecx, 0xffffffff
xor eax, eax
add ebx, 0x950
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000cc32
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, str.pgdn
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 4]
mov dword [ebx + 8], eax
mov byte [eax + ecx], 0
mov ebx, dword [ebp + 0x30]
mov edi, 0x10051710
or ecx, 0xffffffff
xor eax, eax
add ebx, 0x930
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000cc82
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, 0x10051710
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 4]
mov dword [ebx + 8], eax
mov byte [eax + ecx], 0
mov ebx, dword [ebp + 0x30]
mov edi, 0x1005170c
or ecx, 0xffffffff
xor eax, eax
add ebx, 0x940
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x18], esi
call fcn.10006480
test al, al
je 0x1000ccd2
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, 0x1005170c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 4]
mov dword [ebx + 8], eax
mov byte [eax + ecx], 0
mov ebx, dword [ebp + 0x30]
mov edi, 0x10051708
or ecx, 0xffffffff
xor eax, eax
add ebx, 0x910
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
cmp esi, 0xfffffffd
mov dword [esp + 0x10], esi
jbe 0x1000ccfa
call fcn.1002afb6
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x1000cd1f
mov al, byte [ecx - 1]
test al, al
je 0x1000cd1f
cmp al, 0xff
je 0x1000cd1f
test esi, esi
jne 0x1000cd43
dec al
push esi
mov byte [ecx - 1], al
mov ecx, ebx
call fcn.10005740
jmp 0x1000cd71
test esi, esi
jne 0x1000cd2e
push 1
mov ecx, ebx
call fcn.10005740
jmp 0x1000cd71
mov eax, dword [ebx + 0xc]
cmp eax, 0x1f
ja 0x1000cd3a
cmp eax, esi
jae 0x1000cd4b
push 1
mov ecx, ebx
call fcn.10005740
push esi
mov ecx, ebx
call fcn.10007330
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, 0x10051708
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x10]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 4]
mov dword [ebx + 8], eax
mov byte [eax + ecx], 0
mov ebx, dword [ebp + 0x30]
mov edi, 0x10051704
or ecx, 0xffffffff
xor eax, eax
add ebx, 0x920
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
cmp esi, 0xfffffffd
mov dword [esp + 0x10], esi
jbe 0x1000cd99
call fcn.1002afb6
mov ecx, dword [ebx + 4]
xor edi, edi
cmp ecx, edi
je 0x1000cdc1
mov al, byte [ecx - 1]
test al, al
je 0x1000cdc1
cmp al, 0xff
je 0x1000cdc1
cmp esi, edi
jne 0x1000cde5
dec al
mov byte [ecx - 1], al
mov dword [ebx + 4], edi
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], edi
jmp 0x1000ce15
cmp esi, edi
jne 0x1000cdd0
push 1
mov ecx, ebx
call fcn.10005740
jmp 0x1000ce15
mov eax, dword [ebx + 0xc]
cmp eax, 0x1f
ja 0x1000cddc
cmp eax, esi
jae 0x1000cded
push 1
mov ecx, ebx
call fcn.10005740
push esi
mov ecx, ebx
call fcn.10007330
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, 0x10051704
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x10]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 4]
mov dword [ebx + 8], eax
xor edi, edi
mov byte [eax + ecx], 0
xor ebx, ebx
movsx edx, bl
push edx
call fcn.10039368
add esp, 4
mov byte [ebx + ebp + 0x43c], al
inc ebx
cmp ebx, 0xff
jle 0x1000ce17
pop edi
mov byte [ebp + 0x46d], 0x21
mov byte [ebp + 0x46e], 0x40
mov byte [ebp + 0x46f], 0x23
mov byte [ebp + 0x470], 0x24
mov byte [ebp + 0x471], 0x25
mov byte [ebp + 0x472], 0x5e
mov byte [ebp + 0x473], 0x26
mov byte [ebp + 0x474], 0x2a
mov byte [ebp + 0x475], 0x28
mov byte [ebp + 0x46c], 0x29
mov byte [ebp + 0x469], 0x5f
mov byte [ebp + 0x479], 0x2b
mov byte [ebp + 0x463], 0x22
mov byte [ebp + 0x477], 0x3a
pop esi
pop ebp
pop ebx
pop ecx
ret