Function at 0x43d6c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xc], 0
mov dword [esp], 0x94959a9b
xor eax, eax
nop
nop
nop
nop
mov esi, eax
and esi, 2
mov edx, eax
xor edx, 0x26
lea edx, [edx + esi*2]
xor dl, byte [esp + eax]
add dl, 0x42
mov byte [esp + eax], dl
mov edx, eax
and edx, 1
or eax, 0x541611a5
add eax, edx
add eax, 0xabe9ee5c
cmp eax, 4
jb 0x43d6e0
mov ebp, dword [esp]
mov esi, dword [0x44f2b4]
test esi, esi
mov dword [esp + 0x10], ecx
je 0x43d766
xor edi, edi
mov edx, dword [0x44f2b8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edx + edi*8], 0x61813e67
je 0x43d740
inc edi
cmp esi, edi
jne 0x43d730
jmp 0x43d766
mov edx, dword [edx + edi*8 + 4]
cmp edx, ebp
je 0x43d766
lea ecx, [esp + 0xc]
push ecx
push 0
push 0
push 5
push 0x10
push edx
push dword [0x44f2bc]
call fcn.00440360
add esp, 0x1c
mov ebp, eax
mov dword [esp], 0x519e9f98
mov byte [esp + 4], 0
mov eax, 0x73ca325
mov ecx, 0x8c35cda
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x73ca325]
mov edi, ecx
and edi, 0x84050cd
mov edx, eax
and edx, 0x63c8102
or edx, edi
xor edx, 0x12
or edx, esi
lea edi, [ecx - 0x8c35c00]
and edi, esi
not edx
or edx, edi
add dl, 0x47
mov byte [esp + eax - 0x73ca325], dl
inc eax
dec ecx
cmp eax, 0x73ca32a
jne 0x43d780
mov edi, ebp
cmp ebp, dword [esp]
jne 0x43d944
push dword [esp + 0xc]
call fcn.0043d520
add esp, 4
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov dword [esp], 0x94959a9b
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, edx
and esi, 2
mov edi, edx
xor edi, 0x26
lea ecx, [edi + esi*2]
xor cl, byte [esp + edx]
add cl, 0x42
mov byte [esp + edx], cl
mov ecx, edx
and ecx, 1
or edx, 0x541611a5
add edx, ecx
add edx, 0xabe9ee5c
cmp edx, 4
jb 0x43d7f0
mov edi, dword [esp]
mov edx, dword [0x44f2b4]
test edx, edx
je 0x43d878
xor ebp, ebp
mov esi, dword [0x44f2b8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + ebp*8], 0x61813e67
je 0x43d850
inc ebp
cmp edx, ebp
jne 0x43d840
jmp 0x43d878
mov edx, dword [esi + ebp*8 + 4]
cmp edx, edi
je 0x43d878
push 0
push dword [esp + 0xc]
push eax
push 5
push 0x10
push edx
push dword [0x44f2bc]
mov esi, eax
call fcn.00440360
add esp, 0x1c
mov edi, eax
mov eax, esi
test edi, edi
js 0x43d93b
mov dword [esp], 0xe3222345
mov word [esp + 4], 0
xor ecx, ecx
movzx edx, byte [esp + ecx]
mov esi, ecx
or esi, 0x14b08
and esi, edx
add edx, ecx
add edx, 0x14b08
add esi, esi
sub edx, esi
add dl, 0xd8
mov byte [esp + ecx], dl
mov edx, ecx
not edx
or edx, 1
add edx, ecx
inc edx
mov esi, edx
and esi, 0xfffffffd
mov edi, edx
and edi, 2
or edx, 2
imul edx, edi
xor edi, 2
imul edi, esi
xor ecx, 1
add ecx, edx
add ecx, edi
cmp ecx, 6
jb 0x43d890
mov ecx, dword [esp]
mov dword [esp + 8], ecx
mov esi, dword [eax]
mov ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ecx + esi + 0x3c]
add ecx, esi
xor ebp, ebp
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [edx + ebp]
movzx edi, word [ebx + ebp]
test si, si
je 0x43d915
add ebp, 2
cmp si, di
je 0x43d900
cmp si, di
je 0x43d926
mov esi, dword [ecx]
test esi, esi
jne 0x43d8f0
mov edi, dword [esp + 8]
jmp 0x43d93b
mov edx, dword [ecx + 0x44]
mov esi, dword [esp + 0x10]
mov dword [esi + 8], edx
mov ecx, dword [ecx + 0xdc]
mov dword [esi + 0xc], ecx
xor edi, edi
push eax
call fcn.0043d640
add esp, 4
mov eax, edi
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret 4