Function at 0x14002c940
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov eax, dword [rcx + 0x158]
mov rbx, rcx
mov dword [rcx + 8], 1
test al, 0x20
jne 0x14002c980
test al, 2
jne 0x14002c980
test al, 4
jne 0x14002c980
test al, 8
jne 0x14002c980
test al, 0x10
jne 0x14002c980
test al, 1
je 0x14002cc87
mov rdi, qword [rcx + 0xb0]
xor ebp, ebp
test rdi, rdi
jne 0x14002c9ad
add rcx, 0x70
call fcn.140032578
mov rdi, qword [rbx + 0xb0]
test rdi, rdi
jne 0x14002c9ad
mov eax, 0x8007000e
jmp 0x14002cc89
mov eax, dword [rbx + 0x158]
test al, 0x20
jne 0x14002c9cb
test al, 2
jne 0x14002c9cb
test al, 4
jne 0x14002c9cb
test al, 8
jne 0x14002c9cb
test al, 0x10
je 0x14002cc25
mov rcx, qword [rbx + reloc.MFC42u.dll_CDaoRecordView::CDaoRecordView]
mov eax, dword [rcx + 0x140]
cmp eax, 0x56d
je 0x14002c9e6
cmp eax, 0x587
jne 0x14002c9f0
call fcn.14002ab90
test rax, rax
jne 0x14002ca1a
mov r8d, 0x5d3
lea rcx, str.Error:_Func__s_Line__d:_No_parent_style_found_to_resolve
lea rdx, str.COdtStyleParagraphProperties::Resolve
lea r9, [0x1400a4c88]
call fcn.1400571dc
mov eax, 0x80070057
jmp 0x14002cc89
mov rcx, rax
call fcn.140032c64
mov r9, rax
test rax, rax
jne 0x14002ca39
mov r8d, Ordinal_1499
lea rcx, str.Error:_Func__s_Line__d:_No_paraformat_in_parent_style_to_resolve
jmp 0x14002c9fd
mov eax, dword [rbx + 0x158]
xorps xmm5, xmm5
movsd xmm4, qword [0x1400c3ca8]
movsd xmm3, qword [0x1400c3c10]
test al, 0x20
je 0x14002cab9
test byte [r9 + 4], 0x80
jne 0x14002ca6f
lea rdx, str.COdtAttributeParser::OdtPfFromMarginBottomParent
mov r8d, Ordinal_1297
jmp 0x14002cb89
movd xmm0, dword [r9 + 0xa0]
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm4
mulsd xmm0, qword [rbx + 0x180]
movsd qword [rbx + 0x180], xmm0
or dword [rdi + 4], 2
movsd xmm0, qword [rbx + 0x180]
comisd xmm0, xmm5
jbe 0x14002caa8
addsd xmm0, xmm3
jmp 0x14002caac
subsd xmm0, xmm3
cvttsd2si eax, xmm0
mov dword [rdi + 0x10], eax
mov eax, dword [rbx + 0x158]
test al, 0x10
je 0x14002cb20
test byte [r9 + 4], 0x40
jne 0x14002cad6
lea rdx, str.COdtAttributeParser::OdtPfFromMarginTopParent
mov r8d, 0x4f6
jmp 0x14002cb89
movd xmm0, dword [r9 + 0x9c]
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm4
mulsd xmm0, qword [rbx + 0x178]
movsd qword [rbx + 0x178], xmm0
or dword [rdi + 4], 2
movsd xmm0, qword [rbx + 0x178]
comisd xmm0, xmm5
jbe 0x14002cb0f
addsd xmm0, xmm3
jmp 0x14002cb13
subsd xmm0, xmm3
cvttsd2si eax, xmm0
mov dword [rdi + 0x10], eax
mov eax, dword [rbx + 0x158]
test al, 4
je 0x14002cb71
mov eax, dword [r9 + 4]
lea rcx, [rbx + 0x168]
and eax, 5
cmp al, 5
je 0x14002cb45
mov r8d, 0x4c8
lea rdx, str.COdtAttributeParser::OdtPfFromMarginLeftParent
jmp 0x14002cb89
movd xmm0, dword [r9 + 0xc]
mov rdx, rdi
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm4
mulsd xmm0, qword [rcx]
movsd qword [rcx], xmm0
call fcn.140031578
test eax, eax
jne 0x14002cc89
mov eax, dword [rbx + 0x158]
test al, 8
je 0x14002cbdc
test byte [r9 + 4], 2
jne 0x14002cb95
lea rdx, str.COdtAttributeParser::OdtPfFromMarginRightParent
mov r8d, 0x4dd
lea rcx, str.Error:_Func__s_Line__d:_mask_not_set_in_parent
jmp 0x14002ca04
movd xmm0, dword [r9 + 0x10]
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm4
mulsd xmm0, qword [rbx + 0x170]
movsd qword [rbx + 0x170], xmm0
or dword [rdi + 4], 2
movsd xmm0, qword [rbx + 0x170]
comisd xmm0, xmm5
jbe 0x14002cbcb
addsd xmm0, xmm3
jmp 0x14002cbcf
subsd xmm0, xmm3
cvttsd2si eax, xmm0
mov dword [rdi + 0x10], eax
mov eax, dword [rbx + 0x158]
test al, 2
je 0x14002cc25
test byte [r9 + 4], 1
lea rcx, [rbx + 0x160]
jne 0x14002cbfd
mov r8d, 0x48d
lea rdx, str.COdtAttributeParser::OdtPfFromTextIndentParent
jmp 0x14002cb89
movd xmm0, dword [r9 + 0xc]
mov rdx, rdi
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm4
mulsd xmm0, qword [rcx]
movsd qword [rcx], xmm0
call fcn.1400314e4
test eax, eax
jne 0x14002cc89
mov eax, dword [rbx + 0x158]
test al, 1
je 0x14002cc87
or dword [rdi + 4], 0x10
mov r8d, dword [rdi + 0x14]
add r8d, dword [rdi + 0xc]
je 0x14002cc7f
mov r10d, ebp
cmp bp, word [rdi + 0x1a]
jge 0x14002cc7f
lea r9, [rdi + 0x1c]
mov r11d, 0xffffff
mov ecx, dword [r9]
mov eax, dword [r9]
and ecx, r11d
mov edx, ecx
or edx, 0xff000000
and eax, 0x800000
cmove edx, ecx
inc r10d
add edx, r8d
xor edx, dword [r9]
and edx, r11d
xor dword [r9], edx
lea r9, [r9 + 4]
movsx eax, word [rdi + 0x1a]
cmp r10d, eax
jl 0x14002cc4a
mov rcx, rbx
call fcn.14002c888
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret