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

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x188]
sub rsp, 0x290
mov qword [rbp + 0x20], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x140324030]
xor rax, rsp
mov qword [rbp + 0x150], rax
mov r13, rcx
mov rbx, qword [rcx + 0xc800]
mov qword [rbp - 0x78], rbx
test rbx, rbx
je 0x1400f8cfc
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov eax, dword [r13 + 0xc730]
mov dword [rbp - 0x70], eax
xor r14d, r14d
cmp byte [r13 + 0xdc50], r14b
je 0x1400f8d1b
cmp byte [r13 + 0xdc51], r14b
jne 0x1400f8d5a
test rbx, rbx
je 0x1400f8d35
mov rcx, rbx
mov rbx, r14
mov qword [rbp - 0x78], rbx
test rcx, rcx
je 0x1400f8d35
mov rax, qword [rcx]
call qword [rax + 0x10]
mov dword [rbp - 0x1c], 0xff000000
lea rcx, [r13 + 0xc4a8]
mov edx, 0xff000000
call fcn.140041470
lea rcx, [r13 + 0x6788]
call qword [sym.imp.GL3DControl.dll_public:_void___cdecl_COpenGLControl::ClearData_void____ptr64]
test rbx, rbx
je 0x1400f9739
lea rdx, str.image3d
lea rcx, [rbp + 8]
call fcn.14004a8d0
nop
mov rdx, rax
mov rcx, rbx
call fcn.140049920
lea rdx, str.alpha
lea rcx, [rbp - 0x10]
call fcn.14004a8d0
nop
mov r8, rax
lea rdx, [rbp + 0x80]
mov rcx, rbx
call fcn.14004a980
nop
mov qword [rbp - 0x80], r14
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.140047b20
mov esi, 0x80000000
lea ecx, [rax + rsi]
test esi, ecx
jne 0x1400f8dce
cmp eax, 0x80004002
je 0x1400f8dce
mov ecx, eax
call fcn.1401e4ce0
nop
lea rcx, [rbp + 0x80]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov dword [rbp - 0x20], 0xff000000
lea r12, [r13 + 0xc4a8]
mov edx, 0xff000000
mov rcx, r12
call fcn.140041470
lea rdx, [0x140225664]
lea rcx, [rbp + 0x18]
call qword [sym.imp.mfc110u.dll_Ordinal_286]
xor r8d, r8d
mov rdx, rax
mov rcx, r12
call fcn.140041930
mov qword [rbp - 0x58], r14
lea rdx, [rbp - 0x58]
mov rcx, rbx
call fcn.1400680c0
nop
movabs rax, 0x3f847ae147ae147b
mov qword [r13 + 0xc670], rax
mov qword [r13 + 0xc678], rax
mov qword [rbp - 0x30], rbx
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, [rbp - 0x30]
mov rcx, r12
call fcn.14003eb60
mov dl, 1
mov rcx, r12
call fcn.14003e660
mov byte [r13 + 0xc758], 0
or r15, 0xffffffffffffffff
mov rdi, qword [rbp - 0x80]
test rdi, rdi
je 0x1400f9347
lea rdx, [rbp + 0x50]
mov rcx, rdi
call fcn.14004a780
nop
mov qword [rbp - 0x68], r14
mov rdx, rax
lea rcx, [rbp - 0x68]
call fcn.140047c10
lea ecx, [rax + rsi]
test esi, ecx
jne 0x1400f8ead
cmp eax, 0x80004002
je 0x1400f8ead
mov ecx, eax
call fcn.1401e4ce0
nop
lea rcx, [rbp + 0x50]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rsi, qword [rbp - 0x68]
test rsi, rsi
jne 0x1400f8ecb
mov ecx, 0x80004003
call fcn.1401e4ce0
int3
mov rcx, rsi
call fcn.14004a660
mov dword [rbp - 0x4c], eax
mov r12d, r14d
test eax, eax
jle 0x1400f932e
mov r8d, r12d
lea rdx, [rbp + 0x68]
mov rcx, rsi
call fcn.140049690
nop
mov qword [rbp - 0x60], r14
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.140047810
mov edx, 0x80000000
lea ecx, [rax + rdx]
test edx, ecx
jne 0x1400f8f18
cmp eax, 0x80004002
jne 0x1400f91dc
lea rcx, [rbp + 0x68]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rbx, qword [rbp - 0x60]
test rbx, rbx
je 0x1400f9323
lea rdx, [rbp - 0x48]
mov rcx, rbx
call fcn.140049c80
nop
mov rcx, rax
call fcn.140049d30
mov rdx, qword [rax]
mov qword [rbp + 0xc8], 7
mov qword [rbp + 0xc0], r14
mov word [rbp + 0xb0], r14w
cmp word [rdx], 0
jne 0x1400f8f6c
mov r8, r14
jmp 0x1400f8f7b
mov r8, r15
nop
inc r8
cmp word [rdx + r8*2], 0
jne 0x1400f8f70
lea rcx, [rbp + 0xb0]
call fcn.14004a180
nop
mov rdi, qword [rbp - 0x48]
test rdi, rdi
je 0x1400f8fdb
mov eax, r15d
lock xadd dword [rdi + 0x10], eax
dec eax
jne 0x1400f8fcf
test rdi, rdi
je 0x1400f8fcf
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400f8fb3
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r14
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1400f8fc6
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete___void____ptr64_]
mov qword [rdi + 8], r14
mov rcx, rdi
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp - 0x48], r14
mov rsi, qword [rbp - 0x68]
mov rbx, qword [rbp - 0x60]
mov r9d, 7
xor r8d, r8d
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0xb0]
call fcn.140046fb0
nop
mov qword [rsp + 0x20], 7
lea r9, str.PROFILE
mov r8, qword [rax + 0x10]
xor edx, edx
mov rcx, rax
call fcn.140048f00
test eax, eax
sete dil
cmp qword [rbp + 0x48], 8
jb 0x1400f902a
mov rcx, qword [rbp + 0x30]
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void____ptr64_]
test dil, dil
je 0x1400f906e
cmp qword [rbp + 0xc8], 8
jb 0x1400f9046
mov rcx, qword [rbp + 0xb0]
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0xc8], 7
mov qword [rbp + 0xc0], r14
mov word [rbp + 0xb0], r14w
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
jmp 0x1400f91ca
lea rdx, [rbp + 0xb0]
cmp qword [rbp + 0xc8], 8
cmovae rdx, qword [rbp + 0xb0]
lea rcx, [rbp + 0x100]
call qword [sym.imp.mfc110u.dll_Ordinal_286]
nop
mov qword [rbp + 0xd8], r14
mov qword [rbp + 0xe0], r14
mov qword [rbp + 0xe8], r14
lea rdx, [0x140228c64]
lea rcx, [rbp + 0x28]
call qword [sym.imp.mfc110u.dll_Ordinal_286]
mov r8, rax
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0xd0]
call fcn.1401d1cc0
nop
movsxd rax, dword [rbp - 0x70]
test rax, rax
js 0x1400f912f
mov r15, qword [rbp + 0xe0]
mov rax, r15
mov rdi, qword [rbp + 0xd8]
sub rax, rdi
sar rax, 3
cmp eax, 2
jl 0x1400f913d
mov r8d, 1
lea rdx, [rbp - 0x38]
lea rcx, [rbp + 0xd0]
call fcn.1401d2340
mov rcx, qword [rax]
call qword [sym.imp.MSVCR110.dll__wtoi]
cmp dword [rbp - 0x70], eax
sete dil
lea rcx, [rbp - 0x38]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
test dil, dil
jne 0x1400f91e4
mov r15, qword [rbp + 0xe0]
mov rdi, qword [rbp + 0xd8]
test rdi, rdi
je 0x1400f917e
cmp rdi, r15
je 0x1400f9160
mov rcx, rdi
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
add rdi, 8
cmp rdi, r15
jne 0x1400f9147
mov rdi, qword [rbp + 0xd8]
mov rcx, rdi
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0xd8], r14
mov qword [rbp + 0xe0], r14
mov qword [rbp + 0xe8], r14
lea rcx, [rbp + 0x100]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
nop
cmp qword [rbp + 0xc8], 8
jb 0x1400f91a3
mov rcx, qword [rbp + 0xb0]
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0xc8], 7
mov qword [rbp + 0xc0], r14
mov word [rbp + 0xb0], r14w
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
or r15, 0xffffffffffffffff
inc r12d
cmp r12d, dword [rbp - 0x4c]
jge 0x1400f9319
jmp 0x1400f8ee1
mov ecx, eax
call fcn.1401e4ce0
nop
mov rax, qword [rbx]
lea r8, [rbp + reloc.mfc110u.dll_Ordinal_296]
lea rdx, [rbp + reloc.mfc110u.dll_Ordinal_280]
mov rcx, rbx
call qword [rax + 0x1a8]
test eax, eax
jns 0x1400f9213
lea r8, [0x140229560]
mov rdx, rbx
mov ecx, eax
call fcn.1401e4cf0
mov rax, qword [rbx]
lea r8, [rbp + 0x120]
lea rdx, [rbp + 0x110]
mov rcx, rbx
call qword [rax + Ordinal_437]
test eax, eax
jns 0x1400f9242
lea r8, [0x140229560]
mov rdx, rbx
mov ecx, eax
call fcn.1401e4cf0
movsd xmm0, qword [rbp + 0x120]
movsd qword [rsp + 0x20], xmm0
movsd xmm3, qword [rbp + 0x110]
movsd xmm2, qword [rbp + reloc.mfc110u.dll_Ordinal_296]
movsd xmm1, qword [rbp + reloc.mfc110u.dll_Ordinal_280]
lea r12, [r13 + 0xc4a8]
mov rcx, r12
call fcn.14003e8e0
nop
mov rdi, qword [rbp + 0xd8]
test rdi, rdi
je 0x1400f92c7
mov r15, qword [rbp + 0xe0]
cmp rdi, r15
je 0x1400f92a9
mov rcx, rdi
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
add rdi, 8
cmp rdi, r15
jne 0x1400f9290
mov rdi, qword [rbp + 0xd8]
mov rcx, rdi
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0xd8], r14
mov qword [rbp + 0xe0], r14
mov qword [rbp + 0xe8], r14
lea rcx, [rbp + 0x100]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
nop
cmp qword [rbp + 0xc8], 8
jb 0x1400f92ec
mov rcx, qword [rbp + 0xb0]
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0xc8], 7
mov qword [rbp + 0xc0], r14
mov word [rbp + 0xb0], r14w
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov rbx, qword [rbp - 0x78]
mov rdi, qword [rbp - 0x80]
jmp 0x1400f9335
mov rbx, qword [rbp - 0x78]
mov rdi, qword [rbp - 0x80]
jmp 0x1400f932e
mov ecx, 0x80004003
call fcn.1401e4ce0
nop
lea r12, [r13 + 0xc4a8]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
or r15, 0xffffffffffffffff
mov esi, 0x80000000
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x1400f9394
lock xadd dword [rax + 0x10], r15d
dec r15d
jne 0x1400f938c
mov rbx, qword [rbp - 0x58]
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400f9370
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400f9383
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete___void____ptr64_]
mov qword [rbx + 8], r14
mov rcx, rbx
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void____ptr64_]
mov rdi, qword [rbp - 0x80]
mov rbx, qword [rbp - 0x78]
test rdi, rdi
je 0x1400f93a2
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
lea rdx, str.image3d
lea rcx, [rbp - 8]
call fcn.14004a8d0
nop
mov r8, rax
lea rdx, [rbp + 0x98]
mov rcx, rbx
call fcn.14004a980
nop
mov qword [rbp - 0x40], r14
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.140047a30
lea ecx, [rax + rsi]
test esi, ecx
jne 0x1400f93ec
cmp eax, 0x80004002
je 0x1400f93ec
mov ecx, eax
call fcn.1401e4ce0
nop
lea rcx, [rbp + 0x98]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
lea rcx, [r13 + 0x6788]
call qword [sym.imp.GL3DControl.dll_public:_void___cdecl_COpenGLControl::ClearData_void____ptr64]
mov rdi, qword [rbp - 0x40]
test rdi, rdi
je 0x1400f9521
mov rcx, rdi
call fcn.1400499f0
mov rsi, rax
mov rcx, rdi
call fcn.140067740
mov rdx, rax
test rsi, rsi
je 0x1400f9513
test rax, rax
je 0x1400f9513
mov byte [rsp + 0xa8], 1
mov ecx, dword [rax + 0x48]
mov dword [rsp + 0xa0], ecx
mov dword [rsp + 0x98], 1
mov ecx, dword [rax + 0x40]
mov dword [rsp + 0x90], ecx
mov ecx, dword [rax + 0x3c]
mov dword [rsp + 0x88], ecx
mov eax, dword [rax + 0x38]
mov dword [rsp + 0x80], eax
movss xmm0, dword [rdx + 0x34]
movss dword [rsp + 0x78], xmm0
movss xmm1, dword [rdx + 0x30]
movss dword [rsp + 0x70], xmm1
movss xmm0, dword [rdx + 0x2c]
movss dword [rsp + 0x68], xmm0
mov eax, dword [rdx + 0x28]
mov dword [rsp + 0x60], eax
mov eax, dword [rdx + 0x24]
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x50], r14d
mov dword [rsp + 0x48], r14d
mov eax, dword [rdx + 0x18]
mov dword [rsp + 0x40], eax
mov eax, dword [rdx + 0x14]
mov dword [rsp + 0x38], eax
mov eax, dword [rdx + 0x10]
mov dword [rsp + 0x30], eax
mov rax, qword [rdx + 0x60]
mov qword [rsp + 0x28], rax
mov eax, dword [rdx + 0xc]
mov dword [rsp + 0x20], eax
mov r9d, dword [rdx + 8]
mov r8d, dword [rdx + 4]
mov rdx, qword [rdx + 0x58]
lea rcx, [r13 + 0x6788]
call qword [sym.imp.GL3DControl.dll_public:_void___cdecl_COpenGLControl::SetData_unsigned_char____ptr64__unsigned_int__unsigned_int__unsigned_int__unsigned_char____ptr64__unsigned_int__unsigned_int__unsigned_int__unsigned_int__unsigned_int__unsigned_int__unsigned_int__float__float__float__unsigned_int__unsigned_int__int__int__int__bool____ptr64]
mov edx, 1
lea rcx, [r13 + 0x6788]
call qword [sym.imp.GL3DControl.dll_public:_void___cdecl_COpenGLControl::SetViewPoint_int____ptr64]
mov dl, 1
lea rcx, [r13 + 0x6788]
call qword [sym.imp.GL3DControl.dll_public:_void___cdecl_COpenGLControl::Reload_bool____ptr64]
jmp 0x1400f95ac
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
jmp 0x1400f9758
lea rcx, [rbp + 0x108]
call qword [sym.imp.mfc110u.dll_Ordinal_296]
nop
mov r9d, dword [r13 + 0x66c8]
mov r8, qword [r13 + 0xd710]
lea rdx, str.Cannot_find_M_AOI_3d_Image_name_:__s__PinNum_:__d_.
lea rcx, [rbp + 0x108]
call qword [sym.imp.mfc110u.dll_Ordinal_4595]
lea rdx, [rbp + 0x108]
lea rcx, [rbp]
call qword [sym.imp.mfc110u.dll_Ordinal_280]
lea rcx, [r13 + 0x160]
mov rdx, rax
call qword [sym.imp.LogMsgInterface.dll_public:_void___cdecl_CLogMsgInterface::writeLogData_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t_______ptr64]
lea rcx, [r13 + 0x6788]
call qword [sym.imp.GL3DControl.dll_public:_void___cdecl_COpenGLControl::ClearData_void____ptr64]
lea rdx, [0x140225664]
lea rcx, [rbp - 0x28]
call qword [sym.imp.mfc110u.dll_Ordinal_286]
xor r8d, r8d
mov rdx, rax
mov rcx, r12
call fcn.140041930
nop
lea rcx, [rbp + 0x108]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
lea rcx, [rbp + 0xf8]
call qword [sym.imp.mfc110u.dll_Ordinal_296]
nop
lea rcx, [rbp + 0x130]
call qword [sym.imp.mfc110u.dll_Ordinal_296]
nop
mov r15d, r14d
mov rax, qword [r13 + 0xdc68]
sub rax, qword [r13 + 0xdc60]
sar rax, 3
test rax, rax
je 0x1400f9691
mov rsi, r14
nop dword [rax]
mov rax, qword [r13 + 0xdc60]
mov rdx, qword [rsi + rax]
add rdx, 0x32
lea rcx, [rbp + 0xf0]
call qword [sym.imp.mfc110u.dll_Ordinal_290]
nop
mov rax, qword [r13 + 0xdc60]
mov rcx, qword [rsi + rax]
mov eax, dword [rcx + 0x2d5]
cmp eax, dword [r13 + 0xd708]
jne 0x1400f963f
mov rdx, qword [r13 + 0xd710]
lea rcx, [rbp + 0xf0]
call qword [sym.imp.mfc110u.dll_Ordinal_2848]
test eax, eax
je 0x1400f966f
lea rcx, [rbp + 0xf0]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
inc r15d
add rsi, 8
mov rcx, qword [r13 + 0xdc68]
sub rcx, qword [r13 + 0xdc60]
sar rcx, 3
movsxd rax, r15d
cmp rax, rcx
jae 0x1400f9691
jmp 0x1400f95f0
movsxd rcx, r15d
mov rax, qword [r13 + 0xdc60]
mov rcx, qword [rax + rcx*8]
mov r14, qword [rcx + reloc.mfc110u.dll_Ordinal_2385]
lea rcx, [rbp + 0xf0]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
mov r8, r14
lea rdx, [rbp - 0x18]
call fcn.1400f9a30
nop
mov r8, qword [rax]
lea rdx, [0x14022875c]
lea rcx, [rbp + 0xf8]
call qword [sym.imp.mfc110u.dll_Ordinal_4595]
nop
lea rcx, [rbp - 0x18]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
lea rdx, [rbp + 0xf8]
lea rcx, [rbp + 0x10]
call qword [sym.imp.mfc110u.dll_Ordinal_280]
mov rsi, rax
mov qword [rbp - 0x28], rax
lea rcx, [r12 + 0x280]
mov rdx, rax
call qword [sym.imp.mfc110u.dll_Ordinal_1492]
mov qword [r12 + 0x290], r14
xor edx, edx
lea r8d, [rdx + 1]
mov rcx, qword [r12 + 0x40]
call qword [sym.imp.USER32.dll_InvalidateRect]
nop
mov rcx, rsi
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
nop
lea rcx, [rbp + 0x130]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
nop
lea rcx, [rbp + 0xf8]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
nop
test rdi, rdi
je 0x1400f9758
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
jmp 0x1400f9758
lea rcx, [r13 + 0xc4a8]
mov edx, 0xff000000
call fcn.140041470
lea rcx, [r13 + 0x6788]
call qword [sym.imp.GL3DControl.dll_public:_void___cdecl_COpenGLControl::ClearData_void____ptr64]
nop
test rbx, rbx
je 0x1400f9766
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.1401e3980
lea r11, [rsp + 0x290]
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