Function at 0x100057a0
Capabilities:
Get common file path
Link many functions at runtime
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101d4c68
mov eax, dword fs:[0]
push eax
sub esp, 0x324
mov eax, dword [0x10263fdc]
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 eax, dword [ebp + 8]
mov esi, ecx
xor ebx, ebx
cmp dword [esi + 8], ebx
je 0x100057e2
lea eax, [ebx + 1]
jmp 0x100059bd
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x2a4]
mov dword [0x1026837c], esi
call dword [sym.imp.szutils.dll_public:_void___thiscall_TCommon::TString::constructor_wchar_t_const___int_]
push str.devicegwq_
lea ecx, [ebp - 0x2a4]
mov dword [ebp - 4], ebx
call dword [sym.imp.szutils.dll_public:_class_TCommon::TString_const____thiscall_TCommon::TString::operator_wchar_t_const__]
push 0x206
lea ecx, [ebp - 0x216]
xor eax, eax
push ebx
push ecx
mov word [ebp - 0x218], ax
call sub.MSVCR100.dll_memset
add esp, 0xc
lea edx, [ebp - 0x218]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov edi, dword [sym.imp.szutils.dll_public:_wchar_t_const____thiscall_TCommon::TString::GetUnicode_void_]
lea ecx, [ebp - 0x2a4]
call edi
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push str.GWQDll.dll
lea eax, [ebp - 0x330]
push eax
lea ecx, [ebp - 0x2a4]
call dword [sym.imp.szutils.dll_public:_class_TCommon::TString___thiscall_TCommon::TString::operator_wchar_t_const__]
lea ecx, [ebp - 0x330]
mov byte [ebp - 4], 1
call edi
push eax
push 0x1024cf30
push 2
call dword [sym.imp.szutils.dll_public:_static_int___cdecl_TCommon::CTinyLog::WriteLog_enum_TCommon::CTinyLog::TLOGLEVEL__wchar_t_const__]
add esp, 0xc
lea ecx, [ebp - 0x330]
call dword [sym.imp.szutils.dll_public:_wchar_t_const____thiscall_TCommon::TString::operator_wchar_t_const__void_const]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
lea ecx, [ebp - 0x218]
push ecx
mov dword [esi + 4], eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x10005998
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.GWQ_SignNameEx
push eax
mov dword [esi + 0xc], ebx
call edi
mov dword [esi + 0xc], eax
cmp eax, ebx
jne 0x100058f2
mov byte [ebp - 4], bl
mov esi, dword [sym.imp.szutils.dll_public_virtual:_void___thiscall_TCommon::TString::destructor_void_]
lea ecx, [ebp - 0x330]
call esi
lea ecx, [ebp - 0x2a4]
mov dword [ebp - 4], 0xffffffff
call esi
xor eax, eax
jmp 0x100059bd
mov edx, dword [esi + 4]
push str.GWQ_StartFaceEx
push edx
mov dword [esi + 0x10], ebx
call edi
mov dword [esi + 0x10], eax
cmp eax, ebx
je 0x100058cb
mov eax, dword [esi + 4]
push str.GWQ_SetVolume
push eax
mov dword [esi + 0x14], ebx
call edi
mov dword [esi + 0x14], eax
cmp eax, ebx
je 0x100058cb
mov ecx, dword [esi + 4]
push str.GWQ_ReadFingerprintEx1
push ecx
mov dword [esi + 0x18], ebx
call edi
mov dword [esi + 0x18], eax
cmp eax, ebx
je 0x100058cb
mov edx, dword [esi + 4]
push str.GWQ_DeviceOnline
push edx
mov dword [esi + 0x20], ebx
call edi
mov dword [esi + 0x20], eax
cmp eax, ebx
je 0x100058cb
mov eax, dword [esi + 4]
push str.GWQ_CancelOperate
push eax
mov dword [esi + 0x1c], ebx
call edi
mov dword [esi + 0x1c], eax
cmp eax, ebx
je 0x100058cb
mov ecx, dword [esi + 4]
push str.GWQ_GetFPInfo
push ecx
mov dword [esi + 0x24], ebx
call edi
mov dword [esi + 0x24], eax
cmp eax, ebx
je 0x100058cb
mov edx, dword [esi + 4]
push str.GWQ_GetFPTemplate
push edx
mov dword [esi + 0x28], ebx
call edi
mov dword [esi + 0x28], eax
cmp eax, ebx
je 0x100058cb
mov dword [esi + 8], 1
mov esi, dword [esi + 8]
mov byte [ebp - 4], bl
mov edi, dword [sym.imp.szutils.dll_public_virtual:_void___thiscall_TCommon::TString::destructor_void_]
lea ecx, [ebp - 0x330]
call edi
lea ecx, [ebp - 0x2a4]
mov dword [ebp - 4], 0xffffffff
call edi
mov eax, esi
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.101ce9e2
mov esp, ebp
pop ebp
ret 4