Function at 0x43cab0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov esi, ecx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xc], 0
mov dword [esp], 0xc8cbcacd
mov word [esp + 4], 0
mov eax, 0x3678be33
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x3678be33]
mov edx, eax
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
mov edx, ecx
xor edx, 0xe46233df
and ecx, 0x1b9dcc20
add ecx, ecx
sub ecx, edx
mov edx, ecx
and edx, 0x5f
xor ecx, 0xdf
lea ecx, [ecx + edx*2]
inc cl
mov byte [esp + eax - 0x3678be33], cl
inc eax
cmp eax, 0x3678be39
jne 0x43cae0
mov ebp, dword [esp]
mov eax, dword [0x44f2b4]
test eax, eax
je 0x43cb76
xor ecx, ecx
mov edx, dword [0x44f2b8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edx + ecx*8], 0x61813e67
je 0x43cb50
inc ecx
cmp eax, ecx
jne 0x43cb40
jmp 0x43cb76
mov eax, dword [edx + ecx*8 + 4]
cmp eax, ebp
je 0x43cb76
lea ecx, [esp + 0xc]
push ecx
push 0
push 0
push 5
push 0x10
push eax
push dword [0x44f2bc]
call fcn.0043f4a0
add esp, 0x1c
mov ebp, eax
mov dword [esp], 0xe92a2b20
xor eax, eax
nop
lea ecx, [eax + eax]
mov edx, eax
xor edx, 0x37
lea edx, [edx + eax*2]
xor dl, byte [esp + eax]
add dl, 0xed
mov byte [esp + eax], dl
and ecx, 2
xor eax, 1
add eax, ecx
cmp eax, 4
jb 0x43cb80
cmp ebp, dword [esp]
jne 0x43cd35
mov dword [esp + 0x10], esi
push dword [esp + 0xc]
call fcn.0043c9d0
add esp, 4
mov dword [esp + 8], eax
mov ecx, dword [esp + 0xc]
mov dword [esp], 0xc8cbcacd
mov word [esp + 4], 0
mov edx, 0x3678be33
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + edx - 0x3678be33]
mov eax, edx
and eax, edi
add eax, eax
sub edi, eax
add edi, edx
mov eax, edi
xor eax, 0xe46233df
and edi, 0x1b9dcc20
add edi, edi
sub edi, eax
mov eax, edi
and eax, 0x5f
xor edi, 0xdf
lea eax, [edi + eax*2]
inc al
mov byte [esp + edx - 0x3678be33], al
inc edx
cmp edx, 0x3678be39
jne 0x43cbe0
mov ebp, dword [esp]
mov edx, dword [0x44f2b4]
test edx, edx
je 0x43cc52
mov eax, ebp
xor ebp, ebp
mov esi, dword [0x44f2b8]
nop
nop
nop
nop
nop
nop
cmp dword [esi + ebp*8], 0x61813e67
je 0x43cc56
inc ebp
cmp edx, ebp
jne 0x43cc40
mov edi, ebx
jmp 0x43cc7d
mov edi, ebx
jmp 0x43cc7f
mov edi, ebx
mov edx, dword [esi + ebp*8 + 4]
mov ebp, eax
cmp edx, eax
je 0x43cc7f
push 0
push ecx
mov eax, dword [esp + 0x10]
push eax
push 5
push 0x10
push edx
push dword [0x44f2bc]
call fcn.0043f4a0
add esp, 0x1c
mov ebp, eax
test ebp, ebp
js 0x43cd29
mov dword [esp], 0xcf8e8f6d
mov word [esp + 4], 0
mov ecx, 0xcc62262
mov edx, 0x1d
nop
movzx eax, byte [esp + ecx - 0xcc62262]
mov ebx, eax
xor ebx, ecx
or ebx, edx
add bl, bl
add bl, al
movzx eax, bl
add eax, ecx
add al, 0x18
mov byte [esp + ecx - 0xcc62262], al
inc ecx
dec edx
cmp ecx, 0xcc62268
jne 0x43cca0
mov ebx, dword [esp]
mov ecx, dword [esp + 8]
mov esi, dword [ecx]
mov eax, edi
nop
nop
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 [eax + ebp]
test si, si
je 0x43cd05
add ebp, 2
cmp si, di
je 0x43ccf0
cmp si, di
je 0x43cd14
mov esi, dword [ecx]
test esi, esi
jne 0x43cce0
mov ebp, ebx
jmp 0x43cd29
mov eax, dword [ecx + 0x44]
mov edx, dword [esp + 0x10]
mov dword [edx + 8], eax
mov eax, dword [ecx + 0xdc]
mov dword [edx + 0xc], eax
xor ebp, ebp
push dword [esp + 8]
call fcn.0043ca40
add esp, 4
mov eax, ebp
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret 4