Function at 0x14000c2d0
Capabilities:
Check if file exists
Copy file

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov rax, qword [0x14005b080]
xor rax, rsp
mov qword [rbp + 0xc0], rax
xor r13d, r13d
call fcn.14000b0a0
movsx edi, al
call fcn.14000b090
movsx ecx, al
imul edi, ecx
call fcn.14000b0d0
movsx esi, al
imul ecx, edi, 7
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add ecx, esi
add eax, ecx
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000ce67
lea rcx, str.C:XSafeAntiDll.x64.dll
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x14000c373
lea rcx, str.C:XSafeAntiDll.x86.dll
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
mov edx, r13d
jne 0x14000c378
mov edx, 1
movsx eax, byte [0x14005bcd2]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14005bcd4]
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 eax, [rdi + rdi*4]
lea r12d, [rsi + rax*2]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r12d
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
mov r14d, 0xa
cmp eax, ecx
je 0x14000c41e
call fcn.14000b0b0
movsx edx, al
movsx eax, byte [0x14005e1b0]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.14000b0e0
movsx ecx, al
sub r8d, ecx
call fcn.14000b0c0
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x14005bcd4]
add ecx, r8d
je 0x14000c41e
mov r9d, r14d
lea r10d, [rdi + rdi]
jmp 0x14000c481
lea r10d, [rdi + rdi]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r10d
add eax, esi
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000c47c
lea edx, [rdi + rdi*2]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, esi
lea eax, [rax + rdx*2]
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si r9d, xmm0
jmp 0x14000c481
mov r9d, dword [rsp + 0x20]
lea r15d, [r10 + rsi]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r15d
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x14000ce67
mov r8d, 0x104
lea rdx, [rbp - 0x50]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea rcx, [rbp - 0x50]
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x38], xmm1
lea rax, [rbp - 0x50]
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop word [rax + rax]
inc r8
cmp byte [rax + r8], r13b
jne 0x14000c4f0
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x28]
call fcn.140021f00
nop
mov r8d, 0x15
lea rdx, [0x1400536a8]
lea rcx, [rsp + 0x28]
call fcn.140020d50
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x68], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x68], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x40]
cmp rdx, 0xf
jbe 0x14000c589
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000c584
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d02e
call fcn.140025360
movdqa xmm0, xmmword [0x140053ff0]
movdqu xmmword [rsp + 0x38], xmm0
mov byte [rsp + 0x28], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x58], xmm1
lea rax, [rbp - 0x50]
inc rbx
cmp byte [rax + rbx], 0
jne 0x14000c5b1
mov r8, rbx
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x48]
call fcn.140021f00
nop
mov r8d, 0x15
lea rdx, [0x1400536c0]
lea rcx, [rsp + 0x48]
call fcn.140020d50
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x78], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x60]
cmp rdx, 0xf
jbe 0x14000c651
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000c64c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d034
call fcn.140025360
movdqa xmm0, xmmword [0x140053ff0]
movdqu xmmword [rsp + 0x58], xmm0
mov byte [rsp + 0x48], 0
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, esi
lea eax, [rax + rdi*8]
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000c94f
lea rcx, [rbp - 0x78]
cmp qword [rbp - 0x60], 0xf
cmova rcx, qword [rbp - 0x78]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x14000c6bf
lea rcx, [rsp + 0x68]
cmp qword [rbp - 0x80], 0xf
cmova rcx, qword [rsp + 0x68]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
mov rdx, r13
jne 0x14000c6c4
mov edx, 1
movsx eax, byte [0x14005bcd2]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14005bcd4]
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
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r12d
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000c759
call fcn.14000b0b0
movsx edx, al
movsx eax, byte [0x14005e1b0]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.14000b0e0
movsx ecx, al
sub r8d, ecx
call fcn.14000b0c0
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x14005bcd4]
add ecx, r8d
je 0x14000c759
mov r9d, r14d
jmp 0x14000c7b6
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r15d
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000c7b1
lea edx, [rdi + rdi*2]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, esi
lea eax, [rax + rdx*2]
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si r9d, xmm0
jmp 0x14000c7b6
mov r9d, dword [rsp + 0x20]
lea ecx, [rdi + rsi]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [rcx + rdi*2]
add eax, ecx
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x14000c94f
lea rdx, str.DLL_not_found_in_current_directory_
lea rcx, [0x14005c4f0]
call fcn.140021a20
mov rcx, rax
call fcn.140021cd0
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r12d
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14005bcd2]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14005bcd4]
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, r12d
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000c8b2
call fcn.14000b0b0
movsx edx, al
movsx eax, byte [0x14005e1b0]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.14000b0e0
movsx ecx, al
sub r8d, ecx
call fcn.14000b0c0
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x14005bcd4]
add ecx, r8d
jne 0x14000cd1f
call fcn.14000b0a0
movsx edx, al
call fcn.14000b090
movsx ecx, al
imul edx, ecx
add edx, edx
call fcn.14000b0d0
movsx ecx, al
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add ecx, edx
add eax, ecx
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000c942
call fcn.14000b0a0
movsx edx, al
call fcn.14000b090
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.14000b0d0
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
jmp 0x14000c946
mov eax, dword [rsp + 0x20]
cmp r13d, eax
jl 0x14000cd1f
call fcn.14000b0a0
movsx edx, al
call fcn.14000b090
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*4]
call fcn.14000b0d0
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000cdb0
lea rcx, [rbp - 0x78]
cmp qword [rbp - 0x60], 0xf
cmova rcx, qword [rbp - 0x78]
xor r8d, r8d
lea rdx, str.C:XSafeAntiDll.x64.dll
call qword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x14000c9dd
lea rcx, [rsp + 0x68]
cmp qword [rbp - 0x80], 0xf
cmova rcx, qword [rsp + 0x68]
xor r8d, r8d
lea rdx, str.C:XSafeAntiDll.x86.dll
call qword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
mov rdx, r13
jne 0x14000c9e2
mov edx, 1
movsx eax, byte [0x14005bcd2]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14005bcd4]
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
call fcn.14000b0a0
movsx edx, al
call fcn.14000b090
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.14000b0d0
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000ca96
call fcn.14000b0b0
movsx edx, al
movsx eax, byte [0x14005e1b0]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.14000b0e0
movsx ecx, al
sub r8d, ecx
call fcn.14000b0c0
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x14005bcd4]
add ecx, r8d
jne 0x14000cb2c
call fcn.14000b0a0
movsx edx, al
call fcn.14000b090
movsx ecx, al
imul edx, ecx
add edx, edx
call fcn.14000b0d0
movsx ecx, al
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add ecx, edx
add eax, ecx
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000cb27
call fcn.14000b0a0
movsx edx, al
call fcn.14000b090
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.14000b0d0
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si r14d, xmm0
jmp 0x14000cb2c
mov r14d, dword [rsp + 0x20]
call fcn.14000b0a0
movsx edx, al
call fcn.14000b090
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.14000b0d0
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
sub eax, ecx
imul eax, r14d
test eax, eax
je 0x14000cdb0
lea rdx, str.Failed_to_copy_DLL_to_system_path_
lea rcx, [0x14005c4f0]
call fcn.140021a20
mov rcx, rax
call fcn.140021cd0
call fcn.14000b0a0
movsx r9d, al
call fcn.14000b090
movsx ecx, al
imul r9d, ecx
call fcn.14000b0d0
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14005bcd2]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14005bcd4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
call fcn.14000b0a0
movsx edx, al
call fcn.14000b090
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.14000b0d0
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000cc82
call fcn.14000b0b0
movsx edx, al
movsx eax, byte [0x14005e1b0]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.14000b0e0
movsx ecx, al
sub r8d, ecx
call fcn.14000b0c0
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x14005bcd4]
add ecx, r8d
jne 0x14000cd1f
call fcn.14000b0a0
movsx edx, al
call fcn.14000b090
movsx ecx, al
imul edx, ecx
add edx, edx
call fcn.14000b0d0
movsx ecx, al
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add ecx, edx
add eax, ecx
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000cd12
call fcn.14000b0a0
movsx edx, al
call fcn.14000b090
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.14000b0d0
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
jmp 0x14000cd16
mov eax, dword [rsp + 0x20]
cmp r13d, eax
jge 0x14000cdb0
mov rdx, qword [rbp - 0x80]
cmp rdx, 0xf
jbe 0x14000cd5b
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000cd56
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d03a
call fcn.140025360
movdqa xmm0, xmmword [0x140053ff0]
movdqu xmmword [rsp + 0x78], xmm0
mov byte [rsp + 0x68], 0
mov rdx, qword [rbp - 0x60]
cmp rdx, 0xf
jbe 0x14000cda9
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000cda4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d028
call fcn.140025360
xor eax, eax
jmp 0x14000cff8
lea rdx, str.DLL_copied_to_system_path_
lea rcx, [0x14005c4f0]
call fcn.140021a20
mov rcx, rax
call fcn.140021cd0
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 0xf
jbe 0x14000ce08
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ce03
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d03a
call fcn.140025360
movdqa xmm0, xmmword [0x140053ff0]
movdqu xmmword [rsp + 0x78], xmm0
mov byte [rsp + 0x68], 0
mov rdx, qword [rbp - 0x60]
cmp rdx, 0xf
jbe 0x14000ce56
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ce51
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000d028
call fcn.140025360
movdqa xmm0, xmmword [0x140053ff0]
movdqu xmmword [rbp - 0x68], xmm0
mov byte [rbp - 0x78], 0
call fcn.14000b0a0
movsx edx, al
call fcn.14000b090
movsx ecx, al
imul edx, ecx
imul r9d, edx, 7
call fcn.14000b0d0
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14005bcd2]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14005bcd4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
call fcn.14000b0a0
movsx edx, al
call fcn.14000b090
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.14000b0d0
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000cf5a
call fcn.14000b0b0
movsx edx, al
movsx eax, byte [0x14005e1b0]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.14000b0e0
movsx ecx, al
sub r8d, ecx
call fcn.14000b0c0
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x14005bcd4]
add ecx, r8d
jne 0x14000cff3
call fcn.14000b0a0
movsx edx, al
call fcn.14000b090
movsx ecx, al
imul edx, ecx
add edx, edx
call fcn.14000b0d0
movsx ecx, al
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add ecx, edx
add eax, ecx
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
cmp eax, ecx
je 0x14000cfea
call fcn.14000b0a0
movsx edx, al
call fcn.14000b090
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.14000b0d0
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [0x14005bcd0]
xor edx, edx
div ecx
movsx ecx, byte [0x14005bcd3]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
jmp 0x14000cfee
mov eax, dword [rsp + 0x20]
cmp r13d, eax
jge 0x14000cff8
mov eax, 1
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.140025340
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400307e0
nop
call fcn.1400307e0
nop
call fcn.1400307e0
nop
call fcn.1400307e0
int3