Function at 0x4852e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
xchg edi, edi
sub esp, 0xac
mov ecx, 0x4ba960
call fcn.004803a0
mov esp, esp
test al, al
jne 0x485363
mov eax, dword [ebp + 8]
mov dword [eax], 0x4a04f30e
mov esi, esi
add dword [eax], 0x170b8932
xor dword [eax], 0x15ad5740
sub dword [eax], 0x5a5b36d2
sub dword [eax], 0x1a61f42e
xchg ebp, ebp
mov dword [eax + 4], 0x245037e
xor dword [eax + 4], 0x2bb5be6b
add dword [eax + 4], 0x30265784
xor dword [eax + 4], 0x2e31e9a6
mov dword [esp - 0x40], 0x17cf7278
sub dword [eax + 4], 0x27bbf18f
sub dword [eax + 4], 0x200d4afb
sub dword [eax + 4], 0x2c5dc0b5
mov dword [esp - 0x28], ecx
mov esp, ebp
pop ebp
ret 4
lea eax, [ebp - 0x5c]
push eax
mov eax, dword [0x4bb000]
xchg ebx, ebx
xor eax, dword [0x4ba958]
call eax
nop
mov esp, esp
sub esp, 4
mov dword [esp], 0x1c91b4ed
add dword [esp], 0x11af8610
add dword [esp], 0x166a72b3
mov dword [esp - 0x10], 0x137d2dd1
sub dword [esp], 0x23a27758
sub dword [esp], 0x104fdb0
add dword [esp], 0x10410510
xor dword [esp], 0x30453dc0
mov dword [esp - 0x40], 0x18e1539
mov dword [ebp - 0x3c], 0x4e7c36f2
xor dword [ebp - 0x3c], 0x7eed387c
sub dword [ebp - 0x3c], 0x2e29b0ee
mov dword [esp - 0x3c], 0x760e0205
xor dword [ebp - 0x3c], 0x5b088701
xor dword [ebp - 0x3c], 0x28cc19b6
sub dword [ebp - 0x3c], 0x1455c1dc
mov edi, edi
mov dword [ebp - 0x38], 0x1efb6e25
add dword [ebp - 0x38], 0x33ab726d
xor dword [ebp - 0x38], 0x343e11bd
mov dword [esp - 0x40], ebp
add dword [ebp - 0x38], 0x1360faa9
sub dword [ebp - 0x38], 0x4b943a49
xor dword [ebp - 0x38], 0x7836cdf7
mov esp, esp
mov dword [ebp - 0x34], 0x2372b9f2
sub dword [ebp - 0x34], 0xfac7702
add dword [ebp - 0x34], 0x216e8c24
mov dword [esp - 0x28], 0x7c9fb3ec
add dword [ebp - 0x34], 0x163e6a7a
sub dword [ebp - 0x34], 0x20292f1e
mov dword [ebp - 0x30], 0x6abeae76
sub dword [ebp - 0x30], 0x3fe01547
xchg esi, esi
add dword [ebp - 0x30], 0x13ff99ee
sub dword [ebp - 0x30], 0xf08f51c
add dword [ebp - 0x30], 0x2dcfc297
sub dword [ebp - 0x30], 0x56ff2b
mov dword [esp - 0x18], esp
mov dword [ebp - 0x2c], 0x1caffd61
xor dword [ebp - 0x2c], 0x7b9e6fd3
xor dword [ebp - 0x2c], 0x4281ad39
sub dword [ebp - 0x2c], 0x20485bd9
xchg esi, esi
add dword [ebp - 0x2c], 0x50eb98c2
mov dword [ebp - 0x28], 0x1407cb1a
add dword [ebp - 0x28], 0x48c314e3
add dword [ebp - 0x28], 0xf3deff
mov dword [esp - 0x30], edi
xor dword [ebp - 0x28], 0x50a0ea60
add dword [ebp - 0x28], 0x637500a9
sub dword [ebp - 0x28], 0x45474ad5
xchg ebp, ebp
mov dword [ebp - 0x24], 0x26f618ec
xor dword [ebp - 0x24], 0x4bdaa03b
xor dword [ebp - 0x24], 0x26836aed
xor dword [ebp - 0x24], 0x612bdafc
mov dword [esp - 0x34], 0x3cdae869
add dword [ebp - 0x24], 0x16cc0b9f
mov dword [ebp - 0x20], 0x3b725fc1
add dword [ebp - 0x20], 0x3261244
sub dword [ebp - 0x20], 0x24c48503
mov esp, esp
add dword [ebp - 0x20], 0x5250b45f
xor dword [ebp - 0x20], 0x4825a863
add dword [ebp - 0x20], 0x394cf816
mov dword [ebp - 0x1c], 0x7ace972a
mov ebp, ebp
sub dword [ebp - 0x1c], 0x6cb6e91e
add dword [ebp - 0x1c], 0x292d1259
add dword [ebp - 0x1c], 0x2943ff87
add dword [ebp - 0x1c], 0x18addb01
mov dword [esp - 0x44], ecx
sub dword [ebp - 0x1c], 0x35db1e7b
mov dword [ebp - 0x18], 0x3fb5e4f3
xor dword [ebp - 0x18], 0x49b01c12
xchg esp, esp
sub dword [ebp - 0x18], 0x20025d0
sub dword [ebp - 0x18], 0x8975d2a
sub dword [ebp - 0x18], 0x39db0b52
xchg ebx, ebx
add dword [ebp - 0x18], 0x2492abd9
mov dword [ebp - 0x14], 0x8fcfd98
xor dword [ebp - 0x14], 0xc94f44e
xchg esp, esp
add dword [ebp - 0x14], 0x3158fb08
xor dword [ebp - 0x14], 0x38a32219
add dword [ebp - 0x14], 0x437b0695
xor dword [ebp - 0x14], 0x54b2a12b
mov esi, esi
add dword [ebp - 0x14], 0x26dc7df9
mov dword [ebp - 0x10], 0x18de6ae0
add dword [ebp - 0x10], 0x173b8db
xchg esi, esi
add dword [ebp - 0x10], 0x2369e006
xor dword [ebp - 0x10], 0x5da3ec37
xor dword [ebp - 0x10], 0x2e7a9c1b
mov dword [esp - 0x40], 0x2a466ba4
xor dword [ebp - 0x10], 0xf356788
mov dword [ebp - 0xc], 0x3103e23d
xor dword [ebp - 0xc], 0x60c32b0
add dword [ebp - 0xc], 0x5918c4b
xchg edi, edi
add dword [ebp - 0xc], 0x434a4476
sub dword [ebp - 0xc], 0x1e61bde6
add dword [ebp - 0xc], 0x1c90199f
mov ebp, ebp
sub dword [ebp - 0xc], 0x20cbfbef
mov dword [ebp - 8], 0x5832c99a
sub dword [ebp - 8], 0x282bf5ee
mov edi, edi
sub dword [ebp - 8], 0x10532f8c
sub dword [ebp - 8], 0x43e5648
add dword [ebp - 8], 0x3c6ed051
mov dword [esp - 0x28], 0x3a362858
xor dword [ebp - 8], 0x606ba339
add dword [ebp - 8], 0xbcbbf62
mov dword [ebp - 4], 0x665963f1
xor dword [ebp - 4], 0x7ba6367d
mov dword [esp - 0x24], esi
add dword [ebp - 4], 0x2718ea02
sub dword [ebp - 4], 0x1c0f7f12
xor dword [ebp - 4], 0x272ed612
mov esi, esi
mov dword [ebp - 0x48], 0x79721bb2
sub dword [ebp - 0x48], 0x4866ba0f
sub dword [ebp - 0x48], 0x3100e59e
mov dword [esp - 0x2c], ebx
add dword [ebp - 0x48], 0x49d4b238
sub dword [ebp - 0x48], 0x49df2e01
call fcn.0048b720
add esp, 4
mov esp, esp
mov dword [ebp - 0x4c], eax
xor edx, edx
push ebx
push esi
xchg esp, esp
push edi
movsx cx, byte [ebp + edx - 0x3c]
mov word [eax + edx*2], cx
inc edx
xchg edi, edi
mov edi, dword [ebp - 0x48]
cmp edx, edi
jb 0x4856c3
mov dword [esp - 0x1c], edi
cmp edi, 2
lea eax, [ebp - 0x4c]
pushf
mov edx, 0x43d8e07a
mov ebp, ebp
sub edx, 0x2a20d383
add edx, 0xa41719e
xor edx, 0x2a58d31d
sub edx, 0x9a1ad86
mov esp, esp
popf
cmova eax, dword [ebp - 0x4c]
xor ecx, ecx
mov dword [esp - 0x38], 0x60187d66
mov dword [ebp - 0x40], eax
lea eax, [edi + 1]
mul edx
seto cl
xchg edi, edi
neg ecx
or ecx, eax
push ecx
mov esi, esi
call fcn.0048b720
add esp, 4
mov esi, eax
xor ebx, ebx
mov esi, esi
mov dword [ebp - 0x44], esi
test edi, edi
je 0x4857a3
sub dword [ebp - 0x40], esi
mov dword [esp - 0x30], 0x5d31340f
mov edx, esi
mov esi, dword [ebp - 0x40]
mov edi, edi
xchg ebx, ebx
mov ecx, ebx
lea edx, [edx + 2]
and ecx, 3
mov eax, 0xb489b4e
mov edi, edi
add eax, 0x482d0bab
sub eax, 0x477f1694
xor eax, 0x3f547a94
add eax, 0x4b02912b
mov dword [esp - 0x30], 0x4ffc01ab
xor eax, 0xcdb585c
shl ecx, 3
inc ebx
mov dword [esp - 0x3c], ebx
sar eax, cl
cbw
xor ax, word [esi + edx - 2]
xchg ebp, ebp
mov word [edx - 2], ax
cmp ebx, edi
jb 0x485751
mov esi, dword [ebp - 0x44]
mov dword [esp - 0x14], ebx
xor eax, eax
mov word [esi + edi*2], ax
cmp edi, 2
jbe 0x4857bb
xchg ebp, ebp
push dword [ebp - 0x4c]
call fcn.0048b6f0
add esp, 4
nop
mov dword [esp - 0x10], ebx
sub esp, 4
mov dword [esp], 0x5155838d
sub dword [esp], 0x50162479
mov edx, edx
xor dword [esp], 0x65b68e2c
xor dword [esp], 0x4b078c22
xor dword [esp], 0x2f8e5d4a
lea eax, [ebp - 0xac]
mov ecx, ecx
nop
mov dword [esp - 4], 0x5627e42f
sub dword [esp - 4], 0x37764f48
mov esp, esp
xor dword [esp - 4], 0x7801593
add dword [esp - 4], 0x441e0a15
xor dword [esp - 4], 0x4919659d
sub dword [esp - 4], 0x1456ee14
mov dword [esp - 0xc], 0x4a20c9b2
sub esp, 4
push eax
call fcn.0048bba0
mov dword [esp - 0x38], 0x7747358b
movzx eax, byte [ebp - 0x4d]
push eax
movzx eax, byte [ebp - 0x4e]
mov dword [esp - 0x1c], 0x6c960bdf
push eax
movzx eax, byte [ebp - 0x4f]
push eax
mov dword [esp - 0x10], 0x5a13c00a
movzx eax, byte [ebp - 0x50]
push eax
movzx eax, byte [ebp - 0x51]
push eax
mov dword [esp - 0x14], 0x5d8d49fd
movzx eax, byte [ebp - 0x52]
push eax
movzx eax, byte [ebp - 0x53]
push eax
mov dword [esp - 0x14], ecx
movzx eax, byte [ebp - 0x54]
push eax
movzx eax, word [ebp - 0x56]
mov ebx, ebx
push eax
movzx eax, word [ebp - 0x58]
push eax
xchg edx, edx
push dword [ebp - 0x5c]
lea eax, [ebp - 0xac]
push esi
push eax
mov dword [esp - 0x44], esi
call fcn.00484f80
mov ebx, dword [ebp + 8]
lea edx, [ebp - 0xac]
add esp, 0x40
mov dword [esp - 0x30], 0x58e0022f
lea ecx, [edx + 2]
mov dword [ebx], 0x3b33bd94
add dword [ebx], 0x3c54612a
xor dword [ebx], 0x2c32208d
xchg ebx, ebx
xor dword [ebx], 0x671891f0
xor dword [ebx], 0x31c20383
sub dword [ebx], 0xd60ac40
xchg ebx, ebx
mov ax, word [edx]
add edx, 2
test ax, ax
xchg esp, esp
jne 0x4858e1
sub edx, ecx
mov edi, ebx
mov dword [esp - 0xc], 0x52f7a640
sar edx, 1
mov dword [ebx + 4], edx
cmp edx, 2
jbe 0x485951
xchg esp, esp
xor ecx, ecx
mov eax, edx
mov edx, 0x34fa9a45
xor edx, 0x581c50e3
mov dword [esp - 0x34], 0x63b7226b
sub edx, 0x5f6d3fda
add edx, 0x32befdf8
sub edx, 0x403888c2
mul edx
mov edi, edi
seto cl
neg ecx
or ecx, eax
mov dword [esp - 0x38], 0x1de19db8
push ecx
call fcn.0048b720
mov edi, eax
xchg edi, edi
add esp, 4
mov dword [ebx], edi
xor edx, edx
mov dword [esp - 0x10], esi
cmp dword [ebx + 4], edx
jbe 0x4859bd
lea eax, [ebp - 0xac]
sub eax, edi
xchg ebp, ebp
mov dword [ebp + 8], eax
mov esi, eax
mov edi, edi
mov dword [esp - 0x44], 0xb7f023b
mov ecx, edx
lea edi, [edi + 2]
and ecx, 3
mov eax, 0x4b2f3112
mov dword [esp - 0x24], ecx
add eax, 0x32417202
sub eax, 0x5b54d51f
xor eax, 0x6da56bf1
add eax, 0x23bf7e3c
mov dword [esp - 0x40], esp
shl ecx, 3
inc edx
sar eax, cl
cbw
mov esp, esp
xor ax, word [esi + edi - 2]
mov word [edi - 2], ax
cmp edx, dword [ebx + 4]
jb 0x485975
mov dword [esp - 0x34], edi
mov esi, dword [ebp - 0x44]
push esi
call fcn.0048b6f0
add esp, 4
mov edi, edi
mov eax, ebx
pop edi
pop esi
mov esi, esi
pop ebx
mov esp, ebp
pop ebp
ret 4