Function at 0x573cf0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
push edi
mov edi, dword [ebp + 0xc]
mov eax, edi
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x573d00
sub eax, edx
cmp eax, 8
jae 0x573d32
push 0x14
call fcn.00419f69
mov ecx, dword [0x6b1944]
mov dword [eax], ecx
mov dx, word [0x6b1948]
add esp, 4
mov word [eax + 4], dx
pop edi
mov esp, ebp
pop ebp
ret 8
push ebx
push esi
mov esi, dword [ebp + 8]
xor edx, edx
mov ecx, 1
mov edi, edi
movsx ebx, byte [ecx + esi - 1]
movsx eax, byte [ecx + esi]
sub eax, ebx
jns 0x573d4f
neg eax
test edx, edx
jns 0x573d57
add edx, eax
jmp 0x573d59
sub edx, eax
inc ecx
cmp ecx, 8
jl 0x573d40
test edx, edx
jns 0x573d65
neg edx
lea eax, [edx + 0x30]
cmp eax, 0x30
jl 0x573d72
cmp eax, 0x39
jle 0x573db0
cmp eax, 0x61
jl 0x573d7c
cmp eax, 0x7a
jle 0x573db0
cmp eax, 0x41
jl 0x573d86
cmp eax, 0x5a
jle 0x573db0
mov eax, 0x7a
sub eax, edx
cmp eax, 0x30
jl 0x573d97
cmp eax, 0x39
jle 0x573db0
cmp eax, 0x61
jl 0x573da1
cmp eax, 0x7a
jle 0x573db0
cmp eax, 0x41
jl 0x573dab
cmp eax, 0x5a
jle 0x573db0
mov eax, 0x78
mov byte [edi + 8], al
movsx ecx, byte [esi + 7]
movsx eax, byte [esi + 8]
xor eax, ecx
movsx ecx, byte [esi + 6]
xor eax, ecx
movsx ecx, byte [esi + 5]
xor eax, ecx
movsx ecx, byte [esi + 4]
xor eax, ecx
movsx ecx, byte [esi + 3]
xor eax, ecx
movsx ecx, byte [esi + 2]
xor eax, ecx
movsx ecx, byte [esi + 1]
lea edx, [esi + 1]
xor eax, ecx
movsx ecx, byte [esi]
xor eax, ecx
cmp eax, 0x30
jge 0x573df2
movsx eax, byte [edi]
inc eax
cmp eax, 0x7a
jle 0x573dfc
movsx eax, byte [edi + 1]
inc eax
cmp eax, 0x30
jl 0x573e06
cmp eax, 0x39
jle 0x573e1f
cmp eax, 0x61
jl 0x573e10
cmp eax, 0x7a
jle 0x573e1f
cmp eax, 0x41
jl 0x573e1a
cmp eax, 0x5a
jle 0x573e1f
mov eax, 0x52
mov byte [edi + 9], al
xor ecx, ecx
mov esi, 1
lea esp, [esp]
movsx ebx, byte [esi + edi - 1]
movsx eax, byte [esi + edi]
sub eax, ebx
jns 0x573e3f
neg eax
test ecx, ecx
jns 0x573e47
add ecx, eax
jmp 0x573e49
sub ecx, eax
inc esi
cmp esi, 8
jl 0x573e30
mov dword [ebp - 4], 2
movsx edi, byte [edx + 1]
movsx esi, byte [edx - 1]
mov eax, edi
sub eax, esi
jns 0x573e66
neg eax
test ecx, ecx
jns 0x573e6e
add ecx, eax
jmp 0x573e70
sub ecx, eax
movsx esi, byte [edx + 2]
movsx ebx, byte [edx]
mov eax, esi
sub eax, ebx
jns 0x573e7f
neg eax
test ecx, ecx
jns 0x573e87
add ecx, eax
jmp 0x573e89
sub ecx, eax
movsx eax, byte [edx + 3]
sub eax, edi
jns 0x573e93
neg eax
test ecx, ecx
jns 0x573e9b
add ecx, eax
jmp 0x573e9d
sub ecx, eax
movsx eax, byte [edx + 4]
sub eax, esi
jns 0x573ea7
neg eax
test ecx, ecx
jns 0x573eaf
add ecx, eax
jmp 0x573eb1
sub ecx, eax
add edx, 4
dec dword [ebp - 4]
jne 0x573e56
test ecx, ecx
jns 0x573ebf
neg ecx
lea eax, [ecx + 0x30]
cmp eax, 0x30
jl 0x573ecc
cmp eax, 0x39
jle 0x573f0a
cmp eax, 0x61
jl 0x573ed6
cmp eax, 0x7a
jle 0x573f0a
cmp eax, 0x41
jl 0x573ee0
cmp eax, 0x5a
jle 0x573f0a
mov eax, 0x7a
sub eax, ecx
cmp eax, 0x30
jl 0x573ef1
cmp eax, 0x39
jle 0x573f0a
cmp eax, 0x61
jl 0x573efb
cmp eax, 0x7a
jle 0x573f0a
cmp eax, 0x41
jl 0x573f05
cmp eax, 0x5a
jle 0x573f0a
mov eax, 0x6e
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov byte [ebx + 0xa], al
xor eax, eax
xor ecx, ecx
movsx edx, byte [ecx + edi]
add ecx, 2
xor eax, edx
cmp ecx, 0xa
jl 0x573f17
movsx edx, byte [ebx + 6]
movsx ecx, byte [ebx + 7]
xor ecx, edx
movsx edx, byte [ebx + 1]
xor ecx, edx
movsx edx, byte [ebx + 5]
xor ecx, edx
movsx edx, byte [ebx + 4]
xor ecx, edx
movsx edx, byte [ebx]
xor ecx, edx
movsx edx, byte [ebx + 3]
xor ecx, edx
movsx edx, byte [ebx + 2]
xor ecx, edx
xor eax, ecx
cmp eax, 0x30
jge 0x573f60
movsx eax, byte [ebx + 5]
add eax, 0x14
cmp eax, 0x7a
jle 0x573f6c
movsx eax, byte [ebx + 2]
sub eax, 0xa
cmp eax, 0x30
jge 0x573f78
movsx eax, byte [ebx + 3]
add eax, 0x14
cmp eax, 0x7a
jle 0x573f84
movsx eax, byte [ebx + 4]
sub eax, 0xa
cmp eax, 0x30
jl 0x573f8e
cmp eax, 0x39
jle 0x573fa7
cmp eax, 0x61
jl 0x573f98
cmp eax, 0x7a
jle 0x573fa7
cmp eax, 0x41
jl 0x573fa2
cmp eax, 0x5a
jle 0x573fa7
mov eax, 0x47
mov byte [ebx + 0xb], al
mov eax, edi
mov byte [ebx + 0xc], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x573fb3
sub eax, edx
mov edx, eax
mov eax, ebx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x573fc3
sub eax, esi
lea eax, [eax + edx + 2]
push eax
call fcn.00419f69
mov esi, eax
add esp, 4
mov ecx, edi
sub esi, edi
nop
mov dl, byte [ecx]
mov byte [esi + ecx], dl
inc ecx
test dl, dl
jne 0x573fe0
lea edi, [eax - 1]
lea ecx, [ecx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x573ff0
mov cx, word [0x67634c]
mov word [edi], cx
mov ecx, ebx
mov edx, ebx
mov bl, byte [ecx]
inc ecx
test bl, bl
jne 0x574006
sub ecx, edx
mov ebx, ecx
lea edi, [eax - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x574014
mov ecx, ebx
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
pop ebx
pop edi
mov esp, ebp
pop ebp
ret 8