Function at 0x4da02c
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], 0x5b0958
mov edx, 0x5b09f8
mov eax, 0x5b09a8
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 [0x5b0930]
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 [0x5b0944]
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 0x4da0b3
mov dword [esp + 0x30], 0x10
mov edx, 0x5b0968
mov dword [esp + 0x38], 0x5b0a08
mov esi, 0x5b09b8
mov eax, 0x5b0a58
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 [0x5b0934]
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 [0x5b0948]
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 0x4da1c7
mov dword [esp + 0x30], 0x10
mov eax, 0x5b0978
mov esi, 0x5b0a18
mov dword [esp + 0x38], 0x5b09c8
mov edx, 0x5b0a68
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 [0x5b0938]
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 [0x5b094c]
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 0x4da2e9
mov dword [esp + 0x30], 0x10
mov edx, 0x5b0988
mov dword [esp + 0x38], 0x5b0a28
mov esi, 0x5b09d8
mov eax, 0x5b0a78
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 [0x5b093c]
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 [0x5b0950]
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 0x4da3ff
mov dword [esp + 0x30], 0x10
mov eax, 0x5b0998
mov esi, 0x5b0a38
mov dword [esp + 0x38], 0x5b09e8
mov edx, 0x5b0a88
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 [0x5b0940]
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 [0x5b0954]
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 0x4da521
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