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

Disassembly:
mov r11, rsp
sub rsp, 0x78
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
mov qword [r11 - 8], r12
mov rbx, rcx
mov rcx, qword [rdx]
mov rsi, rdx
mov qword [r11 - 0x18], r14
mov rax, qword [rcx]
lea r8, [r11 - 0x48]
mov edx, 0x10000314
mov qword [r11 - 0x20], r15
call qword [rax + 0x18]
mov eax, dword [rbx + 0x44]
xor edi, edi
test dword [rsp + 0x30], eax
je 0x480182
lea r14d, [rdi + 1]
lea r15d, [rdi - 1]
nop
nop
nop
nop
mov rcx, qword [rsi]
lea r8, [rsp + 0x34]
mov edx, 0x10000314
mov rax, qword [rcx]
call qword [rax + 0x18]
bt dword [rsp + 0x34], 0x10
jb 0x480182
test byte [rbx + 0x44], 4
jne 0x480063
mov rcx, qword [rsi]
lea r8, [rsp + 0x38]
mov edx, 0x10000314
mov rax, qword [rcx]
call qword [rax + 0x18]
test byte [rsp + 0x38], 4
jne 0x4801dc
cmp dword [rbx + 0x3c], 3
jne 0x480083
mov rcx, qword [rsi]
lea r8, [rsp + 0x3c]
mov edx, 0x1000030f
mov rax, qword [rcx]
call qword [rax + 0x18]
mov r12d, dword [rsp + 0x3c]
jmp 0x48009b
mov rcx, qword [rsi]
lea r8, [rsp + 0x40]
mov edx, 0x1000030c
mov rax, qword [rcx]
call qword [rax + 0x18]
mov r12d, dword [rsp + 0x40]
cmp dword [rbx + 0x3c], 3
jne 0x4800ba
mov rcx, qword [rsi]
lea r8, [rsp + 0x44]
mov edx, 0x10000310
mov rax, qword [rcx]
call qword [rax + 0x18]
mov ebp, dword [rsp + 0x44]
jmp 0x4800d1
mov rcx, qword [rsi]
lea r8, [rsp + 0x48]
mov edx, 0x1000030d
mov rax, qword [rcx]
call qword [rax + 0x18]
mov ebp, dword [rsp + 0x48]
cmp dword [rbx + 0x3c], 3
jne 0x4800e4
test r12d, r12d
jne 0x4800e4
test ebp, ebp
je 0x4801a6
mov ecx, dword [rbx + 8]
mov dword [rbx + 0x58], edi
test ecx, ecx
jne 0x4801f4
mov rax, qword [rbx]
mov rdx, rsi
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test eax, eax
je 0x48037c
mov rax, qword [rbx]
mov rdx, rsi
mov rcx, rbx
call qword [rax + 0x10]
test eax, eax
je 0x4801e8
mov dword [rbx + 0x7c], edi
mov dword [rbx + 0x74], 8
mov dword [rbx + 0x78], edi
mov dword [rbx + 0x80], edi
mov dword [rbx + 0x84], edi
mov dword [rbx + 0x90], edi
mov dword [rbx + 0x98], edi
mov dword [rbx + 0x94], edi
mov dword [rbx + 0x70], 5
cmp dword [rbx + 0x14], edi
mov dword [rbx + 8], 2
mov eax, r14d
cmove eax, r15d
lea r8, [rsp + 0x30]
mov edx, 0x10000314
mov dword [rbx + 0xc], eax
mov rcx, qword [rsi]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov r11d, dword [rbx + 0x44]
test dword [rsp + 0x30], r11d
jne 0x480020
mov eax, dword [rbx + 8]
test eax, eax
je 0x4801a6
cmp eax, 4
je 0x48019a
mov rax, qword [rbx]
mov rdx, rsi
mov rcx, rbx
call qword [rax + 0x18]
mov dword [rbx + 8], edi
mov dword [rbx + 0x68], edi
mov dword [rbx + 0x64], edi
mov dword [rbx + 0x54], edi
xor eax, eax
mov r15, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
mov r12, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
add rsp, 0x78
ret
mov eax, dword [rbx + 8]
test eax, eax
je 0x4801a6
cmp eax, 4
jmp 0x48018c
mov dword [rbx + 8], 4
jmp 0x48037c
sub ecx, 2
mov qword [rsp + 0x68], r13
je 0x48023f
cmp ecx, r14d
jne 0x480377
lea rcx, [rbx + 0x70]
mov r8d, ebp
mov edx, r12d
call fcn.0047dff0
mov eax, dword [rbx + 0x7c]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jl 0x48023f
cmp dword [rbx + 0xc], r15d
mov eax, r15d
cmove eax, r14d
mov dword [rbx + 0xc], eax
mov eax, dword [rbx + 0x54]
neg eax
mov dword [rbx + 0x54], eax
mov dword [rbx + 0x74], edi
mov dword [rbx + 0x78], edi
mov r14d, dword [rbx + 8]
cmp r14d, 2
jne 0x480269
mov edx, ebp
mov ecx, r12d
call fcn.0047d760
cmp eax, 3
je 0x48025d
cmp eax, 7
jne 0x480269
cmp dword [rbx + 0x14], edi
jne 0x480267
mov r12d, edi
jmp 0x480269
mov ebp, edi
movsxd rax, dword [rbx + 0x70]
cmp eax, 7
ja case.default.0x480283
lea rdx, [0x00400000]
mov ecx, dword [rdx + rax*4 + 0x803dc]
add rcx, rdx
jmp rcx
mov ecx, ebp
jmp 0x4802bb
mov ecx, ebp
sub ecx, r12d
jmp 0x4802bb
mov ecx, r12d
neg ecx
jmp 0x4802bb
lea ecx, [rbp + r12]
neg ecx
jmp 0x4802bb
mov ecx, ebp
neg ecx
jmp 0x4802bb
mov ecx, r12d
sub ecx, ebp
jmp 0x4802bb
mov ecx, r12d
jmp 0x4802bb
lea ecx, [rbp + r12]
jmp 0x4802bb
mov ecx, edi
mov r11d, dword [rbx + 0x5c]
mov r9d, dword [rbx + 0xc]
mov eax, r11d
imul eax, r9d
imul eax, ecx
add dword [rbx + 0x54], eax
mov r10d, dword [rbx + 0x54]
jns 0x4802db
mov r8d, r15d
jmp 0x4802e5
test r10d, r10d
mov r8d, edi
setg r8b
mov ecx, dword [rbx + 0x60]
mov eax, r10d
cdq
xor eax, edx
sub eax, edx
sar eax, cl
imul eax, r8d
mov dword [rbx + 0x58], eax
mov r8d, dword [rbx + 0x58]
shl eax, cl
sub r10d, eax
test r8d, r8d
mov dword [rbx + 0x54], r10d
je 0x480377
add dword [rbx + 0x68], r8d
cmp r14d, 2
jne 0x480377
mov eax, dword [rbx + 0x68]
cdq
mov ecx, eax
mov eax, r11d
xor ecx, edx
sub ecx, edx
cdq
movzx edx, dl
add eax, edx
sar eax, 8
cmp ecx, eax
jl 0x480377
imul r8d, r9d
mov dword [rbx + 8], 3
test r8d, r8d
jns 0x480357
cmp r9d, r15d
mov eax, 1
cmove r15d, eax
mov eax, r10d
neg eax
mov dword [rbx + 0xc], r15d
mov dword [rbx + 0x54], eax
lea rcx, [rbx + 0x70]
xor r9d, r9d
mov r8d, ebp
mov edx, r12d
mov dword [rsp + 0x20], 8
call fcn.0047eff0
mov dword [rbx + 0x74], edi
mov dword [rbx + 0x78], edi
mov r13, qword [rsp + 0x68]
mov ecx, dword [rbx + 0x58]
mov eax, edi
test ecx, ecx
setne al
add dword [rbx + 0x64], eax
test ecx, ecx
je 0x4803af
mov rcx, qword [rsi]
lea r8, [rsp + 0x48]
mov edx, 0x10000303
mov rax, qword [rcx]
call qword [rax + 0x18]
mov r11d, dword [rsp + 0x48]
sub r11d, dword [rbx + 0x6c]
cmp r11d, 0x64
ja 0x4803b2
mov edi, dword [rbx + 0x54]
mov dword [rbx + 0x54], edi
mov rcx, qword [rsi]
lea r8, [rsp + 0x48]
mov rax, qword [rcx]
mov edx, 0x10000303
call qword [rax + 0x18]
mov r11d, dword [rsp + 0x48]
mov eax, dword [rbx + 0x58]
mov dword [rbx + 0x6c], r11d
jmp 0x4801a8