Function at 0x466470
Capabilities:
Encode data using xor

Disassembly:
cmp eax, dword [edx - 0x1a]
je 0x421d5b
movzx edi, al
movzx eax, byte [edx - 0x1a]
sub edi, eax
jne 0x421d2f
movzx edi, byte [esi - 0x19]
movzx eax, byte [edx - 0x19]
sub edi, eax
jne 0x421d2f
movzx edi, byte [esi - 0x18]
movzx eax, byte [edx - 0x18]
sub edi, eax
je 0x421d3f
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x74f301]
jmp 0x421d5d
movzx ecx, byte [esi - 0x17]
movzx eax, byte [edx - 0x17]
sub ecx, eax
je 0x421d5d
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 0x74f301]
jmp 0x421d5d
xor ecx, ecx
test ecx, ecx
jne 0x4219d4
mov eax, dword [esi - 0x16]
cmp eax, dword [edx - 0x16]
je 0x421dbc
movzx edi, al
movzx eax, byte [edx - 0x16]
sub edi, eax
jne 0x421d90
movzx edi, byte [esi - 0x15]
movzx eax, byte [edx - 0x15]
sub edi, eax
jne 0x421d90
movzx edi, byte [esi - 0x14]
movzx eax, byte [edx - 0x14]
sub edi, eax
je 0x421da0
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x74f301]
jmp 0x421dbe
movzx ecx, byte [esi - 0x13]
movzx eax, byte [edx - 0x13]
sub ecx, eax
je 0x421dbe
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 0x74f301]
jmp 0x421dbe
xor ecx, ecx
test ecx, ecx
jne 0x4219d4
mov eax, dword [esi - 0x12]
cmp eax, dword [edx - 0x12]
je 0x421e1d
movzx edi, al
movzx eax, byte [edx - 0x12]
sub edi, eax
jne 0x421df1
movzx edi, byte [esi - 0x11]
movzx eax, byte [edx - 0x11]
sub edi, eax
jne 0x421df1
movzx edi, byte [esi - 0x10]
movzx eax, byte [edx - 0x10]
sub edi, eax
je 0x421e01
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x74f301]
jmp 0x421e1f
movzx ecx, byte [esi - 0xf]
movzx eax, byte [edx - 0xf]
sub ecx, eax
je 0x421e1f
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 0x74f301]
jmp 0x421e1f
xor ecx, ecx
test ecx, ecx
jne 0x4219d4
mov eax, dword [esi - 0xe]
cmp eax, dword [edx - 0xe]
je 0x421e7e
movzx edi, al
movzx eax, byte [edx - 0xe]
sub edi, eax
jne 0x421e52
movzx edi, byte [esi - 0xd]
movzx eax, byte [edx - 0xd]
sub edi, eax
jne 0x421e52
movzx edi, byte [esi - 0xc]
movzx eax, byte [edx - 0xc]
sub edi, eax
je 0x421e62
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x74f301]
jmp 0x421e80
movzx ecx, byte [esi - 0xb]
movzx eax, byte [edx - 0xb]
sub ecx, eax
je 0x421e80
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 0x74f301]
jmp 0x421e80
xor ecx, ecx
test ecx, ecx
jne 0x4219d4
mov eax, dword [esi - 0xa]
cmp eax, dword [edx - 0xa]
je 0x421ee0
movzx eax, byte [edx - 0xa]
movzx edi, byte [esi - 0xa]
sub edi, eax
jne 0x421eb4
movzx eax, byte [edx - 9]
movzx edi, byte [esi - 9]
sub edi, eax
jne 0x421eb4
movzx eax, byte [edx - 8]
movzx edi, byte [esi - 8]
sub edi, eax
je 0x421ec4
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x74f301]
jmp 0x421ee2
movzx eax, byte [edx - 7]
movzx ecx, byte [esi - 7]
sub ecx, eax
je 0x421ee2
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 0x74f301]
jmp 0x421ee2
xor ecx, ecx
test ecx, ecx
jne 0x8b4f19d4
mov eax, dword [esi - 6]
cmp eax, dword [edx - 6]
je 0x421f41
movzx edi, al
movzx eax, byte [edx - 6]
sub edi, eax
jne 0x421f15
movzx edi, byte [esi - 5]
movzx eax, byte [edx - 5]
sub edi, eax
jne 0x421f15
movzx edi, byte [esi - 4]
movzx eax, byte [edx - 4]
sub edi, eax
je 0x421f25
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x74f301]
jmp 0x421f43
movzx ecx, byte [esi - 3]
movzx eax, byte [edx - 3]
sub ecx, eax
je 0x421f43
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 0x74f301]
jmp 0x421f43
xor ecx, ecx
test ecx, ecx
jne 0x8b4f19d4
mov ax, word [esi - 2]
cmp ax, word [edx - 2]
je 0x8b4f19d2
jmp 0xaf2213
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 8]
push edi
mov edi, ecx
cmp edi, ebx
je 0x421d07
push esi
call 0x557008
mov eax, dword [ebx + 8]
cmp dword [edi + 0xc], eax
jae 0x4664ca
push 8
pop edx
cmp eax, edx
jb 0x466499
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 0x7541fe46
cmp dword [edi + 4], 0
mov esi, eax
pop ecx
je 0x4664c4
std
ja 0x4664c2
call fcn.0041fe4f
pop ecx
call [ecx - 0x77]
ja 0x4664cb
mov dword [edi + 4], esi
mov eax, dword [ebx + 8]
and dword [ebp + 8], 0xffffffff
or bh, bh
mov dword [edi + 8], eax
je 0x4664f7
je 0x466506
push 0x10
call fcn.0041fe16
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