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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x144
mov ecx, dword [0x100294ec]
push 0x51
add ecx, 0x5b2f332c
mov dword [ebp - 0xc], 0x47
pop edx
mov dword [ebp - 8], 0x33
xor eax, eax
mov dword [ebp - 4], 0xffffff35
add edx, dword [ebp + eax*4 - 0xc]
inc eax
cmp eax, 3
jl 0x10019ba1
push esi
push edi
push 0x46
pop edi
mov dword [ebp - 0x40], edi
xorps xmm1, xmm1
mov dword [ebp - 0x3c], 0x4f
xor eax, eax
mov dword [ebp - 0x38], 0x30
inc eax
mov dword [ebp - 0x34], 0xffffff3b
xorps xmm2, xmm2
movups xmm0, xmmword [ebp - 0x40]
push 0x66
mov dword [ebp - 0x18], edx
psubd xmm1, xmm0
mov dword [ebp - 0x40], eax
movaps xmm0, xmm1
mov dword [ebp - 0x3c], eax
psrldq xmm0, 8
mov eax, str.foreground_image_width
paddd xmm1, xmm0
imul esi, ecx, 0xb31436d8
movups xmm0, xmm1
mov dword [ebp - 0x38], 0xf
psrldq xmm0, 4
mov ecx, 0x159
paddd xmm1, xmm0
mov dword [ebp - 0x34], 0xffffffef
movd dword [ebp - 0x24], xmm1
pop edx
add ecx, edx
inc eax
cmp ecx, 0x14f7
ja 0x10019c34
movsx edx, byte [eax]
test edx, edx
jne 0x10019c20
jmp 0x10019c3f
call fcn.10018879
or esi, 0x8b8c3c98
movups xmm0, xmmword [ebp - 0x40]
mov dword [ebp - 0x30], 0x2c
add esi, 0xfc120982
movaps xmm1, xmm2
mov dword [ebp - 0x2c], 0xffffff8f
psubd xmm1, xmm0
or esi, 0xc152d3d8
movaps xmm0, xmm1
xor edx, edx
psrldq xmm0, 8
mov eax, edx
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
add edi, dword [ebp + eax*4 - 0x30]
inc eax
cmp eax, 2
jl 0x10019c80
push 0x13
mov dword [ebp - 0x44], edi
mov eax, edx
pop ecx
mov dword [ebp - 0xc], 0x61
mov dword [ebp - 8], 0x62
mov dword [ebp - 4], 0xffffff2b
add ecx, dword [ebp + eax*4 - 0xc]
inc eax
cmp eax, 3
jl 0x10019ca7
xor esi, 0x7ef9a3bf
mov dword [ebp - 0x2c], ecx
imul eax, esi, 0xd3ffd95e
lea edi, [ebp - 0x3c]
mov esi, str.settings_lt
mov dword [ebp - 0xc], 0x4a59dfd4
mov dword [ebp - 8], 0x56addd48
mov dword [ebp - 4], 0xb456f801
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x20], eax
mov eax, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, edx
mov byte [ebp + eax - 0x144], al
inc eax
cmp eax, 0x100
jb 0x10019ce7
mov esi, edx
xor edx, edx
mov dword [ebp - 0x1c], 0xb
mov eax, esi
mov cl, byte [ebp + esi - 0x144]
div dword [ebp - 0x1c]
mov byte [ebp - 0x11], cl
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x3c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x144]
mov byte [ebp + esi - 0x144], al
inc esi
mov al, byte [ebp - 0x11]
mov byte [ebp + edi - 0x144], al
cmp esi, 0x100
jb 0x10019cf8
xor eax, eax
sub dword [ebp - 0x20], 0x2f89b07c
mov dword [ebp - 0x1c], eax
mov edi, eax
mov esi, eax
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 0x1c]
mov cl, byte [ebp + esi - 0x144]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x1c], eax
mov al, byte [ebp + eax - 0x144]
mov byte [ebp + esi - 0x144], al
mov eax, dword [ebp - 0x1c]
mov byte [ebp + eax - 0x144], cl
movzx eax, byte [ebp + esi - 0x144]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x144]
xor al, byte [ebp + edi - 0xc]
mov byte [ebp + edi - 0x40], al
inc edi
cmp edi, 0xc
jb 0x10019d50
mov esi, dword [ebp - 0x20]
xor ecx, ecx
mov eax, ecx
inc eax
cmp eax, 0x65a
jg 0x10019dbe
cmp byte [eax + str.foreground_image_width], cl
jne 0x10019dac
jmp 0x10019dc4
xor esi, 0x833e5e79
mov byte [ebp - 0x34], cl
mov eax, ecx
push 3
add esi, 0x44524e78
mov dword [ebp - 8], 0x5a
pop edx
xor ecx, ecx
mov dword [ebp - 0xc], edx
or esi, 0x23f6230f
mov dword [ebp - 4], 0xffffffa3
inc ecx
add ecx, dword [ebp + eax*4 - 0xc]
imul esi, esi, 0x886f7a9f
inc eax
cmp eax, edx
jl 0x10019dec
push 0x53
pop edi
mov dword [ebp - 0x28], ecx
add esi, 0xa6e1821c
mov ecx, str.SEC_E_CRYPTO_SYSTEM_INVALID
mov edx, edi
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x10019e28
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x10019e0e
jmp 0x10019e2e
sub esi, 0x5ac99287
xor esi, 0x2f21f361
mov dword [0x100294ec], esi
call fcn.10018611
movd eax, xmm1
cmp dword [ebp + 8], eax
jne 0x10019fbf
and dword [ebp + 8], 0
mov dword [ebp - 0x18], 0x5e
mov dword [ebp - 0xc], 0x27
mov dword [ebp - 8], 0x20
mov dword [ebp - 4], 0xffffff60
push 0x30
mov edx, 0xc73
mov eax, str.0000000000000000000000000000000000000007
pop ecx
add edx, ecx
inc eax
cmp edx, 0xb5a
ja 0x10019e93
movsx ecx, byte [eax]
test ecx, ecx
jne 0x10019e79
or esi, 0xceee078f
jmp 0x10019e9f
and esi, 0x9f1df2c6
imul esi, esi, 0x6a7a8fb5
and esi, 0x8a88bff8
call fcn.100189fe
mov ecx, str.SEC_E_CRYPTO_SYSTEM_INVALID
mov edx, edi
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x10019ecb
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x10019eb1
jmp 0x10019ed1
add esi, 0x184b9903
push 0x66
imul esi, esi, 0x21813645
mov edx, 0x23ef
mov eax, str.foreground_image_width
pop ecx
add edx, ecx
inc eax
cmp edx, 0x113
ja 0x10019ef8
movsx ecx, byte [eax]
test ecx, ecx
jne 0x10019ee4
jmp 0x10019efe
or esi, 0x7df0dc26
mov eax, dword [ebp + 8]
and esi, 0xf84800
mov ecx, dword [ebp - 0x18]
or esi, 0xfd01956f
add ecx, dword [ebp + eax*4 - 0xc]
inc eax
mov dword [ebp - 0x18], ecx
mov dword [ebp + 8], eax
cmp eax, 3
jl 0x10019e6c
or esi, 0x7f24141b
xor eax, eax
inc eax
cmp eax, 0x64c
jl 0x10019f4b
cmp byte [eax + str.foreground_image_width], 0
jne 0x10019f2c
cmp eax, 0x1a2b
jle 0x10019f56
call fcn.1001814c
jmp 0x10019f56
call fcn.10018103
or esi, 0x3b06c667
lea edx, [esi + 0x79c4b170]
mov ecx, str.0000000000000000000000000000000000000007
xor edx, 0xc6e8baa2
push edx
mov dword [0x100294ec], edx
call fcn.10018739
mov dword [ebp - 0x10], 0x52
mov dword [ebp - 0xc], 0x4b
mov dword [ebp - 8], 0x2b
mov dword [ebp - 4], 0xffffffc6
movups xmm0, xmmword [ebp - 0x10]
pop ecx
paddd xmm2, xmm0
movaps xmm0, xmm2
psrldq xmm0, 8
paddd xmm2, xmm0
movups xmm0, xmm2
psrldq xmm0, 4
paddd xmm2, xmm0
movd edi, xmm2
add edi, 0x5a
mov dword [ebp - 0x24], edi
jmp 0x1001a0a4
mov eax, dword [ebp - 0x44]
cmp dword [ebp + 8], eax
jne 0x1001a0a4
push 9
pop eax
mov dword [ebp - 0xc], eax
movaps xmm1, xmm2
mov dword [ebp - 0x10], 0x59
mov ecx, 0x21ff
mov dword [ebp - 8], 0x55
mov dword [ebp - 4], 0xffffff6c
movups xmm0, xmmword [ebp - 0x10]
mov dword [ebp - 0x10], 0x42
mov dword [ebp - 0xc], 0x54
psubd xmm1, xmm0
mov dword [ebp - 8], 0x57
movaps xmm0, xmm1
mov dword [ebp - 4], 0x93f
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x28
or esi, 0x9dbaca7d
mov dword [ebp - 0x18], eax
mov eax, str.SSL___Connection_requires_a_write_call
add ecx, edi
inc eax
cmp ecx, 0x13b0
ja 0x1001a053
movsx edi, byte [eax]
test edi, edi
jne 0x1001a03f
jmp 0x1001a063
mov ecx, str.0000000000000000000000000000000000000007
call fcn.1001837d
and esi, 0xe608db94
lea eax, [esi - 0xb79538d]
and eax, 0x65a171f3
mov dword [0x100294ec], eax
call fcn.10018103
movups xmm0, xmmword [ebp - 0x10]
psubd xmm2, xmm0
movaps xmm0, xmm2
psrldq xmm0, 8
paddd xmm2, xmm0
movups xmm0, xmm2
psrldq xmm0, 4
paddd xmm2, xmm0
movd eax, xmm2
add eax, 0xae6
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x2c]
lea edx, [ebp - 0x40]
call fcn.1001adf3
call eax
mov esi, dword [0x10028240]
add eax, esi
mov dword [ebp + 8], eax
mov dword [ebp - 0x30], 0x63
mov dword [ebp - 0x2c], 0xffffff72
push 0x2b
pop ecx
xor eax, eax
add ecx, dword [ebp + eax*4 - 0x30]
inc eax
cmp eax, 2
jl 0x1001a0cf
lea eax, [ebp + 8]
mov edx, esi
push eax
call fcn.10019a26
pop ecx
mov edi, dword [eax*8 + 0x10028248]
add edi, dword [ebp - 0x18]
add edi, dword [0x10029718]
movzx eax, byte [edi]
cmp eax, dword [ebp - 0x24]
je 0x1001a105
cmp dword [ebp - 0x28], 0
jne 0x1001a0ca
jmp 0x1001a151
mov esi, dword [0x100294ec]
mov ecx, str.SEC_E_CRYPTO_SYSTEM_INVALID
and esi, 0x8a924340
xor edx, edx
mov eax, edx
inc eax
lea ecx, [ecx + 2]
cmp eax, 0x16a6
jl 0x1001a12c
cmp word [ecx], dx
jne 0x1001a11a
jmp 0x1001a132
add esi, 0x30acb5f1
call fcn.1001814c
imul ecx, esi, 0x523a5413
mov eax, edi
xor ecx, 0x61e4a652
add ecx, 0x63924f54
mov dword [0x100294ec], ecx
pop edi
pop esi
leave
ret