Function at 0x484f8f
Capabilities:
Encrypt data using blowfish

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0x20
cmp dword [0x4fd6c0], 0
jne 0x484fdc
mov dword [0x4fd6c0], 1
call fcn.00484d43
mov dword [0x4fd6d0], eax
cmp dword [0x4fd6d0], 0
je 0x484fdc
sub esp, 4
push dword [0x4fd6d0]
push 0x4f098d
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call sub.msvcrt.dll_fprintf
add esp, 0x10
cmp dword [0x4fd6d0], 0
je 0x484ff1
mov dword [ebp - 0x20], 0x32
jmp 0x48537e
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0x11
jg 0x48501c
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax*4 + 0x4f08a0]
mov dword [ecx + edx*4 + 0x1000], eax
lea eax, [ebp - 0xc]
inc dword [eax]
jmp 0x484ff8
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0xff
jg 0x48508b
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax*4 + 0x4ef8a0]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax*4 + 0x4efca0]
mov dword [ecx + edx*4 + 0x400], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax*4 + 0x4f00a0]
mov dword [ecx + edx*4 + 0x800], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax*4 + 0x4f04a0]
mov dword [ecx + edx*4 + 0xc00], eax
lea eax, [ebp - 0xc]
inc dword [eax]
jmp 0x485023
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0x11
jg 0x485151
mov eax, dword [ebp - 0x10]
add eax, dword [ebp + 0xc]
mov al, byte [eax]
mov byte [ebp - 0x11], al
mov edx, dword [ebp - 0x10]
inc edx
lea eax, [ebp + 0x10]
mov dword [ebp - 0x24], eax
mov eax, edx
mov ecx, dword [ebp - 0x24]
mov edx, 0
div dword [ecx]
mov eax, dword [ebp + 0xc]
mov al, byte [edx + eax]
mov byte [ebp - 0x12], al
mov edx, dword [ebp - 0x10]
add edx, 2
lea eax, [ebp + 0x10]
mov dword [ebp - 0x24], eax
mov eax, edx
mov ecx, dword [ebp - 0x24]
mov edx, 0
div dword [ecx]
mov eax, dword [ebp + 0xc]
mov al, byte [edx + eax]
mov byte [ebp - 0x13], al
mov edx, dword [ebp - 0x10]
add edx, 3
lea eax, [ebp + 0x10]
mov dword [ebp - 0x24], eax
mov eax, edx
mov ecx, dword [ebp - 0x24]
mov edx, 0
div dword [ecx]
mov eax, dword [ebp + 0xc]
mov al, byte [edx + eax]
mov byte [ebp - 0x14], al
mov esi, dword [ebp + 8]
mov ebx, dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
xor eax, dword [ecx + edx*4 + 0x1000]
mov dword [esi + ebx*4 + 0x1000], eax
mov edx, dword [ebp - 0x10]
add edx, 4
lea eax, [ebp + 0x10]
mov dword [ebp - 0x24], eax
mov eax, edx
mov ecx, dword [ebp - 0x24]
mov edx, 0
div dword [ecx]
mov dword [ebp - 0x10], edx
lea eax, [ebp - 0xc]
inc dword [eax]
jmp 0x485099
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0x11
jg 0x4851a7
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x18]
push eax
push dword [ebp + 8]
call fcn.00483c95
add esp, 0xc
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
mov dword [ecx + edx*4 + 0x1000], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov dword [ecx + edx*4 + 0x1004], eax
lea eax, [ebp - 0xc]
add dword [eax], 2
jmp 0x485166
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0xff
jg 0x4851eb
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x18]
push eax
push dword [ebp + 8]
call fcn.00483c95
add esp, 0xc
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov dword [ecx + edx*4 + 4], eax
lea eax, [ebp - 0xc]
add dword [eax], 2
jmp 0x4851ae
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0xff
jg 0x485236
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x18]
push eax
push dword [ebp + 8]
call fcn.00483c95
add esp, 0xc
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
mov dword [ecx + edx*4 + 0x400], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov dword [ecx + edx*4 + 0x404], eax
lea eax, [ebp - 0xc]
add dword [eax], 2
jmp 0x4851f2
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0xff
jg 0x485281
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x18]
push eax
push dword [ebp + 8]
call fcn.00483c95
add esp, 0xc
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
mov dword [ecx + edx*4 + 0x800], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov dword [ecx + edx*4 + 0x804], eax
lea eax, [ebp - 0xc]
add dword [eax], 2
jmp 0x48523d
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0xff
jg 0x4852cc
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x18]
push eax
push dword [ebp + 8]
call fcn.00483c95
add esp, 0xc
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
mov dword [ecx + edx*4 + 0xc00], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov dword [ecx + edx*4 + 0xc04], eax
lea eax, [ebp - 0xc]
add dword [eax], 2
jmp 0x485288
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0xfe
jg 0x485377
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xff
jg 0x48536d
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebx + eax*4]
cmp eax, dword [ecx + edx*4]
je 0x48535a
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebx + eax*4 + 0x400]
cmp eax, dword [ecx + edx*4 + 0x400]
je 0x48535a
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebx + eax*4 + 0x800]
cmp eax, dword [ecx + edx*4 + 0x800]
je 0x48535a
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebx + eax*4 + 0xc00]
cmp eax, dword [ecx + edx*4 + 0xc00]
je 0x48535a
jmp 0x485363
mov dword [ebp - 0x20], 0x2b
jmp 0x48537e
lea eax, [ebp - 0x10]
inc dword [eax]
jmp 0x4852e7
lea eax, [ebp - 0xc]
inc dword [eax]
jmp 0x4852d3
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x20]
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret