Function at 0x483690
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov dword [esp - 0x10], ebp
sub esp, 0x18
mov eax, ecx
push ebx
mov edx, edx
push esi
push edi
cmp dword [eax + 0x820], 0
mov edx, edx
mov dword [ebp - 8], eax
jne 0x483943
mov dword [ebp - 0x10], 0x72ee91c0
sub dword [ebp - 0x10], 0x58fdf162
mov ebx, ebx
sub dword [ebp - 0x10], 0xa42ed3f
add dword [ebp - 0x10], 0x60d5ac3a
sub dword [ebp - 0x10], 0x2d94e7a4
xchg edx, edx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], 0x29cbe8af
sub dword [ebp - 0xc], 0x1964728
mov edi, edi
sub dword [ebp - 0xc], 0x1eca1456
add dword [ebp - 0xc], 0x3a798b2f
sub dword [ebp - 0xc], 0x2c1ef781
mov dword [esp - 0x20], edx
mov ecx, dword [ebp - 0xc]
nop
mov dword [esp - 4], 0x2ee944d
xchg edx, edx
add dword [esp - 4], 0x59af768d
xor dword [esp - 4], 0x3e0092bf
sub dword [esp - 4], 0xe33bc1
sub dword [esp - 4], 0x51143098
mov edi, edi
xor dword [esp - 4], 0x10a72c1c
sub esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], ecx
mov dword [esp - 0x44], esi
mov dword [ebp - 0x14], 0x316830e8
add dword [ebp - 0x14], 0x29bd4b78
sub dword [ebp - 0x14], 0x248d877b
xor dword [ebp - 0x14], 0x622db779
xchg edi, edi
xor dword [ebp - 0x14], 0x54ba4394
call fcn.00490c90
add esp, 4
mov dword [ebp - 0x18], eax
mov dword [esp - 0x18], edi
xor edx, edx
jmp 0x483786
movsx cx, byte [ebp + edx - 0x10]
mov word [eax + edx*2], cx
inc edx
mov edi, dword [ebp - 0x14]
mov dword [esp - 0x44], 0x561e527d
cmp edx, edi
jb 0x483786
cmp edi, 2
lea eax, [ebp - 0x18]
mov ebp, ebp
pushf
mov ecx, 0x44e8e845
sub ecx, 0x1529abd3
mov edi, edi
add ecx, 0x3e6dfca2
xor ecx, 0xf3f652c
xor ecx, 0x58335ccb
mov dword [esp - 0x18], 0x169224c1
xor ecx, 0x392100f1
popf
cmova eax, dword [ebp - 0x18]
mov esi, esi
mov dword [ebp - 4], eax
lea eax, [edi + 1]
mul ecx
pushf
mov dword [esp - 0x3c], edx
mov ecx, 0x65c08be3
sub ecx, 0xc8acd9
sub ecx, 0x1cd22ad9
add ecx, 0x6c27e4e
mov dword [esp - 0x3c], 0x63babbc9
sub ecx, 0x62bea73
xor ecx, 0x638b1574
xor ecx, 0xd4c8a287
popf
mov esi, esi
cmovb eax, ecx
push eax
call fcn.00490c90
add esp, 4
xchg esp, esp
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0xc], esi
test edi, edi
mov dword [esp - 0x40], 0x2c7d2dc4
je 0x4838a7
sub dword [ebp - 4], esi
mov edx, esi
mov dword [esp - 0x24], ecx
mov esi, dword [ebp - 4]
lea ecx, [ecx]
mov ecx, ebx
lea edx, [edx + 2]
mov dword [esp - 0x38], 0x7ec9165e
and ecx, 3
mov eax, 0xadde1fe
xor eax, 0x14067765
sub eax, 0x1e3b0f41
mov dword [esp - 0x30], 0xbce202f
add eax, 0x5c5e6af3
add eax, 0x1eab52a4
shl ecx, 3
mov ebp, ebp
inc ebx
sar eax, cl
cbw
mov dword [esp - 0x44], 0x181f66a3
xor ax, word [esi + edx - 2]
mov word [edx - 2], ax
cmp ebx, edi
mov esp, esp
jb 0x483852
mov esi, dword [ebp - 0xc]
xor eax, eax
push eax
xchg edx, edx
push esi
mov word [esi + edi*2], ax
call fcn.00477270
mov ecx, dword [ebp - 8]
mov dword [esp - 0x18], ecx
push esi
mov dword [ecx + 0x820], eax
call fcn.00490c60
add esp, 0xc
mov dword [esp - 0x18], ebx
cmp edi, 2
jbe 0x4838e8
push dword [ebp - 0x18]
mov dword [esp - 0xc], 0x76f16df2
call fcn.00490c60
add esp, 4
mov eax, dword [ebp - 8]
mov ebx, dword [eax + 0x820]
xchg ebx, ebx
test ebx, ebx
je 0x483960
xor edi, edi
mov dword [esp - 0x40], 0x5d61236e
lea esi, [eax + 0x5b0]
lea esp, [esp]
mov eax, dword [esi + 4]
xor eax, 0x1d6a61f8
mov dword [esp - 0x10], 0x1b30ead2
push eax
push ebx
call fcn.00475760
add esp, 8
mov edi, edi
test eax, eax
je 0x483960
xor eax, dword [0x4c0968]
inc edi
mov ebp, ebp
mov dword [esi], eax
add esi, 8
cmp edi, 1
mov ebp, ebp
jb 0x48390e
pop edi
pop esi
mov al, 0x19
mov dword [esp - 0x2c], 0x78e5f74f
xor al, 0x4d
add al, 0x29
xor al, 0x33
sub al, 0x4d
mov dword [esp - 0x28], ebp
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov esp, esp
xor al, al
pop ebx
mov esp, ebp
mov dword [esp - 0x28], ebp
pop ebp
ret