Function at 0x43bce0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x20
cmp dword [ecx + 8], 0
je 0x43bd5a
mov edx, dword [ecx]
test edx, edx
je 0x43bd5a
mov edi, dword [ebp + 0x10]
mov dword [esp], 0xf8fbfafd
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, eax
add bl, 0xab
xor bl, byte [esp + eax]
add bl, 0xa9
mov byte [esp + eax], bl
inc eax
cmp eax, 4
jne 0x43bd10
mov eax, dword [esp]
mov ebx, dword [0x44d05c]
test ebx, ebx
je 0x43be51
xor edi, edi
mov esi, dword [0x44d060]
nop
nop
nop
cmp dword [esi + edi*8], 0xaf0e0c2e
je 0x43be2d
inc edi
cmp ebx, edi
jne 0x43bd40
mov edi, dword [ebp + 0x10]
jmp 0x43be51
mov dword [esp], 0xb97a7b7c
mov dword [esp + 4], 0
mov eax, 0x78c4233f
mov ecx, 0x73bdcc0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x18], ecx
mov dword [esp + 0xc], eax
movzx esi, byte [esp + eax - 0x78c4233f]
mov eax, ecx
or eax, esi
lea edx, [ecx - 0x73bdc00]
and edx, esi
xor edx, eax
and edx, dword [esp + 0xc]
mov eax, edx
and eax, 2
mov ebx, edx
or ebx, 0xfffffffd
inc ebx
mov edi, edx
and edi, 0x7d
imul edi, ebx
or edx, 2
imul edx, eax
add edi, esi
mov eax, edi
sub eax, edx
mov ecx, dword [esp + 0xc]
lea esi, [ecx + eax]
mov ecx, esi
and ecx, 0xc4
mov dword [esp + 0x14], esi
lea ebx, [edi + esi]
xor esi, 0xa42b4fc4
add esi, ecx
sub ebx, edx
sub ebx, eax
add esi, edi
sub esi, edx
mov eax, dword [esp + 0x14]
and eax, 0x5bd4b03b
sub esi, eax
add esi, dword [esp + 0xc]
and ebx, 1
xor esi, 1
mov eax, ebx
not eax
and eax, esi
lea eax, [eax + ebx*2]
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx - 0x78c4233f], al
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
inc eax
dec ecx
cmp eax, 0x78c42347
jne 0x43bd80
mov eax, dword [esp]
jmp 0x43bf8b
mov esi, dword [esi + edi*8 + 4]
cmp esi, eax
mov edi, dword [ebp + 0x10]
je 0x43be51
push dword [ebp + 8]
push edx
push 8
push esi
push dword [0x44d064]
mov esi, ecx
call fcn.0043df70
mov ecx, esi
add esp, 0x14
mov esi, dword [ebp + 0xc]
cmp esi, 1
mov edx, edi
sbb edx, 0
jl 0x43bf03
cmp eax, 0xc000010a
jne 0x43bf03
mov edx, 0xffffd8f0
mov eax, esi
mul edx
sub edx, esi
imul esi, edi, 0xffffd8f0
add esi, edx
mov dword [esp], eax
mov dword [esp + 4], esi
mov edx, dword [ecx]
mov dword [esp + 0x10], 0xf8fbfafd
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, eax
add bl, 0xab
xor bl, byte [esp + eax + 0x10]
add bl, 0xa9
mov byte [esp + eax + 0x10], bl
inc eax
cmp eax, 4
jne 0x43bea0
mov eax, dword [esp + 0x10]
mov esi, dword [0x44d05c]
test esi, esi
je 0x43bf03
xor edi, edi
mov ebx, dword [0x44d060]
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x4c697c35
je 0x43bee0
inc edi
cmp esi, edi
jne 0x43bed0
jmp 0x43bf03
mov esi, dword [ebx + edi*8 + 4]
cmp esi, eax
je 0x43bf03
mov eax, esp
push eax
push 0
push edx
push 0xc
push esi
push dword [0x44d064]
mov esi, ecx
call fcn.0043df70
mov ecx, esi
add esp, 0x18
test eax, eax
js 0x43bf8b
mov edx, dword [ecx]
test edx, edx
je 0x43bf8b
mov dword [esp + 0xc], edx
mov dword [esp], 0xf8fbfafd
xor ebx, ebx
nop
nop
mov edx, ebx
add dl, 0xab
xor dl, byte [esp + ebx]
add dl, 0xa9
mov byte [esp + ebx], dl
inc ebx
cmp ebx, 4
jne 0x43bf20
mov esi, dword [0x44d05c]
test esi, esi
je 0x43bf85
mov edx, dword [esp]
xor ebx, ebx
mov edi, dword [0x44d060]
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + ebx*8], 0x1b6183f2
je 0x43bf60
inc ebx
cmp esi, ebx
jne 0x43bf50
jmp 0x43bf85
mov esi, dword [edi + ebx*8 + 4]
cmp esi, edx
je 0x43bf85
push dword [esp + 0xc]
push 4
push esi
push dword [0x44d064]
mov esi, ecx
mov edi, eax
call fcn.0043df70
mov eax, edi
mov ecx, esi
add esp, 0x10
mov dword [ecx], 0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc