Function at 0x4adf84
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
add esp, 0xffffffc4
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [esp]
mov eax, dword [eax + 0x44]
mov dword [esp + 8], eax
mov edx, dword [esp]
mov edx, dword [edx + 0x48]
mov dword [esp + 0x10], edx
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x4c]
mov dword [esp + 0x18], ecx
mov ebx, dword [esp]
mov ebx, dword [ebx + 0x50]
mov dword [esp + 0x20], ebx
mov ebx, dword [esp]
mov ebx, dword [ebx + 0x54]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp]
mov dword [esp + 0xc], eax
mov eax, dword [esp]
mov dword [esp + 0x14], edx
mov eax, dword [esp]
mov dword [esp + 0x1c], ecx
mov eax, dword [esp]
mov eax, dword [eax + 0x50]
mov dword [esp + 0x24], eax
mov eax, dword [esp]
mov eax, dword [eax + 0x54]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], 0x10
mov dword [esp + 0x34], 0x5e1900
mov edx, 0x5e19a0
mov eax, 0x5e1950
mov esi, str._b_t_t_v_r
mov ecx, dword [esp + 0x34]
movzx ecx, byte [ecx]
mov ebx, dword [esp + 4]
mov ebx, dword [ebx + ecx*4]
mov ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0x20]
add ecx, dword [esp + 8]
add ebx, ecx
add ebx, dword [0x5e18d8]
movzx ecx, byte [edx]
push ecx
mov ecx, 0x20
pop edi
sub ecx, edi
mov edi, ebx
shr edi, cl
movzx ecx, byte [edx]
shl ebx, cl
or edi, ebx
add edi, dword [esp + 0x28]
mov ebx, edi
mov ecx, dword [esp + 0x28]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x18]
shl ecx, 0xa
mov edi, dword [esp + 0x18]
shr edi, 0x16
or ecx, edi
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], ebx
movzx ecx, byte [eax]
mov ebx, dword [esp + 4]
mov ebx, dword [ebx + ecx*4]
mov ecx, dword [esp + 0x24]
not ecx
or ecx, dword [esp + 0x1c]
xor ecx, dword [esp + 0x14]
add ecx, dword [esp + 0xc]
add ebx, ecx
add ebx, dword [0x5e18ec]
movzx ecx, byte [esi]
push ecx
mov ecx, 0x20
pop edi
sub ecx, edi
mov edi, ebx
shr edi, cl
movzx ecx, byte [esi]
shl ebx, cl
or edi, ebx
add edi, dword [esp + 0x2c]
mov ebx, edi
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x1c]
shl ecx, 0xa
mov edi, dword [esp + 0x1c]
shr edi, 0x16
or ecx, edi
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], ebx
inc esi
inc eax
inc edx
inc dword [esp + 0x34]
dec dword [esp + 0x30]
jne 0x4ae00b
mov dword [esp + 0x30], 0x10
mov edx, 0x5e1910
mov dword [esp + 0x38], 0x5e19b0
mov esi, 0x5e1960
mov eax, 0x5e1a00
mov ebx, dword [esp + 0x10]
and ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
not ecx
and ecx, dword [esp + 0x20]
or ebx, ecx
add ebx, dword [esp + 8]
movzx ecx, byte [edx]
mov edi, dword [esp + 4]
add ebx, dword [edi + ecx*4]
add ebx, dword [0x5e18dc]
mov ecx, dword [esp + 0x38]
movzx ecx, byte [ecx]
push ecx
mov ecx, 0x20
pop edi
sub ecx, edi
mov edi, ebx
shr edi, cl
mov ecx, dword [esp + 0x38]
movzx ecx, byte [ecx]
shl ebx, cl
or edi, ebx
add edi, dword [esp + 0x28]
mov ebx, edi
mov ecx, dword [esp + 0x28]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x18]
shl ecx, 0xa
mov edi, dword [esp + 0x18]
shr edi, 0x16
or ecx, edi
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x14]
and ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
not ecx
and ecx, dword [esp + 0x1c]
or ebx, ecx
add ebx, dword [esp + 0xc]
movzx ecx, byte [esi]
mov edi, dword [esp + 4]
add ebx, dword [edi + ecx*4]
add ebx, dword [0x5e18f0]
movzx ecx, byte [eax]
push ecx
mov ecx, 0x20
pop edi
sub ecx, edi
mov edi, ebx
shr edi, cl
movzx ecx, byte [eax]
shl ebx, cl
or edi, ebx
add edi, dword [esp + 0x2c]
mov ebx, edi
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x1c]
shl ecx, 0xa
mov edi, dword [esp + 0x1c]
shr edi, 0x16
or ecx, edi
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], ebx
inc eax
inc esi
inc dword [esp + 0x38]
inc edx
dec dword [esp + 0x30]
jne 0x4ae11f
mov dword [esp + 0x30], 0x10
mov eax, 0x5e1920
mov esi, 0x5e19c0
mov dword [esp + 0x38], 0x5e1970
mov edx, 0x5e1a10
movzx ecx, byte [eax]
mov ebx, dword [esp + 4]
mov ebx, dword [ebx + ecx*4]
mov ecx, dword [esp + 0x18]
not ecx
or ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x20]
add ecx, dword [esp + 8]
add ebx, ecx
add ebx, dword [0x5e18e0]
movzx ecx, byte [esi]
push ecx
mov ecx, 0x20
pop edi
sub ecx, edi
mov edi, ebx
shr edi, cl
movzx ecx, byte [esi]
shl ebx, cl
or edi, ebx
add edi, dword [esp + 0x28]
mov ebx, edi
mov ecx, dword [esp + 0x28]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x18]
shl ecx, 0xa
mov edi, dword [esp + 0x18]
shr edi, 0x16
or ecx, edi
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x38]
movzx ecx, byte [ecx]
mov ebx, dword [esp + 4]
mov ebx, dword [ebx + ecx*4]
mov ecx, dword [esp + 0x1c]
not ecx
or ecx, dword [esp + 0x14]
xor ecx, dword [esp + 0x24]
add ecx, dword [esp + 0xc]
add ebx, ecx
add ebx, dword [0x5e18f4]
movzx ecx, byte [edx]
push ecx
mov ecx, 0x20
pop edi
sub ecx, edi
mov edi, ebx
shr edi, cl
movzx ecx, byte [edx]
shl ebx, cl
or edi, ebx
add edi, dword [esp + 0x2c]
mov ebx, edi
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x1c]
shl ecx, 0xa
mov edi, dword [esp + 0x1c]
shr edi, 0x16
or ecx, edi
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], ebx
inc edx
inc dword [esp + 0x38]
inc esi
inc eax
dec dword [esp + 0x30]
jne 0x4ae241
mov dword [esp + 0x30], 0x10
mov edx, 0x5e1930
mov dword [esp + 0x38], 0x5e19d0
mov esi, 0x5e1980
mov eax, 0x5e1a20
mov ebx, dword [esp + 0x10]
and ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
not ecx
and ecx, dword [esp + 0x18]
or ebx, ecx
add ebx, dword [esp + 8]
movzx ecx, byte [edx]
mov edi, dword [esp + 4]
add ebx, dword [edi + ecx*4]
add ebx, dword [0x5e18e4]
mov ecx, dword [esp + 0x38]
movzx ecx, byte [ecx]
push ecx
mov ecx, 0x20
pop edi
sub ecx, edi
mov edi, ebx
shr edi, cl
mov ecx, dword [esp + 0x38]
movzx ecx, byte [ecx]
shl ebx, cl
or edi, ebx
add edi, dword [esp + 0x28]
mov ebx, edi
mov ecx, dword [esp + 0x28]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x18]
shl ecx, 0xa
mov edi, dword [esp + 0x18]
shr edi, 0x16
or ecx, edi
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x14]
and ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
not ecx
and ecx, dword [esp + 0x24]
or ebx, ecx
add ebx, dword [esp + 0xc]
movzx ecx, byte [esi]
mov edi, dword [esp + 4]
add ebx, dword [edi + ecx*4]
add ebx, dword [0x5e18f8]
movzx ecx, byte [eax]
push ecx
mov ecx, 0x20
pop edi
sub ecx, edi
mov edi, ebx
shr edi, cl
movzx ecx, byte [eax]
shl ebx, cl
or edi, ebx
add edi, dword [esp + 0x2c]
mov ebx, edi
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x1c]
shl ecx, 0xa
mov edi, dword [esp + 0x1c]
shr edi, 0x16
or ecx, edi
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], ebx
inc eax
inc esi
inc dword [esp + 0x38]
inc edx
dec dword [esp + 0x30]
jne 0x4ae357
mov dword [esp + 0x30], 0x10
mov eax, 0x5e1940
mov esi, 0x5e19e0
mov dword [esp + 0x38], 0x5e1990
mov edx, 0x5e1a30
movzx ecx, byte [eax]
mov ebx, dword [esp + 4]
mov ebx, dword [ebx + ecx*4]
mov ecx, dword [esp + 0x20]
not ecx
or ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0x10]
add ecx, dword [esp + 8]
add ebx, ecx
add ebx, dword [0x5e18e8]
movzx ecx, byte [esi]
push ecx
mov ecx, 0x20
pop edi
sub ecx, edi
mov edi, ebx
shr edi, cl
movzx ecx, byte [esi]
shl ebx, cl
or edi, ebx
add edi, dword [esp + 0x28]
mov ebx, edi
mov ecx, dword [esp + 0x28]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x18]
shl ecx, 0xa
mov edi, dword [esp + 0x18]
shr edi, 0x16
or ecx, edi
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x38]
movzx ecx, byte [ecx]
mov ebx, dword [esp + 4]
mov ebx, dword [ebx + ecx*4]
mov ecx, dword [esp + 0x14]
xor ecx, dword [esp + 0x1c]
xor ecx, dword [esp + 0x24]
add ecx, dword [esp + 0xc]
add ebx, ecx
add ebx, dword [0x5e18fc]
movzx ecx, byte [edx]
push ecx
mov ecx, 0x20
pop edi
sub ecx, edi
mov edi, ebx
shr edi, cl
movzx ecx, byte [edx]
shl ebx, cl
or edi, ebx
add edi, dword [esp + 0x2c]
mov ebx, edi
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x1c]
shl ecx, 0xa
mov edi, dword [esp + 0x1c]
shr edi, 0x16
or ecx, edi
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], ebx
inc edx
inc dword [esp + 0x38]
inc esi
inc eax
dec dword [esp + 0x30]
jne 0x4ae479
mov ebx, dword [esp]
mov ebx, dword [ebx + 0x48]
add ebx, dword [esp + 0x18]
add ebx, dword [esp + 0x24]
mov eax, dword [esp]
mov eax, dword [eax + 0x4c]
add eax, dword [esp + 0x20]
add eax, dword [esp + 0x2c]
mov edx, dword [esp]
mov dword [edx + 0x48], eax
mov eax, dword [esp]
mov eax, dword [eax + 0x50]
add eax, dword [esp + 0x28]
add eax, dword [esp + 0xc]
mov edx, dword [esp]
mov dword [edx + 0x4c], eax
mov eax, dword [esp]
mov eax, dword [eax + 0x54]
add eax, dword [esp + 8]
add eax, dword [esp + 0x14]
mov edx, dword [esp]
mov dword [edx + 0x50], eax
mov eax, dword [esp]
mov eax, dword [eax + 0x44]
add eax, dword [esp + 0x10]
add eax, dword [esp + 0x1c]
mov edx, dword [esp]
mov dword [edx + 0x54], eax
mov eax, dword [esp]
mov dword [eax + 0x44], ebx
add esp, 0x3c
pop edi
pop esi
pop ebx
ret