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

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1a8]
sub rsp, 0x2b0
mov qword [rbp + 0x30], 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 + 0x178], rax
mov rsi, rcx
mov qword [rbp - 8], rcx
xor edi, edi
mov r12d, edi
mov dword [rbp - 0x80], edi
mov rbx, qword [rcx + 0xc7f0]
mov qword [rbp - 0x70], rbx
test rbx, rbx
je 0x1400f81d8
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
movsxd r14, dword [rsi + 0x66c8]
mov dword [rbp - 0x48], r14d
cmp byte [rsi + 0xdc28], 0
je 0x1400f81f5
cmp byte [rsi + 0xdc29], 0
jne 0x1400f8260
lea rcx, [rbp + reloc.mfc110u.dll_Ordinal_280]
call qword [sym.imp.mfc110u.dll_Ordinal_296]
nop
lea rdx, str.Fail_to_find_Xceed_SPI_2d_Image.
lea rcx, [rbp + reloc.mfc110u.dll_Ordinal_280]
call qword [sym.imp.mfc110u.dll_Ordinal_4595]
lea rdx, [rbp + reloc.mfc110u.dll_Ordinal_280]
lea rcx, [rbp + 0x48]
call qword [sym.imp.mfc110u.dll_Ordinal_280]
lea rcx, [rsi + 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]
test rbx, rbx
je 0x1400f8253
mov rcx, rbx
mov rbx, rdi
mov qword [rbp - 0x70], rbx
test rcx, rcx
je 0x1400f8253
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
lea rcx, [rbp + reloc.mfc110u.dll_Ordinal_280]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
test rbx, rbx
je 0x1400f8bce
lea rdx, str.image3d
lea rcx, [rbp + 0x40]
call fcn.14004a8d0
nop
mov rdx, rax
mov rcx, rbx
call fcn.140049920
lea rdx, str.alpha
lea rcx, [rbp + 8]
call fcn.14004a8d0
nop
mov r8, rax
lea rdx, [rbp + 0x78]
mov rcx, rbx
call fcn.14004a980
nop
mov qword [rbp - 0x78], rdi
mov rdx, rax
lea rcx, [rbp - 0x78]
call fcn.140047b20
mov edx, 0x80000000
lea ecx, [rax + rdx]
test edx, ecx
jne 0x1400f82d1
cmp eax, 0x80004002
je 0x1400f82d1
mov ecx, eax
call fcn.1401e4ce0
nop
lea rcx, [rbp + 0x78]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov dword [rbp - 0x18], 0xff000000
lea r15, [rsi + 0x6440]
mov qword [rbp - 0x30], r15
mov edx, 0xff000000
mov rcx, r15
call fcn.140041470
mov qword [rbp - 0x50], rdi
lea rdx, [rbp - 0x50]
mov rcx, rbx
call fcn.1400680c0
nop
movabs rax, 0x3f847ae147ae147b
mov qword [rsi + 0x6608], rax
mov qword [rsi + 0x6610], rax
mov qword [rbp - 0x10], rbx
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, [rbp - 0x10]
mov rcx, r15
call fcn.14003eb60
mov dl, 1
mov rcx, r15
call fcn.14003e660
mov byte [rsi + 0x66f0], 0
or r13, 0xffffffffffffffff
mov rdi, qword [rbp - 0x78]
test rdi, rdi
je 0x1400f8955
lea rdx, [rbp + 0xa8]
mov rcx, rdi
call fcn.14004a780
nop
mov qword [rbp - 0x60], 0
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.140047c10
mov edx, 0x80000000
lea ecx, [rax + rdx]
test edx, ecx
jne 0x1400f839d
cmp eax, 0x80004002
je 0x1400f839d
mov ecx, eax
call fcn.1401e4ce0
nop
lea rcx, [rbp + 0xa8]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rsi, qword [rbp - 0x60]
test rsi, rsi
jne 0x1400f83be
mov ecx, 0x80004003
call fcn.1401e4ce0
int3
mov rcx, rsi
call fcn.14004a660
mov ecx, eax
mov dword [rbp - 0x40], eax
xor eax, eax
mov dword [rbp - 0x68], eax
mov qword [rbp - 0x20], r14
test ecx, ecx
jle 0x1400f8948
xor r15d, r15d
nop
mov r8d, eax
lea rdx, [rbp + 0x90]
mov rcx, rsi
call fcn.140049690
nop
mov qword [rbp - 0x58], r15
mov rdx, rax
lea rcx, [rbp - 0x58]
call fcn.140047810
mov edx, 0x80000000
lea ecx, [rax + rdx]
test edx, ecx
jne 0x1400f841a
cmp eax, 0x80004002
jne 0x1400f87e9
lea rcx, [rbp + 0x90]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rbx, qword [rbp - 0x58]
test rbx, rbx
je 0x1400f893d
lea rdx, [rbp - 0x38]
mov rcx, rbx
call fcn.140049c80
mov rdi, rax
cmp qword [rax], 0
jne 0x1400f8479
mov ecx, SafeArrayCopy
call qword [sym.imp.MSVCR110.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__]
nop
test rax, rax
je 0x1400f846a
mov qword [rax + 8], r15
mov dword [rax + 0x10], 1
mov qword [rax], r15
jmp 0x1400f846d
mov rax, r15
mov qword [rdi], rax
test rax, rax
je 0x1400f87f1
mov rax, qword [rdi]
mov rdx, qword [rax]
mov qword [rbp + 0xf0], 7
mov qword [rbp + 0xe8], r15
mov word [rbp + 0xd8], r15w
cmp word [rdx], 0
jne 0x1400f84a4
mov r8, r15
jmp 0x1400f84bb
mov r8, r13
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x1400f84b0
lea rcx, [rbp + 0xd8]
call fcn.14004a180
nop
mov rdi, qword [rbp - 0x38]
test rdi, rdi
je 0x1400f8519
lock dec dword [rdi + 0x10]
jne 0x1400f8509
test rdi, rdi
je 0x1400f8509
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400f84ed
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1400f8500
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete___void____ptr64_]
mov qword [rdi + 8], r15
mov rcx, rdi
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp - 0x38], r15
mov rsi, qword [rbp - 0x60]
mov rbx, qword [rbp - 0x58]
mov r12d, dword [rbp - 0x80]
mov r9d, 7
xor r8d, r8d
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0xd8]
call fcn.140046fb0
nop
or r12d, 1
mov dword [rbp - 0x80], r12d
mov qword [rsp + 0x20], 7
lea r9, str.PROFILE
mov r8, qword [rax + 0x10]
xor edx, edx
mov rcx, rax
call fcn.140048f00
mov r14, qword [rbp + 0xf0]
mov r15, qword [rbp + 0xd8]
test eax, eax
je 0x1400f8639
mov r9d, 7
lea rdx, str.ROI_CC_
lea rcx, [rbp + 0xd8]
call fcn.1400474f0
cmp rax, 0xffffffffffffffff
jne 0x1400f8639
lea r9d, [rax + 6]
lea rdx, str.EXACT
lea rcx, [rbp + 0xd8]
call fcn.1400474f0
cmp rax, 0xffffffffffffffff
jne 0x1400f8639
lea rcx, [rbp + 0xd8]
cmp r14, 8
cmovae rcx, r15
mov r8d, 0xd
mov r9, qword [rbp + 0xe8]
cmp r9, r8
cmovb r8, r9
test r8, r8
je 0x1400f860a
lea rdx, str.ROI_COMPONENT
movzx eax, word [rdx]
cmp word [rcx], ax
jne 0x1400f85f9
add rcx, 2
add rdx, 2
dec r8
jne 0x1400f85e2
jmp 0x1400f860a
mov r8d, 1
cmp word [rcx], ax
cmovb r8d, r13d
xor ecx, ecx
jmp 0x1400f860f
xor ecx, ecx
mov r8d, ecx
movsxd rax, r8d
test r8d, r8d
jne 0x1400f862b
cmp r9, 0xd
jae 0x1400f8622
mov eax, r13d
jmp 0x1400f862b
mov eax, ecx
cmp r9, 0xd
setne al
test eax, eax
sete al
test al, al
jne 0x1400f8639
xor dil, dil
jmp 0x1400f863c
mov dil, 1
test r12b, 1
je 0x1400f8669
and r12d, 0xfffffffe
mov dword [rbp - 0x80], r12d
cmp qword [rbp + 0x70], 8
jb 0x1400f8669
mov rcx, qword [rbp + 0x58]
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void____ptr64_]
mov r14, qword [rbp + 0xf0]
mov r15, qword [rbp + 0xd8]
test dil, dil
je 0x1400f8685
cmp r14, 8
jb 0x1400f867d
mov rcx, r15
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void____ptr64_]
xor r15d, r15d
jmp 0x1400f87b0
lea rdx, [rbp + 0xd8]
cmp r14, 8
cmovae rdx, r15
lea rcx, [rbp + reloc.mfc110u.dll_Ordinal_296]
call qword [sym.imp.mfc110u.dll_Ordinal_286]
nop
xor r15d, r15d
mov qword [rbp + 0x100], r15
mov qword [rbp + 0x108], r15
mov qword [rbp + 0x110], r15
lea rdx, [0x140228c64]
lea rcx, [rbp + 0x50]
call qword [sym.imp.mfc110u.dll_Ordinal_286]
mov r8, rax
lea rdx, [rbp + reloc.mfc110u.dll_Ordinal_296]
lea rcx, [rbp + 0xf8]
call fcn.1401d1cc0
nop
cmp qword [rbp - 0x20], r15
jl 0x1400f873c
mov r14, qword [rbp + 0x108]
mov rax, r14
mov rdi, qword [rbp + 0x100]
sub rax, rdi
sar rax, 3
cmp eax, 2
jl 0x1400f874a
lea r8d, [r15 + 1]
lea rdx, [rbp]
lea rcx, [rbp + 0xf8]
call fcn.1401d2340
mov rcx, qword [rax]
call qword [sym.imp.MSVCR110.dll__wtoi]
cmp dword [rbp - 0x48], eax
sete dil
lea rcx, [rbp]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
test dil, dil
jne 0x1400f87fc
mov r14, qword [rbp + 0x108]
mov rdi, qword [rbp + 0x100]
test rdi, rdi
je 0x1400f878b
cmp rdi, r14
je 0x1400f876d
mov rcx, rdi
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
add rdi, 8
cmp rdi, r14
jne 0x1400f8754
mov rdi, qword [rbp + 0x100]
mov rcx, rdi
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0x100], r15
mov qword [rbp + 0x108], r15
mov qword [rbp + 0x110], r15
lea rcx, [rbp + reloc.mfc110u.dll_Ordinal_296]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
nop
cmp qword [rbp + 0xf0], 8
jb 0x1400f87b0
mov rcx, qword [rbp + 0xd8]
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void____ptr64_]
mov word [rbp + 0xd8], r15w
mov qword [rbp + 0xe8], r15
mov qword [rbp + 0xf0], 7
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov eax, dword [rbp - 0x68]
inc eax
mov dword [rbp - 0x68], eax
cmp eax, dword [rbp - 0x40]
jge 0x1400f892f
jmp 0x1400f83e0
mov ecx, eax
call fcn.1401e4ce0
nop
mov ecx, 0x8007000e
call fcn.1401e4ce0
nop
mov rax, qword [rbx]
lea r8, [rbp + 0x140]
lea rdx, [rbp + 0x150]
mov rcx, rbx
call qword [rax + 0x1a8]
test eax, eax
jns 0x1400f882b
lea r8, [0x140229560]
mov rdx, rbx
mov ecx, eax
call fcn.1401e4cf0
mov rax, qword [rbx]
lea r8, [rbp + 0x138]
lea rdx, [rbp + 0x148]
mov rcx, rbx
call qword [rax + Ordinal_437]
test eax, eax
jns 0x1400f885a
lea r8, [0x140229560]
mov rdx, rbx
mov ecx, eax
call fcn.1401e4cf0
movsd xmm0, qword [rbp + 0x138]
movsd qword [rsp + 0x20], xmm0
movsd xmm3, qword [rbp + 0x148]
movsd xmm2, qword [rbp + 0x140]
movsd xmm1, qword [rbp + 0x150]
mov r15, qword [rbp - 0x30]
mov rcx, r15
call fcn.14003e8e0
nop
mov rdi, qword [rbp + 0x100]
test rdi, rdi
je 0x1400f88de
mov r14, qword [rbp + 0x108]
cmp rdi, r14
je 0x1400f88be
mov rcx, rdi
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
add rdi, 8
cmp rdi, r14
jne 0x1400f88a5
mov rdi, qword [rbp + 0x100]
mov rcx, rdi
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void____ptr64_]
xor edi, edi
mov qword [rbp + 0x100], rdi
mov qword [rbp + 0x108], rdi
mov qword [rbp + 0x110], rdi
lea rcx, [rbp + reloc.mfc110u.dll_Ordinal_296]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
nop
cmp qword [rbp + 0xf0], 8
jb 0x1400f8903
mov rcx, qword [rbp + 0xd8]
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0xf0], 7
mov qword [rbp + 0xe8], rdi
mov word [rbp + 0xd8], di
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov rbx, qword [rbp - 0x70]
mov rdi, qword [rbp - 0x78]
jmp 0x1400f8948
mov rbx, qword [rbp - 0x70]
mov rdi, qword [rbp - 0x78]
mov r15, qword [rbp - 0x30]
jmp 0x1400f8948
mov ecx, 0x80004003
call fcn.1401e4ce0
nop
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
mov rsi, qword [rbp - 8]
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x1400f89a3
lock dec dword [rax + 0x10]
jne 0x1400f899b
mov rbx, qword [rbp - 0x50]
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400f897d
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
xor edi, edi
mov qword [rbx], rdi
jmp 0x1400f897f
xor edi, edi
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400f8992
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete___void____ptr64_]
mov qword [rbx + 8], rdi
mov rcx, rbx
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void____ptr64_]
mov rdi, qword [rbp - 0x78]
mov rbx, qword [rbp - 0x70]
test rdi, rdi
je 0x1400f89b1
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
lea rdx, str.image3d
lea rcx, [rbp + 0x10]
call fcn.14004a8d0
nop
mov r8, rax
lea rdx, [rbp + 0xc0]
mov rcx, rbx
call fcn.14004a980
nop
xor r12d, r12d
mov qword [rbp - 0x28], r12
mov rdx, rax
lea rcx, [rbp - 0x28]
call fcn.140047a30
mov edx, 0x80000000
lea ecx, [rax + rdx]
test edx, ecx
jne 0x1400f8a03
cmp eax, 0x80004002
je 0x1400f8a03
mov ecx, eax
call fcn.1401e4ce0
nop
lea rcx, [rbp + 0xc0]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
lea r14, [rsi + 0x720]
mov rcx, r14
call qword [sym.imp.GL3DControl.dll_public:_void___cdecl_COpenGLControl::ClearData_void____ptr64]
mov rdi, qword [rbp - 0x28]
test rdi, rdi
je 0x1400f8b2f
mov rcx, rdi
call fcn.1400499f0
mov rsi, rax
mov rcx, rdi
call fcn.140067740
mov rdx, rax
test rsi, rsi
je 0x1400f8b21
test rax, rax
je 0x1400f8b21
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], r12d
mov dword [rsp + 0x48], r12d
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]
mov rcx, r14
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
mov rcx, r14
call qword [sym.imp.GL3DControl.dll_public:_void___cdecl_COpenGLControl::SetViewPoint_int____ptr64]
mov dl, 1
mov rcx, r14
call qword [sym.imp.GL3DControl.dll_public:_void___cdecl_COpenGLControl::Reload_bool____ptr64]
jmp 0x1400f8bb7
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
jmp 0x1400f8c5e
lea rcx, [rbp + 0x130]
call qword [sym.imp.mfc110u.dll_Ordinal_296]
nop
mov r9d, dword [rsi + 0x66c8]
mov r8, qword [rsi + 0xd710]
lea rdx, str.Cannot_find_Xceed_SPI_3d_Image_name_:__s__PinNum_:__d_.
lea rcx, [rbp + 0x130]
call qword [sym.imp.mfc110u.dll_Ordinal_4595]
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x18]
call qword [sym.imp.mfc110u.dll_Ordinal_280]
lea rcx, [rsi + 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]
mov rcx, r14
call qword [sym.imp.GL3DControl.dll_public:_void___cdecl_COpenGLControl::ClearData_void____ptr64]
lea rdx, [0x140225664]
lea rcx, [rbp + 0x20]
call qword [sym.imp.mfc110u.dll_Ordinal_286]
xor r8d, r8d
mov rdx, rax
mov rcx, r15
call fcn.140041930
nop
lea rcx, [rbp + 0x130]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
nop
test rdi, rdi
je 0x1400f8c5e
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
jmp 0x1400f8c5e
lea rcx, [rbp + 0x120]
call qword [sym.imp.mfc110u.dll_Ordinal_296]
nop
mov r9d, r14d
mov r8, qword [rsi + 0xd710]
lea rdx, str.Can_not_find_Xceed_SPI_2d_Image_name_:__s__PinNum_:__d_.
lea rcx, [rbp + 0x120]
call qword [sym.imp.mfc110u.dll_Ordinal_4595]
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0x28]
call qword [sym.imp.mfc110u.dll_Ordinal_280]
lea rcx, [rsi + 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]
mov edx, 0xff000000
lea rcx, [rsi + 0x6440]
call fcn.140041470
lea rdx, [0x140225664]
lea rcx, [rbp + 0x38]
call qword [sym.imp.mfc110u.dll_Ordinal_286]
xor r8d, r8d
mov rdx, rax
lea rcx, [rsi + 0x6440]
call fcn.140041930
nop
lea rcx, [rbp + 0x120]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
nop
test rbx, rbx
je 0x1400f8c6c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x178]
xor rcx, rsp
call fcn.1401e3980
lea r11, [rsp + 0x2b0]
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