Function at 0x43d1c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x20
mov dword [esp + 8], ecx
cmp dword [ecx + 8], 0
je 0x43d245
mov eax, dword [esp + 8]
mov edx, dword [eax]
test edx, edx
je 0x43d245
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov dword [esp], 0xc0d0a0b
mov dword [esp + 4], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, eax
add bl, 0x42
xor bl, byte [esp + eax]
add bl, 0xb6
mov byte [esp + eax], bl
inc eax
cmp eax, 8
jne 0x43d200
mov eax, dword [esp]
mov esi, dword [0x44de2c]
test esi, esi
je 0x43d2b4
mov ecx, edi
xor edi, edi
mov ebx, dword [0x44de30]
nop
cmp dword [ebx + edi*8], 0xaf0e0c2e
je 0x43d28f
inc edi
cmp esi, edi
jne 0x43d230
mov edi, ecx
mov ecx, dword [ebp + 0xc]
jmp 0x43d2b4
mov dword [esp], 0xf18e8f84
mov eax, 0xd9ecb7dd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x26134823]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xaf
mov byte [esp + eax + 0x26134823], cl
inc eax
cmp eax, 0xd9ecb7e1
jne 0x43d260
mov eax, dword [esp]
jmp 0x43d428
mov esi, dword [ebx + edi*8 + 4]
cmp esi, eax
mov edi, ecx
mov ecx, dword [ebp + 0xc]
je 0x43d2b4
push dword [ebp + 8]
push edx
push 8
push esi
push dword [0x44de34]
call fcn.0043f290
mov ecx, dword [ebp + 0xc]
add esp, 0x14
cmp ecx, 1
mov edx, edi
sbb edx, 0
jl 0x43d391
cmp eax, 0xc000010a
jne 0x43d391
mov esi, ecx
and esi, 0xffffd8f0
mov eax, esi
xor eax, 0xffffd8f0
mov ebx, ecx
and ebx, 0x270f
mul ebx
mov dword [esp + 0xc], eax
mov eax, edi
not eax
imul eax, ebx
add edx, eax
mov ebx, edx
or ecx, 0xffffd8f0
imul edi, ecx
mov eax, ecx
mul esi
add edx, edi
sub edx, esi
add eax, dword [esp + 0xc]
adc edx, ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov eax, dword [esp + 8]
mov edx, dword [eax]
mov dword [esp], 0xc0d0a0b
mov dword [esp + 4], 0
xor eax, eax
nop
nop
nop
nop
nop
mov ebx, eax
add bl, 0x42
xor bl, byte [esp + eax]
add bl, 0xb6
mov byte [esp + eax], bl
inc eax
cmp eax, 8
jne 0x43d330
mov eax, dword [esp]
mov esi, dword [0x44de2c]
test esi, esi
je 0x43d391
xor edi, edi
mov ebx, dword [0x44de30]
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x4c697c35
je 0x43d370
inc edi
cmp esi, edi
jne 0x43d360
jmp 0x43d391
mov esi, dword [ebx + edi*8 + 4]
cmp esi, eax
je 0x43d391
lea eax, [esp + 0x10]
push eax
push 0
push edx
push 0xc
push esi
push dword [0x44de34]
call fcn.0043f290
add esp, 0x18
test eax, eax
js 0x43d428
mov ecx, dword [esp + 8]
mov ecx, dword [ecx]
test ecx, ecx
je 0x43d428
mov dword [esp], 0xc0d0a0b
mov dword [esp + 4], 0
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ebx
add dl, 0x42
xor dl, byte [esp + ebx]
add dl, 0xb6
mov byte [esp + ebx], dl
inc ebx
cmp ebx, 8
jne 0x43d3c0
mov esi, dword [0x44de2c]
test esi, esi
je 0x43d41e
mov edx, dword [esp]
xor ebx, ebx
mov edi, dword [0x44de30]
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + ebx*8], 0x1b6183f2
je 0x43d400
inc ebx
cmp esi, ebx
jne 0x43d3f0
jmp 0x43d41e
mov esi, dword [edi + ebx*8 + 4]
cmp esi, edx
je 0x43d41e
push ecx
push 4
push esi
push dword [0x44de34]
mov edi, eax
call fcn.0043f290
mov eax, edi
add esp, 0x10
mov ecx, dword [esp + 8]
mov dword [ecx], 0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc