Function at 0x4e7347
Capabilities:
Encode data using xor

Disassembly:
push ebp
lea ebp, [esp - 0x288]
sub esp, 0x308
mov eax, dword [0x517ad4]
xor eax, ebp
push ebx
mov dword [ebp + 0x284], eax
push esi
xor eax, eax
xor ecx, ecx
inc eax
mov esi, 0x11b
push edi
mov edx, eax
and dl, 0x80
mov byte [ebp + ecx - 0x7c], al
mov byte [ebp + ecx + 0x83], al
mov byte [ebp + eax + 0x184], cl
inc ecx
neg dl
lea edi, [eax + eax]
sbb edx, edx
and edx, esi
xor edx, edi
xor eax, edx
cmp eax, 1
jne 0x4e736f
xor ecx, ecx
pop edi
mov edx, eax
and dl, 0x80
neg dl
mov byte [ecx + 0x51dd28], al
sbb edx, edx
and edx, esi
add eax, eax
xor eax, edx
inc ecx
cmp ecx, 0x1e
jb 0x4e739c
xor ebx, ebx
mov dword [ebp - 0x80], ebx
jmp 0x4e73c1
mov ebx, dword [ebp - 0x80]
test bl, bl
je 0x4e73dd
movzx eax, bl
movzx eax, byte [ebp + eax + 0x184]
lea ecx, [ebp + 0x83]
sub ecx, eax
movzx eax, byte [ecx]
jmp 0x4e73df
xor eax, eax
lea ecx, [eax + eax]
xor ecx, eax
shl ecx, 1
xor ecx, eax
shl ecx, 1
xor ecx, eax
shl ecx, 1
xor eax, ecx
mov ecx, eax
sar ecx, 8
xor cl, al
xor cl, 0x63
lea eax, [ebx*4]
lea edx, [eax + 0x51f648]
mov byte [ebx + 0x520248], cl
mov byte [edx + 1], cl
mov byte [edx], cl
mov byte [eax + 0x51fe4b], cl
mov byte [eax + 0x51fe48], cl
mov byte [eax + 0x51dd4b], cl
mov byte [eax + 0x51dd4a], cl
mov byte [eax + 0x52034a], cl
mov byte [eax + 0x520349], cl
je 0x4e744a
movzx edx, cl
movzx edx, byte [ebp + edx + 0x184]
movzx edx, byte [ebp + edx - 0x63]
jmp 0x4e744c
xor edx, edx
test cl, cl
mov byte [eax + 0x51f64b], dl
mov byte [eax + 0x51fe4a], dl
mov byte [eax + 0x51dd49], dl
mov byte [eax + 0x520348], dl
je 0x4e747a
movzx ecx, cl
movzx ecx, byte [ebp + ecx + 0x184]
movzx ecx, byte [ebp + ecx - 0x7b]
jmp 0x4e747c
xor ecx, ecx
mov byte [eax + 0x51f64a], cl
mov byte [eax + 0x51fe49], cl
mov byte [eax + 0x51dd48], cl
mov byte [eax + 0x52034b], cl
movzx esi, bl
mov ecx, esi
shl ecx, 3
xor ecx, esi
shl ecx, 2
xor ecx, esi
shl ecx, 1
mov edx, ecx
sar edx, 8
xor dl, cl
xor dl, 5
je 0x4e74e3
mov ecx, esi
shl ecx, 3
xor ecx, esi
shl ecx, 2
xor ecx, esi
shl ecx, 1
mov edx, ecx
sar edx, 8
movzx edx, dl
movzx ecx, cl
xor edx, ecx
xor edx, 5
movzx ecx, byte [ebp + edx + 0x184]
lea edx, [ebp + 0x83]
sub edx, ecx
mov bl, byte [edx]
jmp 0x4e74e5
xor bl, bl
test bl, bl
mov ecx, dword [ebp - 0x80]
mov byte [ecx + 0x51e548], bl
je 0x4e7504
movzx ecx, bl
movzx ecx, byte [ebp + ecx + 0x184]
movzx edx, byte [ebp + ecx - 0x14]
jmp 0x4e7506
xor edx, edx
movzx esi, bl
mov ecx, esi
shl ecx, 2
test bl, bl
mov byte [eax + 0x51ee4a], dl
mov byte [eax + 0x51d929], dl
mov byte [eax + 0x51e148], dl
mov byte [eax + 0x51fa4b], dl
mov byte [ecx + 0x51ea4a], dl
mov byte [ecx + 0x51e649], dl
mov byte [ecx + 0x51f248], dl
mov byte [ecx + 0x52074b], dl
je 0x4e7551
movzx edx, byte [ebp + esi + 0x184]
movzx edx, byte [ebp + edx + 0x4b]
jmp 0x4e7553
xor edx, edx
test bl, bl
mov byte [eax + 0x51ee48], dl
mov byte [eax + 0x51d92b], dl
mov byte [eax + 0x51e14a], dl
mov byte [eax + 0x51fa49], dl
mov byte [ecx + 0x51ea48], dl
mov byte [ecx + 0x51e64b], dl
mov byte [ecx + 0x51f24a], dl
mov byte [ecx + 0x520749], dl
je 0x4e7596
movzx edx, byte [ebp + esi + 0x184]
movzx edx, byte [ebp + edx + 0x72]
jmp 0x4e7598
xor edx, edx
test bl, bl
mov byte [eax + 0x51ee49], dl
mov byte [eax + 0x51d928], dl
mov byte [eax + 0x51e14b], dl
mov byte [eax + 0x51fa4a], dl
mov byte [ecx + 0x51ea49], dl
mov byte [ecx + 0x51e648], dl
mov byte [ecx + 0x51f24b], dl
mov byte [ecx + 0x52074a], dl
je 0x4e75db
movzx edx, byte [ebp + esi + 0x184]
movzx edx, byte [ebp + edx + 0x63]
jmp 0x4e75dd
xor edx, edx
inc dword [ebp - 0x80]
cmp dword [ebp - 0x80], 0x100
mov byte [eax + 0x51ee4b], dl
mov byte [eax + 0x51d92a], dl
mov byte [eax + 0x51e149], dl
mov byte [eax + 0x51fa48], dl
mov byte [ecx + 0x51ea4b], dl
mov byte [ecx + 0x51e64a], dl
mov byte [ecx + 0x51f249], dl
mov byte [ecx + 0x520748], dl
jl 0x4e73be
mov ecx, dword [ebp + 0x284]
pop esi
xor ecx, ebp
pop ebx
call fcn.004ebd70
add ebp, 0x288
leave
ret