Function at 0x43177a
Capabilities:
Encode data using xor

Disassembly:
xor dword [ecx], esi
xor dword [ecx], esi
xor dword [ebx + 0x3d], ebx
xor dword [ecx - 0x7acec5d1], esi
lcall 0x9e92, 0xa5a4969e
mov eax, dword [0x313a3135]
cmp dword [eax - 0x4e4fcc4f], esi
xor dword [ecx], esi
xor al, 0x3a
mov cl, 0x54
xor dword [ecx], edi
xor dword [ecx], esi
xor dword [ebx], esi
xor dword [ecx + esi], esi
xor dword [ecx], esi
xor esi, dword [ecx]
xor al, 0x31
xor dword [ecx], esi
aas
xor dword [ecx], esi
xor dword [0x31313131], esi
xor dword [ecx], esi
xor dword [ecx], esi
xor dword [ecx], esi
xor dword [ebx + 0x45], ebx
xor dword [ecx + 0x7731362f], esi
popfd
xchg edx, eax
cwde
movsb byte es:[edi], byte [esi]
xor eax, 0x39313a31
mov al, 0xb1
xor al, 0xb0
mov cl, 0x31
xor dword [ecx], edi
cmp esi, dword [ebp + 0x31393158]
xor dword [ecx], esi
xor al, 0x31
cmp dword [ecx], esi
xor dword [ecx], esi
push eax
xor dword [ecx], esi
xor dword [ecx + 0x60313131], eax
xor dword [edx], esi
xor dword [ecx], esi
xor dword [ecx], esi
xor dword [ebx + 0x5b], ebx
pop ebx
xor dh, byte [0x2eb13134]
cmp dh, byte [ecx]
cmp dh, byte [ecx - 0x4ec54ec6]
xor dword ds:[esi - 0x6a], edi
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
xchg edx, eax
cwde
xchg esi, eax
jp 0x4317a2
xor dword [ecx], esi
xor dh, byte [ecx]
xor dh, byte ss:[0x31963271]
lahf
xor dword [esi + 0x31], ebx
xchg byte [ecx], dh
test byte [ecx], dh
xor eax, 0x39313a31
mov al, 0xb1
xor al, 0xb0
mov cl, 0x31
xor dword [edx], edi
cmp esi, dword [ebp + 0x31393158]
xor dword [ecx], esi
xor al, 0x31
cmp dh, byte [ecx]
xor dword [ecx], esi
push ecx
xor dword [ecx], esi
xor dword [ecx + 0x3f313131], eax
xor dword [edx], esi
xor dword [ecx], esi
xor dword [ecx], esi
xor dword [ebx + 0x5b], ebx
pop ebx
xor dh, byte [0x2eb13134]
cmp dh, byte [ecx]
cmp dh, byte [ecx - 0x4ec54ec6]
xor dword ds:[ebp - 0x5b696166], eax
movsd dword es:[edi], dword [esi]
xchg edx, eax
sahf
mov eax, dword [0x31323131]
xor dh, byte ss:[0x31963271]
lahf
xor dword [esi + 0x31], ebx
xchg byte [ecx], dh
test byte [ecx], dh
xor eax, 0x3b313a31
mov al, 0xb1
xor dh, byte [eax + 0x3b3131b1]
cmp dword [ecx + 0x313b3151], esi
xor dword [ecx], esi
xor dh, byte [ecx]
cmp esi, dword [ecx]
xor dword [ecx], esi
push edx
xor dword [ecx], esi
xor dword [ecx + 0x31313131], eax
xor dword [ecx], esi
xor dword [ecx], esi
xor dword [ecx], esi
xor dword [eax], esi
xor dword [eax], edi
xor dword [ecx - 0x696b5f5d], eax
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
xor eax, 0x3b313a31
mov cl, 0x32
mov al, 0xb1
xor dword [ecx], esi
cmp edi, dword [ecx]
mov cl, 0x51
xor dword [ebx], edi
xor dword [ecx], esi
xor dword [edx], esi
xor dword [ebx], edi
xor dword [ecx], esi
xor dword [edx + 0x31], edx
xor dword [ecx], esi
xor dword [ecx], 0x31313131
xor dword [ecx], esi
xor dword [ecx], esi
xor dword [ecx], esi
xor byte [ecx], dh
cmp byte [ecx], dh
and dword [ebx - 0x5b696b60], 0x3a3135a4
xor dword [ebx], edi
mov al, 0xb1
xor esi, dword [eax + 0x323131b1]
cmp dh, byte [ecx + 0x313b3154]
xor dword [ecx], esi
xor esi, dword [ecx]
xor dh, byte [ecx]
xor dword [ecx], esi
inc eax
xor dword [ecx], esi
xor dword [ecx], edi
xor dword [ecx], esi
xor dword [edx], esi
xor dword [ecx], esi
xor dword [ecx], esi
xor dword [ecx], esi
xor dword [ebx + 0x35], ebx
xor dword [ecx + 0x7e313a2f], esi
xchg esi, eax
xor bh, byte [edx]
mov cl, 0x54
xor dword [ebx], edi
xor dword [ecx], esi
xor dword [ebx], esi
xor dword [edx], esi
xor dword [ecx], esi
xor dword [eax + 0x31], eax
xor dword [ecx], esi
cmp dword [ecx], esi
xor dword [ecx], esi
xor dh, byte [ecx]
xor dword [ecx], esi
xor dword [ecx], esi
xor dword [ecx], esi
pop ebx
xor eax, 0x3a2fb131
xor dword [esi - 0x6a], edi
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
xchg edx, eax
cwde
xchg esi, eax
jp 0x431880
xor eax, 0x3b313a31
mov al, 0xb1
xor esi, dword [eax + 0x313231b1]
cmp byte [ecx + 0x313b3150], dh
xor dword [ecx], esi
xor esi, dword [ecx]
xor dword [edx], esi
xor dword [ecx], esi
cmp esi, dword [ecx]
xor dword [ecx], esi
xor byte [ecx], dh
xor dword [ecx], esi
xor dword [ecx], esi
xor dword [ecx], esi
loope 0x431949
xor dword [ecx], esi
mov cl, 0x3f
xor dword [ebx - 0x5b65676a], eax
movsd dword es:[edi], dword [esi]
mov dword [0xa09aa592], eax
lahf
jp 0x4318bc
xor eax, 0x3b313a31
mov al, 0xb1
xor esi, dword [eax + 0x333131b1]
cmp dh, byte [ecx + 0x313b3154]
xor dword [ecx], esi
xor esi, dword [ecx]
xor esi, dword [ecx]
xor dword [ecx], esi
xor esi, dword [ecx]
xor dword [ecx], esi
xor dh, byte [ecx]
xor dword [ecx], esi
xor dh, byte [ecx]
xor dword [ecx], esi
xor dword [ecx], esi
xor dword [ecx], esi
pop ebx
cmp eax, 0x3e2fb131
xor dword [ecx - 0x696b5f5d], eax
movsb byte es:[edi], byte [esi]
xor dword [edx], esi
xor dword [ecx], esi
xor dword [ecx], esi
xor dword [ecx], esi
xor dword [ebx + 0x3d], ebx
xor dword [ecx - 0x7ecec1d1], esi
mov dword [0xa49694a0], eax
movsb byte es:[edi], byte [esi]
test byte [ebp - 0x5b595a6e], ah
xor eax, 0x3b313a31
mov al, 0xb1
xor esi, dword [eax + 0x343131b1]
cmp dh, byte [ecx + 0x313b3154]
xor dword [ecx], esi
xor esi, dword [ecx]
xor al, 0x31
xor dword [ecx], esi
cmp dword [ecx], esi
xor dword [ecx], esi
cmp dword [ecx], esi
xor dword [ecx], esi
xor dword [ecx], esi
xor dword [ecx], esi
xor dword [ecx], esi
xor dword [ecx], esi
pop ebx
xor dword ds:[ecx - 0x7acec5d1], esi
lcall 0x9e92, 0xa5a4969e
mov eax, dword [0x313a3135]
cmp esi, dword [eax - 0x4e4fcb4f]
xor dword [ecx], esi
cmp edi, dword [ebx]
mov ch, 0x58
xor dword [ebx], edi
xor dword [ecx], esi
xor dword [ecx + esi], esi
cmp esi, dword [ecx]
xor dword [ecx], esi
push edx
xor dword [ecx], esi
xor dword [ecx + 0x60313131], eax
xor dword [edx], esi
xor dword [ecx], esi
xor dword [ecx], esi
xor dword [ebx + 0x5b], ebx
pop ebx
xor dh, byte [0x2eb13134]
cmp dh, byte [ecx]
cmp dh, byte [ecx - 0x4ec54ec6]
xor dword ds:[esi - 0x6a], edi
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
xchg edx, eax
cwde
xchg esi, eax
jp 0x43197d
xor dword [ecx], esi
xor dh, byte [ecx]
xor dh, byte ss:[0x31963271]
lahf
xor dword [esi + 0x31], ebx
xchg byte [ecx], dh
test byte [ecx], dh
xor eax, 0x3c313a31
mov al, 0xb1