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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push edi
push esi
push ebx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], 0
mov word [ebp - 0xa], ax
nop
mov edx, dword [ebp - 0x10]
movsx ecx, word [ebp - 0xa]
lea ebx, [edx + edx*2]
mov dword [ebp - 0x1c], ecx
shl ebx, 5
cmp dword [ebx + 0x461880], 0
je 0x436c44
movsx ax, byte [ebx + 0x4618d9]
cmp ax, word [ebp - 0xa]
jne 0x436c44
add esp, 0xfffffffc
lea eax, [ebx + 0x461888]
push ecx
mov esi, dword [ebp + 8]
push esi
push eax
call sub.cygwin1.dll_strncmp
add esp, 0x10
test eax, eax
jne 0x436c44
add esp, 0xfffffff4
push 0
call sub.cygwin1.dll_time
mov dword [ebx + 0x4618dc], eax
mov eax, dword [ebx + 0x461880]
mov dword [0x4619a0], eax
mov eax, dword [ebx + 0x461884]
mov dword [0x4619b0], eax
jmp 0x436f7e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jle 0x436bd4
lea edx, [ebp - 8]
lea eax, [ebp - 4]
mov dword [ebp - 0x14], edx
mov edi, 0xffffffff
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x18], eax
mov edx, 0x461880
mov esi, esi
mov ecx, dword [ebp - 0x10]
lea eax, [ecx + ecx*2]
shl eax, 5
cmp dword [eax + edx], 0
jne 0x436c84
mov edi, ecx
mov dword [ebp - 0x10], 4
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jle 0x436c6c
test edi, edi
jge 0x436d45
add esp, 0xfffffff4
push 0
call sub.cygwin1.dll_time
mov edx, eax
mov dword [ebp - 0x10], 0
add esp, 0x10
mov ecx, 0x4618dc
mov ebx, dword [ebp - 0x10]
lea eax, [ebx + ebx*2]
shl eax, 5
mov eax, dword [eax + ecx]
cmp eax, edx
jg 0x436cc4
mov edx, eax
mov edi, ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jle 0x436cb0
add esp, 0xfffffffc
lea ebx, [edi + edi*2]
push 0xbf
shl ebx, 5
push 0x4362d4
mov eax, dword [ebx + 0x461880]
push eax
call fcn.00436254
mov dword [ebp - 0x10], 0
add esp, 0x10
mov esi, esi
add esp, 0xfffffffc
push 0xc1
push 0x4362d4
mov esi, dword [ebp - 0x10]
mov eax, dword [ebx + 0x461884]
mov eax, dword [eax + esi*4]
push eax
inc esi
call fcn.00436254
add esp, 0x10
mov dword [ebp - 0x10], esi
cmp esi, 3
jle 0x436cf8
add esp, 0xfffffffc
lea eax, [edi + edi*2]
push 0xc2
shl eax, 5
push 0x4362d4
mov eax, dword [eax + 0x461884]
push eax
call fcn.00436254
add esp, 0x10
add esp, 0xfffffffc
lea esi, [edi + edi]
push 0xc6
lea ebx, [edi + esi]
push 0x4362d4
shl ebx, 5
push 0x48
call fcn.004361d8
add esp, 0xfffffffc
mov dword [ebx + 0x461880], eax
push 0xc7
push 0x4362d4
push 0x10
call fcn.004361d8
mov dword [ebx + 0x461884], eax
add esp, 0x20
mov dword [ebp - 0x10], 0
add esp, 0xfffffffc
push 0xc9
push 0x4362d4
push 0x400
call fcn.004361d8
mov edx, eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x461884]
add esp, 0x10
mov dword [eax + ecx*4], edx
inc ecx
mov dword [ebp - 0x10], ecx
cmp ecx, 3
jle 0x436d8c
lea ebx, [edi + esi]
add esp, 0xfffffffc
shl ebx, 5
mov eax, dword [ebx + 0x461880]
mov dword [0x4619a0], eax
mov eax, dword [ebx + 0x461884]
mov dword [0x4619b0], eax
mov al, byte [ebp - 0xa]
mov byte [ebx + 0x4618d9], al
mov edx, dword [ebp - 0x1c]
lea eax, [ebx + 0x461888]
push edx
mov ecx, dword [ebp + 8]
push ecx
push eax
call sub.cygwin1.dll_strncpy
add esp, 0xfffffff4
push 0
call sub.cygwin1.dll_time
mov dword [ebx + 0x4618dc], eax
add esp, 0x20
mov dword [ebp - 0x10], 0
mov ecx, 0x45e748
mov ebx, dword [ebp - 0x10]
mov edx, dword [0x4619a0]
mov eax, dword [ecx + ebx*4]
mov dword [edx + ebx*4], eax
inc ebx
mov dword [ebp - 0x10], ebx
cmp ebx, 0x11
jle 0x436e18
mov dword [ebp - 0x10], 0
mov ebx, 0x45e7a8
mov ecx, dword [ebp - 0x10]
xor edi, edi
shl ecx, 0xa
mov eax, dword [0x4619b0]
mov esi, dword [ebp - 0x10]
mov edx, dword [eax + esi*4]
lea eax, [ecx + edi*4]
mov eax, dword [eax + ebx]
mov dword [edx + edi*4], eax
inc edi
cmp edi, 0xff
jle 0x436e44
inc esi
mov dword [ebp - 0x10], esi
cmp esi, 3
jle 0x436e3c
xor edi, edi
mov dword [ebp - 0x10], 0
mov ebx, dword [ebp - 0x1c]
mov esi, esi
mov eax, dword [ebp + 8]
xor ecx, ecx
mov esi, dword [ebp + 8]
mov cl, byte [edi + eax]
lea eax, [edi + 1]
shl ecx, 0x18
cdq
idiv ebx
xor eax, eax
mov al, byte [edx + esi]
shl eax, 0x10
lea esi, [edi + 2]
mov dword [ebp - 0x24], eax
mov eax, esi
or ecx, dword [ebp - 0x24]
cdq
idiv ebx
mov esi, dword [ebp + 8]
xor eax, eax
mov al, byte [edx + esi]
shl eax, 8
or ecx, eax
lea eax, [edi + 3]
cdq
idiv ebx
mov al, byte [edx + esi]
mov cl, al
mov edx, dword [ebp - 0x10]
mov eax, dword [0x4619a0]
xor dword [eax + edx*4], ecx
lea eax, [edi + 4]
inc dword [ebp - 0x10]
cdq
idiv ebx
mov edi, edx
cmp dword [ebp - 0x10], 0x11
jle 0x436e78
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 0
nop
add esp, 0xfffffff8
mov ecx, dword [ebp - 0x18]
push ecx
mov ebx, dword [ebp - 0x14]
push ebx
call fcn.004362f0
mov edx, dword [0x4619a0]
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
add esp, 0x10
mov dword [edx + esi*4], eax
mov edx, dword [0x4619a0]
mov eax, dword [ebp - 4]
mov dword [edx + esi*4 + 4], eax
add esi, 2
mov dword [ebp - 0x10], esi
cmp esi, 0x11
jle 0x436eec
mov dword [ebp - 0x10], 0
lea esi, [esi]
mov ebx, dword [ebp - 0x10]
xor edi, edi
inc ebx
mov esi, esi
add esp, 0xfffffff8
mov eax, dword [ebp - 0x18]
push eax
mov edx, dword [ebp - 0x14]
push edx
call fcn.004362f0
mov eax, dword [0x4619b0]
mov ecx, dword [ebp - 0x10]
add esp, 0x10
mov edx, dword [eax + ecx*4]
mov eax, dword [ebp - 8]
mov dword [edx + edi*4], eax
mov eax, dword [0x4619b0]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebp - 4]
mov dword [edx + edi*4 + 4], eax
add edi, 2
cmp edi, 0xff
jle 0x436f38
mov dword [ebp - 0x10], ebx
cmp ebx, 3
jle 0x436f30
lea esp, [ebp - 0x48]
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret