Function at 0x466460
Capabilities:
Encode data using xor

Disassembly:
cmp eax, dword [edx - 0x1a]
je 0x421d4b
movzx edi, al
movzx eax, byte [edx - 0x1a]
sub edi, eax
jne 0x421d1f
movzx edi, byte [esi - 0x19]
movzx eax, byte [edx - 0x19]
sub edi, eax
jne 0x421d1f
movzx edi, byte [esi - 0x18]
movzx eax, byte [edx - 0x18]
sub edi, eax
je 0x421d2f
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x161701]
jmp 0x421d4d
movzx ecx, byte [esi - 0x17]
movzx eax, byte [edx - 0x17]
sub ecx, eax
je 0x421d4d
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 0x161701]
jmp 0x421d4d
xor ecx, ecx
test ecx, ecx
jne 0x4219c4
mov eax, dword [esi - 0x16]
cmp eax, dword [edx - 0x16]
je 0x421dac
movzx edi, al
movzx eax, byte [edx - 0x16]
sub edi, eax
jne 0x421d80
movzx edi, byte [esi - 0x15]
movzx eax, byte [edx - 0x15]
sub edi, eax
jne 0x421d80
movzx edi, byte [esi - 0x14]
movzx eax, byte [edx - 0x14]
sub edi, eax
je 0x421d90
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x161701]
jmp 0x421dae
movzx ecx, byte [esi - 0x13]
movzx eax, byte [edx - 0x13]
sub ecx, eax
je 0x421dae
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 0x161701]
jmp 0x421dae
xor ecx, ecx
test ecx, ecx
jne 0x4219c4
mov eax, dword [esi - 0x12]
cmp eax, dword [edx - 0x12]
je 0x421e0d
movzx edi, al
movzx eax, byte [edx - 0x12]
sub edi, eax
jne 0x421de1
movzx edi, byte [esi - 0x11]
movzx eax, byte [edx - 0x11]
sub edi, eax
jne 0x421de1
movzx edi, byte [esi - 0x10]
movzx eax, byte [edx - 0x10]
sub edi, eax
je 0x421df1
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x161701]
jmp 0x421e0f
movzx ecx, byte [esi - 0xf]
movzx eax, byte [edx - 0xf]
sub ecx, eax
je 0x421e0f
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 0x161701]
jmp 0x421e0f
xor ecx, ecx
test ecx, ecx
jne 0x4219c4
mov eax, dword [esi - 0xe]
cmp eax, dword [edx - 0xe]
je 0x421e6e
movzx edi, al
movzx eax, byte [edx - 0xe]
sub edi, eax
jne 0x421e42
movzx edi, byte [esi - 0xd]
movzx eax, byte [edx - 0xd]
sub edi, eax
jne 0x421e42
movzx edi, byte [esi - 0xc]
movzx eax, byte [edx - 0xc]
sub edi, eax
je 0x421e52
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x161701]
jmp 0x421e70
movzx ecx, byte [esi - 0xb]
movzx eax, byte [edx - 0xb]
sub ecx, eax
je 0x421e70
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 0x161701]
jmp 0x421e70
xor ecx, ecx
test ecx, ecx
jne 0x4219c4
mov eax, dword [esi - 0xa]
cmp eax, dword [edx - 0xa]
je 0x421ed0
movzx eax, byte [edx - 0xa]
movzx edi, byte [esi - 0xa]
sub edi, eax
jne 0x421ea4
movzx eax, byte [edx - 9]
movzx edi, byte [esi - 9]
sub edi, eax
jne 0x421ea4
movzx eax, byte [edx - 8]
movzx edi, byte [esi - 8]
sub edi, eax
je 0x421eb4
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x161701]
jmp 0x421ed2
movzx eax, byte [edx - 7]
movzx ecx, byte [esi - 7]
sub ecx, eax
je 0x421ed2
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 0x161701]
jmp 0x421ed2
xor ecx, ecx
test ecx, ecx
jne 0xea2b19c4
mov eax, dword [esi - 6]
cmp eax, dword [edx - 6]
je 0x421f31
movzx edi, al
movzx eax, byte [edx - 6]
sub edi, eax
jne 0x421f05
movzx edi, byte [esi - 5]
movzx eax, byte [edx - 5]
sub edi, eax
jne 0x421f05
movzx edi, byte [esi - 4]
movzx eax, byte [edx - 4]
sub edi, eax
je 0x421f15
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x161701]
jmp 0x421f33
movzx ecx, byte [esi - 3]
movzx eax, byte [edx - 3]
sub ecx, eax
je 0x421f33
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 0x161701]
jmp 0x421f33
xor ecx, ecx
test ecx, ecx
jne 0xea2b19c4
mov ax, word [esi - 2]
cmp ax, word [edx - 2]
je 0xea2b19c2
jmp 0x334e2203
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 8]
push edi
mov edi, ecx
cmp edi, ebx
je 0x421cf7
push esi
call 0x556ff8
mov eax, dword [ebx + 8]
cmp dword [edi + 0xc], eax
jae 0x4664ba
push 8
pop edx
cmp eax, edx
jb 0x466489
mov edx, eax
mov dword [edi + 0xc], edx
xor ecx, ecx
mov eax, edx
push 4
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call 0x7541fe36
cmp dword [edi + 4], 0
mov esi, eax
pop ecx
je 0x4664b4
std
ja 0x4664b2
call fcn.0041fe3f
pop ecx
call [ecx - 0x77]
ja 0x4664bb
mov dword [edi + 4], esi
mov eax, dword [ebx + 8]
and dword [ebp + 8], 0xffffffff
or bh, bh
mov dword [edi + 8], eax
je 0x4664e7
je 0x4664f6
push 0x10
call fcn.0041fe06
pop ecx
mov ecx, dword [ebx + 4]
sub eax, 0x8458b8d
mov ecx, dword [ecx + eax*4]
and dword [esi + 8], 0
mov esi, 0x27fcffde
pushfd
cli
test dword [ebx + 0x4f8b0845], ecx
add al, 0x89
xor al, 0x81
mov ecx, dword [edi + 4]
mov dword [ecx + eax*4], esi
inc eax
mov dword [ebp + 8], eax
or byte [ebx], bh
inc edi
or byte [edx - 0x31], dh