Function at 0x43bbf0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x18
mov dword [esp + 0xc], ecx
cmp dword [ecx + 8], 0
je 0x43bc73
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
test ecx, ecx
je 0x43bc73
mov dword [esp], 0x34353637
mov eax, esp
mov esi, 0xb3
nop
nop
lea edi, [esi - 0xa0]
and edi, 0x12
mov ebx, esi
and ebx, 0xa1
or ebx, edi
xor bl, byte [eax]
mov dl, 0x83
sub dl, bl
mov byte [eax], dl
inc eax
dec esi
cmp esi, 0xaf
jne 0x43bc20
mov eax, dword [esp]
mov ebx, dword [0x44cd20]
test ebx, ebx
je 0x43bcf2
xor edi, edi
mov esi, dword [0x44cd24]
nop
nop
cmp dword [esi + edi*8], 0xaf0e0c2e
je 0x43bcd5
inc edi
cmp ebx, edi
jne 0x43bc60
jmp 0x43bcf2
mov dword [esp], 0x53121108
mov eax, 0xd7942723
mov ecx, 0xaf284e46
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ecx
and esi, 0x2284048
mov edi, eax
xor edi, 0x13d207c
lea edx, [esi + edi]
add esi, edi
add esi, 0x5d
movzx edi, byte [esp + eax + 0x286bd8dd]
and esi, edi
add edx, edi
add esi, esi
sub edx, esi
add dl, 0x71
mov byte [esp + eax + 0x286bd8dd], dl
inc eax
add ecx, 2
cmp eax, 0xd7942727
jne 0x43bc90
mov eax, dword [esp]
jmp 0x43be68
mov esi, dword [esi + edi*8 + 4]
cmp esi, eax
je 0x43bcf2
push dword [ebp + 8]
push ecx
push 8
push esi
push dword [0x44cd28]
call fcn.0043e090
add esp, 0x14
mov edi, dword [ebp + 0xc]
cmp edi, 1
mov esi, dword [ebp + 0x10]
mov ecx, esi
sbb ecx, 0
jl 0x43bdbf
cmp eax, 0xc000010a
jne 0x43bdbf
mov ecx, 0xffffd8f0
mov eax, edi
mul ecx
sub edx, edi
imul ecx, esi, 0xffffd8f0
add ecx, edx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xc]
mov edx, dword [eax]
mov dword [esp + 0x10], 0x34353637
lea eax, [esp + 0x10]
mov esi, 0xb3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea ecx, [esi - 0xa0]
and ecx, 0x12
mov ebx, esi
and ebx, 0xa1
or ebx, ecx
xor bl, byte [eax]
mov cl, 0x83
sub cl, bl
mov byte [eax], cl
inc eax
dec esi
cmp esi, 0xaf
jne 0x43bd50
mov eax, dword [esp + 0x10]
mov esi, dword [0x44cd20]
test esi, esi
je 0x43bdbf
xor edi, edi
mov ebx, dword [0x44cd24]
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x4c697c35
je 0x43bda0
inc edi
cmp esi, edi
jne 0x43bd90
jmp 0x43bdbf
mov esi, dword [ebx + edi*8 + 4]
cmp esi, eax
je 0x43bdbf
mov eax, esp
push eax
push 0
push edx
push 0xc
push esi
push dword [0x44cd28]
call fcn.0043e090
add esp, 0x18
test eax, eax
js 0x43be68
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx]
test edx, edx
je 0x43be68
mov dword [esp], 0x34353637
mov esi, 0xb3
mov edi, esp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea ecx, [esi - 0xa0]
and ecx, 0x12
mov ebx, esi
and ebx, 0xa1
or ebx, ecx
xor bl, byte [edi]
mov cl, 0x83
sub cl, bl
mov byte [edi], cl
dec esi
inc edi
cmp esi, 0xaf
jne 0x43bdf0
mov esi, dword [0x44cd20]
test esi, esi
je 0x43be5e
mov ecx, dword [esp]
xor ebx, ebx
mov edi, dword [0x44cd24]
nop
nop
nop
nop
nop
nop
cmp dword [edi + ebx*8], 0x1b6183f2
je 0x43be40
inc ebx
cmp esi, ebx
jne 0x43be30
jmp 0x43be5e
mov esi, dword [edi + ebx*8 + 4]
cmp esi, ecx
je 0x43be5e
push edx
push 4
push esi
push dword [0x44cd28]
mov edi, eax
call fcn.0043e090
mov eax, edi
add esp, 0x10
mov ecx, dword [esp + 0xc]
mov dword [ecx], 0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc