Function at 0x4842b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, ecx
mov dword [esp - 0x38], 0x5851c4e0
push ebx
push esi
push edi
cmp dword [eax + 0x840], 0
xchg esp, esp
mov dword [ebp - 8], eax
jne 0x4845d1
mov dword [ebp - 0x18], 0x190c90d8
mov dword [esp - 0x14], 0x26718990
add dword [ebp - 0x18], 0x33057406
add dword [ebp - 0x18], 0x25f4c9b0
sub dword [ebp - 0x18], 0x3d7acfa9
xchg edx, edx
sub dword [ebp - 0x18], 0x2ac2ca42
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x14], 0x21b3dbf
mov edx, edx
add dword [ebp - 0x14], 0x50254ff8
xor dword [ebp - 0x14], 0x23566fff
sub dword [ebp - 0x14], 0xc59718c
xor dword [ebp - 0x14], 0x7b390039
mov dword [esp - 0x30], ebx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov word [ebp - 0x10], 0x2c3f
add word [ebp - 0x10], 0x2b92
mov edi, edi
xor word [ebp - 0x10], 0x721e
add word [ebp - 0x10], 0x50b
add word [ebp - 0x10], 0xaa2
sub word [ebp - 0x10], 0x1863
mov dword [esp - 0x20], 0x1ece34b5
add word [ebp - 0x10], 0xb84
mov ax, word [ebp - 0x10]
nop
mov dword [esp - 4], 0x749e1ea9
mov esp, esp
sub dword [esp - 4], 0x24866ed4
add dword [esp - 4], 0x111b6a97
sub dword [esp - 4], 0x26320d13
mov dword [esp - 0x3c], 0x2b9b54a3
add dword [esp - 4], 0x17bf7353
sub dword [esp - 4], 0x2702e64e
sub dword [esp - 4], 0x2bbd9a4a
xchg ebx, ebx
sub esp, 4
mov word [ebp - 0x1c], ax
mov dword [ebp - 0x14], 0x6d31e399
mov dword [esp - 0x2c], 0x30d6bb97
xor dword [ebp - 0x14], 0x1848657f
sub dword [ebp - 0x14], 0x1fcaa0cd
xor dword [ebp - 0x14], 0x4a7ced9e
mov ebp, ebp
xor dword [ebp - 0x14], 0x7ca879ae
xor dword [ebp - 0x14], 0x372d97f1
sub dword [ebp - 0x14], 0x5457e5ce
call fcn.00490c90
mov dword [esp - 0xc], 0x6d0863c0
add esp, 4
mov dword [ebp - 0x18], eax
xor edx, edx
lea esp, [esp]
mov esp, esp
movsx cx, byte [ebp + edx - 0x24]
mov word [eax + edx*2], cx
inc edx
mov edi, dword [ebp - 0x14]
mov dword [esp - 0x24], ebp
cmp edx, edi
jb 0x484414
cmp edi, 2
lea eax, [ebp - 0x18]
mov dword [esp - 0x10], 0x4e497979
pushf
mov ecx, 0x185f2bc1
add ecx, 0x57d87fc7
mov dword [esp - 0x3c], 0x4e89c395
xor ecx, 0x610bf194
add ecx, 0x41e28c8d
add ecx, 0xeeb8a17
sub ecx, 0x620a70be
xchg ebp, ebp
popf
cmova eax, dword [ebp - 0x18]
mov dword [ebp - 4], eax
lea eax, [edi + 1]
mov dword [esp - 0x3c], edx
mul ecx
pushf
mov ecx, 0x7bafa5
add ecx, 0x7996b0a0
mov dword [esp - 0x44], 0x77aca64e
xor ecx, 0x3121010
sub ecx, 0x35cdfd9a
add ecx, 0xbccd8d44
xchg ebp, ebp
popf
cmovb eax, ecx
push eax
mov dword [esp - 0x18], 0x5c8f6f06
call fcn.00490c90
add esp, 4
mov esi, eax
xchg edx, edx
xor ebx, ebx
mov dword [ebp - 0xc], esi
test edi, edi
mov dword [esp - 0x20], esp
je 0x484537
sub dword [ebp - 4], esi
mov edx, esi
xchg edx, edx
mov esi, dword [ebp - 4]
lea ecx, [ecx]
mov ecx, ebx
mov dword [esp - 0x10], 0x26d43caf
lea edx, [edx + 2]
and ecx, 3
mov eax, 0x5ac0524f
mov edx, edx
add eax, 0x121ec951
sub eax, 0x61b2f32c
add eax, 0x60720da0
sub eax, 0x583fc777
xchg edx, edx
add eax, 0xd503cd8
add eax, 0x5afb997c
shl ecx, 3
inc ebx
mov dword [esp - 0x28], 0x2eabaa50
sar eax, cl
cbw
xor ax, word [edx + esi - 2]
mov dword [esp - 0x1c], 0x543fd9e9
mov word [edx - 2], ax
cmp ebx, edi
jb 0x4844d6
xchg ebp, ebp
mov esi, dword [ebp - 0xc]
xor eax, eax
push eax
mov dword [esp - 0x44], 0x3592f134
push esi
mov word [esi + edi*2], ax
call fcn.00477270
mov ecx, dword [ebp - 8]
mov dword [esp - 0x2c], 0x3cbd11c6
push esi
mov dword [ecx + 0x840], eax
call fcn.00490c60
add esp, 0xc
mov edi, edi
cmp edi, 2
jbe 0x48457c
push dword [ebp - 0x18]
call fcn.00490c60
mov dword [esp - 0x14], esi
add esp, 4
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x840]
mov dword [esp - 0x44], edx
test ebx, ebx
je 0x4845ee
xor edi, edi
lea esi, [eax + 0x6a8]
mov dword [esp - 0x1c], ecx
lea esp, [esp]
mov eax, dword [esi + 4]
xor eax, 0x1d6a61f8
mov ecx, ecx
push eax
push ebx
call fcn.00475760
add esp, 8
mov ecx, ecx
test eax, eax
je 0x4845ee
xor eax, dword [0x4c0968]
mov dword [esp - 0x10], esp
inc edi
mov dword [esi], eax
add esi, 8
cmp edi, 4
xchg esi, esi
jb 0x4845a0
pop edi
pop esi
mov al, 0x33
mov dword [esp - 0x18], ecx
sub al, 3
xor al, 0x26
xor al, 0x4b
mov ebp, ebp
add al, 0x17
xor al, 0x43
sub al, 0x36
xchg ebp, ebp
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov dword [esp - 0x10], esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
xchg esi, esi
ret