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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x184
mov eax, dword [0x44a840]
push ebx
push esi
push edi
mov esi, 0x402784
mov dword [ebp - 0x44], ecx
lea edi, [ebp - 0x54]
mov dword [ebp - 0x40], 0x55aff0b4
or eax, 0x973702e8
mov dword [ebp - 0x3c], 0x4647b987
mov dword [ebp - 0xc], eax
xor eax, eax
movsd dword es:[edi], dword [esi]
mov ecx, eax
mov dword [ebp - 0x38], 0xd64e9f72
mov dword [ebp - 0x34], 0xee807fdf
mov dword [ebp - 0x30], 0xc76ace7e
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x2c], 0x9090ec30
mov dword [ebp - 0x28], 0xe89db800
mov dword [ebp - 0x24], 0x654cace4
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x20], 0xb200058d
mov dword [ebp - 0x1c], 0xca7c2161
mov dword [ebp - 0x18], 0xc0a36498
movsw word es:[edi], word [esi]
mov edi, eax
mov byte [ebp + ecx - 0x154], cl
inc ecx
cmp ecx, 0x100
jb 0x43de57
mov esi, eax
xor edx, edx
mov bl, byte [ebp + esi - 0x154]
push 0xd
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x54]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x154]
mov byte [ebp + esi - 0x154], al
inc esi
mov byte [ebp + edi - 0x154], bl
cmp esi, 0x100
jb 0x43de69
mov esi, dword [ebp - 0xc]
xor ebx, ebx
mov dword [ebp - 8], ebx
mov edi, ebx
lea eax, [ebx + 1]
sub esi, 0x16117cbc
movzx ebx, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + ebx - 0x154]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x154]
mov byte [ebp + ebx - 0x154], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x154], cl
movzx eax, byte [ebp + ebx - 0x154]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x154]
xor al, byte [ebp + edi - 0x40]
mov byte [ebp + edi - 0x184], al
inc edi
cmp edi, 0x2c
jb 0x43deb0
mov dword [ebp - 0xc], esi
lea edi, [ebp - 0x2c]
push 5
pop ecx
mov esi, 0x40236c
mov dword [ebp - 0x14], 0x8ca3ae90
rep movsd dword es:[edi], dword [esi]
xor ebx, ebx
mov word [ebp - 0x10], 0x2430
mov byte [ebp - 0x158], bl
mov eax, ebx
movsw word es:[edi], word [esi]
mov edi, ebx
mov byte [ebp + eax - 0x154], al
inc eax
cmp eax, 0x100
jb 0x43df39
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x154]
push 0x15
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x2c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x154]
mov byte [ebp + esi - 0x154], al
inc esi
mov byte [ebp + edi - 0x154], bl
cmp esi, 0x100
jb 0x43df4a
mov esi, dword [ebp - 0xc]
xor ebx, ebx
mov dword [ebp - 8], ebx
mov eax, ebx
mov edi, ebx
inc eax
movzx eax, al
mov dword [ebp - 0xc], eax
mov ebx, dword [ebp - 0xc]
mov cl, byte [ebp + eax - 0x154]
mov eax, dword [ebp - 8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x154]
mov byte [ebp + ebx - 0x154], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x154], cl
mov eax, ebx
movzx eax, byte [ebp + eax - 0x154]
add eax, edx
xor ebx, ebx
movzx eax, al
mov al, byte [ebp + eax - 0x154]
mov byte [ebp - 1], al
mov eax, ebx
inc eax
cmp eax, 0xdf1
jl 0x43dff9
cmp byte [eax + 0x403c40], bl
jne 0x43dfe7
jmp 0x43e004
call fcn.0043dc0e
xor esi, 0xa527b0b0
imul eax, esi, 0x512c34c8
sub esp, 0xc
mov esi, 0x41d86061
sub esi, eax
mov dword [0x44a840], esi
call fcn.0043dbe5
mov al, byte [ebp + edi - 0x14]
add esp, 0xc
xor al, byte [ebp - 1]
mov byte [ebp + edi - 0x50], al
inc edi
mov eax, dword [ebp - 0xc]
cmp edi, 6
jb 0x43df93
push 0x30
pop eax
mov dword [ebp - 0x24], 0x50
xorps xmm1, xmm1
mov dword [ebp - 0x20], eax
xorps xmm2, xmm2
mov dword [ebp - 0x1c], 9
mov ecx, 0x36b0
mov dword [ebp - 0x18], 0xffffff7d
movups xmm0, xmmword [ebp - 0x24]
mov byte [ebp - 0x4a], bl
mov dword [ebp - 0x28], 0x2e
psubd xmm1, xmm0
mov dword [ebp - 0x24], 0x52
movaps xmm0, xmm1
mov dword [ebp - 0x20], 0x35
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x1c], 0x34
movups xmm0, xmm1
mov dword [ebp - 0x18], 0x31df
psrldq xmm0, 4
paddd xmm1, xmm0
movd edx, xmm1
add edx, 7
sub ecx, dword [ebp + ebx*4 - 0x28]
inc ebx
cmp ebx, 5
jl 0x43e0ad
imul ecx, dword [ebp - 0x44]
neg edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0x5f
mov dword [ebp - 0x20], 0x1d
mov dword [ebp - 0x18], 0xffffff53
movups xmm0, xmmword [ebp - 0x24]
pop edi
pop esi
paddd xmm2, xmm0
movaps xmm0, xmm2
psrldq xmm0, 8
paddd xmm2, xmm0
movups xmm0, xmm2
psrldq xmm0, 4
paddd xmm2, xmm0
movd eax, xmm2
pop ebx
inc eax
push eax
push ecx
push edx
lea ecx, [ebp - 0x50]
call fcn.0041d4e5
mov edx, eax
lea ecx, [ebp - 0x184]
call fcn.0041d4c4
call eax
leave
ret