Function at 0xb4c009
Capabilities:
Encode data using xor

Disassembly:
bts dx, dx
xor eax, 0xf51d6894
xor edx, 0xca3e16ae
ror eax, 2
not eax
or ecx, edx
inc edx
shl dl, 0xe2
xor ebx, eax
not ecx
imul ecx, ecx
btr ecx, edx
adc edi, eax
mov eax, ecx
mov ax, word [ebp + eax - 0x5d0a5900]
or edx, ecx
shl dl, 0xc3
or dl, dh
movzx ecx, byte [esi + ecx - 0x5d0a5905]
neg dx
sal dx, 0xef
or dl, dh
xor cl, bl
xor cl, 0x95
neg cl
xor edx, edx
inc edx
sub dl, 0x14
dec cl
not cl
add cl, 0x19
shl dx, 0xe7
rol cl, 1
btc edx, edx
jae 0x9b7bad
mov edx, 0x2090e422
movzx eax, dx
bts eax, 0x8e
mov edx, dword [ebp + edx*2 - 0x4121c844]
mov cl, byte [ebp + eax - 0xe41e]
sal edx, cl
cwde
mov dword [ebp + 2], edx
add eax, eax
movzx edx, ax
mov ecx, dword [esi + edx - 0xc848]
bswap edx
bts eax, edx
lea esi, [esi + edx - 0x44c80004]
xor ecx, ebx
sar ax, 0xa9
dec edx
and edx, eax
dec ecx
rol ax, 0x44
ror ecx, 3
mul eax
rol edx, 0x9b
xor eax, edx
bswap ecx
ror dl, 0xe7
xor ecx, 0x9ebc4cb9
bswap ecx
call fcn.00c50b53
sub esi, 4
mov edx, dword [esi]
xor edx, ebx
bswap edx
mov eax, 0xdaba77a9
rol edx, 2
movzx ecx, ax
push ecx
bswap edx
xor edx, 0xf51d6894
dec byte [esp + ecx - 0x77a6]
and ax, 0xf09e
pop ecx
ror edx, 2
sar al, 0xe6
not edx
sbb ecx, ecx
ror al, 0x86
xor ebx, edx
push ecx
sub cx, 0x9e02
dec ecx
add edi, edx
mov dx, word [ecx + ebp - 0x61fd]
sub word [esp + ecx*2 - 0xc3f9], 0xc9e
bswap eax
lea ebp, [ebp + ecx*2 - 0xc3f8]
jle 0x991703
lea eax, [esp + eax + 4]
xchg byte [esp + ecx - 0x6c2248d], cl
add word [esp + ecx*2 - 0xd8449c0], 0x3899
mov byte [eax + ecx - 0x6c224e0], dl
rol dword [esp + ecx*4 - 0x1b089380], 0x37
lea edx, [ecx + ecx*8 - 0x21de4a76]
mov dword [esp + ecx*2 - 0xd8449c0], edi
ret
lea eax, [esp + eax + 8]
sub ecx, 0xf115c2be
dec cx
mov edx, dword [eax + edx - 3]
xor cl, byte [esp + ecx - 0x47abb23d]
lea ebp, [ebp + ecx - 0x47abb2b7]
mov eax, ecx
mov dword [ebp + ecx - 0x47abb2b3], edx
cdq
pop eax
pop edx
jae fcn.00a7c83e
lea eax, [eax + eax*8 + 0x20bd28a6]
sbb dl, 0x15
ror ecx, 0x70
bt ecx, 0x23
xor dl, 0x9a
rol dl, 1
sub word [esp + ecx - 0x7c0003b9], cx
inc dword [esp + ecx - 0x7c0003b9]
not ax
xor bl, dl
xadd word [esp + ecx - 0x7c0003b9], ax
lea edx, [esp + edx + 4]
xadd al, ah
inc al
mov ecx, dword [edx + ecx - 0x7c0003b9]
pop eax
mov edx, 0x76b34c2f
dec eax
lea esi, [edx + esi - 0x76b34c33]
inc al
mov dword [esi + edx - 0x76b34c2f], ecx
neg dx
call fcn.00c23592
mov dword [ebp], edx
jmp 0x9ffc95
neg cl
bswap ecx
lea esi, [esi + ecx - 0x3610001]
bts ax, ax
adc dword [esp + ecx*2 - 0x6c20000], ecx
xor cx, word [esp + ecx*4 - 0xd83ffff]
movzx eax, byte [esi + ecx*8 - 0x1b0aa310]
xor al, bl
ror byte [esp + ecx - 0x361545f], cl
xor al, 0x95
sal ecx, 1
sub word [esp + ecx*2 - 0xd855187], cx
neg al
shl dword [esp + ecx*4 - 0x1b0aa310], cl
dec cl
sbb cx, 0x8435
dec al
not al
add al, 0x19
rol al, 1
xor bl, al
jmp 0x95ad5e
xor bl, cl
shl edx, 0xef
adc ecx, esp
btr dx, dx
mov byte [ecx + edx*2 - 0x76810000], al
mov ecx, dword [edx + esi - 0x3b408009]
dec dl
bswap edx
jle 0xc28066
syscall
call fcn.00c546a9
push 0xcf8a2ea1
inc esp
mov eax, dword [ebp]
dec eax
add ebp, 4
mov ecx, 0xe1bec492
inc esp
xor eax, ebx
jmp 0xba49e2
mov eax, edx
jmp edi
dec eax
cwde
inc esi
mov dword [esi + edi*2 - 0xeba2], ebx
shr dl, 0xc7
inc ecx
adc edx, edi
sal edx, 0x22
inc ecx
jmp ecx
sub eax, 0xed18601d
xadd ecx, edx
shr dword [esp + edx*4 - 0xee65f13], 0x6b
sar dword [esp + edx*2 - 0x7732f88], 0xf6
neg eax
sub word [esp + edx - 0x3b997c2], 0xa13c
ror eax, 1
lea eax, [edx + eax + 0x6ffe36e6]
sal cx, 0xc4
sub dx, cx
and dl, dl
xor ebx, eax
sar byte [esp + edx - 0x3b91bbe], 0xe6
inc dx
add ebp, eax
movzx eax, cl
movzx edx, byte [edi + edx*8 - 0x1dc8de30]
lea edi, [ecx + edi - 0x3b97bff]
test byte [esi - 4], al
xor dl, bl
pop eax
sub byte [esp + ecx - 0x3b97c00], 0xb1
dec ax
adc dl, 0x25
xchg byte [esp + ecx - 0x3b97bfd], al
rol dl, 1
shr word [esp + ecx - 0x3b97bff], 0xec
jns 0x97e89f
mov ebp, 0x246b1478
mov dword [0xf7c57e97], eax
sub bh, dl
xchg edi, eax
jle 0xb4bf01
inc ebx
add byte [edi - 0x4c3a8169], ah
sub al, 0x13
adc dh, dl
invalid
dec word [esp + 4]
mov dword [edi + 0xc], eax
mov dword [esp], 0xe0d5cb9
mov eax, 0x44044488
xadd dword [esp + eax - 0x44044487], eax
mov dword [edi + eax*2 - 0xc1c1ab0], ebx
neg dword [esp + eax*2 - 0xc1c1ab6]
mov dword [edi + eax*8 - 0x30706adc], ecx
push eax
sar ax, 0xa6
jne 0xbc097e
mov ecx, 0xf8285aa8
lea ecx, [ecx + ecx*2 - 0x77e22e6f]
mov eax, dword [ecx + esi - 0x7096e18d]
xor eax, ebx
movzx edx, cx
bswap eax
rol eax, 2
inc cx
bswap eax
jg 0xc27853
jno 0x71210c
pop es
fadd dword [edi]
fsubr dword [0xfcd746c]
mov al, 0xed
sti
jl 0xb4c0c1
push 0x74ebb50f
aas
push 0x58dd950f
aas
push 0xae50190f
mov dword [edx], edi
std
add dword [eax], esi
xor ebx, esp
cmp ecx, dword [eax - 0x19]
jl 0xb4c0fc
adc bh, byte [edi - 0x3c]
ret 0x6f69
mov word [ecx], es
sahf
mov dword [0x18c7e7a], eax
cmp cl, byte [ecx]
push 0x8058b0f4
pop eax
xor cl, 0x3a
neg cl
ror edx, 0xc4
invalid
lea ecx, [esp + ecx + 4]
add word [esp + edx - 0x5169eb60], 0xf1b0
xor eax, 0x4e142b02
movzx dx, byte [ecx + eax - 0x445a3a90]
bt eax, 7
mov word [ebp + eax - 0x445a3a92], dx
movsx edx, ax
movzx eax, byte [eax + edi - 0x445a3a92]
sal word [esp + edx - 0x3a90], 0xb
mov ecx, dword [esp + edx - 0x3a90]
xor al, bl
rol edx, 0xfe
bt cx, 0xa
btr cx, 0x9c
not al
or word [esp + edx*2 - 0x1d46], dx
ror al, 1
and word [esp + ecx - 0x8000], dx
adc word [esp + edx - 0xea2], dx
call fcn.00963ca3
sar edx, 0xe4
rol eax, 1
neg eax
push edx
dec ecx
lea eax, [eax + ecx - 0x4e4ed8a9]
neg word [esp + ecx - 0x35c1efff]
xor ebx, eax
add esi, eax
movzx eax, byte [ecx + edi - 0x35c1efff]
push ecx
pop edx
push edx
lea edi, [edi + edx - 0x35c1effe]
sub ecx, dword [esp + edx - 0x35c1effe]
and dword [esp + edx - 0x35c1effc], edx
xor al, bl
rol al, 1
sar ecx, cl
xchg dword [esp + edx - 0x35c1effd], ecx
xor al, 2
sar word [esp + edx*2 - 0x6b83dff9], 0xe9
adc al, dl
add dword [esp + edx*2 - 0x6b83dffa], ecx
ror al, cl
xor ecx, dword [esp + edx - 0x35c1effb]
sbb edx, ecx
setbe byte [esp + edx*2 - 0x7182e9f8]
xor bl, al
xchg ecx, edx
shr edx, cl
jne 0x97a726
sub edi, 4
push 0x188d9316
mov edx, dword [edi]
push 0x93a19b81
mov eax, 0xf9090b1
call fcn.00b37579
inc ecx
add eax, 0x39bd6513
inc ecx
ror eax, 1
inc ecx
sub eax, 0x4308b2bd
neg cl
dec eax
not dword [esp]
mov edi, ecx
inc ecx
ror eax, 1
inc esp
movsx edi, word [esp + 1]
inc edx
inc dword [esp + edi*2 - 0xeba0]
inc ecx
xor eax, 0x9f3a0d11
inc ebp
movsx ebp, bh
inc edx
and byte [esp + edi - 0x75cb], cl
mov eax, ecx
inc ecx
inc eax
dec esp
lea ebx, [ecx*2 - 0x7ec3765f]
inc dx
shr dword [esp + edi*4 - 0x1d740], 0x23
dec edx
mov dword [esp + edi*4 - 0x1d744], ebx
dec ecx
lea edx, [edi + ecx*4 + 0x7e119225]
inc esi
xor dword [esp + edi*8 - 0x3ae88], eax
inc ecx
mov esi, 0x57ba54a8
dec ecx
xor edi, esi
pop ebx
dec ebp
arpl ax, ax
dec eax
sar edx, cl
inc al
dec eax
bt edi, 0x80
dec ebp
adc ecx, eax
dec ebx
mov esi, dword [edx + edi*2 - 0xeba2]
inc edi
mov ebx, dword [edi + edx - 0x75c9]
inc cx
sar ebp, cl
dec edi
lea edx, [edi + edx - 0x75c5]
js 0xac91e2
je 0xa8db86
shld edx, eax, cl
mov eax, 0x5c0a1700
lea ecx, [eax + eax*4 + 0x3e9f6d35]
mov dword [esi + ecx - 0xad1e035], edx
add word [esp + ecx - 0xad1e034], 0x913d
sbb byte [esp + eax - 0x5c0a16ff], al
mov dword [esp + eax - 0x5c0a1700], edi
ret 4
mov dword [eax + edi - 0x60e0035], edx
mov ecx, dword [esp + eax*2 - 0xc1c0067]
mov ebx, dword [esp + eax*4 - 0x183800c8]
dec byte [esp + eax*4 - 0x183800cc]
xor dword [esp + eax - 0x60e0035], 0xfd87558e
sal dword [esp + eax*4 - 0x183800d3], 0x36
pop edx
pop eax
pop ecx
pop eax
jne fcn.00703b43
not eax
btr edx, ecx
btc ecx, ecx
neg eax
xor eax, 0xd48d9b99
shr ecx, 0xc6
sbb eax, 0xf08c7629
sar edx, 0x27
push edx
xor eax, 0x55af3a83
push edx
bswap eax
jmp 0xb4bead
ror dl, 7
lea ecx, [edx + ecx - 0x277ed6d9]
imul edx, edx
movzx eax, dl
xor ax, ax
rol ecx, 3
bswap eax
dec ecx
xor ecx, 0xa02a417
xor ebx, ecx
and dx, ax
shl edx, 0x89
mov dword [ebp + edx*8 - 2], ecx
lea ebp, [edx + ebp - 2]
jae fcn.009fa672
sub esi, 4
mov edx, 0x83919718
mov ecx, edx
mov eax, dword [esi]
ror cl, 0x66
xor dl, dl
bswap edx
xor eax, ebx
and edx, edx
shr ecx, 0x30
xadd edx, ecx
inc eax
bt ecx, ecx
sbb dx, cx
not eax
btr edx, edx
adc cl, dh
bswap eax
not eax
adc dx, 0x401c
push edx
sbb dx, dx
xor ebx, eax
and ecx, 0x88178a20
btr edx, 0x36
bswap ecx
adc edi, eax
bts edx, ecx
mov dword [esp + edx - fcn.00980001], edi
ret
adc esi, 0xfffffff7
xor ecx, ebx
shr dx, 8
jae 0xbf3318
xor ecx, 0x672d4f3e
mov edx, dword [esi]
lea eax, [ecx + ecx*2 - 0x7ac549f6]
call fcn.00b6e8fc