Function at 0x10003d414
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xe8
mov qword [rsp + 0xc0], 0xfffffffffffffffe
mov rbx, rdx
mov r12, rcx
lea rax, [0x1001653b8]
mov rcx, qword [0x1001653b8]
cmp rcx, rax
je 0x10003d472
test byte [rcx + 0x1c], 1
je 0x10003d472
cmp byte [rcx + 0x19], 4
jb 0x10003d472
mov edx, 0x2e2
lea r8, [0x100003cc8]
mov rcx, qword [rcx + 0x10]
call fcn.10001c854
test rbx, rbx
jne 0x10003d48f
lea r8, [0x1000047f8]
mov edx, 0x4478
lea rcx, [0x100004680]
call fcn.10009a050
test byte [r12 + 0x150], 2
je 0x10003d4b2
lea r8, [0x100005628]
mov edx, 0x4479
lea rcx, [0x100004680]
call fcn.10009a050
xor ebx, ebx
mov edi, ebx
mov r15, rbx
mov qword [rsp + 0x48], rbx
mov byte [rsp + 0x140], bl
mov byte [rsp + 0x148], bl
mov byte [rsp + 0x30], bl
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x34], ebx
mov qword [rsp + 0x50], rbx
mov rbp, rbx
mov qword [rsp + 0x90], rbx
mov r13, rbx
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], rbx
mov dword [rsp + 0xa8], ebx
mov rsi, rbx
mov qword [rsp + 0x70], rbx
mov r14, rbx
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x80], rbx
mov dword [rsp + 0x88], ebx
mov dword [rsp + 0x38], ebx
cmp dword [r12 + 0x170], ebx
jbe 0x10003d928
mov qword [rsp + 0x60], rbx
mov r14d, ebx
mov dword [rsp + 0x3c], esi
mov byte [rsp + 0x130], sil
add rbx, qword [r12 + 0xd8]
cmp dword [rbx + 0x14], 0xc
je 0x10003d85e
cmp r15, rsi
je 0x10003d56d
mov rcx, r15
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rsp + 0x48], rsi
movdqu xmm0, xmmword [rbx + 0x44]
movdqu xmmword [rsp + 0xb0], xmm0
lea r8, [rsp + 0x48]
mov rdx, qword [r12 + 0x1d8]
lea rcx, [rsp + 0xb0]
call fcn.10011ec30
mov edi, eax
cmp eax, esi
jl 0x10003d8cd
lea r8, [r12 + 0x28]
lea rax, [rsp + 0x130]
mov qword [rsp + 0x20], rax
mov r9b, byte [rbx + 0x100]
mov r15, qword [rsp + 0x48]
mov rdx, r15
mov rcx, rbx
call fcn.100021704
mov edi, eax
cmp eax, esi
jl 0x10003d8d2
cmp byte [rsp + 0x130], sil
je 0x10003d85e
mov byte [rbx + 0x149], 1
mov r8, r15
mov rdx, rbx
mov rcx, r12
call fcn.10003d320
mov edi, eax
cmp eax, esi
jl 0x10003d8d2
lea r8, [rsp + 0x3c]
mov rdx, rbx
mov rcx, r12
call fcn.10003d1a4
mov edi, eax
cmp eax, esi
jl 0x10003d8d2
mov eax, dword [rsp + 0x3c]
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x340]
lea r13, [rax + rcx*8]
cmp r13, rsi
jne 0x10003d64a
lea r8, [0x100004dc8]
mov edx, 0x44c4
lea rcx, [0x100004680]
call fcn.10009a050
lea rdx, [r13 + 8]
mov rcx, qword [rbx + 0xe0]
call fcn.10009b954
mov edi, eax
cmp eax, esi
jl 0x10003d8d2
cmp byte [rsp + 0x140], sil
jne 0x10003d70c
lea r8, [rsp + 0x34]
lea rdx, [rsp + 0x40]
mov rcx, r12
call fcn.10002c3d4
mov edi, eax
cmp eax, esi
jl 0x10003d888
lea r9, [rsp + 0x90]
lea r8, [rsp + 0x148]
lea rdx, [rsp + 0x30]
mov rcx, qword [r12 + 0x350]
call fcn.1001136cc
mov edi, eax
cmp eax, esi
jl 0x10003d888
mov al, byte [r12 + 0x185]
neg al
sbb r9d, r9d
neg r9d
add r9d, 2
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], sil
mov r8, qword [r12 + 0x1c8]
mov rbp, qword [rsp + 0x40]
mov rdx, rbp
mov r14d, dword [rsp + 0x34]
mov ecx, r14d
call fcn.1001147d4
mov edi, eax
cmp eax, esi
jl 0x10003d8d2
mov byte [rsp + 0x140], 1
lea rcx, [rsp + 0x50]
call fcn.1000434f4
mov edi, eax
cmp eax, esi
jl 0x10003d894
mov rsi, qword [rsp + 0x50]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r9, qword [rsp + 0x138]
mov r8, qword [r12 + 0x188]
mov rdx, r12
mov rcx, rsi
call fcn.10008ab18
mov edi, eax
test eax, eax
js 0x10003d8d2
lea rcx, [rbx + 0xbc]
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
movdqu xmm5, xmmword [rbx + 0x44]
movdqu xmmword [rsp + 0xd0], xmm5
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x90]
mov r8, r13
lea rdx, [rsp + 0xd0]
mov rcx, rsi
call fcn.10008b44c
mov edi, eax
test eax, eax
js 0x10003d8d2
lea rcx, [rbx + 0xc4]
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x10003d824
test byte [rcx + 0x1c], 1
je 0x10003d824
cmp byte [rcx + 0x19], 4
jb 0x10003d824
mov eax, dword [rbx + 0xbc]
mov dword [rsp + 0x68], eax
mov eax, dword [rbx + 0xc0]
mov dword [rsp + 0x6c], eax
mov eax, dword [rbx + 0xc4]
mov dword [rsp + 0x58], eax
mov eax, dword [rbx + 0xc8]
mov dword [rsp + 0x5c], eax
mov rdx, qword [rsp + 0x58]
sub rdx, qword [rsp + 0x68]
movabs rax, 0x346dc5d63886594b
mul rdx
mov r9, rdx
shr r9, 0xb
mov edx, 0x2e4
lea r8, [0x100003cc8]
mov rcx, qword [rcx + 0x10]
call fcn.10001d71c
add rbx, 0x150
jne 0x10003d845
lea r8, [0x100009988]
mov edx, 0x172
lea rcx, [0x100009958]
call fcn.10009a050
mov rax, qword [rsi + 0x68]
mov qword [rbx], rax
xor edi, edi
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
xor esi, esi
mov qword [rsp + 0x50], rsi
mov eax, dword [rsp + 0x38]
inc eax
mov dword [rsp + 0x38], eax
mov rbx, qword [rsp + 0x60]
add rbx, 0x160
mov qword [rsp + 0x60], rbx
cmp eax, dword [r12 + 0x170]
jae 0x10003d8d2
jmp 0x10003d53c
mov rbp, qword [rsp + 0x40]
mov r14d, dword [rsp + 0x34]
jmp 0x10003d8d2
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x10003d8d2
test byte [rcx + 0x1c], 1
je 0x10003d8d2
cmp byte [rcx + 0x19], 2
jb 0x10003d8d2
mov edx, 0x2e3
mov r9d, edi
lea r8, [0x100003cc8]
mov rcx, qword [rcx + 0x10]
call fcn.10001c878
jmp 0x10003d8d2
mov r15, qword [rsp + 0x48]
xor ebx, ebx
cmp r15, rbx
je 0x10003d8e2
mov rcx, r15
call qword [sym.imp.ole32.dll_CoTaskMemFree]
cmp rbp, rbx
je 0x10003d90e
mov rdx, rbp
mov ecx, r14d
call fcn.1000b52c8
mov r13, qword [rsp + 0x98]
mov rbp, qword [rsp + 0x90]
mov r14, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x70]
jmp 0x10003d928
mov r13, qword [rsp + 0x98]
mov rbp, qword [rsp + 0x90]
mov r14, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x70]
mov ecx, ebx
mov dword [rsp + 0x138], ebx
mov r15, rbx
cmp r13, rbx
jbe 0x10003d9b6
mov rbx, rbp
cmp r15, r13
jae 0x10003d993
cmp qword [rbx], 0
je 0x10003d95b
mov rcx, qword [rbx]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
and qword [rbx], 0
mov ecx, dword [rsp + 0x138]
cmp qword [rbx + 8], 0
je 0x10003d978
mov rcx, qword [rbx + 8]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
and qword [rbx + 8], 0
mov ecx, dword [rsp + 0x138]
inc ecx
mov dword [rsp + 0x138], ecx
inc r15
add rbx, 0x18
mov eax, ecx
cmp rax, r13
jb 0x10003d93c
xor ebx, ebx
jmp 0x10003d9b6
lea r8, [0x100005a58]
mov edx, 0x2cd
lea rcx, [0x1000059a0]
call fcn.10009a050
mov ecx, 0x80070057
call fcn.1000196c8
int3
cmp rbp, rbx
je 0x10003d9c7
mov rcx, rbp
call qword [sym.imp.msvcrt.dll_free]
mov rbp, rbx
mov r15d, ebx
mov r13, rbx
cmp r14, rbx
jbe 0x10003da39
mov rbx, rsi
cmp r13, r14
jae 0x10003da16
mov rcx, qword [rbx]
test rcx, rcx
je 0x10003d9ec
call qword [sym.imp.ole32.dll_CoTaskMemFree]
and qword [rbx], 0
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x10003da00
call qword [sym.imp.ole32.dll_CoTaskMemFree]
and qword [rbx + 8], 0
inc r15d
inc r13
add rbx, 0x18
mov eax, r15d
cmp rax, r14
jb 0x10003d9d5
xor ebx, ebx
jmp 0x10003da39
lea r8, [0x100005a58]
mov edx, 0x2cd
lea rcx, [0x1000059a0]
call fcn.10009a050
mov ecx, 0x80070057
call fcn.1000196c8
int3
cmp rsi, rbx
je 0x10003da4a
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_free]
mov rsi, rbx
cmp edi, ebx
jge 0x10003dab5
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x10003da85
test byte [rcx + 0x1c], 1
je 0x10003da85
cmp byte [rcx + 0x19], 2
jb 0x10003da85
mov edx, 0x2e5
mov r9d, edi
lea r8, [0x100003cc8]
mov rcx, qword [rcx + 0x10]
call fcn.10001c878
lea rcx, [r12 + 0x58]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r11d, 0x8078014d
mov dword [r12 + 0x20], r11d
xor eax, eax
cmp edi, r11d
cmovne eax, edi
mov dword [r12 + 0x24], eax
lea rcx, [r12 + 0x58]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor ebx, ebx
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x10003daea
test byte [rcx + 0x1c], 1
je 0x10003daea
cmp byte [rcx + 0x19], 4
jb 0x10003daea
mov edx, 0x2e6
lea r8, [0x100003cc8]
mov rcx, qword [rcx + 0x10]
call fcn.10001c854
nop
cmp rsi, rbx
je 0x10003daf9
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_free]
nop
cmp rbp, rbx
je 0x10003db07
mov rcx, rbp
call qword [sym.imp.msvcrt.dll_free]
mov eax, edi
add rsp, 0xe8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret