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

Disassembly:
push ebx
sub esp, 0x4c
mov eax, dword [esp + 0x58]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x40], ecx
add eax, 0x1d
mov dword [esp + 0x44], eax
mov eax, dword [0x1009502c]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add eax, 0x56be4adb
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x34]
xor eax, eax
cmp ecx, 1
mov dword [esp + 0x30], eax
je 0x100037b2
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x2c], eax
mov cl, byte [ecx + eax]
mov byte [esp + 0xd], cl
mov ecx, 0x1d
xor edx, edx
div ecx
mov eax, dword [esp + 0x3c]
mov ecx, edx
mov dl, byte [esp + 0xd]
mov ah, byte [eax + ecx]
mov cl, dl
xor cl, 0xff
and cl, 0xff
mov ch, 0xff
xor ch, 0xff
mov al, dl
and al, ch
or cl, al
xor cl, 0xff
xor cl, 0x15
and cl, 0x15
mov ch, 0xff
xor ch, 0x15
and ch, 0xff
mov al, 0xff
xor al, 0xff
and al, 0x15
or ch, al
mov dh, ch
xor dh, 0xff
mov al, dl
xor al, dh
and al, dl
mov dh, 0xff
xor dh, 0xff
and dh, 0x72
mov bl, 0xff
xor bl, 0x72
mov bh, bl
and bh, 0xff
mov dl, 0xff
xor dl, 0xff
and dl, 0x72
and bl, 0xff
or dh, bh
or dl, bl
xor dh, dl
mov bl, 0xff
xor bl, 0x15
mov dl, dh
xor dl, bl
and dl, dh
mov byte [esp + 0xa], dl
xor ch, 0xff
xor ch, 0xff
and ch, 0xff
mov dl, cl
xor dl, 0xff
mov bl, al
xor bl, 0xff
mov dh, 0xff
xor dh, 0x72
mov bh, dl
and bh, 0x72
mov byte [esp + 9], bh
and cl, dh
mov bh, bl
and bh, 0x72
and al, dh
mov byte [esp + 0xb], al
mov al, byte [esp + 9]
or al, cl
mov cl, byte [esp + 0xa]
mov byte [esp + 0xc], al
mov al, byte [esp + 0xb]
or bh, al
mov al, byte [esp + 0xc]
xor al, bh
or dl, bl
xor dl, 0xff
or dh, 0x72
and dl, dh
or al, dl
mov dl, cl
and dl, ch
xor cl, ch
or dl, cl
mov ch, al
xor ch, 0xff
mov cl, dl
and cl, ch
xor dl, 0xff
and al, dl
or cl, al
mov al, cl
xor al, 0xff
and al, 0xff
mov dl, 0xff
xor dl, 0xff
and cl, dl
or al, cl
mov dl, 0xff
xor dl, 0x1d
mov cl, al
and cl, dl
xor al, 0xff
and al, 0x1d
or cl, al
mov dl, 0xff
xor dl, 0x1d
mov al, cl
xor al, dl
and al, cl
mov byte [esp + 0x16], al
mov dl, 0xff
xor dl, 0x1d
and dl, 0x35
mov cl, 0xff
xor cl, 0x35
mov ch, cl
and ch, 0x1d
mov al, 0xff
xor al, 0xff
and al, 0x35
and cl, 0xff
or dl, ch
or al, cl
xor dl, al
mov al, 0xff
xor al, 0xff
xor dl, 0xff
mov cl, 0xff
xor cl, 0xdb
or al, dl
or cl, 0xdb
xor al, 0xff
and al, cl
mov dl, 0xff
xor dl, 0xff
and dl, 0x72
mov ch, 0xff
xor ch, 0x72
mov dh, ch
and dh, 0xff
mov cl, 0xff
xor cl, 0xff
and cl, 0x72
and ch, 0xff
or dl, dh
or cl, ch
xor dl, cl
mov bl, 0xff
xor bl, 0x1d
xor dl, 0xff
mov cl, 0xff
xor cl, 0x5f
or bl, dl
or cl, 0x5f
xor bl, 0xff
and bl, cl
mov cl, al
xor cl, 0xff
mov ch, bl
xor ch, 0xff
mov dl, 0xff
xor dl, 0x69
mov bh, cl
and bh, 0x69
and al, dl
mov dh, ch
and dh, 0x69
and bl, dl
or bh, al
mov al, byte [esp + 0xd]
or dh, bl
xor bh, dh
or cl, ch
xor cl, 0xff
or dl, 0x69
and cl, dl
or bh, cl
mov bl, al
xor bl, 0xff
and bl, 0xff
mov cl, 0xff
xor cl, 0xff
and al, cl
or bl, al
mov al, bh
xor al, 0xff
and al, 0xc
mov dl, 0xff
xor dl, 0xc
mov ch, bh
and ch, dl
mov cl, 0xff
xor cl, 0xff
and cl, 0xc
and dl, 0xff
or al, ch
or cl, dl
xor al, cl
mov cl, 0xff
xor cl, 0x34
and cl, 0xff
mov dl, 0xff
xor dl, 0xff
and dl, 0x34
or cl, dl
mov byte [esp + 0x10], cl
mov cl, bl
xor cl, 0xff
mov dh, al
xor dh, 0xff
mov ch, 0xff
xor ch, 0x32
mov dl, cl
and dl, 0x32
and bl, ch
mov byte [esp + 0xe], bl
mov bl, dh
and bl, 0x32
and al, ch
mov byte [esp + 0xf], al
mov al, byte [esp + 0xe]
or dl, al
mov al, byte [esp + 0xf]
or bl, al
mov al, byte [esp + 0x10]
xor dl, bl
or cl, dh
xor cl, 0xff
or ch, 0x32
and cl, ch
or dl, cl
mov cl, 0xff
xor cl, 0x34
mov byte [esp + 0x13], cl
mov dh, al
xor dh, 0xff
mov ch, 0xff
xor ch, 0xc5
and cl, 0xc5
mov bl, ch
and bl, 0x34
mov byte [esp + 0x11], bl
mov bl, dh
and bl, 0xc5
and al, ch
mov byte [esp + 0x12], al
mov al, byte [esp + 0x11]
or cl, al
mov al, byte [esp + 0x12]
or bl, al
mov al, byte [esp + 0x13]
xor cl, bl
or al, dh
xor al, 0xff
or ch, 0xc5
and al, ch
or cl, al
mov al, dl
xor al, 0xff
and al, 0xff
mov ch, 0xff
xor ch, 0xff
and dl, ch
or al, dl
xor cl, 0xff
mov dl, al
xor dl, cl
and dl, al
mov ch, ah
xor ch, 0xff
and ch, 0xff
mov cl, 0xff
xor cl, 0xff
mov al, ah
and al, cl
or ch, al
mov al, 0xff
xor al, 0xff
xor ch, 0xff
mov cl, 0xff
xor cl, 0x50
or al, ch
or cl, 0x50
xor al, 0xff
and al, cl
mov ch, 0xff
xor ch, 0xff
and ch, 0x92
mov dh, 0xff
xor dh, 0x92
mov bl, dh
and bl, 0xff
mov cl, 0xff
xor cl, 0xff
and cl, 0x92
and dh, 0xff
or ch, bl
or cl, dh
xor ch, cl
xor ch, 0xff
mov cl, ah
xor cl, ch
and cl, ah
mov ch, al
xor ch, 0xff
mov byte [esp + 0x17], ch
mov bl, cl
xor bl, 0xff
mov dh, 0xff
xor dh, 0x25
and ch, 0x25
and al, dh
mov byte [esp + 0x14], al
mov al, bl
and al, 0x25
mov byte [esp + 0x15], al
mov al, byte [esp + 0x14]
and cl, dh
or ch, al
mov al, byte [esp + 0x15]
or al, cl
mov cl, byte [esp + 0x16]
xor ch, al
mov al, byte [esp + 0x17]
or al, bl
xor al, 0xff
or dh, 0x25
and al, dh
or ch, al
mov bl, 0xff
xor bl, 0x1d
and bl, 0xff
mov al, 0xff
xor al, 0xff
and al, 0x1d
or bl, al
mov al, ch
xor al, 0xff
mov dh, bl
and dh, al
xor bl, 0xff
mov al, ch
and al, bl
or dh, al
xor dh, 0xff
xor ch, 0xff
mov al, 0xff
xor al, 6
or dh, ch
or al, 6
xor dh, 0xff
and dh, al
mov bl, bh
xor bl, 0xff
and bl, 0xd
mov ch, 0xff
xor ch, 0xd
and bh, ch
mov al, 0xff
xor al, 0xff
and al, 0xd
and ch, 0xff
or bl, bh
or al, ch
xor bl, al
mov ch, ah
xor ch, 0xff
and ch, 0x25
mov al, 0xff
xor al, 0x25
mov byte [esp + 0x18], al
mov bh, ah
and bh, al
mov al, bl
xor al, 0xff
and al, 0x25
mov byte [esp + 0x19], al
mov al, byte [esp + 0x18]
and bl, al
mov al, byte [esp + 0x19]
or ch, bh
or al, bl
xor ch, al
xor ch, 0xff
xor ah, 0xff
mov al, 0xff
xor al, 0x78
or ch, ah
or al, 0x78
xor ch, 0xff
and ch, al
mov bh, cl
xor bh, 0xff
and bh, 0xf9
mov ah, 0xff
xor ah, 0xf9
mov bl, cl
and bl, ah
mov al, 0xff
xor al, 0xff
and al, 0xf9
and ah, 0xff
or bh, bl
or al, ah
xor bh, al
mov al, dl
xor al, 0xff
and al, 0xff
mov bl, 0xff
xor bl, 0xff
mov ah, dl
and ah, bl
or al, ah
mov byte [esp + 0x22], al
mov al, 0xff
xor al, 0x9a
and al, 0xff
mov ah, 0xff
xor ah, 0xff
and ah, 0x9a
or al, ah
mov byte [esp + 0x1d], al
mov al, bh
xor al, 0xff
mov ah, 0xff
xor ah, 0x9a
mov bl, 0xff
xor bl, 0xd9
or al, ah
mov ah, byte [esp + 0x1d]
or bl, 0xd9
xor al, 0xff
and al, bl
xor cl, 0xff
xor ah, 0xff
mov bl, 0xff
xor bl, 0x13
or cl, ah
mov ah, byte [esp + 0x22]
or bl, 0x13
xor cl, 0xff
and cl, bl
mov byte [esp + 0x1a], cl
xor ah, 0xff
mov bl, 0xff
xor bl, 0x9a
mov cl, 0xff
xor cl, 0x55
or ah, bl
mov bl, byte [esp + 0x1d]
or cl, 0x55
xor ah, 0xff
and ah, cl
mov cl, byte [esp + 0x1a]
mov byte [esp + 0x20], ah
xor dl, 0xff
xor bl, 0xff
mov ah, 0xff
xor ah, 0x15
or dl, bl
or ah, 0x15
xor dl, 0xff
and dl, ah
mov bl, al
xor bl, 0xff
xor cl, 0xff
mov byte [esp + 0x1e], cl
mov cl, 0xff
xor cl, 0xc1
mov byte [esp + 0x1f], cl
mov ah, bl
and ah, 0xc1
and al, cl
mov cl, byte [esp + 0x1a]
mov byte [esp + 0x1b], al
mov al, byte [esp + 0x1e]
and al, 0xc1
mov byte [esp + 0x1c], al
mov al, byte [esp + 0x1f]
and cl, al
mov al, byte [esp + 0x1b]
or ah, al
mov al, byte [esp + 0x1c]
or al, cl
mov cl, byte [esp + 0x1d]
xor ah, al
mov al, byte [esp + 0x1e]
or bl, al
mov al, byte [esp + 0x1f]
xor bl, 0xff
or al, 0xc1
and bl, al
mov al, byte [esp + 0x20]
or ah, bl
mov bl, al
and bl, dl
xor al, dl
or bl, al
mov dl, ah
xor dl, 0xff
and dl, 0xf1
mov al, 0xff
xor al, 0xf1
and ah, al
mov byte [esp + 0x21], ah
mov ah, bl
xor ah, 0xff
and ah, 0xf1
and bl, al
mov al, byte [esp + 0x21]
or dl, al
mov al, byte [esp + 0x22]
or ah, bl
xor dl, ah
mov byte [esp + 0x29], dl
mov bl, bh
xor bl, 0xff
mov byte [esp + 0x25], bl
mov ah, al
xor ah, 0xff
mov dl, 0xff
xor dl, 0xdd
and bl, 0xdd
and bh, dl
mov byte [esp + 0x23], bh
mov bh, ah
and bh, 0xdd
and al, dl
mov byte [esp + 0x24], al
mov al, byte [esp + 0x23]
or bl, al
mov al, byte [esp + 0x24]
or bh, al
mov al, byte [esp + 0x25]
xor bl, bh
or al, ah
xor al, 0xff
or dl, 0xdd
and al, dl
or bl, al
mov dl, bl
xor dl, 0xff
and dl, 0x52
mov ah, 0xff
xor ah, 0x52
and bl, ah
mov al, 0xff
xor al, 0xff
and al, 0x52
and ah, 0xff
or dl, bl
or al, ah
xor dl, al
mov ah, 0xff
xor ah, 0x9a
mov byte [esp + 0x28], ah
mov bh, cl
xor bh, 0xff
mov bl, 0xff
xor bl, 0x5a
and ah, 0x5a
mov al, bl
and al, 0x9a
mov byte [esp + 0x26], al
mov al, bh
and al, 0x5a
mov byte [esp + 0x27], al
mov al, byte [esp + 0x26]
and cl, bl
or ah, al
mov al, byte [esp + 0x27]
or al, cl
mov cl, byte [esp + 0x28]
xor ah, al
mov al, byte [esp + 0x29]
or cl, bh
xor cl, 0xff
or bl, 0x5a
and cl, bl
or ah, cl
xor ah, 0xff
mov cl, dl
xor cl, ah
and cl, dl
mov ah, al
and ah, cl
xor al, cl
or ah, al
mov al, dh
xor al, 0xff
mov dl, ch
xor dl, 0xff
mov cl, 0xff
xor cl, 0xea
or al, dl
or cl, 0xea
xor al, 0xff
and al, cl
mov cl, dh
xor cl, 0xff
and cl, 0xab
mov bl, 0xff
xor bl, 0xab
and dh, bl
mov dl, ch
xor dl, 0xff
and dl, 0xab
and ch, bl
or cl, dh
or dl, ch
xor cl, dl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov al, ah
xor al, 0xff
and al, 0x2d
mov ch, 0xff
xor ch, 0x2d
mov dh, ah
and dh, ch
mov cl, 0xff
xor cl, 0xff
and cl, 0x2d
and ch, 0xff
or al, dh
or cl, ch
xor al, cl
xor al, 0xff
xor al, 0xa0
and al, 0xa0
mov dh, 0xff
xor dh, 0xa0
and dh, 0x63
mov ch, 0xff
xor ch, 0x63
mov bl, ch
and bl, 0xa0
mov cl, 0xff
xor cl, 0xff
and cl, 0x63
and ch, 0xff
or dh, bl
or cl, ch
xor dh, cl
xor ah, 0xff
mov ch, dh
xor ch, 0xff
mov cl, 0xff
xor cl, 0xa7
or ah, ch
or cl, 0xa7
xor ah, 0xff
and ah, cl
mov cl, dl
xor cl, 0xff
and cl, 0xff
mov bl, 0xff
xor bl, 0xff
mov ch, dl
and ch, bl
or cl, ch
xor cl, 0xff
mov bl, 0xff
xor bl, 0xa0
mov ch, 0xff
xor ch, 0x26
or cl, bl
or ch, 0x26
xor cl, 0xff
and cl, ch
xor dl, 0xff
xor dh, 0xff
mov ch, 0xff
xor ch, 0x9e
or dl, dh
or ch, 0x9e
xor dl, 0xff
and dl, ch
mov ch, al
xor ch, 0xff
mov bl, ah
xor bl, 0xff
mov dh, 0xff
xor dh, 0xe3
mov bh, ch
and bh, 0xe3
and al, dh
mov byte [esp + 0x2a], al
mov al, bl
and al, 0xe3
mov byte [esp + 0x2b], al
mov al, byte [esp + 0x2a]
and ah, dh
or bh, al
mov al, byte [esp + 0x2b]
or al, ah
xor bh, al
mov eax, dword [esp + 0x2c]
or ch, bl
xor ch, 0xff
or dh, 0xe3
and ch, dh
or bh, ch
mov bl, cl
and bl, dl
xor cl, dl
or bl, cl
mov dl, bh
xor dl, 0xff
and dl, 0x1c
mov cl, 0xff
xor cl, 0x1c
and bh, cl
mov dh, bl
xor dh, 0xff
and dh, 0x1c
and bl, cl
mov ecx, dword [esp + 0x40]
or dl, bh
or dh, bl
xor dl, dh
mov byte [ecx + eax], dl
xor ecx, ecx
sub ecx, 0x669d1753
sub eax, ecx
sub eax, 0xd04a4345
sub eax, 0x13c5a12d
add eax, 0xd04a4345
xor ecx, ecx
sub ecx, 0x669d1753
add eax, ecx
sub eax, 0xae894a5
sub eax, 0x788eaae2
add eax, 0xae894a5
xor ecx, ecx
sub ecx, 1
sub eax, ecx
xor ecx, ecx
sub ecx, 0x788eaae2
sub eax, ecx
xor ecx, ecx
sub ecx, eax
add ecx, 0
mov eax, 0x62e50b5d
add eax, 0
sub eax, 0x13c5a12d
sub eax, 0x62e50b5d
sub ecx, 0xaec4c51f
add ecx, eax
add ecx, 0xaec4c51f
mov eax, 0xcc429849
add eax, 0
sub eax, ecx
sub eax, 0xcc429849
cmp eax, 0x41
mov dword [esp + 0x30], eax
jne 0x10002fce
mov eax, dword [0x1009502c]
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add eax, 0x56be4adb
mov dword [esp], eax
mov eax, dword [esp]
mov dword [eax], 1
jmp 0x100037b2
add esp, 0x4c
pop ebx
ret