Function at 0x407136
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8c
push ebx
push esi
push edi
push 0x3a
pop esi
mov dword [ebp - 0x3c], ecx
mov edx, esi
mov dword [ebp - 0xc], 0x39
xor eax, eax
mov dword [ebp - 8], 0x59
mov dword [ebp - 4], 0xffffff42
add edx, dword [ebp + eax*4 - 0xc]
inc eax
cmp eax, 3
jl 0x407161
push 0x50
pop edi
mov ecx, 0x87
mov dword [ebp - 0x38], 0x58
mov dword [ebp - 0x34], 0x34
xor eax, eax
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], 0xffffff68
sub ecx, dword [ebp + eax*4 - 0x38]
inc eax
cmp eax, 5
jl 0x407190
xor eax, eax
mov dword [ebp - 0x18], ecx
cmp byte [str.not_a_socket], al
je 0x4071bc
inc eax
cmp eax, 0x360
jl 0x40735b
cmp byte [eax + str.not_a_socket], 0
jne 0x4071a7
mov ecx, dword [0x44d1a4]
push 0x3d
pop esi
mov dword [ebp - 0x10], 0x14
add ecx, 0x7e453906
mov dword [ebp - 0xc], 0x36
xor ebx, ebx
mov dword [ebp - 8], esi
mov dword [ebp - 4], 0xffffff27
movups xmm1, xmmword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x10], 0x23
movaps xmm0, xmm1
mov dword [ebp - 0xc], esi
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 8], 0x30
movups xmm0, xmm1
mov dword [0x44d2f4], ecx
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x38], 0x35
movups xmm0, xmmword [ebp - 0x10]
mov dword [ebp - 0x34], 0x1d
movd eax, xmm1
xorps xmm1, xmm1
psubd xmm1, xmm0
mov dword [ebp - 0x30], edi
movaps xmm0, xmm1
mov dword [ebp - 0x2c], 0x48
psrldq xmm0, 8
add eax, 0x5f
paddd xmm1, xmm0
mov dword [ebp - 0x20], eax
movups xmm0, xmm1
mov dword [ebp - 0x28], 0xffffff16
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x9a
mov dword [ebp - 0x24], eax
xor eax, eax
sub ebx, dword [ebp + eax*4 - 0x38]
inc eax
cmp eax, 5
jl 0x407276
mov dword [ebp - 0x10], 0x2e
mov eax, ecx
mov dword [ebp - 0xc], 0x3c
and eax, 0x182c4af8
mov dword [ebp - 8], 0x44
mov dword [ebp - 4], 0xffffff2f
movups xmm1, xmmword [ebp - 0x10]
mov dword [0x44d1a4], eax
mov eax, dword [ebp - 0x18]
movaps xmm0, xmm1
mov byte [ebp - 0x13], al
mov eax, dword [ebp - 0x20]
psrldq xmm0, 8
paddd xmm1, xmm0
movzx edi, bl
movups xmm0, xmm1
mov byte [ebp - 0x12], al
mov eax, dword [ebp - 0x24]
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x1c], ebx
movd esi, xmm1
mov byte [ebp - 0x14], dl
mov byte [ebp - 0x11], al
add esi, 0x27
mov dword [ebp - 0x48], esi
cmp edi, esi
jge 0x40754c
mov dword [ebp - 0x58], 0x54
mov dword [ebp - 0x54], 3
mov dword [ebp - 0x50], 0x56
mov dword [ebp - 0x4c], 0xffffff4e
mov dword [ebp - 0xc], 0x46
mov dword [ebp - 8], 0x19
mov dword [ebp - 4], 0xffffffa1
mov dword [ebp - 0x68], 0x2c
mov dword [ebp - 0x64], 0x45
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], 0xffffffb6
xor eax, eax
cmp byte [str.iu_CA_Latn], al
je 0x407383
inc eax
cmp eax, 0xa43
jg 0x40736c
cmp byte [eax + str.iu_CA_Latn], 0
jne 0x407348
jmp 0x407383
mov ecx, dword [0x44d2f4]
and ecx, 0x2b95d235
jmp 0x4071c2
call fcn.00403e10
mov ecx, dword [0x44d1a4]
or ecx, 0x35b839ea
mov dword [0x44d2f4], ecx
xor ecx, 0xe2b1ee33
mov edx, 0x4010e0
mov dword [0x44d1a4], ecx
mov ecx, str.st_ZA
push 0x401090
push 0x4010cc
call fcn.00403e93
pop ecx
xor edx, edx
mov dword [ebp - 0x8c], 0x19
pop ecx
mov dword [ebp - 0x88], 0xd
xor eax, eax
mov dword [ebp - 0x84], 0x3e
mov dword [ebp - 0x80], 0x54
mov dword [ebp - 0x7c], 0xffffff48
sub edx, dword [ebp + eax*4 - 0x8c]
inc eax
cmp eax, 5
jl 0x4073da
movups xmm1, xmmword [ebp - 0x58]
xor ecx, ecx
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd esi, xmm1
add esi, 9
xor eax, eax
sub ecx, dword [ebp + eax*4 - 0xc]
inc eax
cmp eax, 3
jl 0x40740e
movups xmm0, xmmword [ebp - 0x68]
mov dword [ebp - 0x40], ecx
xorps xmm1, xmm1
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x2c
mov dword [ebp - 0x18], eax
movzx eax, dl
mov dword [ebp - 0x24], eax
cmp eax, esi
jge 0x4074b7
mov dword [ebp - 0x78], 0x2a
mov ebx, eax
mov dword [ebp - 0x74], 0x19
mov dword [ebp - 0x70], 2
mov dword [ebp - 0x6c], 0xfffffff3
movups xmm2, xmmword [ebp - 0x78]
xorps xmm1, xmm1
mov eax, ebx
psubd xmm1, xmm2
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
add ecx, 0x3c
imul eax, ecx
mov ecx, dword [ebp - 0x3c]
add eax, edi
inc dl
mov al, byte [eax + ecx]
mov byte [ebp + ebx - 0x20], al
movzx ebx, dl
cmp ebx, esi
jl 0x407474
mov ebx, dword [ebp - 0x1c]
lea eax, [ebp - 0x44]
push eax
lea edx, [ebp - 0x20]
lea ecx, [ebp - 0x14]
call fcn.004048a8
mov edx, dword [ebp - 0x40]
movzx esi, dl
pop ecx
cmp esi, dword [ebp - 0x18]
jge 0x407534
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x34], 0x42
mov dword [ebp - 0x30], 0x47
mov dword [ebp - 0x2c], 0x1b
mov dword [ebp - 0x28], 0xffffff56
movups xmm2, xmmword [ebp - 0x34]
movups xmm1, xmm2
mov ecx, esi
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0xa
imul ecx, eax
mov al, byte [ebp + esi - 0x44]
mov esi, dword [ebp - 0x3c]
add ecx, edi
inc dl
mov byte [ecx + esi], al
movzx esi, dl
cmp esi, ebx
jl 0x4074f5
mov ebx, dword [ebp - 0x1c]
inc bl
movzx edi, bl
mov dword [ebp - 0x1c], ebx
cmp edi, dword [ebp - 0x48]
jge 0x40754c
mov ecx, dword [0x44d2f4]
jmp 0x40733e
pop edi
pop esi
pop ebx
leave
ret