Function at 0x1000990d
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2d4
push esi
push edi
push 0x2e
xor eax, eax
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x88], edx
mov esi, eax
pop ecx
mov dword [ebp - 0x40], 0x3f
mov dword [ebp - 0x3c], 0xffffff94
add ecx, dword [ebp + esi*4 - 0x40]
inc esi
cmp esi, 2
jl 0x10009936
mov esi, str.file_ctrl
mov dword [ebp - 0xd0], ecx
lea edi, [ebp - 0x38]
mov dword [ebp - 0x84], 0x582fe897
mov dword [ebp - 0x80], 0x25de3551
mov ecx, eax
mov dword [ebp - 0x7c], 0x3ebe557a
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x78], 0x38
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, eax
mov byte [ebp + ecx - 0x264], cl
inc ecx
cmp ecx, 0x100
jb 0x10009972
mov esi, eax
mov dword [ebp - 0x14], 9
xor edx, edx
mov cl, byte [ebp + esi - 0x264]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x14]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x38]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x264]
mov byte [ebp + esi - 0x264], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x264], al
cmp esi, 0x100
jb 0x1000998b
mov edx, dword [0x10026aa8]
xor ecx, ecx
mov dword [ebp - 8], ecx
mov edi, ecx
mov esi, ecx
lea eax, [edi + 1]
mov dword [ebp - 0x10], str..sleepButtonColumn_
movzx edi, al
mov dword [ebp - 0x50], edi
mov al, byte [ebp + edi - 0x264]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x54]
add edx, 0x59b852f8
movzx eax, al
mov dword [ebp - 8], eax
mov al, 0x2e
sub al, 0x30
cmp al, 9
ja 0x10009a24
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
mov al, byte [eax]
test al, al
jne 0x10009a0f
jmp 0x10009a2a
sub edx, 0x7fef7901
sub edx, 0x74068eaa
mov dword [ebp - 0xc], edx
inc ecx
cmp ecx, 0x2c3
jl 0x10009a47
cmp byte [ecx + str._tTuVersion], 0
jne 0x10009a33
jmp 0x10009a53
call fcn.100089ce
and dword [ebp - 0xc], 0xa93b2f70
call fcn.10008b6c
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
and edx, 0xf26a1561
add edx, 0x2e804247
mov al, byte [ebp + ecx - 0x264]
and edx, 0x657474f1
mov byte [ebp + edi - 0x264], al
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x264], al
movzx eax, byte [ebp + edi - 0x264]
add eax, dword [ebp - 0x54]
movzx eax, al
push 0
pop ecx
mov al, byte [ebp + eax - 0x264]
xor al, byte [ebp + esi - 0x84]
mov byte [ebp + esi - 0x294], al
inc esi
cmp esi, 0xd
jb 0x100099db
xor eax, eax
mov dword [ebp - 0x4c], 0x5a
push 0x2e
mov byte [ebp - 0x287], al
mov ecx, eax
pop esi
mov dword [ebp - 0x48], 0x24
mov dword [ebp - 0x44], 0xffffff54
add esi, dword [ebp + ecx*4 - 0x4c]
inc ecx
cmp ecx, 3
jl 0x10009ada
push 0x46
mov dword [ebp - 0xc8], esi
mov ecx, eax
pop esi
mov dword [ebp - 0x40], 0x34
mov dword [ebp - 0x3c], 0xffffff87
add esi, dword [ebp + ecx*4 - 0x40]
inc ecx
cmp ecx, 2
jl 0x10009afd
mov dword [ebp - 0xbc], esi
lea edi, [ebp - 0x2cc]
push 9
pop ecx
mov esi, str.skip_freeing_handshake_and_transform
mov dword [ebp - 0x38], 0x32655eaa
rep movsd dword es:[edi], dword [esi]
or edx, 0x3649d3fc
mov dword [ebp - 0x34], 0x210701f9
push 0x20
mov dword [ebp - 0x30], 0xf4b4e3a0
movsb byte es:[edi], byte [esi]
mov edi, eax
mov dword [ebp - 0xc], edx
mov eax, str._PasswordsSafeZoneBrowserIsActive
mov esi, 0x8d7
mov dword [ebp - 0x54], eax
pop ecx
add esi, ecx
lea eax, [eax + 2]
cmp esi, 0xcc1
ja 0x10009b6a
movzx ecx, word [eax]
test ecx, ecx
jne 0x10009b4e
or edx, 0x5afaad2a
jmp 0x10009b7e
call fcn.100087e7
mov edx, dword [ebp - 0xc]
and edx, 0x62ce5cbd
add edx, 0x8ecb7d14
and edx, 0xd78fb6b2
mov dword [ebp - 0xc], edx
call fcn.10008fe5
xor eax, eax
mov ecx, eax
mov byte [ebp + ecx - 0x264], cl
inc ecx
cmp ecx, 0x100
jb 0x10009b90
mov esi, eax
xor edx, edx
mov cl, byte [ebp + esi - 0x264]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x48]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x2cc]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x264]
mov byte [ebp + esi - 0x264], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x264], al
cmp esi, 0x100
jb 0x10009ba2
mov esi, dword [ebp - 0xc]
xor eax, eax
mov dword [ebp - 8], eax
mov ecx, eax
mov edi, eax
push 9
or esi, 0x1196c959
mov edx, str._tTuVersion
pop eax
sub al, 0x30
cmp al, 9
ja 0x10009c0f
inc edx
mov al, byte [edx]
test al, al
jne 0x10009c00
jmp 0x10009c15
or esi, 0xec1b122f
lea eax, [ecx + 1]
sub esi, 0x4b5fed70
movzx eax, al
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], esi
mov esi, dword [ebp - 0x10]
mov cl, byte [ebp + eax - 0x264]
mov eax, dword [ebp - 8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x264]
mov byte [ebp + esi - 0x264], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x264], cl
mov ecx, esi
mov esi, dword [ebp - 0xc]
movzx eax, byte [ebp + ecx - 0x264]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x264]
xor al, byte [ebp + edi - 0x38]
mov byte [ebp + edi - 0x284], al
inc edi
cmp edi, 0xc
jb 0x10009bf2
mov dword [ebp - 0x28], 0x28
xor eax, eax
mov dword [ebp - 0x24], 6
xorps xmm2, xmm2
mov dword [ebp - 0x20], 0x1b
mov dword [ebp - 0x1c], 0xffffff8b
movups xmm1, xmmword [ebp - 0x28]
push 0x2c
pop edx
movaps xmm0, xmm1
mov dword [ebp - 0x50], edx
psrldq xmm0, 8
paddd xmm1, xmm0
mov byte [ebp - 0x278], al
movups xmm0, xmm1
mov dword [ebp - 0x40], 0xc
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x3c], 0xffffffba
movd ecx, xmm1
push 0x3b
add ecx, edx
mov dword [ebp - 0xd8], ecx
mov ecx, eax
pop edx
add edx, dword [ebp + ecx*4 - 0x40]
inc ecx
cmp ecx, 2
jl 0x10009ced
mov dword [ebp - 0xc0], edx
mov cl, 0x67
mov edx, str.getuserkey_error
sub cl, 0x30
cmp cl, 9
ja 0x10009d15
inc edx
mov cl, byte [edx]
test cl, cl
jne 0x10009d04
jmp 0x10009d1e
xor esi, 0xa7dad489
mov dword [ebp - 0xc], esi
push 0xb
pop ecx
mov esi, str.FileKey2_ProgramFiles_CoreFTPCOREFTP.LOG
mov dword [ebp - 0x38], 0xe19ff59b
lea edi, [ebp - 0x2d4]
mov dword [ebp - 0x34], 0x2dd1ff1b
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x30], 0xe160a3ed
mov ecx, eax
mov dword [ebp - 0x10], eax
movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0xc]
add esi, 0xf247e04f
or esi, 0xe2c7c68c
mov byte [ebp + ecx - 0x264], cl
inc ecx
cmp ecx, 0x100
jb 0x10009d58
mov edi, eax
xor edx, edx
mov cl, byte [ebp + edi - 0x264]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0x50]
movzx ecx, cl
xor esi, 0x6cbb0392
movzx eax, byte [ebp + edx - 0x2d4]
add eax, dword [ebp - 0x10]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0x10], ecx
mov al, byte [ebp + ecx - 0x264]
mov byte [ebp + edi - 0x264], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x264], al
cmp edi, 0x100
jb 0x10009d6a
xor eax, eax
mov dword [ebp - 0x18], eax
mov edi, eax
mov dword [ebp - 0xc], eax
mov ecx, eax
mov dword [ebp - 8], str._PasswordsSafeZoneBrowserIsActive
add dword [ebp - 8], 2
inc ecx
mov edx, dword [ebp - 0xc]
cmp ecx, 0x1aee
jg 0x10009df6
mov edx, dword [ebp - 8]
cmp word [edx], ax
mov edx, dword [ebp - 0xc]
jne 0x10009dcb
cmp ecx, 0xb01
jg 0x10009dfc
xor esi, 0xc3108261
jmp 0x10009e02
and esi, 0xf78955d0
or esi, 0x9375e1ef
lea eax, [edx + 1]
and esi, 0xb53f6a91
movzx eax, al
mov dword [ebp - 0xc], eax
push 9
pop edx
mov al, byte [ebp + eax - 0x264]
movzx ecx, al
mov byte [ebp - 1], al
mov eax, dword [ebp - 0x18]
add eax, ecx
mov dword [ebp - 0x50], ecx
movzx eax, al
mov ecx, str..sleepButtonColumn_
mov dword [ebp - 0x18], eax
mov al, 0x2e
sub al, 0x30
cmp al, dl
ja 0x10009e45
inc ecx
mov al, byte [ecx]
test al, al
jne 0x10009e36
jmp 0x10009e4b
or esi, 0x8914e373
add esi, 0x37a74b6b
push ecx
mov dword [0x10026aa8], esi
call fcn.100096e9
mov eax, dword [ebp - 0x18]
pop ecx
mov ecx, dword [ebp - 0xc]
push 9
mov al, byte [ebp + eax - 0x264]
pop edx
mov byte [ebp + ecx - 0x264], al
mov ecx, str.getuserkey_error
mov al, 0x67
sub al, 0x30
cmp al, dl
ja 0x10009e8b
inc ecx
mov al, byte [ecx]
test al, al
jne 0x10009e7c
jmp 0x10009e91
or esi, 0x73ff92ea
mov ecx, str..sleepButtonColumn_
imul esi, esi, 0x5a07d9ca
call fcn.10008be4
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0xc]
mov cl, byte [ebp - 1]
push 0
mov byte [ebp + eax - 0x264], cl
movzx eax, byte [ebp + edx - 0x264]
add eax, dword [ebp - 0x50]
movzx eax, al
mov al, byte [ebp + eax - 0x264]
xor al, byte [ebp + edi - 0x38]
mov byte [ebp + edi - 0x274], al
inc edi
pop eax
cmp edi, 0xc
jb 0x10009dc2
mov byte [ebp - 0x268], al
mov ecx, eax
mov dword [ebp - 0x18], 2
mov dword [ebp - 0x40], 0x56
mov dword [ebp - 0x3c], 0xffffffa8
add esi, 0xefaa82bf
mov dword [ebp - 8], 0x14c0
push 0x67
and esi, 0x9c3ec1c9
mov edx, str.getuserkey_error
pop edi
add dword [ebp - 8], edi
inc edx
cmp dword [ebp - 8], 0x1d7b
ja 0x10009f2c
movsx edi, byte [edx]
test edi, edi
jne 0x10009f16
jmp 0x10009f32
and esi, 0xc7a67bd9
mov edx, dword [ebp - 0x18]
xor esi, 0x809a0624
add edx, dword [ebp + ecx*4 - 0x40]
inc ecx
mov dword [ebp - 0x18], edx
cmp ecx, 2
jl 0x10009efb
push 0x64
mov dword [ebp - 0xc], esi
mov ecx, eax
pop edx
mov dword [ebp - 0x40], 0x49
mov dword [ebp - 0x3c], 0xffffff54
add edx, dword [ebp + ecx*4 - 0x40]
inc ecx
cmp ecx, 2
jl 0x10009f5e
mov esi, str.index.htm
mov dword [ebp - 0x10], edx
lea edi, [ebp - 0x38]
mov dword [ebp - 0x74], 0x40cf0507
push 0x24
pop ecx
movsd dword es:[edi], dword [esi]
mov edx, eax
mov byte [ebp - 0x6c], cl
mov ecx, str._PasswordsSafeZoneBrowserIsActive
mov dword [ebp - 0x70], 0xea003da0
mov dword [ebp - 0x6b], 0xd180b702
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x67], 0x85
movsw word es:[edi], word [esi]
inc edx
lea ecx, [ecx + 2]
cmp edx, 0x651
je 0x10009fb3
cmp word [ecx], ax
jne 0x10009f9d
mov esi, dword [ebp - 0xc]
jmp 0x10009fc1
call fcn.10008d3e
mov esi, dword [ebp - 0xc]
xor esi, 0xb99643da
and esi, 0xe797445a
mov ecx, str.getuserkey_error
or esi, 0xc2074450
call fcn.10008be4
push 0x2e
mov edx, 0x229c
mov eax, str..sleepButtonColumn_
pop ecx
add edx, ecx
inc eax
cmp edx, 0x1aa4
ja 0x10009ff8
movsx ecx, byte [eax]
test ecx, ecx
jne 0x10009fe4
jmp 0x10009ffe
imul esi, esi, 0xa172a1a2
or esi, 0x68eb9ccb
add esi, 0x3bc4a387
call fcn.100091b4
xor eax, eax
mov dword [ebp - 8], eax
mov ecx, eax
mov byte [ebp + ecx - 0x264], cl
inc ecx
cmp ecx, 0x100
jb 0x1000a016
mov edi, eax
xor edx, edx
mov cl, byte [ebp + edi - 0x264]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0x14]
movzx ecx, cl
push 0x67
movzx eax, byte [ebp + edx - 0x38]
mov edx, 0x13ad
add eax, dword [ebp - 8]
add ecx, eax
movzx eax, cl
mov dword [ebp - 8], eax
mov eax, str.getuserkey_error
pop ecx
add edx, ecx
inc eax
cmp edx, 0x2112
ja 0x1000a06d
movsx ecx, byte [eax]
test ecx, ecx
jne 0x1000a059
jmp 0x1000a073
and esi, 0x7819bd33
xor esi, 0xbe4c4051
imul edx, esi, 0x5a604a71
push ecx
mov dword [0x10026aa8], edx
call fcn.100087c8
pop ecx
xor ecx, ecx
lea esi, [edx - 0x1435f792]
mov edx, ecx
mov eax, str._PasswordsSafeZoneBrowserIsActive
inc edx
lea eax, [eax + 2]
cmp edx, 0x1677
jl 0x1000a0ae
cmp word [eax], cx
jne 0x1000a09b
jmp 0x1000a0b4
add esi, 0xb42eddf
mov edx, dword [ebp - 8]
xor esi, 0xcaf040e3
add esi, 0x4b4b7bdd
mov al, byte [ebp + edx - 0x264]
mov byte [ebp + edi - 0x264], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + edx - 0x264], al
cmp edi, 0x100
jb 0x1000a028
mov dword [ebp - 8], ecx
mov edi, ecx
mov dword [ebp - 0x14], ecx
push 9
add esi, 0x436b1d52
mov ecx, str..sleepButtonColumn_
mov al, 0x2e
pop edx
sub al, 0x30
cmp al, dl
ja 0x1000a10f
inc ecx
mov al, byte [ecx]
test al, al
jne 0x1000a100
jmp 0x1000a115
imul esi, esi, 0x4b0fada2
lea eax, [edi + 1]
add esi, 0xab687a34
push 0x67
movzx edi, al
and esi, 0x95cb2950
mov edx, 0xdda
mov eax, str.getuserkey_error
pop ecx
add edx, ecx
inc eax
cmp edx, 0x61
ja 0x1000a145
movsx ecx, byte [eax]
test ecx, ecx
jne 0x1000a134
jmp 0x1000a150
call fcn.10008f23
add esi, 0xd0c8666
mov cl, byte [ebp + edi - 0x264]
mov eax, dword [ebp - 8]
movzx edx, cl
add eax, edx
imul esi, esi, 0x16a9008
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x264]
add esi, 0x65158e70
mov byte [ebp + edi - 0x264], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x264], cl
movzx eax, byte [ebp + edi - 0x264]
mov ecx, dword [ebp - 0x14]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x264]
xor al, byte [ebp + ecx - 0x74]
mov byte [ebp + ecx - 0x2a4], al
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, 0xe
jb 0x1000a0f0
xor eax, eax
mov dword [0x10026aa8], esi
push 0x43
pop edi
mov byte [ebp - 0x296], al
mov edx, eax
mov dword [ebp - 0x74], edi
mov ecx, eax
mov dword [ebp - 0x70], 0xa
mov dword [ebp - 0x6c], 0x3d
mov dword [ebp - 0x68], 0xffffff76
sub edx, dword [ebp + ecx*4 - 0x74]
xor esi, 0xe9c9e7fd
inc ecx
cmp ecx, 4
jl 0x1000a1e5
mov dword [ebp - 0xac], edx
mov ecx, eax
mov dword [ebp - 0x2c], 0x55
mov edx, eax
mov dword [ebp - 0x28], 0x18
mov dword [ebp - 0x24], 0x57
mov dword [ebp - 0x20], 0x1d
mov dword [ebp - 0x1c], 0xffffff1f
sub ecx, dword [ebp + edx*4 - 0x2c]
inc edx
cmp edx, 5
jl 0x1000a222
push 0x4f
pop edx
mov dword [ebp - 0x28], edx
movaps xmm1, xmm2
mov dword [ebp - 0x24], 0x55
mov dword [ebp - 0x20], 0x41
mov dword [ebp - 0x1c], 0x251
movups xmm0, xmmword [ebp - 0x28]
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0x28], 0xd
psubd xmm1, xmm0
mov dword [ebp - 0x24], 0x39
movaps xmm0, xmm1
mov dword [ebp - 0x20], edi
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x1c], 0x3d7
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movups xmm0, xmmword [ebp - 0x28]
mov dword [ebp - 0x28], 2
movd ecx, xmm1
movaps xmm1, xmm2
psubd xmm1, xmm0
mov dword [ebp - 0x24], 0x35
movaps xmm0, xmm1
mov dword [ebp - 0x20], 0x15
psrldq xmm0, 8
add ecx, 0x3bf
paddd xmm1, xmm0
mov dword [ebp - 0x60], ecx
movups xmm0, xmm1
mov dword [ebp - 0x1c], 0xffffffb3
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
movups xmm1, xmmword [ebp - 0x28]
push 0x2c
add ecx, 0x4b0
mov dword [ebp - 0x28], 0x15
paddd xmm1, xmm2
mov dword [ebp - 0xc4], ecx
movaps xmm0, xmm1
mov dword [ebp - 0x20], 0x32
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x1c], 0x17e
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
movaps xmm1, xmm2
add ecx, edx
mov dword [ebp - 0x8c], ecx
pop ecx
mov dword [ebp - 0x24], ecx
movups xmm0, xmmword [ebp - 0x28]
push 0x50
pop edx
psubd xmm1, xmm0
mov dword [ebp - 0x28], 0x27
movaps xmm0, xmm1
mov dword [ebp - 0x24], edx
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x20], 0x41
movups xmm0, xmm1
mov dword [ebp - 0x1c], 0xffffff53
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
movups xmm1, xmmword [ebp - 0x28]
add ecx, 0x238
paddd xmm1, xmm2
mov dword [ebp - 0x90], ecx
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x28], 0xb
movd ecx, xmm1
movaps xmm1, xmm2
mov dword [ebp - 0x24], 0x47
mov dword [ebp - 0x20], 0x49
mov dword [ebp - 0x1c], 0xffffffab
add ecx, 2
movups xmm0, xmmword [ebp - 0x28]
mov dword [ebp - 0xa8], ecx
push 0x2a
psubd xmm1, xmm0
mov dword [ebp - 0x40], 0xe
movaps xmm0, xmm1
mov dword [ebp - 0x3c], 0xffffffe2
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
add ecx, edx
mov dword [ebp - 0x94], ecx
mov ecx, eax
pop edx
add edx, dword [ebp + ecx*4 - 0x40]
inc ecx
cmp ecx, 2
jl 0x1000a404
push 0x18
mov dword [ebp - 0x98], edx
xor esi, 0xf48ba893
mov dword [ebp - 0x40], 2
mov ecx, eax
mov dword [ebp - 0x3c], 0xfffffff0
pop edx
add edx, dword [ebp + ecx*4 - 0x40]
inc ecx
cmp ecx, 2
jl 0x1000a42d
push 0xf
mov dword [ebp - 0x9c], edx
mov ecx, eax
pop edx
mov dword [ebp - 0x4c], 0x47
mov dword [ebp - 0x48], 0x21
mov dword [ebp - 0x44], 0xffffff91
add edx, dword [ebp + ecx*4 - 0x4c]
inc ecx
cmp ecx, 3
jl 0x1000a457
mov dword [ebp - 0x28], 0x35
movaps xmm1, xmm2
mov dword [ebp - 0x24], 8
mov ecx, eax
mov dword [ebp - 0x20], 0x60
mov dword [ebp - 0x1c], 0xffffff63
movups xmm0, xmmword [ebp - 0x28]
push 0x68
mov dword [ebp - 0xa0], edx
psubd xmm1, xmm0
mov dword [ebp - 0x2c], 0x33
movaps xmm0, xmm1
mov dword [ebp - 0x28], 0x4d
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x24], 3
movups xmm0, xmm1
mov dword [ebp - 0x20], 0x2f
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x1c], 0xffffffae
movd dword [ebp - 0xa4], xmm1
pop edx
sub edx, dword [ebp + ecx*4 - 0x2c]
inc ecx
cmp ecx, 5
jl 0x1000a4d6
push 0x62
mov dword [ebp - 0xb8], edx
xor esi, 0x1f023689
pop edx
mov dword [ebp - 0x4c], 0x29
mov ecx, eax
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x44], 0xffffff33
add edx, dword [ebp + ecx*4 - 0x4c]
inc ecx
cmp ecx, 3
jl 0x1000a502
push 0x15
mov dword [ebp - 0x5c], edx
pop ecx
mov dword [ebp - 0x4c], 0x29
mov dword [ebp - 0x48], 0x23
mov dword [ebp - 0x44], 0xffffffa0
add ecx, dword [ebp + eax*4 - 0x4c]
inc eax
cmp eax, 3
jl 0x1000a527
push 9
mov dword [ebp - 0x3c], ecx
mov al, 0x67
mov ecx, str.getuserkey_error
pop edx
sub al, 0x30
cmp al, dl
ja 0x1000a54d
inc ecx
mov al, byte [ecx]
test al, al
jne 0x1000a53e
jmp 0x1000a553
imul esi, esi, 0xb6bf24b5
or esi, 0x26f6aa10
mov dword [ebp - 0xc], esi
call fcn.10008e79
mov esi, str.dflt_value
mov dword [ebp - 0x4c], 0x99904eba
lea edi, [ebp - 0x38]
mov dword [ebp - 0x48], 0x466347ae
push 9
pop edx
movsd dword es:[edi], dword [esi]
mov ecx, str._tTuVersion
mov dword [ebp - 0x44], 0xde0f1fa9
mov al, dl
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
sub al, 0x30
cmp al, dl
ja 0x1000a59f
inc ecx
mov al, byte [ecx]
test al, al
jne 0x1000a58d
mov esi, dword [ebp - 0xc]
jmp 0x1000a5a8
mov esi, dword [ebp - 0xc]
sub esi, 0x1f35ec89
push 0x2e
sub esi, 0x5de5026f
mov edx, 0x810
mov eax, str..sleepButtonColumn_
pop ecx
add edx, ecx
inc eax
cmp edx, 0x157
ja 0x1000a5cf
movsx ecx, byte [eax]
test ecx, ecx
jne 0x1000a5bb
jmp 0x1000a5d5
and esi, 0xa37611ec
xor eax, eax
and esi, 0x81108
mov dword [ebp - 0x14], eax
or esi, 0x2f5104f7
mov ecx, eax
mov byte [ebp + ecx - 0x264], cl
inc ecx
cmp ecx, 0x100
jb 0x1000a5e8
mov edi, eax
xor edx, edx
mov cl, byte [ebp + edi - 0x264]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0x70]
movzx ecx, cl
xor esi, 0x2394385
movzx eax, byte [ebp + edx - 0x38]
add eax, dword [ebp - 0x14]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0x14], ecx
mov al, byte [ebp + ecx - 0x264]
mov byte [ebp + edi - 0x264], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x264], al
cmp edi, 0x100
jb 0x1000a5fa
xor eax, eax
mov dword [ebp - 8], eax
mov ecx, eax
mov edi, eax
lea eax, [ecx + 1]
imul esi, esi, 0x49c02bf3
movzx eax, al
mov dword [ebp - 0x14], eax
mov cl, byte [ebp + eax - 0x264]
xor esi, 0x3db1b7a9
mov eax, dword [ebp - 8]
movzx edx, cl
add eax, edx
mov dword [ebp - 0x50], edx
mov edx, dword [ebp - 0x14]
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x264]
mov byte [ebp + edx - 0x264], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x264], cl
mov ecx, edx
movzx eax, byte [ebp + ecx - 0x264]
add eax, dword [ebp - 0x50]
movzx eax, al
mov al, byte [ebp + eax - 0x264]
xor al, byte [ebp + edi - 0x4c]
mov byte [ebp + edi - 0x74], al
inc edi
cmp edi, 0xc
jb 0x1000a64e
push dword [ebp + 8]
mov edi, dword [ebp - 0x58]
lea edx, [ebp - 0x294]
push dword [ebp - 0x88]
mov ecx, dword [ebp - 0xd0]
push edi
mov dword [0x10026aa8], esi
mov byte [ebp - 0x68], 0
call fcn.1001adf3
call eax
mov esi, eax
cmp esi, dword [ebp - 0xc8]
je 0x1000b00d
mov ecx, dword [ebp - 0xbc]
lea edx, [ebp - 0x284]
push esi
push edi
call fcn.1001adf3
call eax
mov dword [ebp - 0xbc], eax
cmp eax, dword [ebp - 0xd8]
je 0x1000b00d
mov ecx, dword [ebp - 0xc0]
lea edx, [ebp - 0x274]
push eax
call fcn.1001adf3
call eax
mov edi, eax
cmp edi, dword [ebp - 0x18]
je 0x1000b00d
xor eax, eax
inc eax
cmp eax, 0x16c5
jg 0x1000a753
cmp byte [eax + str.getuserkey_error], 0
jne 0x1000a73b
mov eax, dword [0x10026aa8]
jmp 0x1000a762
call fcn.10008b6c
mov eax, dword [0x10026aa8]
xor eax, 0xe290da2e
imul eax, eax, 0xf02220a0
mov dword [0x10026aa8], eax
call fcn.10008914
mov ecx, dword [ebp - 0x10]
lea edx, [ebp - 0x2a4]
push esi
push dword [ebp - 0x58]
call fcn.1001adf3
call eax
mov eax, dword [ebp - 0x60]
lea edx, [ebp - 0x64]
push dword [ebp - 0xa0]
mov byte [ebp - 0x64], al
mov ecx, edi
mov eax, dword [ebp - 0xc4]
mov byte [ebp - 0x63], al
mov eax, dword [ebp - 0x8c]
mov byte [ebp - 0x62], al
mov eax, dword [ebp - 0x90]
mov byte [ebp - 0x61], al
mov eax, dword [ebp - 0xa8]
mov byte [ebp - 0x60], al
mov eax, dword [ebp - 0x94]
mov byte [ebp - 0x5f], al
mov eax, dword [ebp - 0x98]
mov byte [ebp - 0x5e], al
mov eax, dword [ebp - 0x9c]
mov byte [ebp - 0x5d], al
call fcn.10014282
pop ecx
cmp eax, dword [ebp - 0xa4]
je 0x1000a86c
push 0x2c
pop eax
push 0x20
mov dword [ebp - 0x28], 0x46
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], 0x39
mov dword [ebp - 0x1c], 0xffffff03
pop ecx
lea eax, [ecx - 0x30]
push 9
pop ecx
cmp ax, cx
ja 0x1000a82b
mov eax, dword [ebp - 0x54]
add eax, 2
mov dword [ebp - 0x54], eax
movzx eax, word [eax]
mov ecx, eax
test ax, ax
jne 0x1000a806
mov eax, dword [0x10026aa8]
jmp 0x1000a835
mov eax, dword [0x10026aa8]
add eax, 0x57751087
movups xmm1, xmmword [ebp - 0x28]
or eax, 0x6474ce7c
sub eax, 0x79ea2fb9
movaps xmm0, xmm1
mov dword [0x10026aa8], eax
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x52
jmp 0x1000b00d
add edi, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x50], edi
cmp eax, dword [ebp - 0x5c]
je 0x1000afbd
push 0x22
pop eax
push 9
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xf4], eax
pop eax
push 0x25
pop ecx
mov dword [ebp - 0x4c], 0x43
mov dword [ebp - 0x48], 5
mov dword [ebp - 0x44], 0xffffffd8
mov dword [ebp - 0xd8], 0xffffff7f
mov dword [ebp - 0x118], 0x56
mov dword [ebp - 0x114], 0x5a
mov dword [ebp - 0x110], 0xfffffef1
mov dword [ebp - 0xfc], 0x28
mov dword [ebp - 0xf8], 0x42
mov dword [ebp - 0xf0], 0xffffff6d
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], 0xffffffef
mov dword [ebp - 0xd4], 0x50
mov dword [ebp - 0xd0], 0xffffff99
mov dword [ebp - 0xec], 0x34
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xe4], 0x10
mov dword [ebp - 0xe0], 0xffffff69
mov dword [ebp - 0x34], 0x1f
mov dword [ebp - 0x30], 0xffffffd7
mov dword [ebp - 0x124], 0x17
mov dword [ebp - 0x120], 0x62
mov dword [ebp - 0x11c], 0xffffff97
mov dword [ebp - 0x10c], 0x3a
mov dword [ebp - 0x108], 0x55
mov dword [ebp - 0x104], 0x41
mov dword [ebp - 0x100], 0xffffff68
mov dword [ebp - 0x28], 0x40
mov dword [ebp - 0x24], 0x58
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], 0xffffff3f
mov dword [ebp - 0x130], 0x2b
mov dword [ebp - 0x12c], 0x15
mov dword [ebp - 0x128], 0xffffff71
mov dword [ebp - 0x13c], 0x3f
mov dword [ebp - 0x138], 0x13
mov dword [ebp - 0x134], 0xffffff51
mov dword [ebp - 0x18], 0x3665385d
mov dword [ebp - 0x84], 0x5d
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], 0xffffff7e
mov esi, dword [0x10026aa8]
movups xmm4, xmmword [ebp - 0x28]
push 0x24
movups xmm3, xmmword [ebp - 0x10c]
pop eax
movups xmm2, xmmword [ebp - 0xec]
mov edx, eax
sub esi, 0x70f38052
movups xmm0, xmmword [ebp - 0xfc]
xor eax, eax
mov ecx, eax
sub edx, dword [ebp + ecx*4 - 0x4c]
inc ecx
cmp ecx, 3
jl 0x1000aa2d
push 0x63
pop ecx
mov dword [ebp - 0xac], edx
mov edi, eax
mov dword [ebp - 0x54], ecx
push 0x67
mov edx, 0xa13
mov eax, str.getuserkey_error
pop ecx
add edx, ecx
inc eax
cmp edx, 0xa55
ja 0x1000aa6c
movsx ecx, byte [eax]
test ecx, ecx
jne 0x1000aa52
add esi, 0x315a2706
jmp 0x1000aa7d
imul esi, esi, 0xa76aeb19
call fcn.10009425
imul esi, esi, 0xcc3c4e4
mov eax, dword [ebp - 0x54]
add esi, 0x5050addc
add eax, dword [ebp + edi*4 - 0xdc]
inc edi
mov dword [ebp - 0x54], eax
cmp edi, 2
jl 0x1000aa45
push 0x63
xor eax, eax
pop edx
mov ecx, eax
add edx, dword [ebp + ecx*4 - 0x118]
inc ecx
cmp ecx, 3
jl 0x1000aa9d
movaps xmm1, xmm0
mov dword [ebp - 0xb8], edx
psrldq xmm0, 8
xorps xmm5, xmm5
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
push 8
pop edx
add ecx, 0xb
mov dword [ebp - 0xa4], ecx
mov ecx, eax
add edx, dword [ebp + ecx*4 - 0xcc]
inc ecx
cmp ecx, 2
jl 0x1000aadd
push 9
mov dword [ebp - 0xa0], edx
mov edi, 0x19a2
mov dword [ebp - 0x10], 0x2f
mov ecx, str._tTuVersion
pop edx
add edi, edx
inc ecx
cmp edi, 0x1e03
ja 0x1000ab1e
movsx edx, byte [ecx]
test edx, edx
jne 0x1000ab04
xor esi, 0x3c6d33a6
jmp 0x1000ab36
call fcn.100087e7
imul esi, esi, 0xf12837ce
call fcn.1000915b
and esi, 0x3b302229
xor eax, eax
mov edx, dword [ebp - 0x10]
and esi, 0x2043c04
mov ecx, eax
add edx, dword [ebp + ecx*4 - 0xd4]
inc ecx
cmp ecx, 2
jl 0x1000ab41
movaps xmm1, xmm2
mov dword [ebp - 0x10], edx
paddd xmm1, xmm5
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
push 0x1a
pop edi
add ecx, 0x2f
mov dword [ebp - 0x94], ecx
inc eax
cmp eax, 0x9a3
jg 0x1000aba0
cmp byte [eax + str._tTuVersion], 0
jne 0x1000ab80
cmp eax, 0x2eb
jg 0x1000abab
and esi, 0x9f26ce18
jmp 0x1000abb1
call fcn.10008e79
or esi, 0xabb5237b
and esi, 0x84c36a31
call fcn.100092c8
xor eax, eax
or esi, 0x71eea717
mov ecx, eax
add edi, dword [ebp + ecx*4 - 0x34]
xor esi, 0xaabc7c17
inc ecx
cmp ecx, 2
jl 0x1000abc0
push 0x12
mov dword [ebp - 0xa8], edi
pop ecx
sub ecx, dword [ebp + eax*4 - 0x124]
inc eax
cmp eax, 3
jl 0x1000abd9
push 0x20
mov dword [ebp - 0x9c], ecx
mov edx, 0xa72
mov eax, str._PasswordsSafeZoneBrowserIsActive
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x11f
ja 0x1000ac0f
movzx ecx, word [eax]
test ecx, ecx
jne 0x1000abf9
jmp 0x1000ac1a
imul esi, esi, 0x7e35a727
call fcn.1000975a
call fcn.10009425
movaps xmm1, xmm5
or esi, 0xcfef700c
psubd xmm1, xmm3
xor esi, 0xda43892c
movaps xmm0, xmm1
add esi, 0xd94f7d2
psrldq xmm0, 8
mov edx, 0x764
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
movaps xmm1, xmm5
paddd xmm1, xmm4
movaps xmm0, xmm1
psrldq xmm0, 8
add eax, 0x40
paddd xmm1, xmm0
mov dword [ebp - 0x98], eax
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
push 0x53
movd eax, xmm1
pop edi
push 0x20
add eax, 7
and esi, 0x46807641
mov dword [ebp - 0x90], eax
mov eax, str._PasswordsSafeZoneBrowserIsActive
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x13a5
ja 0x1000acb5
movzx ecx, word [eax]
test ecx, ecx
jne 0x1000ac9f
jmp 0x1000acc0
xor esi, 0x89e9638f
call fcn.1000921c
add esi, 0x2572ba8
and esi, 0x72a23c0
xor eax, eax
mov dword [ebp - 0x5c], esi
mov ecx, eax
add edi, dword [ebp + ecx*4 - 0x130]
inc ecx
cmp ecx, 3
jl 0x1000acd3
push 0x5d
mov dword [ebp - 0x8c], edi
mov ecx, eax
pop edx
add edx, dword [ebp + ecx*4 - 0x13c]
inc ecx
cmp ecx, 3
jl 0x1000aceb
push 8
pop ecx
mov esi, str.abcdefghijkmnpqrstuvwxyz23456789
mov dword [ebp - 0xc4], edx
lea edi, [ebp - 0x2c8]
mov dword [ebp - 0x14], eax
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x58], eax
movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x5c]
push 0x2e
sub esi, 0x18c98ee5
mov edx, 0x16c8
mov eax, str..sleepButtonColumn_
pop ecx
add edx, ecx
inc eax
cmp edx, 0xcbd
ja 0x1000ad3f
movsx ecx, byte [eax]
test ecx, ecx
jne 0x1000ad2b
jmp 0x1000ad45
sub esi, 0x4d6045d4
and esi, 0xfff3efef
or esi, 0x2ff34eed
call fcn.1000967f
mov eax, dword [ebp - 0x58]
mov byte [ebp + eax - 0x264], al
inc eax
mov dword [ebp - 0x58], eax
cmp eax, 0x100
jb 0x1000ad18
xor edi, edi
mov dl, byte [ebp + edi - 0x264]
mov eax, edi
and eax, 0x1f
movzx ecx, dl
imul esi, esi, 0x3a819e07
movzx eax, byte [ebp + eax - 0x2c8]
add eax, dword [ebp - 0x14]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0x14], ecx
mov al, byte [ebp + ecx - 0x264]
mov byte [ebp + edi - 0x264], al
inc edi
mov byte [ebp + ecx - 0x264], dl
cmp edi, 0x100
jb 0x1000ad6d
xor eax, eax
mov dword [0x10026aa8], esi
mov dword [ebp - 0xc], eax
mov ecx, eax
mov edi, eax
xor esi, 0xf5350443
lea eax, [ecx + 1]
and esi, 0x16ab3587
movzx eax, al
mov dword [ebp - 0x58], eax
imul esi, esi, 0x7cf8f28
mov cl, byte [ebp + eax - 0x264]
mov eax, dword [ebp - 0xc]
movzx edx, cl
add eax, edx
mov dword [ebp - 0x5c], edx
mov edx, dword [ebp - 0x58]
movzx eax, al
mov dword [ebp - 0xc], eax
mov al, byte [ebp + eax - 0x264]
mov byte [ebp + edx - 0x264], al
mov eax, dword [ebp - 0xc]
mov byte [ebp + eax - 0x264], cl
mov ecx, edx
movzx eax, byte [ebp + ecx - 0x264]
add eax, dword [ebp - 0x5c]
movzx eax, al
mov al, byte [ebp + eax - 0x264]
xor al, byte [ebp + edi - 0x18]
mov byte [ebp + edi - 0xb4], al
inc edi
cmp edi, 4
jb 0x1000adc8
push 0x2c
pop ecx
push 0x42
xor eax, eax
mov dword [ebp - 0x14c], 0x33
pop edi
mov edx, ecx
mov byte [ebp - 0xb0], al
mov dword [ebp - 0x150], edi
mov ecx, eax
mov dword [ebp - 0x148], 0x20
mov dword [ebp - 0x144], 0x3a
mov dword [ebp - 0x140], 0xffffff59
sub edx, dword [ebp + ecx*4 - 0x150]
inc ecx
cmp ecx, 5
jl 0x1000ae78
push 0x1c
mov dword [ebp - 0x5c], edx
mov ecx, eax
pop edx
add edx, dword [ebp + ecx*4 - 0x84]
inc ecx
cmp ecx, 3
jl 0x1000ae8d
push 0x28
or esi, 0xf16dca3c
mov dword [ebp - 0x60], edx
pop ecx
mov dword [ebp - 0x164], edi
mov dword [ebp - 0x160], 0x27
mov dword [ebp - 0x15c], 0x29
mov dword [ebp - 0x158], 0x59
mov dword [ebp - 0x154], 0xffffff39
mov dword [0x10026aa8], esi
sub ecx, dword [ebp + eax*4 - 0x164]
inc eax
cmp eax, 5
jl 0x1000aeda
push dword [ebp - 0xac]
mov edi, dword [ebp - 0x50]
lea eax, [ebp - 8]
push edi
push eax
mov dword [ebp - 0xc0], ecx
call fcn.10013daa
push dword [ebp - 0xb8]
add edi, dword [ebp - 0x54]
lea eax, [ebp - 0x88]
push edi
push eax
call fcn.10013daa
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x10]
push dword [ebp - 0x8c]
mov edx, dword [ebp + 0xc]
movzx esi, byte [ebp + eax - 8]
mov eax, dword [ebp - 0x9c]
add edi, dword [ebp - 0xa4]
shl esi, cl
mov ecx, dword [ebp - 0x98]
movzx eax, byte [ebp + eax - 8]
shl eax, cl
mov ecx, dword [ebp - 0xa8]
or esi, eax
mov eax, dword [ebp - 0x94]
movzx eax, byte [ebp + eax - 8]
shl eax, cl
lea ecx, [ebp - 0x88]
or esi, eax
mov eax, dword [ebp - 0x90]
movzx eax, byte [ebp + eax - 8]
or esi, eax
call fcn.10014282
add esp, 0x1c
cmp eax, dword [ebp - 0xc4]
je 0x1000afae
push dword [ebp - 0x5c]
lea edx, [ebp - 0xb4]
lea ecx, [ebp - 0x88]
call fcn.10014282
pop ecx
cmp eax, dword [ebp - 0x60]
je 0x1000afc3
mov eax, dword [ebp - 0xc0]
add eax, esi
add edi, eax
mov dword [ebp - 0x50], edi
jmp 0x1000a9ff
push dword [ebp + 0x10]
mov edx, esi
mov ecx, edi
call fcn.10009807
pop ecx
jmp 0x1000afc3
mov esi, dword [ebp - 0xb4]
push dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x3c]
lea edx, [ebp - 0x74]
call fcn.1001adf3
call eax
xor eax, eax
inc eax
cmp eax, 0x47b
jl 0x1000aff0
cmp byte [eax + str.getuserkey_error], 0
jne 0x1000afd8
mov eax, dword [0x10026aa8]
jmp 0x1000affa
imul eax, dword [0x10026aa8], 0x3d82c7f1
xor eax, 0x81772ce8
imul ecx, eax, 0x638bd7b1
mov eax, esi
mov dword [0x10026aa8], ecx
pop edi
pop esi
leave
ret