Function at 0x463132
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push ebx
push esi
push edi
mov edi, ecx
xor ebx, ebx
lea ecx, [ebp - 0x38]
mov dword [ebp - 0xc], edi
mov dword [edi + 0x88], ebx
mov dword [edi + 0xd8], ebx
call int.0040a99c
lea ecx, [ebp - 0x28]
call 0x6740a99c
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 4]
test esi, esi
jne 0x463170
push dword [ebp + 8]
jmp 0x48c3621
push ebx
mov ecx, eax
call 0x67403a7a
cmp word [eax], 0x5b
jne 0x493545
mov ecx, dword [ebp + 0xc]
lea eax, [esi - 1]
push eax
call 0x67403a7a
cmp word [eax], 0x5d
jne 0x493545
lea eax, [esi - 2]
mov dword [ebp - 0x14], 0xffd701
mov dword [ebp - 4], eax
mov esi, dword [ebp + 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x38]
push eax
push esi
call fcn.00462e45
test al, al
je 0x493548
push 0x4c5ba0
call fcn.0042499e
mov esi, dword [ebp - 0x34]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x10], esi
mov dword [ebp - 8], edx
pop ecx
cmp esi, eax
jne 0x46322e
mov ecx, esi
mov esi, 0x4c5ba0
mov eax, esi
test ecx, ecx
je 0x463207
sub edx, esi
movzx edi, word [eax]
movzx esi, word [edx + eax]
mov dword [ebp - 0x18], edi
cmp si, di
mov edi, dword [ebp - 0xc]
jne 0x46321f
add eax, 2
sub ecx, 1
jne 0x4631ed
mov eax, ebx
test dword [ebp - 0x707ce18b], eax
mov byte [eax], al
add byte [eax], al
add dword [ebp + 0x2008c8f], ecx
fldl2t
mov dh, 2
add byte [eax], al
cmp si, word [ebp - 0x18]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x463209
push 0x4c5bb0
call fcn.0042499e
pop ecx
cmp esi, eax
jne 0x463290
mov ecx, esi
mov esi, 0x4c5bb0
mov eax, esi
test ecx, ecx
je 0x463269
mov edx, dword [ebp - 8]
sub edx, esi
movzx edi, word [eax]
movzx esi, word [eax + edx]
mov dword [ebp - 0x18], edi
cmp si, di
mov edi, dword [ebp - 0xc]
jne 0x463281
add eax, 2
sub ecx, 1
jne 0x46324f
mov eax, ebx
test dword [ebp - 0x707ce18b], eax
mov byte [eax], al
add byte [eax], al
or byte [ebp + 0x2009c8f], cl
fldl2t
push esp
add al, byte [eax]
add byte [esi + 0x3b], ah
jne 0x46326d
jne 0x46328d
or dword [edi + 0x88], 8
lea ecx, [edi - 0x26fdff64]
jmp 0x4634d5
cmp si, word [ebp - 0x18]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x46326b
mov esi, dword [ebp - 0x10]
push 0x4c5bc0
call fcn.0042499e
pop ecx
cmp esi, eax
jne 0x463305
mov ecx, esi
mov esi, 0x4c5bc0
mov eax, esi
test ecx, ecx
je 0x4632cb
mov edx, dword [ebp - 8]
sub edx, esi
movzx edi, word [eax]
movzx esi, word [eax + edx]
mov dword [ebp - 0x18], edi
cmp si, di
mov edi, dword [ebp - 0xc]
jne 0x4632f6
add eax, 2
sub ecx, 1
jne 0x4632b1
mov eax, ebx
test dword [ebp - 0x707cce8b], eax
mov byte [eax], al
add byte [eax], al
adc byte [ebp + 0xecb7], cl
add byte [ebx + 0x36c0e8ce], cl
cli
cli
call dword [ecx - 0x73]
inc ebp
fmul dword [ebx - 0x6d17af32]
xor eax, 0x37e9fffa
add al, byte [eax]
add byte [esi + 0x3b], ah
jne 0x4632e2
cmp si, word [ebp - 0x18]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4632cd
push 0x4c5bd8
call fcn.0042499e
pop ecx
cmp esi, eax
jne 0x463370
mov ecx, esi
mov esi, 0x4c5bd8
mov eax, esi
test ecx, ecx
je 0x463340
mov edx, dword [ebp - 8]
sub edx, esi
movzx edi, word [eax]
movzx esi, word [edx + eax]
mov dword [ebp - 0x18], edi
cmp si, di
mov edi, dword [ebp - 0xc]
jne 0x463361
add eax, 2
sub ecx, 1
jne 0x463326
mov eax, ebx
test dword [ebp + 0x75ff2775], eax
fadd dword [ebx + 0x888f]
add byte [eax], ah
call fcn.0042630c
pop ecx
mov dword [edi - 0x26fdff34], eax
jmp 0x463535
cmp si, word [ebp - 0x18]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x463342
push 0x4c5be0
call fcn.0042499e
pop ecx
cmp esi, eax
jne 0x4633d5
mov ecx, esi
mov esi, 0x4c5be0
mov eax, esi
test ecx, ecx
je 0x4633ab
mov edx, dword [ebp - 8]
sub edx, esi
movzx edi, word [eax]
movzx esi, word [edx + eax]
mov dword [ebp - 0x18], edi
cmp si, di
mov edi, dword [ebp - 0xc]
jne 0x4633c6
add eax, 2
sub ecx, 1
jne 0x463391
mov eax, ebx
test dword [ebp - 0x707ede8b], eax
mov byte [eax], al
add byte [eax], al
add byte [esi + eax*2], al
add al, 0x8d
invalid
cmp si, word [ebp - 0x18]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4633ad
mov edx, 0x7e4c5bec
lea ecx, [ebp - 0x38]
call 0x6741fa2d
test byte [ebp + 0x75ff1b74], al
fadd dword [ebx + 0x888f]
add byte [eax - 0x18], al
pop ss
das
cld
call [ecx - 0x77]
xchg esp, ebx
add byte [ebp + 1], dh
jmp 0x463535
lea eax, [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 4]
je 0x8c4631a5
lea eax, [ebp - 0x28]
push eax
call fcn.0040a902
jmp 0x463535
mov eax, dword [ebp - 4]
jmp 0x8c4631a5
add byte [eax], al
add byte [ebx - 0x77cdbbb], cl
push dword [ebp + 5]