Function at 0xbdc0b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x198
mov dword [esp + 0x10], 0x5ac358b8
mov dword [esp + 0x14], 0x5ec25cc8
mov dword [esp + 0x18], 0x525150c1
mov word [esp + 0x1c], 0
mov eax, 0xa00659f
mov ecx, 0x75ff9a60
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0xa00658f]
mov esi, eax
and esi, 0xa00441e
mov edi, ecx
and edi, 0x44e50821
or edi, esi
xor edi, edx
xor edi, 0x3b1ad65e
lea esi, [ecx - 0x75ff9a00]
and esi, edx
or esi, edi
mov edi, ecx
and edi, 0x17
mov ebx, eax
and ebx, 0xa8
or ebx, edi
xor ebx, 0x17
lea edi, [eax - 0xa006500]
and edi, ebx
not edx
or edx, edi
and edx, esi
mov ebx, 0xaffcd306
sub ebx, edx
or edx, ebx
and edx, 1
or ebx, 1
add ebx, edx
mov byte [esp + eax - 0xa00658f], bl
inc eax
dec ecx
cmp eax, 0xa0065ad
jne 0xbdc0f0
mov dword [esp + 0x34], 0xfba0da4
mov dword [esp + 0x38], 0x13a211a4
mov dword [esp + 0x3c], 0x17f915ee
mov dword [esp + 0x40], 0x1bb619f7
mov dword [esp + 0x44], 0x1fbd1db3
mov dword [esp + 0x48], 0xe34ee141
mov dword [esp + 0x4c], 0xe749e54c
mov dword [esp + 0x50], 0xeb5ee95b
mov dword [esp + 0x54], 0xefeeed16
mov eax, 0xbe72e06d
mov ecx, 0x418d1f93
nop
movzx edi, byte [esp + eax + 0x418d1fc7]
mov edx, ecx
or edx, edi
add edx, eax
mov ebx, edx
or ebx, 0xfffffffd
inc ebx
mov esi, edx
and esi, 0xfffffffd
imul esi, ebx
add esi, edi
mov edi, edx
or edi, 2
shr edx, 1
and edx, 1
imul edx, edi
add edx, edx
sub esi, edx
lea edx, [eax + esi]
add edx, 0xc68fc9e
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
mov byte [esp + eax + 0x418d1fc7], dl
inc eax
dec ecx
cmp eax, 0xbe72e091
jne 0xbdc1b0
movzx ecx, word [esp + 0x34]
lea eax, [esp + 0x154]
test cx, cx
je 0xbdc233
lea edx, [esp + 0x36]
mov esi, dword [ebp + 0x10]
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0xbdc220
jmp 0xbdc236
mov esi, dword [ebp + 0x10]
mov word [eax], 0
movzx ecx, word [esi]
test cx, cx
je 0xbdc261
lea edx, [esi + 2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0xbdc250
mov word [eax], 0
movzx ecx, word [esp + 0x10]
test cx, cx
je 0xbdc291
lea edx, [esp + 0x12]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0xbdc280
mov word [eax], 0
mov eax, dword [ebp + 0xc]
mov esi, dword [eax]
mov dword [esp + 0x34], 0x1a1b1941
mov word [esp + 0x38], 0x7f
xor eax, eax
nop
nop
nop
nop
mov ecx, eax
add cl, 0xb3
xor cl, byte [esp + eax + 0x34]
xor cl, 0xd0
add cl, 0xe8
mov byte [esp + eax + 0x34], cl
inc eax
cmp eax, 6
jne 0xbdc2b0
movzx eax, byte [esp + 0x34]
test al, al
je 0xbdc2eb
lea ecx, [esp + 0x35]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0xbdc2e0
mov byte [esi], 0
lea eax, [esp + 0x144]
lea ecx, [esp + 0x148]
lea edx, [esp + 0x30]
lea edi, [esp + 0x154]
push eax
push ecx
push edx
push edi
call fcn.00bcc5f0
add esp, 0x10
movzx eax, al
mov eax, dword [eax*4 + 0xc03d58]
mov ecx, 0x9b876a16
xor ecx, dword [0xc03d60]
add eax, ecx
inc eax
jmp eax