Function at 0x402bc0
Capabilities:
Encrypt data using blowfish
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov word [ebp - 8], 0
mov dword [0x481da0], 0x442a68
movsx eax, word [ebp - 8]
test eax, eax
jne 0x402e27
mov word [ebp - 4], 0
jmp 0x402bf6
mov cx, word [ebp - 4]
add cx, 1
mov word [ebp - 4], cx
movsx edx, word [ebp - 4]
cmp edx, 0x12
jge 0x402c36
lea eax, [ebp - 0x1c]
push eax
call fcn.00402b90
add esp, 4
mov word [ebp - 0x14], ax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], ecx
movsx edx, word [ebp - 0x14]
cmp edx, 1
je 0x402c26
or eax, 0xffffffff
jmp 0x402e43
movsx eax, word [ebp - 4]
mov ecx, dword [ebp - 0x1c]
mov dword [eax*4 + 0x482da8], ecx
jmp 0x402bea
mov word [ebp - 4], 0
jmp 0x402c4a
mov dx, word [ebp - 4]
add dx, 1
mov word [ebp - 4], dx
movsx eax, word [ebp - 4]
cmp eax, 4
jge 0x402cb3
mov word [ebp - 0x20], 0
jmp 0x402c67
mov cx, word [ebp - 0x20]
add cx, 1
mov word [ebp - 0x20], cx
movsx edx, word [ebp - 0x20]
cmp edx, 0x100
jge 0x402cb1
lea eax, [ebp - 0x1c]
push eax
call fcn.00402b90
add esp, 4
mov word [ebp - 0x14], ax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], ecx
movsx edx, word [ebp - 0x14]
cmp edx, 1
je 0x402c9a
or eax, 0xffffffff
jmp 0x402e43
movsx eax, word [ebp - 4]
shl eax, 0xa
movsx ecx, word [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov dword [eax + ecx*4 + 0x481da8], edx
jmp 0x402c5b
jmp 0x402c3e
mov word [ebp - 0x20], 0
mov word [ebp - 4], 0
jmp 0x402ccd
mov ax, word [ebp - 4]
add ax, 1
mov word [ebp - 4], ax
movsx ecx, word [ebp - 4]
cmp ecx, 0x12
jge 0x402d54
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x18], 0
jmp 0x402cf1
mov dx, word [ebp - 0x18]
add dx, 1
mov word [ebp - 0x18], dx
movsx eax, word [ebp - 0x18]
cmp eax, 4
jge 0x402d36
mov ecx, dword [ebp - 0x1c]
shl ecx, 8
mov dword [ebp - 0x1c], ecx
movsx edx, word [ebp - 0x20]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx]
and ecx, 0xff
or ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], ecx
movsx edx, word [ebp - 0x20]
add edx, 1
mov word [ebp - 0x20], dx
movsx eax, word [ebp - 0x20]
cmp eax, 8
jl 0x402d34
mov word [ebp - 0x20], 0
jmp 0x402ce5
movsx ecx, word [ebp - 4]
mov edx, dword [ecx*4 + 0x482da8]
xor edx, dword [ebp - 0x1c]
movsx eax, word [ebp - 4]
mov dword [eax*4 + 0x482da8], edx
jmp 0x402cc1
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
mov word [ebp - 4], 0
jmp 0x402d75
movsx ecx, word [ebp - 4]
add ecx, 2
mov word [ebp - 4], cx
movsx edx, word [ebp - 4]
cmp edx, 0x12
jge 0x402dac
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 0x10]
push ecx
call fcn.00402e50
add esp, 8
movsx edx, word [ebp - 4]
mov eax, dword [ebp - 0x10]
mov dword [edx*4 + 0x482da8], eax
movsx ecx, word [ebp - 4]
mov edx, dword [ebp - 0xc]
mov dword [ecx*4 + 0x482dac], edx
jmp 0x402d6a
mov word [ebp - 4], 0
jmp 0x402dc0
mov ax, word [ebp - 4]
add ax, 1
mov word [ebp - 4], ax
movsx ecx, word [ebp - 4]
cmp ecx, 4
jge 0x402e25
mov word [ebp - 0x20], 0
jmp 0x402ddc
movsx edx, word [ebp - 0x20]
add edx, 2
mov word [ebp - 0x20], dx
movsx eax, word [ebp - 0x20]
cmp eax, 0x100
jge 0x402e23
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 0x10]
push edx
call fcn.00402e50
add esp, 8
movsx eax, word [ebp - 4]
shl eax, 0xa
movsx ecx, word [ebp - 0x20]
mov edx, dword [ebp - 0x10]
mov dword [eax + ecx*4 + 0x481da8], edx
movsx eax, word [ebp - 4]
shl eax, 0xa
movsx ecx, word [ebp - 0x20]
mov edx, dword [ebp - 0xc]
mov dword [eax + ecx*4 + 0x481dac], edx
jmp 0x402dd1
jmp 0x402db4
jmp 0x402e2d
mov word [ebp - 8], 0xffff
movsx eax, word [ebp - 8]
test eax, eax
jne 0x402e3f
mov dword [0x482df0], 1
movsx eax, word [ebp - 8]
mov esp, ebp
pop ebp
ret