Function at 0x43d260
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov ebx, ecx
mov dword [esp + 8], 0
mov dword [esp], 0xf0fffefd
mov word [esp + 4], 0
mov byte [esp + 6], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx]
mov edi, eax
and edi, 0xa
mov edx, ecx
xor edx, 0xf04e77d5
add edx, edi
xor edx, esi
mov esi, edx
and esi, 1
or edx, 1
add edx, esi
add dl, 0xd6
mov byte [esp + ecx], dl
inc ecx
add eax, 2
cmp ecx, 7
jne 0x43d290
mov edi, dword [esp]
mov eax, dword [0x44f26c]
test eax, eax
je 0x43d316
xor ecx, ecx
mov edx, dword [0x44f270]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edx + ecx*8], 0x61813e67
je 0x43d2f0
inc ecx
cmp eax, ecx
jne 0x43d2e0
jmp 0x43d316
mov eax, dword [edx + ecx*8 + 4]
cmp eax, edi
je 0x43d316
lea ecx, [esp + 8]
push ecx
push 0
push 0
push 5
push 0x10
push eax
push dword [0x44f274]
call fcn.0043fac0
add esp, 0x1c
mov edi, eax
mov dword [esp], 0xf9babb80
mov word [esp + 4], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x5f
xor cl, byte [esp + eax]
add cl, 0x25
mov byte [esp + eax], cl
inc eax
cmp eax, 6
jne 0x43d330
cmp edi, dword [esp]
jne 0x43d4d4
mov dword [esp + 0x10], ebx
push dword [esp + 8]
call fcn.0043d080
add esp, 4
mov ebp, dword [esp + 8]
mov dword [esp], 0xf0fffefd
mov word [esp + 4], 0
mov byte [esp + 6], 0
xor edx, edx
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + edi]
mov ebx, edx
and ebx, 0xa
mov ecx, edi
xor ecx, 0xf04e77d5
add ecx, ebx
xor ecx, esi
mov esi, ecx
and esi, 1
or ecx, 1
add ecx, esi
add cl, 0xd6
mov byte [esp + edi], cl
inc edi
add edx, 2
cmp edi, 7
jne 0x43d380
mov edi, dword [esp]
mov edx, dword [0x44f26c]
test edx, edx
je 0x43d405
xor ecx, ecx
mov esi, dword [0x44f270]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + ecx*8], 0x61813e67
je 0x43d3e0
inc ecx
cmp edx, ecx
jne 0x43d3d0
jmp 0x43d405
mov edx, dword [esi + ecx*8 + 4]
cmp edx, edi
je 0x43d405
push 0
push ebp
push eax
push 5
push 0x10
push edx
push dword [0x44f274]
mov esi, eax
call fcn.0043fac0
add esp, 0x1c
mov edi, eax
mov eax, esi
test edi, edi
js 0x43d4cb
mov dword [esp], 0x3424365
mov dword [esp + 4], 0
mov ecx, 0xde2e0670
mov edx, 0xde2e066f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 0x21d1f990]
mov edi, edx
and edi, 0xbc
mov ebx, edx
or ebx, 0x43
add ebx, ecx
add ebx, 0x43a3f321
or ebx, edi
xor ebx, esi
xor ebx, 0xbc
add bl, 0x30
mov byte [esp + ecx + 0x21d1f990], bl
inc ecx
dec edx
cmp ecx, 0xde2e0678
jne 0x43d430
mov ecx, dword [esp]
mov dword [esp + 0xc], ecx
mov esi, dword [eax]
mov ecx, eax
mov ebx, dword [esp + 0x28]
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 0x43d4a5
add ebp, 2
cmp si, di
je 0x43d490
cmp si, di
je 0x43d4b6
mov esi, dword [ecx]
test esi, esi
jne 0x43d480
mov edi, dword [esp + 0xc]
jmp 0x43d4cb
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.0043d1b0
add esp, 4
mov eax, edi
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret 4