Function at 0x43b460
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 0x43b470
sub eax, edx
cmp eax, 8
jae 0x43b4a2
push 0x14
call fcn.00462d62
mov ecx, dword [0x4b771c]
mov dword [eax], ecx
mov dx, word [0x4b7720]
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 0x43b4bf
neg eax
test edx, edx
jns 0x43b4c7
add edx, eax
jmp 0x43b4c9
sub edx, eax
inc ecx
cmp ecx, 8
jl 0x43b4b0
test edx, edx
jns 0x43b4d5
neg edx
lea eax, [edx + 0x30]
cmp eax, 0x30
jl 0x43b4e2
cmp eax, 0x39
jle 0x43b520
cmp eax, 0x61
jl 0x43b4ec
cmp eax, 0x7a
jle 0x43b520
cmp eax, 0x41
jl 0x43b4f6
cmp eax, 0x5a
jle 0x43b520
mov eax, 0x7a
sub eax, edx
cmp eax, 0x30
jl 0x43b507
cmp eax, 0x39
jle 0x43b520
cmp eax, 0x61
jl 0x43b511
cmp eax, 0x7a
jle 0x43b520
cmp eax, 0x41
jl 0x43b51b
cmp eax, 0x5a
jle 0x43b520
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 0x43b562
movsx eax, byte [edi]
inc eax
cmp eax, 0x7a
jle 0x43b56c
movsx eax, byte [edi + 1]
inc eax
cmp eax, 0x30
jl 0x43b576
cmp eax, 0x39
jle 0x43b58f
cmp eax, 0x61
jl 0x43b580
cmp eax, 0x7a
jle 0x43b58f
cmp eax, 0x41
jl 0x43b58a
cmp eax, 0x5a
jle 0x43b58f
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 0x43b5af
neg eax
test ecx, ecx
jns 0x43b5b7
add ecx, eax
jmp 0x43b5b9
sub ecx, eax
inc esi
cmp esi, 8
jl 0x43b5a0
mov dword [ebp - 4], 2
movsx edi, byte [edx + 1]
movsx esi, byte [edx - 1]
mov eax, edi
sub eax, esi
jns 0x43b5d6
neg eax
test ecx, ecx
jns 0x43b5de
add ecx, eax
jmp 0x43b5e0
sub ecx, eax
movsx esi, byte [edx + 2]
movsx ebx, byte [edx]
mov eax, esi
sub eax, ebx
jns 0x43b5ef
neg eax
test ecx, ecx
jns 0x43b5f7
add ecx, eax
jmp 0x43b5f9
sub ecx, eax
movsx eax, byte [edx + 3]
sub eax, edi
jns 0x43b603
neg eax
test ecx, ecx
jns 0x43b60b
add ecx, eax
jmp 0x43b60d
sub ecx, eax
movsx eax, byte [edx + 4]
sub eax, esi
jns 0x43b617
neg eax
test ecx, ecx
jns 0x43b61f
add ecx, eax
jmp 0x43b621
sub ecx, eax
add edx, 4
dec dword [ebp - 4]
jne 0x43b5c6
test ecx, ecx
jns 0x43b62f
neg ecx
lea eax, [ecx + 0x30]
cmp eax, 0x30
jl 0x43b63c
cmp eax, 0x39
jle 0x43b67a
cmp eax, 0x61
jl 0x43b646
cmp eax, 0x7a
jle 0x43b67a
cmp eax, 0x41
jl 0x43b650
cmp eax, 0x5a
jle 0x43b67a
mov eax, 0x7a
sub eax, ecx
cmp eax, 0x30
jl 0x43b661
cmp eax, 0x39
jle 0x43b67a
cmp eax, 0x61
jl 0x43b66b
cmp eax, 0x7a
jle 0x43b67a
cmp eax, 0x41
jl 0x43b675
cmp eax, 0x5a
jle 0x43b67a
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 0x43b687
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 0x43b6d0
movsx eax, byte [ebx + 5]
add eax, 0x14
cmp eax, 0x7a
jle 0x43b6dc
movsx eax, byte [ebx + 2]
sub eax, 0xa
cmp eax, 0x30
jge 0x43b6e8
movsx eax, byte [ebx + 3]
add eax, 0x14
cmp eax, 0x7a
jle 0x43b6f4
movsx eax, byte [ebx + 4]
sub eax, 0xa
cmp eax, 0x30
jl 0x43b6fe
cmp eax, 0x39
jle 0x43b717
cmp eax, 0x61
jl 0x43b708
cmp eax, 0x7a
jle 0x43b717
cmp eax, 0x41
jl 0x43b712
cmp eax, 0x5a
jle 0x43b717
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 0x43b723
sub eax, edx
mov edx, eax
mov eax, ebx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43b733
sub eax, esi
lea eax, [eax + edx + 2]
push eax
call fcn.00462d62
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 0x43b750
lea edi, [eax - 1]
lea ecx, [ecx]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x43b760
mov cx, word [0x4b3c6c]
mov word [edi], cx
mov ecx, ebx
mov edx, ebx
mov bl, byte [ecx]
inc ecx
test bl, bl
jne 0x43b776
sub ecx, edx
mov ebx, ecx
lea edi, [eax - 1]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x43b784
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