Function at 0x43d9f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov ebx, dword [esp + 0x30]
mov dword [esp], 0xe0e7e6e5
mov eax, 0xc6579329
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x39a86cd7]
mov edx, eax
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
mov edx, ecx
and edx, 0x30
mov esi, ecx
and esi, 2
mov edi, esi
xor edi, 2
imul edi, edx
or edx, 2
imul edx, esi
xor ecx, 0x32
add ecx, edi
add ecx, edx
inc cl
mov byte [esp + eax + 0x39a86cd7], cl
inc eax
cmp eax, 0xc657932d
jne 0x43da10
mov eax, dword [esp]
mov esi, dword [0x44a3a4]
test esi, esi
je 0x43daac
xor ecx, ecx
mov edx, dword [0x44a3a8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edx + ecx*8], 0x33079ccd
je 0x43da80
inc ecx
cmp esi, ecx
jne 0x43da70
jmp 0x43daac
mov edx, dword [edx + ecx*8 + 4]
cmp edx, eax
je 0x43daac
lea ecx, [esp + 0x10]
push ecx
push 0
push 0
push 0
push dword [esp + 0x3c]
push dword [esp + 0x3c]
push 0x18
push edx
push dword [0x44a3ac]
call fcn.00439600
add esp, 0x24
mov dword [esp + 0xc], eax
mov dword [esp], 0xa9eaebc1
mov byte [esp + 4], 0
xor eax, eax
xor ecx, ecx
movzx edi, byte [esp + ecx]
mov edx, ecx
xor edx, 0xb12a82a7
add edx, eax
mov ebp, edx
and ebp, 0x19
xor ebp, 0x44c52059
mov esi, edx
xor esi, 0xe5efa0f9
or edx, 0x10000206
and edx, esi
or edx, ebp
xor edx, edi
xor edx, 0x1a105f06
mov esi, 0x8a2b72bb
sub esi, edx
mov edi, esi
and edi, 1
or edx, 0xfe
or esi, 1
and esi, edx
lea edx, [esi + edi*2]
mov byte [esp + ecx], dl
inc ecx
add eax, 2
cmp ecx, 5
jne 0x43dac0
mov esi, dword [esp + 0xc]
cmp esi, dword [esp]
jne 0x43dcdf
push dword [esp + 0x10]
call fcn.00436c80
add esp, 4
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc], ecx
mov dword [esp], 0xe0e7e6e5
mov edx, 0xc6579329
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + edx + 0x39a86cd7]
mov esi, edx
and esi, ecx
add esi, esi
sub ecx, esi
add ecx, edx
mov esi, ecx
and esi, 0x30
mov edi, ecx
and edi, 2
mov ebp, edi
xor ebp, 2
imul ebp, esi
or esi, 2
imul esi, edi
xor ecx, 0x32
add ecx, ebp
add ecx, esi
inc cl
mov byte [esp + edx + 0x39a86cd7], cl
inc edx
cmp edx, 0xc657932d
jne 0x43db50
mov esi, dword [esp]
mov ecx, dword [0x44a3a4]
test ecx, ecx
je 0x43dbbf
xor edx, edx
mov ebp, dword [0x44a3a8]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + edx*8], 0x33079ccd
je 0x43dc23
inc edx
cmp ecx, edx
jne 0x43dbb0
mov ebp, dword [esp + 8]
mov edx, dword [esp + 0x34]
test edx, edx
je 0x43dcd6
test esi, esi
js 0x43dcd6
test ebx, ebx
je 0x43dccf
mov ecx, dword [ebp + 0xc]
shr ecx, 1
mov ebp, dword [edx]
cmp ebp, ecx
jb 0x43dbec
mov ebp, ecx
test ebp, ebp
mov dword [esp + 0xc], esi
je 0x43dc5f
add eax, 0x10
mov ecx, ebp
and ecx, 3
je 0x43dc65
xor edi, edi
movzx esi, word [eax]
xor edx, edx
test si, si
setne dl
lea eax, [eax + edx*2]
mov word [ebx], si
add ebx, 2
inc edi
cmp ecx, edi
jne 0x43dc00
mov esi, ebp
sub esi, edi
mov edx, dword [esp + 0x34]
jmp 0x43dc67
mov ecx, dword [ebp + edx*8 + 4]
cmp ecx, esi
mov ebp, dword [esp + 8]
je 0x43dbc3
lea edx, [esp + 0x10]
push edx
push dword [esp + 0x10]
push ebp
push 0
push dword [esp + 0x3c]
push dword [esp + 0x3c]
push 0x18
push ecx
push dword [0x44a3ac]
mov edi, eax
call fcn.00439600
add esp, 0x24
mov esi, eax
mov eax, edi
jmp 0x43dbc3
mov ebp, dword [esp + 8]
jmp 0x43dcc6
mov esi, ebp
cmp ebp, 4
mov ebp, dword [esp + 8]
jb 0x43dcc6
movzx edx, word [eax]
xor ecx, ecx
test dx, dx
setne cl
lea edi, [eax + ecx*2]
mov word [ebx], dx
movzx eax, word [eax + ecx*2]
xor ecx, ecx
test ax, ax
setne cl
lea edx, [edi + ecx*2]
mov word [ebx + 2], ax
movzx eax, word [edi + ecx*2]
xor ecx, ecx
test ax, ax
setne cl
lea edi, [edx + ecx*2]
mov word [ebx + 4], ax
movzx ecx, word [edx + ecx*2]
xor eax, eax
test cx, cx
setne al
mov word [ebx + 6], cx
add ebx, 8
lea eax, [edi + eax*2]
add esi, 0xfffffffc
jne 0x43dc70
mov edx, dword [esp + 0x34]
mov word [ebx], 0
mov esi, dword [esp + 0xc]
mov eax, dword [ebp + 0xc]
shr eax, 1
mov dword [edx], eax
push ebp
call fcn.00436ce0
add esp, 4
mov eax, esi
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret