Function at 0x4068a0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push 0xffffffffffffffff
push 0x43ae71
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
mov eax, dword [esp + 0x20]
push ebx
push esi
xor ebx, ebx
push eax
mov dword [esp + 0xc], ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x40691a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Failed_in_a_road_of_Plugin.___d_
push 0x64
push ebx
push 0x7e
push 0xfb
push str..DarwinPlugin.cpp
push 1
push 0x47f138
call dword [sym.imp.LogEx.dll_public_virtual:_void___cdecl_LOG::Logger::PrintLog_enum_LOG::MsgKind__char_const___unsigned_long_int__unsigned_short_int__char_const___int__char_const__]
mov esi, dword [esp + 0x48]
add esp, 0x24
push ebx
mov ecx, esi
call fcn.00406770
mov eax, esi
pop esi
pop ebx
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
add esp, 0x18
ret
push 0x38
call sub.MFC71.DLL_operator_new
add esp, 4
cmp eax, ebx
je 0x406954
mov dword [eax], 0x440a24
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x30], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x1c], ebx
mov dword [eax + 0x20], ebx
mov dword [eax + 0x24], ebx
mov dword [eax + 0x28], ebx
mov dword [eax + 0x2c], ebx
jmp 0x406956
xor eax, eax
push ebp
push edi
push eax
lea ecx, [esp + 0x18]
call fcn.00406770
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x18]
mov edi, dword [esi + 4]
mov ebp, 1
push ecx
mov dword [esp + 0x28], ebp
call sub.MFC71.DLL_AfxLoadLibrary
mov dword [edi + 4], eax
mov edi, dword [esi + 4]
cmp dword [edi + 4], ebx
jne 0x4069bb
push str.DarwinPlugin::GetDarwinPlugin_LoadLibrary_failed.
push 0x64
push ebx
push 0x7e
push 0x10a
push str..DarwinPlugin.cpp
push ebp
push 0x47f138
call dword [sym.imp.LogEx.dll_public_virtual:_void___cdecl_LOG::Logger::PrintLog_enum_LOG::MsgKind__char_const___unsigned_long_int__unsigned_short_int__char_const___int__char_const__]
add esp, 0x20
mov esi, dword [esp + 0x2c]
push ebx
mov ecx, esi
call fcn.00406770
jmp 0x406a7e
mov edx, dword [edi + 4]
push str.DPI_Initialize
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
mov dword [edi + 8], eax
je 0x4069aa
mov edi, dword [esi + 4]
mov eax, dword [edi + 4]
push str.DPI_InitializeEnd
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
mov dword [edi + 0xc], eax
je 0x4069aa
mov ecx, dword [esi + 4]
call fcn.00406450
test al, al
je 0x4069aa
mov ecx, dword [esi + 4]
call fcn.00406470
test al, al
je 0x4069aa
mov ecx, dword [esi + 4]
call fcn.004064b0
test al, al
je 0x4069aa
mov ecx, dword [esi + 4]
call fcn.004064d0
test al, al
je 0x4069aa
mov ecx, dword [esi + 4]
call fcn.004064f0
test al, al
je 0x4069aa
mov ecx, dword [esi + 4]
call fcn.00406510
test al, al
je 0x4069aa
mov ecx, dword [esi + 4]
call fcn.00406530
test al, al
je 0x4069aa
mov ecx, dword [esi + 4]
call fcn.00406550
test al, al
je 0x4069aa
mov ecx, dword [esi + 4]
call fcn.00406490
test al, al
je 0x4069aa
mov ecx, dword [esi + 4]
call fcn.00406570
mov esi, dword [esp + 0x2c]
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
call fcn.004067c0
lea ecx, [esp + 0x14]
mov dword [esp + 0x10], ebp
mov byte [esp + 0x24], bl
call fcn.00406800
mov ecx, dword [esp + 0x1c]
pop edi
pop ebp
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x18
ret