Function at 0x14002d490
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 0x14002d4d0
test al, 2
jne 0x14002d4d0
test al, 4
jne 0x14002d4d0
test al, 8
jne 0x14002d4d0
test al, 0x10
jne 0x14002d4d0
test al, 1
je 0x14002d7d7
mov rdi, qword [rcx + 0xb0]
xor ebp, ebp
test rdi, rdi
jne 0x14002d4fd
add rcx, 0x70
call fcn.140033044
mov rdi, qword [rbx + 0xb0]
test rdi, rdi
jne 0x14002d4fd
mov eax, 0x8007000e
jmp 0x14002d7d9
mov eax, dword [rbx + 0x158]
test al, 0x20
jne 0x14002d51b
test al, 2
jne 0x14002d51b
test al, 4
jne 0x14002d51b
test al, 8
jne 0x14002d51b
test al, 0x10
je 0x14002d775
mov rcx, qword [rbx + reloc.MFC42u.dll_CDaoRecordView::CDaoRecordView]
mov eax, dword [rcx + 0x140]
cmp eax, 0x56d
je 0x14002d536
cmp eax, 0x587
jne 0x14002d540
call fcn.14002b660
test rax, rax
jne 0x14002d56a
mov r8d, 0x5d3
lea rcx, str.Error:_Func__s_Line__d:_No_parent_style_found_to_resolve
lea rdx, str.COdtStyleParagraphProperties::Resolve
lea r9, [0x1400b3e24]
call fcn.140061364
mov eax, 0x80070057
jmp 0x14002d7d9
mov rcx, rax
call fcn.140033724
mov r9, rax
test rax, rax
jne 0x14002d589
mov r8d, Ordinal_1499
lea rcx, str.Error:_Func__s_Line__d:_No_paraformat_in_parent_style_to_resolve
jmp 0x14002d54d
mov eax, dword [rbx + 0x158]
xorps xmm5, xmm5
movsd xmm4, qword [0x1400d53a0]
movsd xmm3, qword [0x1400d5308]
test al, 0x20
je 0x14002d609
test byte [r9 + 4], 0x80
jne 0x14002d5bf
lea rdx, str.COdtAttributeParser::OdtPfFromMarginBottomParent
mov r8d, Ordinal_1297
jmp 0x14002d6d9
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 0x14002d5f8
addsd xmm0, xmm3
jmp 0x14002d5fc
subsd xmm0, xmm3
cvttsd2si eax, xmm0
mov dword [rdi + 0x10], eax
mov eax, dword [rbx + 0x158]
test al, 0x10
je 0x14002d670
test byte [r9 + 4], 0x40
jne 0x14002d626
lea rdx, str.COdtAttributeParser::OdtPfFromMarginTopParent
mov r8d, 0x4f6
jmp 0x14002d6d9
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 0x14002d65f
addsd xmm0, xmm3
jmp 0x14002d663
subsd xmm0, xmm3
cvttsd2si eax, xmm0
mov dword [rdi + 0x10], eax
mov eax, dword [rbx + 0x158]
test al, 4
je 0x14002d6c1
mov eax, dword [r9 + 4]
lea rcx, [rbx + 0x168]
and eax, 5
cmp al, 5
je 0x14002d695
mov r8d, 0x4c8
lea rdx, str.COdtAttributeParser::OdtPfFromMarginLeftParent
jmp 0x14002d6d9
movd xmm0, dword [r9 + 0xc]
mov rdx, rdi
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm4
mulsd xmm0, qword [rcx]
movsd qword [rcx], xmm0
call fcn.140032020
test eax, eax
jne 0x14002d7d9
mov eax, dword [rbx + 0x158]
test al, 8
je 0x14002d72c
test byte [r9 + 4], 2
jne 0x14002d6e5
lea rdx, str.COdtAttributeParser::OdtPfFromMarginRightParent
mov r8d, 0x4dd
lea rcx, str.Error:_Func__s_Line__d:_mask_not_set_in_parent
jmp 0x14002d554
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 0x14002d71b
addsd xmm0, xmm3
jmp 0x14002d71f
subsd xmm0, xmm3
cvttsd2si eax, xmm0
mov dword [rdi + 0x10], eax
mov eax, dword [rbx + 0x158]
test al, 2
je 0x14002d775
test byte [r9 + 4], 1
lea rcx, [rbx + 0x160]
jne 0x14002d74d
mov r8d, 0x48d
lea rdx, str.COdtAttributeParser::OdtPfFromTextIndentParent
jmp 0x14002d6d9
movd xmm0, dword [r9 + 0xc]
mov rdx, rdi
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm4
mulsd xmm0, qword [rcx]
movsd qword [rcx], xmm0
call fcn.140031f8c
test eax, eax
jne 0x14002d7d9
mov eax, dword [rbx + 0x158]
test al, 1
je 0x14002d7d7
or dword [rdi + 4], 0x10
mov r8d, dword [rdi + 0x14]
add r8d, dword [rdi + 0xc]
je 0x14002d7cf
mov r10d, ebp
cmp bp, word [rdi + 0x1a]
jge 0x14002d7cf
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 0x14002d79a
mov rcx, rbx
call fcn.14002d3d8
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret