Function at 0x483dac
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
xor edx, edx
push ebx
push esi
push edi
mov edi, eax
mov bl, cl
mov ecx, 0x2710
div ecx
mov esi, 0x3e8
mov ecx, esi
push 0x64
and bl, 0xf
or bl, 0xc0
mov dword [esp + 0x24], eax
mov eax, edx
xor edx, edx
div ecx
xor edx, edx
pop ecx
push 0xa
mov byte [esp + 0x14], al
mov eax, edi
div esi
pop esi
push 0xa
mov eax, edx
xor edx, edx
div ecx
xor edx, edx
mov byte [esp + 0x15], al
mov eax, edi
div ecx
mov ecx, esi
mov eax, edx
xor edx, edx
div ecx
xor edx, edx
mov byte [esp + 0x16], al
mov eax, edi
div ecx
movzx eax, byte [esp + 0x14]
movzx ecx, byte [esp + 0x24]
mov dword [esp + 0x2c], eax
lea eax, [ecx + eax + 1]
mov dword [esp + 0x24], ecx
mov ecx, esi
pop edi
mov byte [esp + 0x13], dl
cdq
idiv ecx
movzx eax, byte [esp + 0x11]
mov dword [esp + 0x2c], eax
movzx ecx, dl
lea eax, [eax + ecx + 1]
cdq
idiv esi
movzx eax, byte [esp + 0x12]
mov dword [esp + 0x24], eax
movzx esi, dl
lea eax, [eax + esi + 1]
cdq
idiv edi
movzx eax, dl
mov dword [esp + 0x18], eax
movzx eax, byte [esp + 0x13]
mov dword [esp + 0x1c], eax
movzx eax, bl
cdq
shld edx, eax, 0xc
shl eax, 0xc
mov edi, eax
mov eax, dword [ebp + 0x10]
and eax, 0xfff
mov ebx, edx
cdq
or edi, eax
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + 0x4a08a0]
or ebx, edx
shld ebx, edi, 4
shl edi, 4
cdq
or edi, eax
movzx eax, byte [ecx + 0x4a08a0]
or ebx, edx
cdq
shld ebx, edi, 4
or ebx, edx
shl edi, 4
or edi, eax
movzx eax, byte [esi + 0x4a08a0]
cdq
shld ebx, edi, 4
or ebx, edx
shl edi, 4
or edi, eax
shld ebx, edi, 4
shl edi, 4
mov ecx, edi
mov edi, dword [esp + 0x18]
movzx eax, byte [edi + 0x4a08a0]
cdq
or ecx, eax
mov eax, dword [esp + 0x1c]
lea eax, [eax + edi + 1]
or ebx, edx
cdq
push 0xa
pop edi
idiv edi
mov esi, ebx
shld esi, ecx, 4
shl ecx, 4
movzx eax, dl
movzx eax, byte [eax + 0x4a08a0]
cdq
or ecx, eax
or esi, edx
mov eax, ecx
mov edx, esi
bswap eax
bswap edx
shrd edx, eax, 0x18
shr eax, 0x18
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
xor edx, edx
xor eax, eax
movzx edi, byte [esp + edx + 0x30]
shl edi, 8
xor edi, eax
and edi, 0xffff
push 8
mov eax, edi
pop edi
test eax, 0x8000
je 0x483f3e
add eax, eax
xor eax, 0x1021
jmp 0x483f40
add eax, eax
dec edi
jne 0x483f2e
inc edx
cmp edx, 5
jb 0x483f19
shld esi, ecx, 0x10
shl ecx, 0x10
mov dword [esp + 0x30], ecx
mov edx, esi
shrd ecx, edx, 0x10
shr edx, 0x10
mov bl, cl
mov cl, 0xf
and bl, cl
mov dl, al
shl dl, 4
or bl, dl
mov byte [esp + 0x30], bl
mov edx, dword [esp + 0x30]
mov edi, esi
shrd edx, edi, 0x14
xor dl, al
and dl, cl
xor dl, al
mov byte [esp + 0x31], dl
mov ebx, dword [esp + 0x30]
shr edi, 0x14
mov edi, esi
shrd ebx, edi, 0x18
mov dl, al
shr dl, 4
xor dl, bl
and dl, cl
mov ebx, eax
shr ebx, 4
xor dl, bl
mov byte [esp + 0x32], dl
mov ebx, dword [esp + 0x30]
shr edi, 0x18
mov edi, esi
shrd ebx, edi, 0x1c
mov edx, eax
shr edx, 8
xor dl, bl
and dl, cl
shr eax, 8
xor dl, al
shr edi, 0x1c
and dword [esp + 0x14], 0
mov byte [esp + 0x33], dl
mov edi, dword [esp + 0x30]
mov bl, 1
mov dword [esp + 0x18], 0x38
mov ecx, dword [esp + 0x14]
mov eax, edi
mov edx, esi
call fcn.0049dc20
and al, 1
xor bl, al
inc dword [esp + 0x14]
dec dword [esp + 0x18]
jne 0x483fd8
or esi, 0xff000000
shld esi, edi, 1
movzx eax, bl
mov ebx, dword [ebp + 8]
cdq
add edi, edi
mov ecx, esi
or edi, eax
or ecx, edx
cmp byte [ebp + 0xc], 0
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edi
je 0x4840ab
mov eax, dword [esp + 0x24]
shl eax, 4
or eax, dword [esp + 0x1c]
xor edi, edi
cdq
shld edx, eax, 9
shl eax, 9
mov ecx, eax
mov eax, dword [esp + 0x28]
shl eax, 4
or eax, dword [esp + 0x2c]
mov esi, edx
cdq
or esi, edx
or ecx, eax
mov eax, dword [esp + 0x20]
shld esi, ecx, 9
shl ecx, 9
cdq
mov esi, ecx
or esi, eax
shl esi, 5
or edi, 0x12000000
or esi, 7
mov byte [esp + 0x10], 0
mov dword [esp + 0x14], 1
mov dword [esp + 0x20], 0x3f
mov ecx, dword [esp + 0x14]
mov eax, edi
mov edx, esi
call fcn.0049dc20
and al, 1
xor byte [esp + 0x10], al
inc dword [esp + 0x14]
dec dword [esp + 0x20]
jne 0x484076
movzx eax, byte [esp + 0x10]
cdq
or edi, eax
or esi, edx
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], edi
mov dword [ebx], 0x907f0082
jmp 0x4840b1
mov dword [ebx], 0x907f0042
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret