Function at 0x101bb460
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101cc649
mov eax, dword fs:[0]
push eax
sub esp, 0x46c
mov eax, dword [0x1023c014]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x468], esi
push str.DisableContextHelp
lea ecx, [ebp - 0x458]
call dword [sym.imp.HncFoundation.dll_public:_void___thiscall_CHncStringW::constructor_unsigned_short_int_const__]
lea eax, [ebp - 0x458]
mov dword [ebp - 4], 0
push eax
call dword [sym.imp.HncFoundation.dll_class_Hnc::Framework____cdecl_Hnc::GetFramework_void_]
mov ecx, eax
call dword [sym.imp.HncFoundation.dll_public:_bool___thiscall_Hnc::Framework::IsOption_class_CHncStringW_const__const]
lea ecx, [ebp - 0x458]
mov dword [ebp - 4], 0xffffffff
mov bl, al
call dword [sym.imp.HncFoundation.dll_public:_void___thiscall_CHncStringW::destructor_void_]
test bl, bl
jne 0x101bb7be
mov ecx, dword [ebp + 0x10]
movsx eax, cx
mov dword [ebp - 0x460], eax
shr ecx, 0x10
movsx eax, cx
mov dword [ebp - 0x45c], eax
mov eax, dword [esi + 4]
push 0
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0x24]
mov ecx, dword [eax + 0x4c]
lea eax, [ebp - 0x460]
push eax
mov ecx, dword [ecx + 4]
call fcn.10139a90
mov ecx, dword [esi]
mov edi, eax
mov dword [ebp - 0x464], edi
mov edx, dword [ecx + 0x68]
cmp edx, sym.HncOfficeFramework.dll_public_virtual:_unsigned_short_int_const____thiscall_CHncDialogEx::GetContextHelpPath_void_
jne 0x101bb7de
cmp dword [0x1023e02c], 0
jne 0x101bb5dc
mov edi, dword [sym.imp.HncFoundation.dll_HncPathToAbsolute]
lea eax, [ebp - 0x218]
push 0x104
push eax
push str._AppResourceCommonHelp_CultureHncCtx.CHM
call edi
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea eax, [ebp - 0x218]
push eax
call ebx
test eax, eax
jne 0x101bb57a
push 0x104
lea eax, [ebp - 0x218]
push eax
push str._AppResourceCommonHelpen_USHncCtx.CHM
call edi
lea eax, [ebp - 0x218]
push eax
call ebx
test eax, eax
je 0x101bb5a3
push str.::_context.txt
lea eax, [ebp - 0x218]
push 0x104
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
add esp, 0xc
jmp 0x101bb5ac
xor eax, eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x218]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x101bb5b5
sub eax, edx
mov ecx, 0x1023e01c
sar eax, 1
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.10002470
mov edi, dword [ebp - 0x464]
cmp dword [0x1023e030], 8
mov ebx, 0x1023e01c
cmovae ebx, dword [0x1023e01c]
test edi, edi
je 0x101bb7be
test ebx, ebx
je 0x101bb7be
cmp word [ebx], 0
je 0x101bb7be
call fcn.1013d2e0
call fcn.10135660
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
cmp ecx, 0x101ddc74
jne 0x101bb7e9
mov eax, dword [eax + 8]
mov ecx, dword [eax]
mov dword [ebp - 0x458], ecx
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x60]
mov edi, eax
mov eax, dword [ebp - 0x464]
movzx ecx, word [eax + 0x24]
test edi, edi
je 0x101bb7be
test ecx, ecx
je 0x101bb7be
mov eax, dword [edi]
xor esi, esi
test eax, eax
je 0x101bb7be
nop
cmp ecx, eax
je 0x101bb672
mov eax, dword [edi + esi*8 + 8]
inc esi
test eax, eax
jne 0x101bb660
jmp 0x101bb7be
xorps xmm0, xmm0
mov dword [ebp - 0x478], 0
lea eax, [ebp - 0x470]
movq qword [ebp - 0x470], xmm0
mov dword [ebp - 0x474], eax
lea eax, [ebp - 0x460]
mov dword [ebp - 4], 1
add dword [ebp - 0x45c], 0x19
push eax
mov eax, dword [ebp - 0x468]
mov eax, dword [eax + 4]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ClientToScreen]
mov eax, dword [edi + esi*8 + 4]
mov esi, dword [ebp - 0x458]
mov ecx, esi
mov dword [ebp - 0x44c], eax
mov eax, dword [ebp - 0x460]
mov dword [ebp - 0x444], eax
mov eax, dword [ebp - 0x45c]
mov dword [ebp - 0x440], eax
mov eax, dword [esi]
push 0x17
mov dword [ebp - 0x454], 0x34
mov dword [ebp - 0x450], 0
mov dword [ebp - 0x448], 0
call dword [eax + 0x2b0]
mov dword [ebp - 0x43c], eax
mov ecx, esi
mov eax, dword [esi]
push 0x18
call dword [eax + 0x2b0]
movaps xmm0, xmmword [0x101e0670]
push 0
mov dword [ebp - 0x438], eax
movups xmmword [ebp - 0x434], xmm0
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
push 0x5a
push edi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov edx, dword [esi]
mov ecx, esi
push eax
push 0x48
push 1
call dword [edx + 0x2c4]
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
push edi
push 0
mov esi, eax
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ecx, dword [ebp - 0x458]
push esi
push 1
mov eax, dword [ecx]
call dword [eax + 0x2c8]
push eax
lea eax, [ebp - 0x420]
push str._s___d_____
push eax
call fcn.1002c230
lea eax, [ebp - 0x420]
mov dword [ebp - 0x424], eax
lea eax, [ebp - 0x454]
push eax
mov eax, dword [ebp - 0x468]
push 0xe
push ebx
mov eax, dword [eax + 4]
push dword [eax + 4]
call sym.HncOfficeFramework.dll_void___cdecl_HncContextHtmlHelp_struct_HWND_____unsigned_short_int_const___unsigned_int__unsigned_long_int_
add esp, 0x20
lea ecx, [ebp - 0x478]
call fcn.10002630
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1008548c
mov esp, ebp
pop ebp
ret 0x10
mov ecx, esi
call edx
mov ebx, eax
jmp 0x101bb5ef
mov ecx, eax
call edx
mov dword [ebp - 0x458], eax
jmp 0x101bb62f