Function at 0x484c10
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
xchg edx, edx
push ecx
push ebx
push esi
push edi
mov dword [esp - 0x1c], 0x4c282855
mov edi, dword [ebp + 0x10]
mov ebx, ecx
mov esi, edi
lea edx, [esi + 1]
mov dword [esp - 0x28], 0x940cffb
mov al, byte [esi]
inc esi
test al, al
mov dword [esp - 0x3c], 0x4049ad5b
jne 0x484c33
sub esi, edx
mov eax, 0x1ad1e706
mov edx, edx
add eax, 0x2f2e2338
xor eax, 0x3706d06d
sub eax, 0x5c0ed0
xchg esi, esi
sub eax, 0x7caa4b84
cmp esi, eax
cmova esi, eax
xchg edi, edi
push esi
call fcn.0048b720
add esp, 4
mov dword [ebp - 4], eax
mov dword [esp - 0x2c], 0x421f6e53
test esi, esi
je 0x484cb0
mov ecx, eax
sub edi, eax
mov dword [esp - 0x28], 0x7d5d0f9d
mov edx, esi
lea ebx, [ebx]
mov al, byte [edi + ecx]
mov dword [esp - 0x2c], ebx
lea ecx, [ecx + 1]
xor al, 0x37
mov byte [ecx - 1], al
mov dword [esp - 0x2c], 0x28373992
sub edx, 1
jne 0x484c94
mov edx, dword [ebx + 0xc]
xchg ecx, ecx
mov edi, dword [ebp + 8]
test edx, edx
je 0x484ce3
xchg ecx, ecx
mov ecx, dword [ebx + 8]
lea eax, [ecx + edx*4]
cmp ecx, eax
je 0x484ce3
xchg esp, esp
mov edx, dword [ecx]
cmp dword [edx], edi
je 0x484e4e
add ecx, 4
mov dword [esp - 0x2c], 0x31dba477
cmp ecx, eax
jne 0x484cca
nop
mov dword [esp - 0x38], edx
mov dword [esp - 4], 0x7db888cf
sub dword [esp - 4], 0x35ed7a07
xor dword [esp - 4], 0x3948d6da
mov dword [esp - 0x10], esi
sub dword [esp - 4], 0x11af5121
xor dword [esp - 4], 0x6cd486ed
sub esp, 4
call fcn.0048b6d0
mov dword [esp - 0x20], 0x4cf00186
add esp, 4
test eax, eax
je 0x484e35
mov dword [esp - 0x28], 0x143132d0
mov dword [eax + 0xc], 0x76f0a658
sub dword [eax + 0xc], 0x700a5233
add dword [eax + 0xc], 0x2116dfba
xor dword [eax + 0xc], 0x771d76fa
mov edx, edx
sub dword [eax + 0xc], 0x4765ccb6
add dword [eax + 0xc], 0x4583165b
sub dword [eax + 0xc], 0x4efd8eca
mov dword [esp - 0x28], 0x75983565
xor ecx, ecx
mov dword [eax + 0x10], 0x2652daa9
add dword [eax + 0x10], 0x50c922a1
sub dword [eax + 0x10], 0x34c9f63f
mov dword [esp - 0x20], esp
xor dword [eax + 0x10], 0x5dddc773
sub dword [eax + 0x10], 0x1f8fc078
mov dword [eax + 0x14], 0x30a79b4
xor dword [eax + 0x14], 0x1929cb63
xchg ebp, ebp
add dword [eax + 0x14], 0x8903321
sub dword [eax + 0x14], 0x1b8d124a
add dword [eax + 0x14], 0x111a34d1
xchg ecx, ecx
sub dword [eax + 0x14], 0x1841087f
mov dword [eax + 0x18], 0x5446a6c8
sub dword [eax + 0x18], 0x321dfce0
mov dword [esp - 0x34], ecx
add dword [eax + 0x18], 0x580f9cc7
sub dword [eax + 0x18], 0x35cd4bf9
xor dword [eax + 0x18], 0x74fd9a78
sub dword [eax + 0x18], 0x309760cd
mov ebp, ebp
mov dword [eax], edi
mov dword [eax + 4], 0x249739d8
add dword [eax + 4], 0x434b1e36
sub dword [eax + 4], 0x1c251ec9
mov dword [esp - 0x38], 0x6523a877
sub dword [eax + 4], 0x29496e7c
xor dword [eax + 4], 0x2f0e0495
xor dword [eax + 4], 0xf28231a3
xchg ebx, ebx
mov word [eax + 8], cx
jmp 0x484e37
xor eax, eax
mov dword [ebp + 0x10], eax
xchg ebx, ebx
lea ecx, [ebx + 8]
lea eax, [ebp + 0x10]
push eax
call fcn.00483430
mov dword [esp - 0x24], edx
mov edx, dword [eax]
cmp dword [edx + 0x10], 0
lea edi, [edx + 0xc]
xchg ebx, ebx
mov ebx, dword [ebp + 0xc]
je 0x484e99
mov ecx, dword [edi]
mov eax, ecx
mov dword [esp - 0x14], ebp
mov edi, dword [edi + 4]
lea eax, [eax + edi*4]
lea edi, [edx + 0xc]
mov dword [esp - 0x38], edx
cmp ecx, eax
je 0x484e99
lea esp, [esp]
mov edi, dword [ecx]
mov dword [esp - 0x24], ebp
cmp dword [edi], ebx
je 0x484f20
add ecx, 4
mov dword [esp - 0x28], 0x16f5deb6
cmp ecx, eax
jne 0x484e79
lea edi, [edx + 0xc]
inc word [edx + 8]
xchg ecx, ecx
nop
sub esp, 4
mov dword [esp], 0x6c855ff4
sub dword [esp], 0x53fc3b33
xchg esp, esp
sub dword [esp], 0x100464a1
add dword [esp], 0x464d5d6e
sub dword [esp], 0x4ed21d82
call fcn.0048b6d0
mov dword [esp - 0x28], 0x6c47408c
add esp, 4
test eax, eax
je 0x484f0a
mov dword [eax], ebx
mov esi, esi
xor ecx, ecx
mov byte [eax + 4], 0x5d
sub byte [eax + 4], 0x1c
xchg ebx, ebx
xor byte [eax + 4], 0x49
xor byte [eax + 4], 0x52
add byte [eax + 4], 0xd
sub byte [eax + 4], 0x5e
mov dword [esp - 0x20], ebx
sub byte [eax + 4], 9
mov word [eax + 5], cx
jmp 0x484f0c
xor eax, eax
mov dword [ebp + 0x10], eax
mov ecx, edi
lea eax, [ebp + 0x10]
xchg esp, esp
push eax
call fcn.00483500
mov edi, dword [eax]
mov ebp, ebp
cmp byte [edi + 4], 4
jne 0x484f3c
mov eax, dword [edi + 8]
test eax, eax
xchg edx, edx
je 0x484f3c
push eax
call fcn.0048b6f0
mov dword [esp - 0x1c], esi
add esp, 4
mov eax, dword [ebp - 4]
mov word [edi + 5], si
mov dword [edi + 8], eax
mov dword [esp - 0x40], 0x6a712240
mov byte [edi + 4], 0x5f
sub byte [edi + 4], 0x47
xor byte [edi + 4], 0x11
xchg esp, esp
xor byte [edi + 4], 0x6e
sub byte [edi + 4], 0x24
xor byte [edi + 4], 0x47
pop edi
mov dword [esp - 0x14], ebx
pop esi
pop ebx
mov esp, ebp
xchg ebx, ebx
pop ebp
ret 0xc