Function at 0x14001be40
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x30]
sub rsp, 0x130
mov rax, qword [0x14007c040]
xor rax, rsp
mov qword [rbp + 0x28], rax
mov r13, rcx
mov qword [rsp + 0x20], rcx
xor r15d, r15d
mov dword [rsp + 0x50], 0xcbcacdcc
mov dword [rsp + 0x54], 0xc7c6c9c8
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x20], r15
mov rax, qword [rsp + 0x20]
movabs r9, 0x5574338f4f949922
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
movzx edx, byte [rsp + rax + 0x50]
add rcx, r9
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
add r8b, 0x12
mov rax, qword [rsp + 0x20]
mov byte [rsp + rax + 0x50], r8b
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x20
jb 0x14001beb0
mov rax, qword [rsp + 0x50]
mov qword [rbp - 8], rax
mov dword [rbp - 0x70], 0x53505156
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x6c], xmm0
mov dword [rbp - 0x5c], eax
mov word [rbp - 0x58], ax
mov byte [rbp - 0x56], al
mov qword [rsp + 0x20], r15
mov rax, qword [rsp + 0x20]
movabs r9, 0x7f80b42ab5f45a33
nop
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
movzx edx, byte [rbp + rax - 0x70]
add rcx, r9
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 0x65
mov rax, qword [rsp + 0x20]
mov byte [rbp + rax - 0x70], r8b
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x1b
jb 0x14001bf30
movsxd rax, dword [rbp - 0x70]
mov qword [rbp], rax
mov dword [rbp - 0x50], 0x938f8494
mov byte [rbp - 0x4c], 0xc4
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x4b], xmm0
mov dword [rbp - 0x3b], eax
mov byte [rbp - 0x37], al
mov qword [rsp + 0x20], r15
mov rax, qword [rsp + 0x20]
movabs r9, 0x122120ebbaf751e0
nop
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
movzx edx, byte [rbp + rax - 0x50]
add rcx, r9
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 0x20
mov rax, qword [rsp + 0x20]
mov byte [rbp + rax - 0x50], r8b
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x1a
jb 0x14001bfb0
mov r9, qword [0x14007d060]
test r9, r9
jne 0x14001c191
mov ebx, r15d
mov r11d, 0xaabbdfbf
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop dword [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test ebx, ebx
je 0x14001c07c
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x7179644
cmp rcx, r8
je 0x14001c074
nop
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x14001c060
cmp edx, ebx
jne 0x14001c16e
mov r10, qword [rsi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rcx, qword [rax + r10 + 0x88]
mov r15, rcx
shr r15, 0x20
mov edi, ecx
add rdi, r10
cmp rdi, r10
je 0x14001c16e
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x14001c16e
mov r14d, dword [rdi + 0x20]
dec r8d
lea rax, [r14 + r8*4]
mov ecx, dword [rax + r10]
add rcx, r10
mov edx, 0x7179644
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14001c0e6
nop
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x14001c0d0
cmp edx, r11d
je 0x14001c0f2
test r8d, r8d
jne 0x14001c0b2
jmp 0x14001c16e
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r8*2]
mov r9d, dword [rcx + rax*4]
add r9, r10
cmp r9, rdi
jbe 0x14001c3bd
lea rax, [rdi + r15]
cmp r9, rax
jae 0x14001c3bd
mov ebx, 0x7179644
mov r11d, ebx
movzx eax, byte [r9]
cmp al, 0x2e
je 0x14001c146
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
inc r9
movzx eax, byte [r9]
cmp al, 0x2e
jne 0x14001c130
inc r9
movzx eax, byte [r9]
test al, al
je 0x14001c16a
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
lea r9, [r9 + 1]
movzx eax, byte [r9]
test al, al
jne 0x14001c151
mov rsi, qword [r12]
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x14001c184
cmp qword [rax + 0x30], 0
jne 0x14001c030
xor r15d, r15d
mov r9d, r15d
mov qword [0x14007d060], r9
lea r8, [rbp - 0x50]
lea rdx, [rbp]
lea rcx, [rbp - 8]
call r9
mov r10d, eax
call fcn.140003760
movsx r9d, al
call fcn.140003750
movsx ecx, al
imul r9d, ecx
call fcn.140003790
movsx ebx, al
lea r11d, [rbx + r9*4]
add r11d, r9d
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r11d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14007c0db]
cmp r8d, eax
je 0x14001cf56
mov dword [rbp - 0x30], 0x3040506
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x2c], xmm0
mov qword [rbp - 0x1c], rax
mov word [rbp - 0x14], ax
mov byte [rbp - 0x12], al
mov qword [rsp + 0x20], r15
mov rax, qword [rsp + 0x20]
cmp rax, 0x1f
jae 0x14001c278
movabs rdi, 0xd71a4c75fdc69601
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
movzx edx, byte [rbp + rax - 0x30]
add rcx, rdi
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 7
mov rax, qword [rsp + 0x20]
mov byte [rbp + rax - 0x30], r8b
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x1f
jb 0x14001c230
cmp r10d, dword [rbp - 0x30]
jne 0x14001c316
mov dword [rsp + 0x30], 0x2b2a2d2c
mov dword [rsp + 0x34], 0xd7d62928
xor eax, eax
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x40], eax
mov word [rsp + 0x44], ax
mov byte [rsp + 0x46], al
mov qword [rsp + 0x20], r15
mov rax, qword [rsp + 0x20]
cmp rax, 0x17
jae 0x14001c308
movabs r10, 0xa89a1bcd5f675d7a
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
movzx edx, byte [rsp + rax + 0x30]
add rcx, r10
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 0x56
mov rax, qword [rsp + 0x20]
mov byte [rsp + rax + 0x30], r8b
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x17
jb 0x14001c2c0
mov rax, qword [rsp + 0x30]
cmp qword [rbp - 8], rax
mov rdx, r15
jne 0x14001c31b
mov edx, 1
movsx eax, byte [0x14007c0da]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14007c0dc]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rdx
mulsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
lea r14d, [rbx + r9*2]
add r14d, r9d
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r14d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14007c0db]
mov r10d, 7
cmp r8d, eax
je 0x14001c3c5
call fcn.140003770
movsx edx, al
movsx eax, byte [0x14007d2e0]
imul edx, eax
shl edx, 3
call fcn.1400037a0
movsx ecx, al
sub edx, ecx
call fcn.140003780
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x14007c0dc]
add ecx, edx
je 0x14001c3c5
mov r11d, r10d
jmp 0x14001c431
xor r15d, r15d
jmp 0x14001c18a
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r11d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14007c0db]
cmp r8d, eax
je 0x14001c42c
lea ecx, [r9 + rbx]
movsx r8d, byte [reloc.OLEAUT32.dll_VariantCopy]
lea eax, [rcx + r9*8]
add eax, r8d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14007c0db]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si r11d, xmm0
jmp 0x14001c431
mov r11d, dword [rsp + 0x20]
lea edx, [r9 + r9*2]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ebx
lea eax, [rax + rdx*2]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14007c0db]
sub r8d, eax
imul r8d, r11d
test r8d, r8d
je 0x14001c690
imul eax, r9d, 7
movsx r8d, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ebx
add eax, r8d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14007c0db]
sub r8d, eax
mov eax, r8d
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14007c0da]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14007c0dc]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r14d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14007c0db]
cmp r8d, eax
je 0x14001c526
call fcn.140003770
movsx edx, al
movsx eax, byte [0x14007d2e0]
imul edx, eax
shl edx, 3
call fcn.1400037a0
movsx ecx, al
sub edx, ecx
call fcn.140003780
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x14007c0dc]
add ecx, edx
jne 0x14001c5d4
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*4]
call fcn.140003790
movsx ecx, al
add r8d, ecx
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r8d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14007c0db]
cmp r8d, eax
je 0x14001c5c7
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*8]
call fcn.140003790
movsx ecx, al
add r8d, ecx
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r8d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14007c0db]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
jmp 0x14001c5cb
mov eax, dword [rsp + 0x20]
cmp r15d, eax
jge 0x14001cf56
mov dword [rsp + 0x70], 0x8e87f545
mov word [rsp + 0x74], 0x40f4
mov byte [rsp + 0x76], 0x66
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x77], xmm0
mov word [rbp - 0x79], ax
mov qword [rsp + 0x20], r15
mov rax, qword [rsp + 0x20]
cmp rax, 0x19
jae 0x14001c655
movabs r9, 0x4538b0b3505d4b0
mov r8, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
movzx edx, byte [rsp + rax + 0x70]
add r8, r9
mov eax, edx
and rax, r8
imul rcx, rax, 0xfffffffffffffffe
add rcx, rdx
add rcx, r8
add cl, 0x30
mov rax, qword [rsp + 0x20]
mov byte [rsp + rax + 0x70], cl
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x19
jb 0x14001c610
xorps xmm0, xmm0
movups xmmword [r13], xmm0
mov qword [r13 + 0x10], r15
mov qword [r13 + 0x18], r15
lea rax, [rsp + 0x70]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x14001c671
lea rdx, [rsp + 0x70]
mov rcx, r13
call fcn.140002480
mov rax, r13
jmp 0x14001cf56
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.140003790
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
je 0x14001cf56
call fcn.140003770
movsx ebx, al
call fcn.1400037a0
movsx edi, al
call fcn.140003780
movsx esi, al
movsx ecx, byte [0x14007d2e0]
imul ecx, ebx
lea edx, [rcx + rcx*4]
sub edx, edi
add edx, esi
movsx eax, byte [0x14007c0dc]
add eax, edx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14007c0da]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14007c0dc]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r14d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x14001c782
movsx edx, byte [0x14007d2e0]
imul edx, ebx
shl edx, 3
sub edx, edi
add edx, esi
movsx ecx, byte [0x14007c0dc]
add ecx, edx
je 0x14001c782
mov r11d, r10d
jmp 0x14001c81c
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*4]
call fcn.140003790
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x14001c817
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003790
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si r11d, xmm0
jmp 0x14001c81c
mov r11d, dword [rsp + 0x20]
call fcn.140003760
movsx r9d, al
call fcn.140003750
movsx ecx, al
imul r9d, ecx
call fcn.140003790
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
imul eax, r11d
test eax, eax
je 0x14001cc7a
movsx eax, byte [0x14007c0da]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14007c0dc]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x140073f60]
movsd qword [rsp + 0x20], xmm1
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003790
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x14001c8f6
movsx edx, byte [0x14007d2e0]
imul edx, ebx
shl edx, 3
sub edx, edi
add edx, esi
movsx ecx, byte [0x14007c0dc]
add ecx, edx
jne 0x14001c952
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*4]
call fcn.140003790
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x14001c952
movzx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
movzx eax, byte [reloc.OLEAUT32.dll_VariantClear]
movzx eax, byte [0x14007c0db]
movsd xmm0, qword [rsp + 0x20]
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
call fcn.140003790
movsx ecx, al
lea eax, [rcx + rdx*4]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
je 0x14001cf56
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003790
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14007c0da]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14007c0dc]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003790
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x14001ca83
call fcn.140003770
movsx edx, al
movsx eax, byte [0x14007d2e0]
imul edx, eax
shl edx, 3
call fcn.1400037a0
movsx ecx, al
sub edx, ecx
call fcn.140003780
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x14007c0dc]
add ecx, edx
jne 0x14001cb1d
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*4]
call fcn.140003790
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x14001cb18
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003790
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si r10d, xmm0
jmp 0x14001cb1d
mov r10d, dword [rsp + 0x20]
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003790
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
imul eax, r10d
test eax, eax
je 0x14001cf56
movsx eax, byte [0x14007c0da]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14007c0dc]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x140073f88]
movsd qword [rbp], xmm1
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003790
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x14001cc16
call fcn.140003770
movsx edx, al
movsx eax, byte [0x14007d2e0]
imul edx, eax
shl edx, 3
call fcn.1400037a0
movsx ecx, al
sub edx, ecx
call fcn.140003780
movsx ecx, al
add edx, ecx
movsx eax, byte [0x14007c0dc]
mov ecx, eax
add ecx, edx
jne 0x14001cf56
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*4]
call fcn.140003790
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
je 0x14001cf56
movzx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
movzx eax, byte [reloc.OLEAUT32.dll_VariantClear]
movzx eax, byte [0x14007c0db]
movsd xmm0, qword [rbp]
jmp 0x14001cf56
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x18], xmm1
mov rdx, qword [rbp - 8]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x14001cc94
lea rcx, [rbp + 8]
call fcn.140002480
nop
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
mov rbx, rdi
nop
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x14001cd37
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x14001cd37
mov r10d, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
lea rcx, [r9 + r8*4]
mov edx, dword [rcx + r10]
add rdx, r9
mov ecx, 0x5496d594
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x14001cd32
nop dword [rax]
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x14001cd10
cmp ecx, 0x5030cb2a
je 0x14001ceda
test r8d, r8d
jne 0x14001ccf0
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
je 0x14001cd4d
cmp qword [rax + 0x30], 0
jne 0x14001ccc0
mov rax, r15
mov rcx, qword [rbp - 8]
call rax
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
imul r9d, edx, 7
call fcn.140003790
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14007c0da]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14007c0dc]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003790
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x14001ce46
call fcn.140003770
movsx edx, al
movsx eax, byte [0x14007d2e0]
imul edx, eax
shl edx, 3
call fcn.1400037a0
movsx ecx, al
sub edx, ecx
call fcn.140003780
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x14007c0dc]
add ecx, edx
jne 0x14001cf01
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*4]
call fcn.140003790
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x14001cef8
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003790
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
jmp 0x14001cefc
mov edx, dword [r11 + 0x1c]
add rdx, r9
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx ecx, word [rcx + r8*2]
mov eax, dword [rdx + rcx*4]
add rax, r9
jmp 0x14001cd50
mov eax, dword [rsp + 0x20]
cmp r15d, eax
jge 0x14001cf18
movups xmm0, xmmword [rbp + 8]
movups xmmword [r13], xmm0
movups xmm1, xmmword [rbp + 0x18]
movups xmmword [r13 + 0x10], xmm1
mov rax, r13
jmp 0x14001cf56
mov rdx, qword [rbp + 0x20]
cmp rdx, 0xf
jbe 0x14001cf56
inc rdx
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001cf51
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001cf51
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14006f7a0
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.14006f780
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret