Function at 0x49f2e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
xchg edx, edx
sub esp, 0x24
push ebx
push esi
xchg esi, esi
push edi
mov ebx, ecx
nop
sub esp, 4
mov dword [esp - 0x10], ebp
mov dword [esp], 0x7b710395
sub dword [esp], 0x65b7695a
sub dword [esp], 0x9f401f2
xor dword [esp], 0x6f67bfa6
mov dword [esp - 0x2c], 0x26a09ea3
xor dword [esp], 0x64a227ef
sub esp, 4
mov dword [esp], 0x481a8c22
add dword [esp], 0x2a58b784
mov dword [esp - 0x1c], 0x74781b35
xor dword [esp], 0x2aa1afc3
add dword [esp], 0xc38ddb0
sub dword [esp], 0x38aa965e
mov edi, edi
add dword [esp], 0x585f2a89
mov dword [ebp - 0xc], ebx
call fcn.00476280
xchg ebp, ebp
mov edi, eax
add esp, 8
mov dword [ebx + 0x5c], edi
test edi, edi
mov dword [esp - 0xc], 0x4feffb48
je 0x49f730
xor esi, esi
lea esp, [esp]
mov eax, dword [ebx + esi*8 + 4]
mov dword [esp - 0x1c], esi
xor eax, 0x1d6a61f8
push eax
push edi
call fcn.00475760
mov dword [esp - 0x2c], 0x6057694d
add esp, 8
test eax, eax
je 0x49f730
mov esi, esi
xor eax, dword [0x4c0968]
mov dword [ebx + esi*8], eax
inc esi
mov dword [esp - 0x2c], 0xd6614b8
cmp esi, 6
jb 0x49f381
call fcn.00476170
mov esi, esi
mov eax, dword [eax + 0x18]
mov dword [ebx + 0x58], eax
test eax, eax
mov dword [esp - 0x2c], 0x3b6c7dd8
je 0x49f730
nop
sub esp, 4
mov dword [esp], 0x3a8d819f
mov dword [esp - 0x10], 0x336994c1
sub dword [esp], 0x10141e91
xor dword [esp], 0x5be5e1a8
sub dword [esp], 0x4da9eb5a
xor dword [esp], 0x23f2974c
xchg ebp, ebp
sub esp, 4
mov dword [esp], 0x5d75b104
add dword [esp], 0x711d61c
mov dword [esp - 0x3c], 0x13c95d18
add dword [esp], 0x6b218bf
sub dword [esp], 0x4e6036c7
add dword [esp], 0x4e0d35ea
xchg ebx, ebx
call fcn.00476280
mov ecx, eax
add esp, 8
xchg ebx, ebx
mov dword [ebp - 4], ecx
mov dword [ebx + 0x60], ecx
test ecx, ecx
je 0x49f730
mov ebx, ebx
xor edi, edi
lea esi, [ebx + 0x30]
mov eax, dword [esi + 4]
mov edx, edx
xor eax, 0x1d6a61f8
push eax
push ecx
xchg ebx, ebx
call fcn.00475760
add esp, 8
test eax, eax
xchg edi, edi
je 0x49f730
xor eax, dword [0x4c0968]
inc edi
mov ecx, dword [ebp - 4]
mov dword [esp - 0x18], esp
mov dword [esi], eax
add esi, 8
cmp edi, 5
mov dword [esp - 0x30], 0x232ecd2e
jb 0x49f460
mov dword [ebp - 0x18], 0x4ec60ec1
xor dword [ebp - 0x18], 0x3fe40a9
xor dword [ebp - 0x18], 0x30ae76c0
mov ecx, ecx
xor dword [ebp - 0x18], 0x52510951
sub dword [ebp - 0x18], 0x223a2776
xor dword [ebp - 0x18], 0x15513d1f
mov dword [esp - 0x34], ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x14], 0x13259245
xor dword [ebp - 0x14], 0x3f512166
mov dword [esp - 0x2c], ebp
sub dword [ebp - 0x14], 0xfa14361
add dword [ebp - 0x14], 0x61c77ad0
sub dword [ebp - 0x14], 0x29d1545b
sub dword [ebp - 0x14], 0x354565b4
mov esp, esp
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov word [ebp - 0x10], 0x473e
sub word [ebp - 0x10], 0xb66
xchg edi, edi
add word [ebp - 0x10], 0x1904
add word [ebp - 0x10], 0x471
xor word [ebp - 0x10], 0x3a7a
sub word [ebp - 0x10], 0x3084
mov esi, esi
sub word [ebp - 0x10], 0xa16
mov ax, word [ebp - 0x10]
nop
mov edx, edx
sub esp, 4
mov dword [esp], 0x5dac955c
add dword [esp], 0xd5432e8
mov dword [esp - 0x44], 0x3dcc8e24
sub dword [esp], 0x422b0329
add dword [esp], 0x53685f45
sub dword [esp], 0x32d0de5a
sub dword [esp], 0x496d45f2
xchg esi, esi
mov word [ebp - 0x1c], ax
mov dword [ebp - 0x14], 0x2aefcc11
add dword [ebp - 0x14], 0x4100c1d3
xor dword [ebp - 0x14], 0x10caec6d
xchg esp, esp
sub dword [ebp - 0x14], 0x13e3d962
xor dword [ebp - 0x14], 0x6756882d
call fcn.00490c90
add esp, 4
xchg ebx, ebx
mov dword [ebp - 0x18], eax
xor edx, edx
lea ecx, [ecx]
mov dword [esp - 0x28], 0x595a307c
movsx cx, byte [ebp + edx - 0x24]
mov word [eax + edx*2], cx
inc edx
mov edi, dword [ebp - 0x14]
xchg edi, edi
cmp edx, edi
jb 0x49f5bb
cmp edi, 2
xchg esp, esp
lea eax, [ebp - 0x18]
pushf
mov ecx, 0xde878fa
xor ecx, 0x5d98b6d9
mov dword [esp - 0x3c], 0x633fbbbd
xor ecx, 0x7e37cb63
xor ecx, 0x6516f24b
sub ecx, 0xd79149f
mov dword [esp - 0x10], 0x2b0f7824
sub ecx, 0x3dd8e26a
popf
cmova eax, dword [ebp - 0x18]
mov dword [esp - 0x28], 0x534d6c6d
mov dword [ebp - 4], eax
lea eax, [edi + 1]
mul ecx
xchg edi, edi
pushf
mov ecx, 0x1cdd7557
add ecx, 0x376a0a27
add ecx, 0x5720a40
mov dword [esp - 0x24], 0x760ed9f1
add ecx, 0x18b1ffc0
add ecx, 0x8d947681
popf
mov dword [esp - 0x28], 0x2fa8a7a
cmovb eax, ecx
push eax
call fcn.00490c90
add esp, 4
mov dword [esp - 0x3c], 0x5e617b9c
mov esi, eax
mov dword [ebp - 8], esi
test edi, edi
mov dword [esp - 0x28], esi
je 0x49f6de
sub dword [ebp - 4], esi
mov edx, esi
xchg ecx, ecx
mov esi, dword [ebp - 4]
xor ebx, ebx
lea ecx, [ecx]
mov edx, edx
mov ecx, ebx
lea edx, [edx + 2]
and ecx, 3
mov eax, 0x476e247b
mov dword [esp - 0x28], 0x593e27dd
add eax, 0x2a9c8995
sub eax, 0x63d7246b
xor eax, 0x79d0147f
xchg ebx, ebx
sub eax, 0x5cf651b9
add eax, 0x60bcf8d0
shl ecx, 3
inc ebx
mov dword [esp - 0x24], 0x3aa09509
sar eax, cl
cbw
xor ax, word [edx + esi - 2]
xchg edx, edx
mov word [edx - 2], ax
cmp ebx, edi
jb 0x49f687
mov esi, dword [ebp - 8]
mov ebx, ebx
mov ebx, dword [ebp - 0xc]
xor eax, eax
mov word [esi + edi*2], ax
xchg ebp, ebp
mov eax, dword [ebx + 0x48]
xor eax, dword [0x4c0968]
push esi
mov ebx, ebx
call eax
push esi
mov dword [ebx + 0x64], eax
call fcn.00490c60
mov dword [esp - 0x20], edx
add esp, 4
cmp edi, 2
jbe 0x49f71c
push dword [ebp - 0x18]
mov dword [esp - 0x18], 0x3a4244d0
call fcn.00490c60
add esp, 4
cmp dword [ebx + 0x64], 0
mov dword [esp - 0x30], ecx
pop edi
pop esi
setne al
pop ebx
mov esp, esp
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor al, al
pop ebx
mov esi, esi
mov esp, ebp
pop ebp
ret