Function at 0xe022cd
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x154
push esi
push edi
mov esi, 0xdd2dac
mov dword [ebp - 0x1c], edx
lea edi, [ebp - 0x30]
mov dword [ebp - 0x40], ecx
push 0x25
mov dword [ebp - 0x10], 0x45724045
mov eax, 0xbf0
movsd dword es:[edi], dword [esi]
mov ecx, 0xdd3454
mov dword [ebp - 0xc], 0x7013e7e4
pop edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
add eax, edx
inc ecx
cmp eax, 0x15d8
ja 0xe0231f
movsx edx, byte [ecx]
test edx, edx
jne 0xe02307
mov eax, dword [0xe1a8cc]
jmp 0xe02329
mov eax, dword [0xe1a8cc]
sub eax, 0x5ea838ab
movzx esi, byte [0xe1a820]
add eax, 0xa57adbae
imul edi, eax, 0x4a209dc5
mov ecx, 0x9f0
mov dword [ebp - 0x34], esi
mov eax, 0xe1a820
mov edx, esi
test esi, esi
je 0xe02360
add ecx, edx
inc eax
cmp ecx, 0x1277
ja 0xe023d6
movzx edx, byte [eax]
test edx, edx
jne 0xe0234e
add edi, 0x4e57c405
add edi, 0x2b7127af
call fcn.00dfb5df
xor esi, esi
mov dword [ebp - 8], esi
mov eax, esi
mov byte [ebp + eax - 0x154], al
inc eax
cmp eax, 0x100
jb 0xe02378
mov ecx, esi
mov dword [ebp - 0x18], esi
mov al, byte [ebp + ecx - 0x154]
xor edx, edx
mov byte [ebp - 1], al
or edi, 0xce28b591
mov eax, ecx
push 0x11
pop ecx
div ecx
movzx ecx, byte [ebp - 1]
movzx eax, byte [ebp + edx - 0x30]
add eax, dword [ebp - 8]
add ecx, eax
movzx eax, cl
mov dword [ebp - 8], eax
mov eax, esi
cmp byte [0xe1a820], al
je 0xe023ea
inc eax
cmp eax, 0xc79
jg 0xe023e4
cmp byte [eax + 0xe1a820], 0
jne 0xe023c3
jmp 0xe023ea
imul edi, edi, 0xc291c0d6
or edi, 0xc8c4ea66
jmp 0xe02366
add edi, 0x4abec8c4
or edi, 0x7e2dc394
add edi, 0x4b5f8578
call fcn.00dfb84c
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x18]
mov al, byte [ebp + edx - 0x154]
mov byte [ebp + ecx - 0x154], al
inc ecx
mov al, byte [ebp - 1]
mov byte [ebp + edx - 0x154], al
mov dword [ebp - 0x18], ecx
cmp ecx, 0x100
jb 0xe0238c
mov edx, esi
mov ecx, esi
lea eax, [ecx + 1]
mov dword [ebp - 0x18], 0xb63
movzx eax, al
mov ecx, 0xe1a820
mov dword [ebp - 0x38], eax
mov al, byte [ebp + eax - 0x154]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x3c], eax
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x34]
mov edx, eax
test eax, eax
je 0xe02484
mov eax, dword [ebp - 0x18]
add eax, edx
inc ecx
cmp eax, 0x9db
ja 0xe02479
movzx edx, byte [ecx]
test edx, edx
jne 0xe02466
jmp 0xe02484
call fcn.00dfb84c
add edi, 0x6e73322d
add edi, 0x5b089c57
call fcn.00dfb84c
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x38]
mov al, byte [ebp + edx - 0x154]
mov byte [ebp + ecx - 0x154], al
mov al, byte [ebp - 1]
mov byte [ebp + edx - 0x154], al
movzx eax, byte [ebp + ecx - 0x154]
add eax, dword [ebp - 0x3c]
movzx eax, al
mov al, byte [ebp + eax - 0x154]
xor al, byte [ebp + esi - 0x10]
mov byte [ebp + esi - 0x54], al
inc esi
cmp esi, 8
jb 0xe0242d
push 3
pop esi
push 0x11
xor eax, eax
mov dword [ebp - 0x30], esi
pop ecx
mov dword [ebp - 0x2c], ecx
mov edx, eax
mov byte [ebp - 0x4c], al
mov ecx, eax
mov dword [ebp - 0x28], 0x22
mov dword [ebp - 0x24], 0x5b
mov dword [ebp - 0x20], 0xffffff6f
sub edx, dword [ebp + ecx*4 - 0x30]
inc ecx
cmp ecx, 5
jl 0xe024fe
mov dword [ebp - 0x3c], edx
and edi, 0x9e590c47
mov edx, eax
mov dword [ebp - 0x14], 0x18
mov dword [ebp - 0x10], 0x32
mov ecx, eax
mov dword [ebp - 0xc], 0xffffffb6
sub edx, dword [ebp + ecx*4 - 0x14]
inc ecx
cmp ecx, esi
jl 0xe0252a
mov dword [ebp - 0x38], edx
mov ecx, eax
mov dword [ebp - 0x30], 0x45
mov dword [ebp - 0x2c], 0x64
mov dword [ebp - 0x28], 0x2a
mov dword [ebp - 0x24], 0x24
mov dword [ebp - 0x20], 0xffffff09
sub ecx, dword [ebp + eax*4 - 0x30]
inc eax
cmp eax, 5
jl 0xe0255b
push 0x52
mov dword [ebp - 0x44], ecx
mov edx, 0x19e0
mov dword [ebp - 0x14], 0x58
mov eax, 0xdd3520
mov dword [ebp - 0x10], 0x30
mov dword [ebp - 0xc], 0x320
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x5a7
ja 0xe025a0
movzx ecx, word [eax]
test ecx, ecx
jne 0xe0258a
jmp 0xe025ab
call fcn.00dfb6e9
sub edi, 0x4b21b122
imul edi, edi, 0x70caa2f4
call fcn.00dfb6e9
xor esi, esi
push 0x58
mov eax, esi
pop ecx
add ecx, dword [ebp + eax*4 - 0x14]
inc eax
cmp eax, 3
jl 0xe025bd
push 0x52
mov dword [ebp - 0x18], ecx
mov eax, 0xdd3520
pop ecx
mov dword [ebp - 8], 0x155
mov edx, ecx
add dword [ebp - 8], edx
lea eax, [eax + 2]
cmp dword [ebp - 8], 0x22cf
ja 0xe025f3
movzx edx, word [eax]
test edx, edx
jne 0xe025db
jmp 0xe02601
call fcn.00dfb84c
push 0x52
add edi, 0x19b3653f
pop ecx
push 0x27
xor edi, 0xf6d5bcff
mov dword [ebp - 0x14], 0x2c
pop edx
or edi, 0xa4159cbb
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], 0x15b
mov eax, esi
add ecx, dword [ebp + eax*4 - 0x14]
inc eax
cmp eax, 3
jl 0xe02623
mov dword [ebp - 0x34], ecx
mov eax, esi
mov dword [ebp - 0x14], 0x3d
mov dword [ebp - 0x10], 0x21
mov dword [ebp - 0xc], 0xffffffa2
sub esi, dword [ebp + eax*4 - 0x14]
inc eax
cmp eax, 3
jl 0xe02647
push 0x35
pop ecx
mov dword [ebp - 0x24], ecx
add edi, 0xf9d7b72
mov dword [ebp - 0x2c], 0x23
mov dword [ebp - 0x28], 8
mov dword [ebp - 0x20], 0x385
movups xmm1, xmmword [ebp - 0x2c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp + 0xc]
movaps xmm0, xmm1
mov dword [ebp - 0x2c], 0x4e
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x24], 0x13
movups xmm0, xmm1
mov dword [ebp - 0x20], 0x143
movups xmm2, xmmword [ebp - 0x2c]
mov dword [ebp - 0xc], esi
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [0xe1a8cc], edi
movaps xmm0, xmm2
movd eax, xmm1
psrldq xmm0, 8
paddd xmm2, xmm0
movups xmm0, xmm2
add eax, 0x1b
psrldq xmm0, 4
mov dword [ebp - 0x48], eax
paddd xmm2, xmm0
movd eax, xmm2
add eax, edx
mov dword [ebp - 8], eax
call fcn.00e0520f
mov ecx, dword [ebp + 0x10]
mov edi, eax
call fcn.00e0523e
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x54]
mov esi, eax
call fcn.00e0597f
mov ecx, dword [ebp - 0x1c]
call fcn.00e05863
mov edx, dword [ebp + 8]
push eax
call fcn.00decc63
mov ecx, edi
call fcn.00e05863
push eax
push edi
push dword [ebp - 0x40]
call fcn.00e05084
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x40]
call fcn.00e05cfe
mov ecx, esi
call fcn.00e05897
push eax
push dword [ebp - 0x3c]
push esi
call fcn.00e05117
mov ecx, edi
call fcn.00e05863
push eax
push dword [ebp - 0x38]
push edi
call fcn.00e05117
mov ecx, esi
call fcn.00dee98d
mov ecx, edi
call fcn.00dee98d
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x18]
add eax, eax
push eax
push dword [ebp - 0x44]
push dword [ebp + 8]
call fcn.00e05117
mov eax, dword [ebp - 8]
imul eax, dword [ebp - 0x48]
add eax, eax
push eax
push dword [ebp - 0xc]
push dword [ebp - 0x1c]
call fcn.00e05117
add esp, 0x40
pop edi
pop esi
leave
ret