Function at 0x47fe30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov dword [esp - 0x20], 0x11dcab4a
sub esp, 0x20
push ebx
mov ebx, ecx
push esi
mov esi, esi
push edi
mov dword [ebp - 8], ebx
mov esi, 0x5e29a794
sub esi, 0x3189608a
xchg esi, esi
add esi, 0x279b8e8c
add esi, 0x2e43d9c
sub esi, 0x57201330
mov dword [esp - 0x24], esi
cmp dword [ebx + 0x828], 0
jne 0x480105
nop
mov dword [esp - 4], 0x33eeef4d
mov esi, esi
xor dword [esp - 4], 0xe252a47
xor dword [esp - 4], 0x2cd48d51
add dword [esp - 4], 0x1c472190
xor dword [esp - 4], 0x39e1be99
mov dword [esp - 0x34], ebx
add dword [esp - 4], 0x5a717f4a
xor dword [esp - 4], 0x6ef956ae
sub esp, 4
xchg edi, edi
mov dword [ebp - 0x20], 0x7dfdd33b
xor dword [ebp - 0x20], 0x78068a4b
add dword [ebp - 0x20], 0x30b7a1c4
xor dword [ebp - 0x20], 0x743f8063
mov ecx, ecx
sub dword [ebp - 0x20], 0x2e9d311e
add dword [ebp - 0x20], 0x2c2afdd6
mov dword [ebp - 0x1c], 0x4061ea42
sub dword [ebp - 0x1c], 0x5ecde19
xchg edi, edi
xor dword [ebp - 0x1c], 0x10094755
add dword [ebp - 0x1c], 0x6022849
xor dword [ebp - 0x1c], 0x2f6479b7
mov ebx, ebx
mov byte [ebp - 0x18], 0x62
sub byte [ebp - 0x18], 0x12
sub byte [ebp - 0x18], 0x40
mov dword [esp - 0x10], ecx
xor byte [ebp - 0x18], 0x7b
sub byte [ebp - 0x18], 0x30
add byte [ebp - 0x18], 0x1a
mov dword [esp - 0x14], 0x735893a2
xor byte [ebp - 0x18], 0x79
mov dword [ebp - 0x10], 0x7167de4b
sub dword [ebp - 0x10], 0x38c8f38a
mov dword [esp - 0x44], esp
add dword [ebp - 0x10], 0x1b047d4a
xor dword [ebp - 0x10], 0x3d4e6c5e
add dword [ebp - 0x10], 0xb1fda67
sub dword [ebp - 0x10], 0x4c03844c
xchg esp, esp
sub dword [ebp - 0x10], 0x2e095a67
call fcn.0048b720
add esp, 4
mov dword [ebp - 0x14], eax
mov ecx, ecx
xor edx, edx
jmp 0x47ff85
movsx cx, byte [ebp + edx - 0x20]
mov word [eax + edx*2], cx
inc edx
mov dword [esp - 0x28], 0x766582ed
mov edi, dword [ebp - 0x10]
cmp edx, edi
jb 0x47ff85
xchg edi, edi
cmp edi, esi
lea eax, [ebp - 0x14]
cmova eax, dword [ebp - 0x14]
mov dword [esp - 0x1c], 0x2f5182a3
xor ecx, ecx
mov dword [ebp - 4], eax
lea eax, [edi + 1]
mul esi
xchg edx, edx
seto cl
neg ecx
or ecx, eax
push ecx
xchg esi, esi
call fcn.0048b720
add esp, 4
mov esi, eax
mov dword [esp - 0x40], 0x70833e6d
xor ebx, ebx
mov dword [ebp - 0xc], esi
test edi, edi
mov ebp, ebp
je 0x480042
sub dword [ebp - 4], esi
mov edx, esi
mov dword [esp - 0x10], esi
mov esi, dword [ebp - 4]
mov ecx, ebx
lea edx, [edx + 2]
and ecx, 3
xchg esp, esp
mov eax, 0x53143250
sub eax, 0x2b6e8d99
xor eax, 0x4076c95
xor eax, 0xc14bf66
mov dword [esp - 0x18], 0x40f57739
xor eax, 0x5cc85304
shl ecx, 3
inc ebx
mov dword [esp - 0x44], ecx
sar eax, cl
cbw
xor ax, word [esi + edx - 2]
mov dword [esp - 0x14], 0x2203d5e
mov word [edx - 2], ax
cmp ebx, edi
jb 0x47fff1
mov esi, dword [ebp - 0xc]
xchg edi, edi
xor eax, eax
push eax
push esi
mov word [esi + edi*2], ax
mov dword [esp - 0x38], ebp
call fcn.00473790
mov ebx, dword [ebp - 8]
push esi
mov dword [ebx + 0x828], eax
xchg edx, edx
call fcn.0048b6f0
add esp, 0xc
cmp edi, 2
jbe 0x48007b
xchg edx, edx
push dword [ebp - 0x14]
call fcn.0048b6f0
add esp, 4
xchg esi, esi
mov ecx, dword [ebx + 0x828]
mov dword [ebp - 0xc], ecx
test ecx, ecx
mov dword [esp - 0x44], esp
je 0x480395
xor edi, edi
lea esi, [ebx + 0x628]
mov eax, dword [esi + 4]
mov edx, edx
xor eax, 0x6fa836ea
push eax
push ecx
call fcn.00471c00
mov dword [esp - 0x18], 0x36e83c14
add esp, 8
test eax, eax
je 0x480395
mov dword [esp - 0x34], edx
xor eax, dword [0x4ba958]
inc edi
mov ecx, dword [ebp - 0xc]
mov dword [esp - 0x10], edi
mov dword [esi], eax
add esi, 8
cmp edi, 5
xchg ebx, ebx
jb 0x480098
mov esi, 0x49daec4c
add esi, 0xc944a73
mov dword [esp - 0x3c], esi
xor esi, 0x17a344ba
add esi, 0x3d58b602
sub esi, 0x3e4a7752
mov dword [esp - 0x18], edi
sub esi, 0x40dab0b3
cmp dword [ebx + 0x82c], 0
jne 0x480372
mov ebx, ebx
nop
sub esp, 4
mov dword [esp], 0x74c25752
mov edx, edx
add dword [esp], 0x6ecec29
xor dword [esp], 0x88e0400
sub dword [esp], 0x6f42e57c
xchg ecx, ecx
add dword [esp], 0x4de08ea5
add dword [esp], 0x10e1c2fa
xor dword [esp], 0x62a0b386
mov dword [ebp - 0x20], 0x664ae8b2
xchg edi, edi
sub dword [ebp - 0x20], 0x33cb046c
add dword [ebp - 0x20], 0x1d3242ca
xor dword [ebp - 0x20], 0x2654d67e
mov dword [esp - 0x38], esi
sub dword [ebp - 0x20], 0x37cba95f
mov dword [ebp - 0x1c], 0x31a361a3
xor dword [ebp - 0x1c], 0x68e42127
sub dword [ebp - 0x1c], 0x431f6b53
mov dword [esp - 0x44], ecx
add dword [ebp - 0x1c], 0x76bcaeb
xor dword [ebp - 0x1c], 0xd8d3444
sub dword [ebp - 0x1c], 0xce6543a
xor dword [ebp - 0x1c], 0x4275102b
xchg edi, edi
mov dword [ebp - 0x18], 0x460443d8
sub dword [ebp - 0x18], 0x4f1d7d8
xor dword [ebp - 0x18], 0x57e13121
add dword [ebp - 0x18], 0xfdbd4a1
mov dword [esp - 0xc], ebx
xor dword [ebp - 0x18], 0x3c96b069
add dword [ebp - 0x18], 0x4b8bec3
mov dword [ebp - 0x10], 0x1bf175db
xchg esp, esp
add dword [ebp - 0x10], 0x5d36e725
xor dword [ebp - 0x10], 0x2264ec82
sub dword [ebp - 0x10], 0x3d6858b0
xor dword [ebp - 0x10], 0x1de458de
mov dword [esp - 0x30], 0x22492607
call fcn.0048b720
add esp, 4
mov dword [ebp - 0x14], eax
xchg esp, esp
xor edx, edx
movsx cx, byte [ebp + edx - 0x20]
mov word [eax + edx*2], cx
inc edx
mov ebx, ebx
mov edi, dword [ebp - 0x10]
cmp edx, edi
jb 0x480217
mov dword [esp - 0x30], ebp
cmp edi, 2
lea eax, [ebp - 0x14]
cmova eax, dword [ebp - 0x14]
xor ecx, ecx
mov dword [esp - 0x38], 0x34bcd9d5
mov dword [ebp - 4], eax
lea eax, [edi + 1]
mul esi
mov ebp, ebp
seto cl
neg ecx
or ecx, eax
push ecx
xchg edi, edi
call fcn.0048b720
add esp, 4
mov esi, eax
mov esi, esi
xor ebx, ebx
mov dword [ebp - 0xc], esi
test edi, edi
mov dword [esp - 0x10], edx
je 0x4802d4
sub dword [ebp - 4], esi
mov edx, esi
mov dword [esp - 0x28], 0x3b87c179
mov esi, dword [ebp - 4]
lea esp, [esp]
mov ecx, ebx
lea edx, [edx + 2]
mov ebx, ebx
and ecx, 3
mov eax, 0x1d0864e8
sub eax, 0x5930dd7
mov esi, esi
xor eax, 0x3c258d20
add eax, 0x39965463
sub eax, 0x63a29a42
add eax, 0x36ae4e64
xchg ebx, ebx
xor eax, 0x448cc6f6
shl ecx, 3
inc ebx
sar eax, cl
mov esi, esi
cbw
xor ax, word [esi + edx - 2]
mov word [edx - 2], ax
xchg ebp, ebp
cmp ebx, edi
jb 0x480287
mov esi, dword [ebp - 0xc]
xor eax, eax
xchg edx, edx
push eax
push esi
mov word [esi + edi*2], ax
mov dword [esp - 0x30], 0x1a49aba9
call fcn.00473790
mov ecx, dword [ebp - 8]
push esi
mov dword [esp - 0xc], ecx
mov dword [ecx + 0x82c], eax
call fcn.0048b6f0
add esp, 0xc
mov dword [esp - 0x38], 0x1c03c932
cmp edi, 2
jbe 0x48031b
push dword [ebp - 0x14]
xchg ebx, ebx
call fcn.0048b6f0
add esp, 4
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x82c]
mov esp, esp
test ebx, ebx
je 0x480395
xor edi, edi
mov edi, edi
lea esi, [eax + 0x650]
lea esp, [esp]
mov eax, dword [esi + 4]
xor eax, 0x6fa836ea
mov dword [esp - 0x20], 0x7816bdf6
push eax
push ebx
call fcn.00471c00
mov dword [esp - 0x1c], esi
add esp, 8
test eax, eax
je 0x480395
mov ebx, ebx
xor eax, dword [0x4ba958]
inc edi
mov dword [esi], eax
add esi, 8
xchg ebp, ebp
cmp edi, 2
jb 0x48033b
pop edi
xchg ecx, ecx
pop esi
mov al, 0x4e
sub al, 0x31
sub al, 0x14
mov dword [esp - 0x38], 0x327b55e6
sub al, 9
add al, 1
pop ebx
mov dword [esp - 0x28], 0x6612d99
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor al, al
pop ebx
mov ecx, ecx
mov esp, ebp
pop ebp
ret