Function at 0x5bd916
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0xbd0808
mov eax, dword fs:[0]
push eax
sub esp, 0x50
mov eax, dword [0x1345914]
xor eax, esp
mov dword [esp + 5], eax
push ebx
push esi
push edi
add byte [ecx + ebx*2], dl
xor al, 1
xor eax, esp
push eax
lea eax, [esp + 0x60]
mov dword fs:[0], eax
lea eax, [esp + 0x30]
push eax
mov esi, ecx
call 0x849336
mov ecx, dword [eax + 4]
lea edx, [esp + 0x38]
mov dword [esp + 0x2c], ecx
push edx
mov ecx, esi
call 0x849336
fild dword [esp + 0x2c]
fst dword [ebp - 0x30]
pop edi
xor al, 0
mov eax, dword [eax]
fld st(0)
mov dword [esp + 0x14], eax
fmulp st(2)
fxch st(1)
call 0xd8aaf6
fimul dword [esp + 0x14]
push eax
call 0xd8aaf6
push eax
mov ecx, esi
call 0x857d56
mov ebx, dword [esi + 0x14]
mov edi, dword [ebx + 0x10]
mov ecx, dword [edi + 0x1c]
sub ecx, dword [edi + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
fild dword [eax + edx*2 + 0x14]
fld dword [0x1345f00]
fld st(0)
fmulp st(2)
fxch st(1)
call 0xd8aaf6
mov edx, dword [edi + 0x18]
sub edx, dword [edi + 0x10]
push eax
inc edx
mov dword [esp + 0x18], edx
fimul dword [esp + 0x18]
call 0xd8aaf6
push eax
mov ecx, ebx
call 0x857d56
mov ebx, dword [esi + 0x18]
mov edi, dword [ebx + 0x10]
mov eax, dword [edi + 0x1c]
sub eax, dword [edi + 0x14]
jecxz 0x5bd973
inc esp
and al, 0
fild dword [esp + 0x14]
fld dword [0x1345fd0]
fld st(0)
fmulp st(2)
fxch st(1)
call 0xd8aaf6
mov ecx, dword [edi + 0x18]
sub ecx, dword [edi + 0x10]
push eax
inc ecx
mov dword [esp + 0x18], ecx
fimul dword [esp + 0x18]
call 0xd8aaf6
push eax
mov ecx, ebx
call 0x857d56
mov ebx, dword [esi + 0x60]
mov edi, dword [ebx + 0x10]
xchg ecx, eax
push edi
sbb al, 0x2b
add byte [edx + eax*2], dl
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fld dword [0x1345fd0]
fld st(0)
fmulp st(2)
fxch st(1)
call 0xd8aaf6
push eax
mov eax, dword [edi + 0x18]
sub eax, dword [edi + 0x10]
inc eax
mov dword [esp + 0x18], eax
fimul dword [esp + 0x18]
call 0xd8aaf6
push eax
mov ecx, ebx
call 0x857d56
mov ebx, dword [edx]
pop eax
mov edi, dword [ebx]
mov ecx, dword [edi + 0x1c]
sub ecx, dword [edi + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fld dword [0x1345fd0]
fld st(0)
fmulp st(2)
fxch st(1)
call 0xd8aaf6
mov edx, dword [edi + 0x18]
sub edx, dword [edi + 0x10]
push eax
inc edx
mov dword [esp + 0x18], edx
fimul dword [esp + 0x18]
call 0xd8aaf6
push eax
mov ecx, ebx
call 0x853356
mov eax, dword [eax]
pop eax
call 0x84c0d6
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [0x1345fd0]
call 0xd8aaf6
mov ecx, dword [esi + 0x58]
mov edi, eax
call 0x84c096
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [0x1345fd0]
call 0xd8aaf6
mov ecx, dword [esi + 0x58]
mov dword [eax + ebx*4 + 0x14], eax
lea eax, [eax + eax + 0x14]
push eax
mov dword [esp + 0x1c], edi
call 0x854ab6
mov ebx, dword [esi + 0x54]
mov edi, dword [ebx + 0x10]
mov ecx, dword [edi + 0x1c]
sub ecx, dword [edi + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fld dword [0x1345fd0]
fld st(0)
fmulp st(2)
fxch st(1)
call 0xd8aaf6
mov edx, dword [edi + 0x18]
sub edx, dword [edi + 0x10]
push eax
inc edx
mov dword [esp - 0x80], edx
fimul dword [esp]
call 0xd8aaf6
push eax
mov ecx, ebx
call 0x857d56
mov ecx, dword [esi + 0x54]
call 0x84c0d6
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [0x1345fd0]
call 0xd8aaf6
mov ecx, dword [esi + 0x54]
mov edi, eax
call 0x84c096
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [0x134efd0]
call 0xd8aa6d
mov ecx, dword [esi + 0x54]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
mov dword [esp + 0x1c], edi
call 0x854ab6
mov ebx, dword [esi + 0x38]
mov edi, dword [ebx + 0x10]
mov ecx, dword [edi + 0x1c]
sub ecx, dword [edi + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fld dword [0x1345fd0]
fld st(0)
fmulp st(2)
fxch st(1)
call 0xd8aaf6
pop es
push edi
sbb byte [ebx], ch
add byte [eax], dl
push eax
inc edx
mov dword [esp + 0x18], edx
fimul dword [esp + 0x18]
call 0xd8aaf6
push eax
mov ecx, ebx
call 0x857d56
mov ecx, dword [esi + 0x38]
call 0x84c0d6
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [0x1345fd0]
call 0xd8aaf6
mov ecx, dword [esi + 0x38]
mov edi, eax
call 0x84c096
mov dword [ebx + edx + 0x14], eax
fild dword [eax + eax + 0x14]
fmul dword [0x1345fd0]
call 0xd8aaf6
mov ecx, dword [esi + 0x38]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
mov dword [esp + 0x1c], edi
call 0x854ab6
mov ebx, dword [esi + 0x40]
mov edi, dword [ebx + 0x10]
mov ecx, dword [edi + 0x1c]
sub ecx, dword [edi + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fld dword [0x1345fd0]
fld st(0)
fmulp st(2)
in eax, 0xc9
call 0xd7dcf6
mov edx, dword [edi + 0x18]
sub edx, dword [edi + 0x10]
push eax
inc edx
mov dword [esp + 0x18], edx
fimul dword [esp + 0x18]
call 0xd8aaf6
push eax
mov ecx, ebx
call 0x857d56
mov ecx, dword [esi + 0x40]
call 0x84c0d6
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [0x1345fd0]
call 0xd8aaf6
mov ecx, dword [esi + 0x40]
mov edi, eax
call 0x848096
mov dword [eax], eax
and al, 0x14
fild dword [esp + 0x14]
fmul dword [0x1345fd0]
call 0xd8aaf6
mov ecx, dword [esi + 0x40]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
mov dword [esp + 0x1c], edi
call 0x854ab6
mov ebx, dword [esi + 0x24]
mov edi, dword [ebx + 0x10]
mov ecx, dword [edi + 0x1c]
sub ecx, dword [edi + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fld dword [0x1345fd0]
fstp dword [edi + 0xd9cade]
call 0xd8aaf6
mov edx, dword [edi + 0x18]
sub edx, dword [edi + 0x10]
push eax
inc edx
mov dword [esp + 0x18], edx
fimul dword [esp + 0x18]
call 0xd8aaf6
push eax
mov ecx, ebx
call 0x857d56
mov ecx, dword [esi + 0x24]
call 0x84c0d6
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [0x1345fd0]
call 0xd8aaf6
mov ecx, dword [esi + 0x24]
mov edi, eax
call 0x84c0c0
add byte [esp + 0x14], al
fild dword [esp + 0x14]
fmul dword [0x1345fd0]
call 0xd8aaf6
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
mov dword [esp + 0x1c], edi
call 0x854ab6
mov ebx, dword [esi + 0x4c]
mov edi, dword [ebx + 0x10]
mov ecx, dword [edi + 0x1c]
sub ecx, dword [edi + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fld dword [0x1345fd0]
fld st(0)
xchg ebx, eax
retf 0xc9d9