Function at 0xbd2146
Capabilities:
Encode data using xor

Disassembly:
jmp 0xc64c8d
add edx, 0xa58b3491
mov dword [esi - 2], eax
movzx eax, dl
mov edx, dword [ebp + eax - 0x98]
call fcn.00cd93c5
push edx
adc edi, eax
movsx eax, cx
mov eax, dword [ebp + edx - 0x8f58ffe]
mov edx, dword [ebp + edx*4 - 0x23d63ffa]
rol ecx, cl
ror byte [esp + 1], cl
add eax, edx
lea ecx, [ecx*8 + 0x202ad020]
add dword [esp + ecx*2 - 0x5dafdc90], ecx
lea edx, [ecx + ecx - 0x2279dbfa]
mov dword [ebp + ecx*2 - 0x5dafdc8a], eax
mov eax, 0x82037a05
rol eax, 0xc4
lea ebp, [ecx + ebp - 0x2ed7ee42]
jae 0xb90819
sal ecx, cl
inc cl
bswap eax
add edx, ecx
or cx, 0x19b2
ror eax, 2
sub eax, 0x4324a03d
or dx, dx
neg eax
not dx
jmp 0x76fb77
xor ebx, eax
ror edx, 0xc4
jae 0xb2b4af
mov ecx, 0x629d7ebb
mov edx, dword [esi + ecx - 0x629d7ebb]
movzx ecx, byte [ebp + ecx - 0x629d7ebb]
mov eax, 0xb82cb4a3
bt eax, eax
lea eax, [eax + eax*2 - 0x68ca4ed9]
xor cl, bl
dec eax
shl eax, 0x5c
inc cl
ror cl, 1
shr eax, 0x13
neg cl
and eax, eax
setbe al
rol cl, 1
rol eax, 0xd0
xor bl, cl
add ecx, esp
shl eax, 0xba
mov dword [ecx + eax*2], edx
movzx edx, ax
adc eax, dword [ebp + eax*2 + 1]
rol dx, 0x84
mov ecx, 0x708683a1
xor eax, ebx
xadd ecx, edx
xor eax, 0x3002cf8b
ror ecx, 0x1e
xor ecx, ecx
and edx, 0x11310a27
dec eax
btr dx, 0xa6
jae 0xc64bf6
imul eax, eax
mov eax, dword [ecx + edx*2 - 0x6afe]
mov dword [esi + edx*2 - 0x6b02], eax
sal dx, 0x89
or edx, edx
mov eax, dword [ebp + edx*2 - 0x1fc05]
xor eax, ebx
movsx ecx, dx
not cl
rol edx, 8
rol eax, 1
bswap eax
dec eax
dec dx
ror eax, 3
not ecx
dec edx
bts cx, 0x23
lea eax, [eax + edx*4 + 0x15139a11]
and cx, 0x28b1
add ecx, edx
xor ebx, eax
add edi, eax
mov eax, dword [esi + edx*2 - 0x1fe0000]
mov cl, byte [esi + ecx - 0xfefffe]
shr eax, cl
jmp 0xac337e
rol byte [esp + edx - 0x3b360095], 1
mov dword [esp + ecx - 0x2ed7ee48], edi
ret
or dl, cl
mov ecx, eax
xchg al, cl
ror cx, 0x6b
not dl
jb 0xc59a94
bt cx, dx
jb 0xb6ac20
xchg edx, eax
js 0xbd216c
clc
btr cx, cx
movzx dx, byte [edi]
movsx eax, cl
mov cl, byte [edi + 2]
jae 0xba9cc9
inc dx
dec dword [esp + esi*4 - 0x1de3a]
inc ecx
adc dl, 0x9e
dec ebx
mov eax, dword [esi - 0x7793]
inc ecx
not dh
inc ecx
movsx esi, dl
dec ebx
mov dword [ecx + esi - 0x7774], eax
inc edx
movzx ebx, word [edi + esi - 0x776b]
xor bx, bp
inc edx
rol byte [esp + esi - 0x775d], 0x65
inc dx
xor dword [esp + esi*2 - 0xeec6], 0xc74a08a3
test byte [esp + edx*4], dh
mov bh, bh
dec dword [edx]
je 0xbd212c
mov bh, 0x9c
aaa
xchg ebp, eax
mov bh, bh
jmp dword [esi + 0x33]
sub al, 0x66
adc ebx, 0xf766cea2
rol dword [ebp + 0xf], cl
mov dh, 0xfa
dec edx
sal dword [esp + esi*2 - 0xeed8], 0xa5
adc bx, cx
xor bx, 0xda8c
dec eax
lea edx, [esi + ecx*2 + 0x6712ea21]
neg bx
dec ebp
lea esp, [edx + esi*8 - 0x4f4afe7a]
pop eax
xor bp, bx
dec eax
lea ebx, [esp + ebx + 0x10]
dec eax
cwde
inc edx
shr byte [esp + esi - 0x7762], 0x25
cwd
dec esi
mov edx, dword [ebx + esi*4 - 0x1ddb0]
dec edi
mov dword [ecx + esi - 0x777c], edx
inc ecx
pop edi
dec edx
lea esp, [esp + esi*4 - 0x1dda8]
dec ebx
lea esp, [esi + ecx - 0x777c]
popfd
inc ecx
push esp
dec esi
mov edi, dword [esp + esi*4 - 0x1dda8]
dec esi
mov esi, dword [esp + esi - 0x775c]
cwde
cbw
dec eax
mov ecx, dword [esp + edx - 0x6711ffe8]
dec esp
mov ecx, dword [esp + edx - 0x6711ffe0]
dec edx
lea eax, [ebx*2 - 0x69cd7cf5]
dec esp
mov edx, dword [esp + edx - 0x6711ffd8]
dec eax
mov dword [esp + edx - 0x6711ffd8], 0xc08a1f16
dec eax
mov eax, dword [esp + edx - 0x6711ffd0]
call fcn.00b1969e
jne 0xbdce68
add byte [eax], al
add byte [edi + 0x65], al
je 0xbd22a7
outsd dx, dword [esi]
jne 0xbd22ca
inc esi
imul ebp, dword [ebp + 0x4e], 0x41656d61
add al, ch
outsb dx, byte [esi]
mov dword [ebx], eax
add byte [edx + 0x3f9be681], bh
rol edx, 0x76
lea eax, [edx + edx*4 + 0x60007f20]
movzx ecx, byte [ebp]
or eax, edx
adc eax, eax
inc edx
xor cl, bl
xor cl, 0x1d
inc cl
sal edx, 0x78
sub dx, dx
xor cl, 0x82
inc eax
dec cl
imul edx
cmovae dx, ax
ror cl, 1
shr dx, 0x25
xor cl, 0xa6
int1
cmpsb byte [esi], byte es:[edi]
add eax, eax
bswap eax
call fcn.007a52c1
add byte [eax], al
add byte [edi + eax*4 + 0x5c], cl
and al, 0
adc cl, byte ss:[edx]
push eax
cdq
push eax
mov word [edi - 2], cx
push edx
movsx ecx, dl
bts ecx, eax
sbb edi, 1
pop edx
pop edx
pop eax
pop edx
jmp fcn.00c409cb
rol ecx, cl
cwde
mov word [edi + 2], dx
movzx edx, al
cwde
mov edx, dword [esi + edx - 0x96]
or cx, 0x5eaf
lea ecx, [ecx*2 - 0x7e46b267]
or cl, ah
adc esi, 0xfffffffc
ror eax, cl
or ecx, 0xb123e3b9
cwde
xor edx, ebx
inc edx
rol cx, 5
inc cl
neg cl
bswap edx
neg eax
neg ecx
inc edx
cwde
neg edx
add cl, 0x38
inc edx
btc eax, 0x2e
xor ebx, edx
bswap eax
xor cx, ax
adc ebp, edx
inc ecx
rol eax, cl
setp al
lea ecx, [edi + eax*4 - 0x1b67ffe]
mov dword [edi + eax*4 - 0x1b68002], ecx
call fcn.00caa9a1
pop esi
pop edi
xor al, 0x7d
xchg ebx, eax
pop ebx
ror dword [edi - 0x74], 1
cld
cmp ebp, ebx
ror dword [edi - 0x74], 1
mov esp, 0x92d8a37f
cmpsd dword [esi], dword es:[edi]
pop ecx
push esi
push ss
repe scasd eax, dword es:[edi]
and edi, edi
into
push es
pop ss
and ebx, ebp
int 0
pop ebp
rol dword [0x59266033], 0xc
arpl bx, sp
jge 0xc59b56
mov byte [edi + 0x3ddbb3ff], cl
cmp cl, byte cs:[ecx]
retf 0x46b8
dec edi
invalid
dec dx
not eax
neg ecx
xor eax, 0xed3c7ea8
call fcn.00bb5a1d
lea eax, [eax + ecx - 0x3c487b14]
shl edx, 0xf3
imul ecx, ecx
xor eax, 0x6f0134bb
bts cx, dx
jb 0x7b68ce