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

Disassembly:
push ebx
sub esp, 0x30
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x28], ecx
add eax, 0x1b
mov dword [esp + 0x2c], eax
mov eax, dword [0x10095034]
add eax, 0xcda1b3a6
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
cmp dword [eax], 1
sete al
mov byte [esp + 0x1f], al
mov cl, byte [esp + 0x1f]
xor eax, eax
test cl, 1
mov dword [esp + 0x18], eax
jne 0x10004246
jmp 0x10003f4f
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
mov cl, byte [ecx + eax]
mov byte [esp + 0xb], cl
mov ecx, 0x1b
xor edx, edx
div ecx
mov eax, dword [esp + 0x24]
mov ecx, edx
mov dh, byte [esp + 0xb]
mov ch, byte [eax + ecx]
mov al, dh
xor al, 0xff
and al, 0xea
mov dl, 0xff
xor dl, 0xea
mov ah, dh
and ah, dl
mov cl, 0xff
xor cl, 0xff
and cl, 0xea
and dl, 0xff
or al, ah
or cl, dl
xor al, cl
xor al, 0xff
xor al, 0xff
and al, 0xff
mov ah, 0xff
xor ah, 0xff
and ah, 0xff
mov cl, 0xff
xor cl, 0xff
and cl, 0xff
or ah, cl
mov cl, dh
xor cl, 0xff
xor ah, 0xff
mov dl, 0xff
xor dl, 0x8d
or cl, ah
or dl, 0x8d
xor cl, 0xff
and cl, dl
mov ah, al
and ah, cl
xor al, cl
or ah, al
mov dl, ah
xor dl, 0xff
and dl, 0xd5
mov cl, 0xff
xor cl, 0xd5
and ah, cl
mov al, 0xff
xor al, 0xff
and al, 0xd5
and cl, 0xff
or dl, ah
or al, cl
xor dl, al
mov al, ch
xor al, 0xff
and al, 0xed
mov bl, 0xff
xor bl, 0xed
mov ah, ch
and ah, bl
mov cl, dl
xor cl, 0xff
and cl, 0xed
and dl, bl
or al, ah
or cl, dl
xor al, cl
mov cl, ch
xor cl, 0xff
mov dl, al
xor dl, cl
and dl, al
mov cl, ch
xor cl, 0xff
and cl, 0xff
mov ah, 0xff
xor ah, 0xff
mov al, ch
and al, ah
or cl, al
xor cl, 0xff
xor cl, 0x34
and cl, 0x34
mov ah, 0xff
xor ah, 0x34
and ah, 0xff
mov al, 0xff
xor al, 0xff
and al, 0x34
or ah, al
mov bl, ah
xor bl, 0xff
mov al, ch
xor al, bl
and al, ch
mov byte [esp + 0xc], al
mov ch, 0xff
xor ch, 0xff
and ch, 0x60
mov bl, 0xff
xor bl, 0x60
mov bh, bl
and bh, 0xff
mov al, 0xff
xor al, 0xff
and al, 0x60
and bl, 0xff
or ch, bh
mov bh, byte [esp + 0xc]
or al, bl
xor ch, al
mov bl, 0xff
xor bl, 0x34
mov al, ch
xor al, bl
and al, ch
mov byte [esp + 0x11], al
mov ch, 0xff
xor ch, 0xff
xor ah, 0xff
mov al, 0xff
xor al, 0xa2
or ch, ah
or al, 0xa2
xor ch, 0xff
and ch, al
mov ah, cl
xor ah, 0xff
xor bh, 0xff
mov bl, 0xff
xor bl, 0x89
mov al, ah
and al, 0x89
mov byte [esp + 0xd], al
and cl, bl
mov al, bh
and al, 0x89
mov byte [esp + 0xe], al
mov al, byte [esp + 0xc]
and al, bl
mov byte [esp + 0xf], al
mov al, byte [esp + 0xd]
or al, cl
mov cl, byte [esp + 0xe]
mov byte [esp + 0x10], al
mov al, byte [esp + 0xf]
or cl, al
mov al, byte [esp + 0x10]
xor al, cl
mov cl, byte [esp + 0x11]
or ah, bh
xor ah, 0xff
or bl, 0x89
and ah, bl
or al, ah
mov ah, cl
and ah, ch
xor cl, ch
or ah, cl
mov ch, al
xor ch, 0xff
mov cl, ah
and cl, ch
xor ah, 0xff
and al, ah
or cl, al
mov al, dh
xor al, 0xff
and al, 0x42
mov ch, 0xff
xor ch, 0x42
and dh, ch
mov ah, 0xff
xor ah, 0xff
and ah, 0x42
and ch, 0xff
or al, dh
or ah, ch
xor al, ah
mov ah, cl
xor ah, 0xff
and ah, 0xff
mov ch, 0xff
xor ch, 0xff
and cl, ch
or ah, cl
mov cl, 0xff
xor cl, 8
and cl, 0xff
mov ch, 0xff
xor ch, 0xff
and ch, 8
or cl, ch
mov ch, al
xor ch, 0xff
mov bl, ah
xor bl, 0xff
mov dh, 0xff
xor dh, 0x2e
mov bh, ch
and bh, 0x2e
and al, dh
mov byte [esp + 0x12], al
mov al, bl
and al, 0x2e
mov byte [esp + 0x13], al
mov al, byte [esp + 0x12]
and ah, dh
or bh, al
mov al, byte [esp + 0x13]
or al, ah
xor bh, al
mov eax, dword [esp + 0x14]
or ch, bl
xor ch, 0xff
or dh, 0x2e
and ch, dh
or bh, ch
mov ch, cl
and ch, 8
xor cl, 8
or ch, cl
mov cl, bh
xor cl, 0xff
and cl, 0x8f
mov bl, 0xff
xor bl, 0x8f
and bh, bl
mov dh, 0xff
xor dh, 0xff
and dh, 0x8f
and bl, 0xff
or cl, bh
or dh, bl
xor cl, dh
xor ch, 0xff
mov bh, cl
xor bh, ch
and bh, cl
mov cl, bh
xor cl, 0xff
mov dh, dl
xor dh, cl
and dh, dl
mov cl, dl
xor cl, 0xff
mov bl, bh
and bl, cl
mov ecx, dword [esp + 0x28]
xor bh, 0xff
and dl, bh
or bl, dl
mov dl, dh
and dl, bl
xor dh, bl
or dl, dh
mov byte [ecx + eax], dl
xor ecx, ecx
sub ecx, 0x79c3d2b4
xor edx, edx
sub edx, ecx
xor ecx, ecx
sub ecx, 1
add edx, ecx
xor ecx, ecx
sub ecx, 0x79c3d2b4
add edx, ecx
xor ecx, ecx
sub ecx, edx
add ecx, 0
add eax, 0x12e2d6c4
add eax, ecx
sub eax, 0x12e2d6c4
cmp eax, 0x15
mov dword [esp + 0x18], eax
jne 0x10003f4f
mov eax, dword [0x10095034]
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add eax, 0xcda1b3a6
mov dword [esp], eax
mov eax, dword [esp]
mov dword [eax], 1
jmp 0x10004246
add esp, 0x30
pop ebx
ret