Function at 0x100786b0
Capabilities:
Query environment variable

Disassembly:
push 0xffffffffffffffff
push 0x1009d64c
mov eax, dword fs:[0]
push eax
sub esp, 0xe78
mov eax, dword [0x100cd8ec]
xor eax, esp
mov dword [esp + 0xe74], eax
push ebx
push esi
push edi
mov eax, dword [0x100cd8ec]
xor eax, esp
push eax
lea eax, [esp + 0xe88]
mov dword fs:[0], eax
push 0xe58
lea eax, [esp + 0x30]
push 0
push eax
mov esi, ecx
call sub.MSVCR80.dll_memset
mov ecx, dword [str.Softforum_PKCS11]
add esp, 0xc
push ecx
lea edx, [esp + 0x30]
push edx
mov ecx, esi
call fcn.1007cd20
push str.PKCS_APP_STORE
mov edi, eax
call dword [sym.imp.MSVCR80.dll_getenv]
add esp, 4
push eax
lea ecx, [esp + 0x14]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push str._swtok
mov ecx, eax
mov dword [esp + 0xe94], 0
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::append_char_const__]
cmp dword [eax + 0x18], 0x10
jb 0x10078751
mov ebx, dword [eax + 4]
jmp 0x10078754
lea ebx, [eax + 4]
lea ecx, [esp + 0x10]
mov dword [esp + 0xe90], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
test edi, edi
je 0x10078777
mov edi, 0xfffffffd
jmp 0x10078855
mov eax, dword [str.Softforum_PKCS11]
push eax
call fcn.100108f0
mov ecx, eax
call fcn.1000f1f0
mov ecx, dword [str.Softforum_PKCS11]
mov edx, dword [esi + 0xe60]
push ecx
push str._CORE__XWPKCS11Util::initSoftwareToken__finalize:__s
push edx
call fcn.10077b60
mov eax, dword [esi + 0xe60]
push ebx
push str._CORE__XWPKCS11Util::initSoftwareToken__swtok_path_found:__s
push eax
call fcn.10077b60
push ebx
call fcn.1006a930
add esp, 0x1c
test eax, eax
je 0x100787dd
call dword [sym.imp.MSVCR80.dll__errno]
mov ecx, dword [eax]
mov edx, dword [esi + 0xe60]
push ecx
push str._CORE__XWPKCS11Util::initSoftwareToken__swtok_path_remove:__d
push edx
call fcn.10077b60
add esp, 0xc
mov ecx, dword [esi + 0xe60]
lea eax, [esi + 8]
push eax
push str._CORE__XWPKCS11Util::initSoftwareToken___mPKCS11Ctx.provider.driverName________s_
push ecx
call fcn.10077b60
mov eax, dword [esi + 0xe60]
lea edx, [esi + 0x108]
push edx
push str._CORE__XWPKCS11Util::initSoftwareToken___mPKCS11Ctx.provider.providerInfo______s_
push eax
call fcn.10077b60
mov edx, dword [esi + 0xe60]
lea ecx, [esi + 0x208]
push ecx
push str._CORE__XWPKCS11Util::initSoftwareToken___mPKCS11Ctx.provider.libPath___________s_
push edx
call fcn.10077b60
mov ecx, dword [esi + 0xe60]
lea eax, [esi + 0x30c]
push eax
push str._CORE__XWPKCS11Util::initSoftwareToken___mPKCS11Ctx.provider.signatureToken____s_
push ecx
call fcn.10077b60
mov eax, dword [esi + 0xe60]
lea edx, [esi + 0x410]
push edx
push str._CORE__XWPKCS11Util::initSoftwareToken___mPKCS11Ctx.provider.programs__________s_
push eax
call fcn.10077b60
add esp, 0x3c
mov ecx, dword [esi + 0xe60]
push edi
push str._CORE__XWPKCS11Util::initSoftwareToken____COMPLETE___d___
push ecx
call fcn.10077b60
add esp, 0xc
mov eax, edi
mov ecx, dword [esp + 0xe88]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xe74]
xor ecx, esp
call fcn.10090e24
add esp, 0xe84
ret