Function at 0x466456
Capabilities:
Encode data using xor

Disassembly:
cmp eax, dword [edx - 0x1a]
je 0x421d41
movzx edi, al
movzx eax, byte [edx - 0x1a]
sub edi, eax
jne 0x421d15
movzx edi, byte [esi - 0x19]
movzx eax, byte [edx - 0x19]
sub edi, eax
jne 0x421d15
movzx edi, byte [esi - 0x18]
movzx eax, byte [edx - 0x18]
sub edi, eax
je 0x421d25
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x460001]
jmp 0x421d43
movzx ecx, byte [esi - 0x17]
movzx eax, byte [edx - 0x17]
sub ecx, eax
je 0x421d43
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 0x460001]
jmp 0x421d43
xor ecx, ecx
test ecx, ecx
jne 0x4219ba
mov eax, dword [esi - 0x16]
cmp eax, dword [edx - 0x16]
je 0x421da2
movzx edi, al
movzx eax, byte [edx - 0x16]
sub edi, eax
jne 0x421d76
movzx edi, byte [esi - 0x15]
movzx eax, byte [edx - 0x15]
sub edi, eax
jne 0x421d76
movzx edi, byte [esi - 0x14]
movzx eax, byte [edx - 0x14]
sub edi, eax
je 0x421d86
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x460001]
jmp 0x421da4
movzx ecx, byte [esi - 0x13]
movzx eax, byte [edx - 0x13]
sub ecx, eax
je 0x421da4
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 0x460001]
jmp 0x421da4
xor ecx, ecx
test ecx, ecx
jne 0x4219ba
mov eax, dword [esi - 0x12]
cmp eax, dword [edx - 0x12]
je 0x421e03
movzx edi, al
movzx eax, byte [edx - 0x12]
sub edi, eax
jne 0x421dd7
movzx edi, byte [esi - 0x11]
movzx eax, byte [edx - 0x11]
sub edi, eax
jne 0x421dd7
movzx edi, byte [esi - 0x10]
movzx eax, byte [edx - 0x10]
sub edi, eax
je 0x421de7
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x460001]
jmp 0x421e05
movzx ecx, byte [esi - 0xf]
movzx eax, byte [edx - 0xf]
sub ecx, eax
je 0x421e05
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 0x460001]
jmp 0x421e05
xor ecx, ecx
test ecx, ecx
jne 0x4219ba
mov eax, dword [esi - 0xe]
cmp eax, dword [edx - 0xe]
je 0x421e64
movzx edi, al
movzx eax, byte [edx - 0xe]
sub edi, eax
jne 0x421e38
movzx edi, byte [esi - 0xd]
movzx eax, byte [edx - 0xd]
sub edi, eax
jne 0x421e38
movzx edi, byte [esi - 0xc]
movzx eax, byte [edx - 0xc]
sub edi, eax
je 0x421e48
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x460001]
jmp 0x421e66
movzx ecx, byte [esi - 0xb]
movzx eax, byte [edx - 0xb]
sub ecx, eax
je 0x421e66
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 0x460001]
jmp 0x421e66
xor ecx, ecx
test ecx, ecx
jne 0x4219ba
mov eax, dword [esi - 0xa]
cmp eax, dword [edx - 0xa]
je 0x421ec6
movzx eax, byte [edx - 0xa]
movzx edi, byte [esi - 0xa]
sub edi, eax
jne 0x421e9a
movzx eax, byte [edx - 9]
movzx edi, byte [esi - 9]
sub edi, eax
jne 0x421e9a
movzx eax, byte [edx - 8]
movzx edi, byte [esi - 8]
sub edi, eax
je 0x421eaa
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x460001]
jmp 0x421ec8
movzx eax, byte [edx - 7]
movzx ecx, byte [esi - 7]
sub ecx, eax
je 0x421ec8
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 0x460001]
jmp 0x421ec8
xor ecx, ecx
test ecx, ecx
jne 0xba4219ba
mov eax, dword [esi - 6]
cmp eax, dword [edx - 6]
je 0x421f27
movzx edi, al
movzx eax, byte [edx - 6]
sub edi, eax
jne 0x421efb
movzx edi, byte [esi - 5]
movzx eax, byte [edx - 5]
sub edi, eax
jne 0x421efb
movzx edi, byte [esi - 4]
movzx eax, byte [edx - 4]
sub edi, eax
je 0x421f0b
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x460001]
jmp 0x421f29
movzx ecx, byte [esi - 3]
movzx eax, byte [edx - 3]
sub ecx, eax
je 0x421f29
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 0x460001]
jmp 0x421f29
xor ecx, ecx
test ecx, ecx
jne 0xba4219ba
mov ax, word [esi - 2]
cmp ax, word [edx - 2]
je 0xba4219b8
jmp 0x60921f9
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 8]
push edi
mov edi, ecx
cmp edi, ebx
je 0x421ced
push esi
call 0x556fee
mov eax, dword [ebx + 8]
cmp dword [edi + 0xc], eax
jae 0x4664b0
push 8
pop edx
cmp eax, edx
jb 0x46647f
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 0x7541fe2c
cmp dword [edi + 4], 0
mov esi, eax
pop ecx
je 0x4664aa
std
ja 0x4664a8
call fcn.0041fe35
pop ecx
call [ecx - 0x77]
ja 0x4664b1
mov dword [edi + 4], esi
mov eax, dword [ebx + 8]
and dword [ebp + 8], 0xffffffff
or bh, bh
mov dword [edi + 8], eax
je 0x4664dd
je 0x4664ec
push 0x10
call fcn.0041fdfc
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