Function at 0x419100
Capabilities:
Link many functions at runtime

Disassembly:
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push ebp
push esi
push str.WinSCard.dll
mov esi, ecx
xor ebp, ebp
call ebx
mov dword [esi + 8], eax
test eax, eax
jne 0x41911f
pop esi
pop ebp
pop ebx
ret
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.SCardConnectA
push eax
call edi
mov dword [esi + 0x274], eax
mov eax, dword [esi + 8]
push str.SCardDisconnect
push eax
call edi
mov ecx, dword [esi + 8]
push str.SCardEstablishContext
push ecx
mov dword [esi + 0x278], eax
call edi
mov edx, dword [esi + 8]
push str.SCardReleaseContext
push edx
mov dword [esi + 0x27c], eax
call edi
mov dword [esi + 0x280], eax
mov eax, dword [esi + 8]
push str.SCardTransmit
push eax
call edi
mov ecx, dword [esi + 8]
push str.g_rgSCardRawPci
push ecx
mov dword [esi + 0x284], eax
call edi
mov edx, dword [esi + 8]
push str.g_rgSCardT0Pci
push edx
mov dword [esi + 0x288], eax
call edi
mov dword [esi + 0x28c], eax
mov eax, dword [esi + 8]
push str.g_rgSCardT1Pci
push eax
call edi
mov dword [esi + 0x290], eax
cmp dword [esi + 0x274], ebp
je 0x4194e0
cmp dword [esi + 0x278], ebp
je 0x4194e0
cmp dword [esi + 0x27c], ebp
je 0x4194e0
cmp dword [esi + 0x280], ebp
je 0x4194e0
cmp dword [esi + 0x284], ebp
je 0x4194e0
cmp dword [esi + 0x28c], ebp
je 0x4194e0
test eax, eax
je 0x4194e0
cmp dword [esi + 0x288], ebp
je 0x4194e0
push str.etpkcs11.DLL
call ebx
mov dword [esi + 4], eax
test eax, eax
je 0x4194e0
push str.C_GetFunctionList
push eax
call edi
mov dword [0x5c4b20], eax
test eax, eax
je 0x4194d2
push 0x5c4b1c
call eax
add esp, 4
test eax, eax
jne 0x4194d2
mov ecx, dword [0x5c4b1c]
mov edx, dword [ecx + 2]
push eax
call edx
add esp, 4
test eax, eax
jne 0x4194d2
push str.eToken_3_66.DLL
call ebx
mov dword [esi], eax
test eax, eax
je 0x4194d2
push str.etInitialize
push eax
call edi
mov dword [esi + 0x218], eax
test eax, eax
je 0x4194d2
mov eax, dword [esi]
push str.etFinalize
push eax
call edi
mov dword [esi + 0x21c], eax
test eax, eax
je 0x4194d2
mov ecx, dword [esi]
push str.etListReadersA
push ecx
call edi
mov dword [esi + 0x220], eax
test eax, eax
je 0x4194d2
mov edx, dword [esi]
push str.etCreateTalkerA
push edx
call edi
mov dword [esi + 0x224], eax
test eax, eax
je 0x4194d2
mov eax, dword [esi]
push str.etDestroyTalker
push eax
call edi
mov dword [esi + 0x228], eax
test eax, eax
je 0x4194d2
mov ecx, dword [esi]
push str.etStartListen
push ecx
call edi
mov dword [esi + 0x29c], eax
test eax, eax
je 0x4194d2
mov edx, dword [esi]
push str.etStopListen
push edx
call edi
mov dword [esi + 0x2a0], eax
test eax, eax
je 0x4194d2
mov eax, dword [esi]
push str.r2GetTokenInfo
push eax
call edi
mov dword [esi + 0x22c], eax
test eax, eax
je 0x4194d2
mov ecx, dword [esi]
push str.r2GetTokenNameA
push ecx
call edi
mov dword [esi + 0x230], eax
test eax, eax
je 0x4194d2
mov edx, dword [esi]
push str.os4GetProperty
push edx
call edi
mov dword [esi + 0x234], eax
test eax, eax
je 0x4194d2
mov eax, dword [esi]
push str.r2Login
push eax
call edi
mov dword [esi + 0x238], eax
test eax, eax
je 0x4194d2
mov ecx, dword [esi]
push str.r2Logout
push ecx
call edi
mov dword [esi + 0x23c], eax
test eax, eax
je 0x4194d2
mov edx, dword [esi]
push str.os4Login
push edx
call edi
mov dword [esi + 0x240], eax
test eax, eax
je 0x4194d2
mov eax, dword [esi]
push str.os4Logout
push eax
call edi
mov dword [esi + 0x244], eax
test eax, eax
je 0x4194d2
mov ecx, dword [esi]
push str.r2DeleteA
push ecx
call edi
mov dword [esi + 0x264], eax
test eax, eax
je 0x4194d2
mov edx, dword [esi]
push str.r2CreateFileA
push edx
call edi
mov dword [esi + 0x258], eax
test eax, eax
je 0x4194d2
mov eax, dword [esi]
push str.r2WriteFileA
push eax
call edi
mov dword [esi + 0x260], eax
test eax, eax
je 0x4194d2
mov ecx, dword [esi]
push str.r2ReadFileA
push ecx
call edi
mov dword [esi + 0x25c], eax
test eax, eax
je 0x4194d2
mov edx, dword [esi]
push str.os4DeleteA
push edx
call edi
mov dword [esi + 0x254], eax
test eax, eax
je 0x4194d2
mov eax, dword [esi]
push str.os4CreateFileA
push eax
call edi
mov dword [esi + 0x248], eax
test eax, eax
je 0x4194d2
mov ecx, dword [esi]
push str.os4ReadBinaryFileA
push ecx
call edi
mov dword [esi + 0x24c], eax
test eax, eax
je 0x4194d2
mov edx, dword [esi]
push str.os4WriteBinaryFileA
push edx
call edi
mov dword [esi + 0x250], eax
test eax, eax
je 0x4194d2
mov eax, dword [esi]
push str.os4ChangePassword
push eax
call edi
mov dword [esi + 0x26c], eax
test eax, eax
je 0x4194d2
mov ecx, dword [esi]
push str.r2ChangePassword
push ecx
call edi
mov dword [esi + 0x268], eax
test eax, eax
je 0x4194d2
mov edx, dword [esi]
push str.os4CalculateLoginResponse
push edx
call edi
mov dword [esi + 0x270], eax
test eax, eax
je 0x4194d2
mov eax, dword [esi + 0x218]
push 0
call eax
test eax, eax
jne 0x4194e0
mov ecx, esi
call fcn.00416b80
test eax, eax
je 0x4194e0
mov ebp, 1
pop edi
mov dword [esi + 0xc], ebp
pop esi
mov eax, ebp
pop ebp
pop ebx
ret
mov ecx, esi
call fcn.004168f0
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret