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

Disassembly:
push ebx
sub esp, 0x40
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x38], ecx
add eax, 0x1d
mov dword [esp + 0x3c], eax
mov eax, dword [0x10095030]
add eax, 0x7dd833c
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x2c]
xor eax, eax
cmp ecx, 1
mov dword [esp + 0x28], eax
je 0x10003eec
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x24], eax
mov cl, byte [ecx + eax]
mov byte [esp + 0xc], cl
mov ecx, 0x1d
xor edx, edx
div ecx
mov eax, dword [esp + 0x34]
mov ecx, edx
mov dl, byte [esp + 0xc]
mov ch, byte [eax + ecx]
mov ah, dl
xor ah, 0xff
and ah, 0xff
mov cl, 0xff
xor cl, 0xff
mov al, dl
and al, cl
or ah, al
mov al, 0xff
xor al, 0xff
xor ah, 0xff
mov cl, 0xff
xor cl, 0x24
or al, ah
or cl, 0x24
xor al, 0xff
and al, cl
mov ah, 0xff
xor ah, 0xff
and ah, 0xff
mov cl, 0xff
xor cl, 0xff
and cl, 0xff
or ah, cl
xor ah, 0xff
mov cl, dl
xor cl, ah
and cl, dl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov cl, 0xff
xor cl, 0x48
and cl, 0xff
mov al, 0xff
xor al, 0xff
and al, 0x48
or cl, al
mov al, dl
xor al, 0xff
and al, 0xff
mov ah, 0xff
xor ah, 0xff
and dl, ah
or al, dl
mov dl, 0xff
xor dl, 0x12
and dl, 0x11
mov dh, 0xff
xor dh, 0x11
mov bl, dh
and bl, 0x12
mov ah, 0xff
xor ah, 0xff
and ah, 0x11
and dh, 0xff
or dl, bl
or ah, dh
xor dl, ah
mov ah, cl
xor ah, 0xff
mov bl, al
xor bl, 0xff
mov dh, 0xff
xor dh, 0x54
mov bh, ah
and bh, 0x54
mov byte [esp + 0xb], bh
and cl, dh
mov bh, bl
and bh, 0x54
and al, dh
mov byte [esp + 0xd], al
mov al, byte [esp + 0xb]
or al, cl
mov cl, byte [esp + 0xc]
mov byte [esp + 0xe], al
mov al, byte [esp + 0xd]
or bh, al
mov al, byte [esp + 0xe]
xor al, bh
or ah, bl
xor ah, 0xff
or dh, 0x54
and ah, dh
or al, ah
mov ah, dl
and ah, 0x12
xor dl, 0x12
or ah, dl
mov dl, al
xor dl, 0xff
and dl, 0xff
mov dh, 0xff
xor dh, 0xff
and al, dh
or dl, al
xor dl, 0xff
xor ah, 0xff
mov al, 0xff
xor al, 0xf6
or dl, ah
or al, 0xf6
xor dl, 0xff
and dl, al
mov bh, 0xff
xor bh, 0x48
and bh, 0xff
mov al, 0xff
xor al, 0xff
and al, 0x48
or bh, al
xor bh, 0xff
xor bh, 0xff
and bh, 0xff
mov al, 0xff
xor al, 0xff
and al, 0xff
mov ah, 0xff
xor ah, 0xff
and ah, 0xff
or al, ah
xor al, 0xff
xor al, 0x48
and al, 0x48
mov bl, bh
xor bl, 0xff
mov byte [esp + 0x11], bl
mov dh, al
xor dh, 0xff
mov ah, 0xff
xor ah, 0xa0
and bl, 0xa0
and bh, ah
mov byte [esp + 0xf], bh
mov bh, dh
and bh, 0xa0
and al, ah
mov byte [esp + 0x10], al
mov al, byte [esp + 0xf]
or bl, al
mov al, byte [esp + 0x10]
or bh, al
mov al, byte [esp + 0x11]
xor bl, bh
or al, dh
xor al, 0xff
or ah, 0xa0
and al, ah
or bl, al
mov al, cl
xor al, 0xff
and al, 0xff
mov ah, 0xff
xor ah, 0xff
and cl, ah
or al, cl
mov byte [esp + 0x12], al
mov ah, bl
xor ah, 0xff
and ah, 0x90
mov cl, 0xff
xor cl, 0x90
mov dh, bl
and dh, cl
mov al, 0xff
xor al, 0xff
and al, 0x90
and cl, 0xff
or ah, dh
or al, cl
xor ah, al
mov al, 0xff
xor al, 0x67
and al, 0x43
mov bh, 0xff
xor bh, 0x43
mov cl, bh
and cl, 0x67
mov dh, 0xff
xor dh, 0xff
and dh, 0x43
and bh, 0xff
or al, cl
mov cl, byte [esp + 0x12]
or dh, bh
xor al, dh
mov bh, cl
and bh, ah
xor cl, ah
or bh, cl
mov cl, al
and cl, 0x67
xor al, 0x67
or cl, al
mov al, bh
xor al, 0xff
and al, 0xf2
mov dh, 0xff
xor dh, 0xf2
and bh, dh
mov ah, 0xff
xor ah, 0xff
and ah, 0xf2
and dh, 0xff
or al, bh
or ah, dh
xor al, ah
xor cl, 0xff
mov ah, al
xor ah, cl
and ah, al
mov al, ch
xor al, 0xff
and al, 0x28
mov dh, 0xff
xor dh, 0x28
mov bh, ch
and bh, dh
mov cl, 0xff
xor cl, 0xff
and cl, 0x28
and dh, 0xff
or al, bh
or cl, dh
xor al, cl
xor al, 0xff
xor al, 0xff
and al, 0xff
mov dh, 0xff
xor dh, 0xff
and dh, 0xff
mov cl, 0xff
xor cl, 0xff
and cl, 0xff
or dh, cl
mov bh, ch
xor bh, 0xff
xor dh, 0xff
mov cl, 0xff
xor cl, 0x6b
or bh, dh
or cl, 0x6b
xor bh, 0xff
and bh, cl
mov byte [esp + 0x13], bh
mov dh, al
xor dh, 0xff
mov byte [esp + 0x17], dh
xor bh, 0xff
mov cl, 0xff
xor cl, 0x3f
mov byte [esp + 0x16], cl
and dh, 0x3f
and al, cl
mov cl, byte [esp + 0x13]
mov byte [esp + 0x14], al
mov al, bh
and al, 0x3f
mov byte [esp + 0x15], al
mov al, byte [esp + 0x16]
and cl, al
mov al, byte [esp + 0x14]
or dh, al
mov al, byte [esp + 0x15]
or al, cl
mov cl, byte [esp + 0x16]
xor dh, al
mov al, byte [esp + 0x17]
or al, bh
xor al, 0xff
or cl, 0x3f
and al, cl
or dh, al
mov bh, 0xff
xor bh, 0x48
and bh, 0xff
mov al, 0xff
xor al, 0xff
and al, 0x48
or bh, al
mov al, dh
xor al, 0xff
and al, 0x2c
mov byte [esp + 0x19], al
mov al, 0xff
xor al, 0x2c
mov byte [esp + 0x18], al
mov cl, dh
and cl, al
mov al, bh
xor al, 0xff
and al, 0x2c
mov byte [esp + 0x1a], al
mov al, byte [esp + 0x18]
and bh, al
mov al, byte [esp + 0x19]
or al, cl
mov cl, byte [esp + 0x1a]
or cl, bh
xor al, cl
xor al, 0xff
xor dh, 0xff
mov cl, 0xff
xor cl, 0x46
or al, dh
or cl, 0x46
xor al, 0xff
and al, cl
mov byte [esp + 0x1b], al
mov dh, bl
xor dh, 0xff
and dh, 0x97
mov cl, 0xff
xor cl, 0x97
and bl, cl
mov al, 0xff
xor al, 0xff
and al, 0x97
and cl, 0xff
or dh, bl
or al, cl
xor dh, al
mov cl, ch
xor cl, 0xff
and cl, 0xa9
mov bh, 0xff
xor bh, 0xa9
mov bl, ch
and bl, bh
mov al, dh
xor al, 0xff
and al, 0xa9
and dh, bh
or cl, bl
or al, dh
xor cl, al
xor cl, 0xff
xor ch, 0xff
mov al, 0xff
xor al, 8
or cl, ch
or al, 8
xor cl, 0xff
and cl, al
mov ch, ah
xor ch, 0xff
mov al, dl
xor al, ch
and al, dl
mov ch, dl
xor ch, 0xff
mov bh, ah
and bh, ch
xor ah, 0xff
and dl, ah
or bh, dl
mov dl, al
xor dl, 0xff
mov ch, bh
xor ch, 0xff
mov ah, 0xff
xor ah, 0x84
mov dh, dl
and dh, 0x84
and al, ah
mov bl, ch
and bl, 0x84
and bh, ah
or dh, al
mov al, byte [esp + 0x1b]
or bl, bh
xor dh, bl
or dl, ch
xor dl, 0xff
or ah, 0x84
and dl, ah
or dh, dl
mov dl, al
xor dl, 0xff
and dl, 0xff
mov ch, 0xff
xor ch, 0xff
mov ah, al
and ah, ch
or dl, ah
mov byte [esp + 0x1e], dl
mov ah, cl
xor ah, 0xff
and ah, 0xff
mov ch, 0xff
xor ch, 0xff
mov dl, cl
and dl, ch
or ah, dl
mov bh, 0xff
xor bh, 0x96
and bh, 0x51
mov bl, 0xff
xor bl, 0x51
mov dl, bl
and dl, 0x96
mov ch, 0xff
xor ch, 0xff
and ch, 0x51
and bl, 0xff
or bh, dl
mov dl, byte [esp + 0x1e]
or ch, bl
xor bh, ch
mov byte [esp + 0x20], bh
xor dl, 0xff
mov bl, 0xff
xor bl, 0x96
mov ch, 0xff
xor ch, 9
or dl, bl
or ch, 9
xor dl, 0xff
and dl, ch
mov bl, bh
xor bl, 0xff
mov ch, al
xor ch, bl
and ch, al
mov bl, 0xff
xor bl, 0x96
mov al, ah
xor al, bl
and al, ah
xor cl, 0xff
xor bh, 0xff
mov bl, 0xff
xor bl, 2
or cl, bh
or bl, 2
xor cl, 0xff
and cl, bl
mov bh, dl
and bh, ch
xor dl, ch
or bh, dl
mov bl, al
xor bl, 0xff
mov byte [esp + 0x1f], bl
mov ch, cl
xor ch, 0xff
mov dl, 0xff
xor dl, 0xf3
and bl, 0xf3
and al, dl
mov byte [esp + 0x1c], al
mov al, ch
and al, 0xf3
mov byte [esp + 0x1d], al
mov al, byte [esp + 0x1c]
and cl, dl
or bl, al
mov al, byte [esp + 0x1d]
or al, cl
mov cl, byte [esp + 0x1e]
xor bl, al
mov al, byte [esp + 0x1f]
or al, ch
xor al, 0xff
or dl, 0xf3
and al, dl
or bl, al
mov dl, bh
xor dl, 0xff
and dl, 0x9b
mov al, 0xff
xor al, 0x9b
and bh, al
mov ch, bl
xor ch, 0xff
and ch, 0x9b
and bl, al
mov al, byte [esp + 0x20]
or dl, bh
or ch, bl
xor dl, ch
mov byte [esp + 0x23], dl
mov dl, cl
and dl, ah
xor cl, ah
or dl, cl
mov cl, dl
xor cl, 0xff
and cl, 0xff
mov ah, 0xff
xor ah, 0xff
and dl, ah
or cl, dl
mov dl, 0xff
xor dl, 0x96
mov bl, al
xor bl, 0xff
mov ch, 0xff
xor ch, 0xf
mov ah, dl
and ah, 0xf
mov bh, ch
and bh, 0x96
mov byte [esp + 0x21], bh
mov bh, bl
and bh, 0xf
and al, ch
mov byte [esp + 0x22], al
mov al, byte [esp + 0x21]
or ah, al
mov al, byte [esp + 0x22]
or bh, al
mov al, byte [esp + 0x23]
xor ah, bh
or dl, bl
xor dl, 0xff
or ch, 0xf
and dl, ch
or ah, dl
xor cl, 0xff
xor ah, 0xff
mov dl, 0xff
xor dl, 0xf3
or cl, ah
or dl, 0xf3
xor cl, 0xff
and cl, dl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov cl, dh
xor cl, 0xff
and cl, 0xc1
mov ah, 0xff
xor ah, 0xc1
mov ch, dh
and ch, ah
mov al, 0xff
xor al, 0xff
and al, 0xc1
and ah, 0xff
or cl, ch
or al, ah
xor cl, al
mov ch, 0xff
xor ch, 0x4a
xor cl, 0xff
mov al, 0xff
xor al, 0x85
or ch, cl
or al, 0x85
xor ch, 0xff
and ch, al
mov bh, 0xff
xor bh, 0x4a
and bh, 0x95
mov cl, 0xff
xor cl, 0x95
mov ah, cl
and ah, 0x4a
mov al, 0xff
xor al, 0xff
and al, 0x95
and cl, 0xff
or bh, ah
or al, cl
xor bh, al
xor dh, 0xff
mov cl, bh
xor cl, 0xff
mov al, 0xff
xor al, 0x64
or dh, cl
or al, 0x64
xor dh, 0xff
and dh, al
mov bl, dl
xor bl, 0xff
and bl, 0xa5
mov cl, 0xff
xor cl, 0xa5
mov ah, dl
and ah, cl
mov al, 0xff
xor al, 0xff
and al, 0xa5
and cl, 0xff
or bl, ah
or al, cl
xor bl, al
mov al, 0xff
xor al, 0x4a
mov cl, bl
xor cl, al
mov eax, dword [esp + 0x24]
and cl, bl
xor dl, 0xff
xor bh, 0xff
mov bl, 0xff
xor bl, 0x28
or dl, bh
or bl, 0x28
xor dl, 0xff
and dl, bl
mov bh, ch
and bh, dh
xor 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, 0x6d
mov cl, 0xff
xor cl, 0x6d
and bh, cl
mov dh, bl
xor dh, 0xff
and dh, 0x6d
and bl, cl
mov ecx, dword [esp + 0x38]
or dl, bh
or dh, bl
xor dl, dh
mov byte [ecx + eax], dl
add eax, 0x3d7b08b5
sub eax, 0x942e5b0d
sub eax, 0x3d7b08b5
sub eax, 0xb9cccb13
sub eax, 0x872241ee
add eax, 0xb9cccb13
xor ecx, ecx
sub ecx, 0x942e5b0d
sub eax, ecx
xor ecx, ecx
sub ecx, 0x28db1643
add eax, ecx
sub eax, 0x7661decd
add eax, 1
add eax, 0x7661decd
add eax, 0x74f2ae92
add eax, 0x28db1643
sub eax, 0x74f2ae92
add eax, 0xbbbb8562
sub eax, 0xccb147aa
sub eax, 0xbbbb8562
sub eax, 0x82601829
add eax, 0x872241ee
add eax, 0x82601829
add eax, 0x8088ab7d
add eax, 0xccb147aa
sub eax, 0x8088ab7d
cmp eax, 0x10
mov dword [esp + 0x28], eax
jne 0x10003806
mov eax, dword [0x10095030]
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add eax, 0x7dd833c
mov dword [esp], eax
mov eax, dword [esp]
mov dword [eax], 1
jmp 0x10003eec
add esp, 0x40
pop ebx
ret