Function at 0x643cce50
Capabilities:
Encode data using xor

Disassembly:
push ebp
xor eax, eax
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4c
mov ebx, dword [ebp + 8]
sub dword [0x643e7d58], 0x1f174351
cmp byte [eax + str.No_network_address_is_available_to_use_to_construct_a_UUID.], 0
je 0x643cce7e
inc eax
cmp eax, 0x216e
jne 0x643cce68
call fcn.643d2e20
imul eax, dword [0x643e7d58], 0x72f09eee
lea edi, [ebp - 0x38]
mov esi, 0x643d5124
mov dword [0x643e80f0], eax
and eax, 0xf73d88a
mov dword [0x643e7d58], eax
call fcn.643ce448
mov eax, dword [0x643e80f0]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x35
mov edx, eax
or edx, 0x24b59e57
mov dword [0x643e7d58], edx
xor edx, edx
add ecx, dword [ebp + edx*4 - 0x38]
inc edx
xor eax, 0x3579e8cc
mov esi, ecx
cmp edx, 4
jne 0x643ccec5
mov dword [0x643e80f0], eax
xor eax, eax
cmp word [eax + str.The_interface_was_not_found.], 0
je 0x643ccf0e
add eax, 2
cmp eax, 0x1a28
jne 0x643ccedd
call fcn.643d4630
or dword [0x643e7d58], 0x51c6e087
mov dword [esp], 0xc10
call dword [sym.imp.USER32.dll_IsZoomed]
push edx
imul eax, dword [0x643e7d58], 0xaec031c4
mov dword [0x643e80f0], eax
mov dword [esp], str.Specified_section_cannot_be_deleted.
call fcn.643d4850
mov eax, dword [0x643e7d58]
or eax, 0x6c32a911
mov dword [0x643e80f0], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
imul edx, eax, 0xe1e49ef
lea eax, [edx + 0x7447b9ff]
mov dword [0x643e7d58], eax
or eax, 0xe0619624
mov dword [0x643e80f0], eax
cmp ebx, esi
jne 0x643ccfca
sub eax, 0x75eb6a8b
mov dword [ebp - 0x28], 0x41
xor esi, esi
mov ebx, 6
mov dword [0x643e7d58], eax
mov dword [ebp - 0x24], 0xa1
mov eax, dword [0x643e7d58]
xor eax, 0x41c954e2
mov dword [0x643e7d58], eax
and eax, 0x8cad84a2
mov dword [0x643e80f0], eax
call fcn.643d4630
xor eax, eax
cmp byte [eax + str.Specified_section_cannot_be_deleted.], 0
je 0x643ccfb7
inc eax
cmp eax, 0x1ede
jne 0x643ccf9c
and dword [0x643e7d58], 0xa67bb0ed
add ebx, dword [ebp + esi*4 - 0x28]
test esi, esi
jne 0x643cd06c
mov esi, 1
jmp 0x643ccf7c
dec ebx
je 0x643ccfd9
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x3c], eax
jmp 0x643cd073
mov ecx, str.The_repair_was_successful.
mov ebx, 0x1425
movsx eax, byte [ecx]
inc ecx
test al, al
je 0x643cd001
add ebx, eax
cmp ebx, 0x1fa2
jbe 0x643ccfe3
add edx, 0x3cae8f3d
mov dword [0x643e80f0], edx
mov eax, dword [0x643e80f0]
mov ebx, 0xba
and eax, 0xa4f86f45
mov dword [0x643e80f0], eax
add eax, 0x71cc1c25
mov dword [0x643e7d58], eax
call fcn.643ce448
mov eax, dword [0x643e80f0]
sub dword [0x643e7d58], 0x44c6204d
mov dword [esp], str.The_interface_was_not_found.
mov dword [esp + 4], eax
call fcn.643cee3c
imul eax, dword [0x643e80f0], 0x67694cae
mov dword [0x643e80f0], eax
or eax, 0x5def8977
mov dword [0x643e7d58], eax
mov dword [esp + 4], eax
mov dword [esp], str.The_interface_was_not_found.
call fcn.643cee3c
mov dword [ebp - 0x3c], 5
mov eax, dword [0x643e7d58]
lea edi, [ebp - 0x28]
mov esi, 0x643d5134
xor edx, edx
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
sub eax, 0x34b9c5d2
mov edi, dword [str.No_network_address_is_available_to_use_to_construct_a_UUID.]
mov esi, 8
mov ecx, eax
xor ecx, 0xf1a1a21f
mov dword [ebp - 0x40], ecx
mov ecx, edi
test cl, cl
je 0x643cd0b2
mov eax, dword [ebp - 0x40]
and eax, 0x591fdc5a
and eax, 0x4c5eed18
sub esi, dword [ebp + edx*4 - 0x28]
inc edx
lea ecx, [eax + 0x44d35646]
mov dword [ebp - 0x40], ecx
cmp edx, 4
jne 0x643cd0a4
mov dword [0x643e80f0], eax
xor eax, 0xb89d4004
mov dword [0x643e7d58], eax
call fcn.643ca028
add esi, dword [0x643e6be0]
xor edx, edx
div esi
mov eax, dword [ebp - 0x3c]
add eax, dword [0x643e9da4]
add eax, dword [edx*8 + 0x643e6be8]
movzx edx, byte [eax]
cmp edx, ebx
jne 0x643cd073
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret