Function at 0x43afa0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xc
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
mov dword [esp], 0x1c1d1e1f
xor eax, eax
mov ecx, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + eax]
mov edx, eax
xor edx, 0x20
mov esi, eax
xor esi, 0x6f0b5d1f
or esi, edi
add edx, ecx
not edi
and edx, 0x37
xor edx, 0xf7
or edx, edi
xor edx, esi
mov ebx, edx
not ebx
and ebx, 1
neg edx
or edx, 1
sub ebx, edx
mov byte [esp + eax], bl
inc eax
add ecx, 0xfffffffe
cmp eax, 4
jne 0x43afd0
mov ebp, dword [esp]
mov esi, dword [0x44a4e0]
test esi, esi
je 0x43b066
xor ecx, ecx
mov edx, dword [0x44a4e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edx + ecx*8], 0x67f3d776
je 0x43b040
inc ecx
cmp esi, ecx
jne 0x43b030
jmp 0x43b066
mov edx, dword [edx + ecx*8 + 4]
cmp edx, ebp
je 0x43b066
lea ecx, [esp + 4]
push ecx
push 0
push 0
push 5
push 0x10
push edx
push dword [0x44a4e8]
call fcn.0043c7c0
add esp, 0x1c
mov ebp, eax
mov dword [esp], 0x2f6e6d68
xor eax, eax
mov ecx, 0x75e208f3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax]
lea edx, [eax + 0xc]
and edx, esi
mov edi, ecx
and edi, 0x71600822
mov ebx, eax
and ebx, 1
or ebx, edi
xor ebx, esi
xor ebx, 0xfb7dff2e
not edx
and edx, ebx
mov esi, edx
and esi, 0x1f
xor edx, 0x9f
lea edx, [edx + esi*2]
inc dl
mov byte [esp + eax], dl
inc eax
dec ecx
cmp eax, 4
jne 0x43b080
cmp ebp, dword [esp]
jne 0x43b216
push dword [esp + 4]
call fcn.0043af40
add esp, 4
mov ebx, dword [esp + 4]
mov dword [esp], 0x1c1d1e1f
xor edx, edx
mov edi, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + edx]
mov ebp, edx
xor ebp, 0x20
mov ecx, edx
xor ecx, 0x6f0b5d1f
or ecx, esi
add ebp, edi
not esi
and ebp, 0x37
xor ebp, 0xf7
or ebp, esi
xor ebp, ecx
mov ecx, ebp
not ecx
and ecx, 1
neg ebp
or ebp, 1
sub ecx, ebp
mov byte [esp + edx], cl
inc edx
add edi, 0xfffffffe
cmp edx, 4
jne 0x43b0f0
mov ebp, dword [esp]
mov edx, dword [0x44a4e0]
test edx, edx
je 0x43b185
xor ecx, ecx
mov esi, dword [0x44a4e4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + ecx*8], 0x67f3d776
je 0x43b160
inc ecx
cmp edx, ecx
jne 0x43b150
jmp 0x43b185
mov edx, dword [esi + ecx*8 + 4]
cmp edx, ebp
je 0x43b185
push 0
push ebx
push eax
push 5
push 0x10
push edx
push dword [0x44a4e8]
mov esi, eax
call fcn.0043c7c0
add esp, 0x1c
mov ebp, eax
mov eax, esi
test ebp, ebp
js 0x43b20d
mov dword [esp], 0x6caba88c
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0xa1
xor dl, byte [esp + ecx]
add dl, 0xf8
mov byte [esp + ecx], dl
inc ecx
cmp ecx, 4
jne 0x43b1a0
mov ebx, dword [esp]
mov esi, dword [eax]
mov ecx, eax
nop
nop
nop
nop
nop
mov edx, dword [ecx + esi + 0x3c]
add ecx, esi
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, word [edx + esi]
mov edi, dword [esp + 0x20]
movzx edi, word [edi + esi]
test bp, bp
je 0x43b1e9
add esi, 2
cmp bp, di
je 0x43b1d0
cmp bp, di
je 0x43b1f8
mov esi, dword [ecx]
test esi, esi
jne 0x43b1c0
mov ebp, ebx
jmp 0x43b20d
mov edx, dword [ecx + 0x44]
mov ebx, dword [esp + 8]
mov dword [ebx + 8], edx
mov ecx, dword [ecx + 0xdc]
mov dword [ebx + 0xc], ecx
xor ebp, ebp
push eax
call fcn.0043af70
add esp, 4
mov eax, ebp
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret 4