Function at 0x411df0
Capabilities:
Encode data using xor
Encrypt data using blowfish

Disassembly:
push ebp
mov ebp, esp
mov al, byte [ebp + 0xc]
mov edx, dword [ebp + 8]
sub esp, 8
push esi
mov esi, ecx
test al, al
je 0x4120e2
cmp al, 0x38
ja 0x4120e2
test esi, esi
je 0x4120e2
push ebx
mov ecx, 0x437990
push edi
mov eax, edx
sub ecx, edx
mov ebx, 0x12
mov edi, dword [ecx + eax]
mov dword [eax], edi
add eax, 4
dec ebx
jne 0x411e27
mov eax, 0x4379d8
lea ecx, [edx + 0x48]
lea edi, [ebx + 4]
lea ecx, [ecx]
mov ebx, 0x100
mov edx, dword [eax]
mov dword [ecx], edx
add eax, 4
add ecx, 4
dec ebx
jne 0x411e45
dec edi
jne 0x411e40
mov edi, dword [ebp + 8]
movzx ecx, byte [ebp + 0xc]
mov dword [ebp - 4], ebx
add edi, 8
mov dword [ebp + 0xc], 3
lea esp, [esp]
xor edx, edx
lea eax, [ebx + 1]
div ecx
movzx eax, byte [edx + esi]
movzx edx, byte [ebx + esi]
shl edx, 8
or eax, edx
shl eax, 8
mov dword [ebp - 8], eax
xor edx, edx
lea eax, [ebx + 2]
div ecx
movzx eax, byte [edx + esi]
mov edx, dword [ebp - 8]
or edx, eax
mov eax, dword [ebp - 4]
shl edx, 8
add eax, 3
mov dword [ebp - 8], edx
xor edx, edx
div ecx
mov eax, dword [ebp - 8]
movzx edx, byte [edx + esi]
or eax, edx
xor dword [edi - 8], eax
mov eax, dword [ebp - 4]
add eax, 4
xor edx, edx
div ecx
mov ebx, edx
xor edx, edx
lea eax, [ebx + 1]
div ecx
mov dword [ebp - 4], ebx
movzx eax, byte [edx + esi]
movzx edx, byte [ebx + esi]
shl edx, 8
or eax, edx
shl eax, 8
mov dword [ebp - 8], eax
xor edx, edx
lea eax, [ebx + 2]
div ecx
movzx eax, byte [edx + esi]
mov edx, dword [ebp - 8]
or edx, eax
shl edx, 8
mov dword [ebp - 8], edx
xor edx, edx
mov eax, ebx
add eax, 3
div ecx
mov eax, dword [ebp - 8]
movzx edx, byte [edx + esi]
or eax, edx
xor dword [edi - 4], eax
xor edx, edx
mov eax, ebx
add eax, 4
div ecx
mov ebx, edx
xor edx, edx
lea eax, [ebx + 1]
div ecx
mov dword [ebp - 4], ebx
movzx eax, byte [edx + esi]
movzx edx, byte [ebx + esi]
shl edx, 8
or eax, edx
shl eax, 8
mov dword [ebp - 8], eax
xor edx, edx
lea eax, [ebx + 2]
div ecx
movzx eax, byte [edx + esi]
mov edx, dword [ebp - 8]
or edx, eax
shl edx, 8
mov eax, ebx
add eax, 3
mov dword [ebp - 8], edx
xor edx, edx
div ecx
mov eax, dword [ebp - 8]
movzx edx, byte [edx + esi]
or eax, edx
xor dword [edi], eax
xor edx, edx
mov eax, ebx
add eax, 4
div ecx
mov ebx, edx
xor edx, edx
lea eax, [ebx + 1]
div ecx
mov dword [ebp - 4], ebx
movzx eax, byte [edx + esi]
movzx edx, byte [ebx + esi]
shl edx, 8
or eax, edx
shl eax, 8
mov dword [ebp - 8], eax
xor edx, edx
lea eax, [ebx + 2]
div ecx
movzx eax, byte [edx + esi]
mov edx, dword [ebp - 8]
or edx, eax
shl edx, 8
mov dword [ebp - 8], edx
xor edx, edx
mov eax, ebx
add eax, 3
div ecx
mov eax, dword [ebp - 8]
movzx edx, byte [edx + esi]
or eax, edx
xor dword [edi + 4], eax
xor edx, edx
mov eax, ebx
add eax, 4
div ecx
mov ebx, edx
xor edx, edx
lea eax, [ebx + 1]
div ecx
mov dword [ebp - 4], ebx
movzx eax, byte [edx + esi]
movzx edx, byte [ebx + esi]
shl edx, 8
or eax, edx
shl eax, 8
mov dword [ebp - 8], eax
xor edx, edx
lea eax, [ebx + 2]
div ecx
movzx eax, byte [edx + esi]
mov edx, dword [ebp - 8]
or edx, eax
shl edx, 8
mov dword [ebp - 8], edx
xor edx, edx
mov eax, ebx
add eax, 3
div ecx
mov eax, dword [ebp - 8]
movzx edx, byte [edx + esi]
or eax, edx
xor dword [edi + 8], eax
xor edx, edx
mov eax, ebx
add eax, 4
div ecx
mov ebx, edx
xor edx, edx
lea eax, [ebx + 1]
div ecx
mov dword [ebp - 4], ebx
movzx eax, byte [edx + esi]
movzx edx, byte [ebx + esi]
shl edx, 8
or eax, edx
shl eax, 8
mov dword [ebp - 8], eax
xor edx, edx
lea eax, [ebx + 2]
div ecx
add edi, 0x18
movzx eax, byte [edx + esi]
mov edx, dword [ebp - 8]
or edx, eax
shl edx, 8
mov dword [ebp - 8], edx
xor edx, edx
mov eax, ebx
add eax, 3
div ecx
mov eax, dword [ebp - 8]
movzx edx, byte [edx + esi]
or eax, edx
xor dword [edi - 0xc], eax
mov eax, ebx
add eax, 4
xor edx, edx
div ecx
dec dword [ebp + 0xc]
mov ebx, edx
mov dword [ebp - 4], ebx
jne 0x411e70
mov eax, dword [ebp + 8]
xor edi, edi
mov dword [ebp + 0xc], edi
mov dword [ebp - 4], edi
lea ebx, [ebx]
lea ecx, [ebp + 0xc]
push ecx
lea esi, [ebp - 4]
call fcn.00411590
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 4]
mov dword [eax + edi*4], edx
mov dword [eax + edi*4 + 4], ecx
add edi, 2
cmp edi, 0x12
jb 0x412080
lea edi, [eax + 0x4c]
mov dword [ebp + 8], 4
jmp 0x4120b0
mov ebx, 0x80
lea edx, [ebp + 0xc]
push edx
lea esi, [ebp - 4]
call fcn.00411590
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 4]
mov dword [edi - 4], ecx
mov dword [edi], edx
add edi, 8
dec ebx
jne 0x4120b5
dec dword [ebp + 8]
jne 0x4120b0
pop edi
pop ebx
mov al, 1
pop esi
mov esp, ebp
pop ebp
ret 8
xor al, al
pop esi
mov esp, ebp
pop ebp
ret 8