Function at 0x1001b4a0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x12c
mov eax, dword [0x100701bc]
xor eax, esp
mov dword [esp + 0x128], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 8]
test eax, eax
je 0x1001b4d7
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [edi + 8], 0
push 0x104
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.10030f30
add esp, 0xc
lea ecx, [esp + 0x10]
call fcn.10025510
cmp dword [eax + 0x14], 0x10
jb 0x1001b4fc
mov eax, dword [eax]
push 0x100611b8
push eax
lea eax, [esp + 0x30]
push 0x10060914
push eax
call fcn.10018850
mov eax, dword [esp + 0x34]
add esp, 0x10
cmp eax, 0x10
jb 0x1001b52c
inc eax
lea ecx, [esp + 0x10]
push eax
push dword [esp + 0x14]
call fcn.1000e380
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [edi + 8], eax
test eax, eax
jne 0x1001b56e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x26
push 0x100611c8
mov ecx, ebx
call fcn.1000dd80
mov eax, 0xffffff92
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x128]
xor ecx, esp
call fcn.1002db4b
mov esp, ebp
pop ebp
ret 4
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.ICC_Reader_Open
push eax
call esi
push str.ICC_Reader_Close
push dword [edi + 8]
mov dword [edi + 0xc], eax
call esi
push str.ICC_Reader_PowerOn
push dword [edi + 8]
mov dword [edi + 0x10], eax
call esi
push str.ICC_Reader_PowerOff
push dword [edi + 8]
mov dword [edi + 0x14], eax
call esi
push str.ICC_Reader_GetStatus
push dword [edi + 8]
mov dword [edi + 0x18], eax
call esi
push str.ICC_Reader_Application
push dword [edi + 8]
mov dword [edi + 0x1c], eax
call esi
push str.ICC_Reader_Libinfo
push dword [edi + 8]
mov dword [edi + 0x20], eax
call esi
push str.GetDeviceID
push dword [edi + 8]
mov dword [edi + 0x24], eax
call esi
push str.icc_power_on
push dword [edi + 8]
mov dword [edi + 0x28], eax
call esi
push str.icc_power_off
push dword [edi + 8]
mov dword [edi + 0x48], eax
call esi
push str.icc_type_set
push dword [edi + 8]
mov dword [edi + 0x30], eax
call esi
push str.icc_read
push dword [edi + 8]
mov dword [edi + 0x2c], eax
call esi
push str.icc_write
push dword [edi + 8]
mov dword [edi + 0x40], eax
call esi
push str.icc_password
push dword [edi + 8]
mov dword [edi + 0x44], eax
call esi
push str.icc_changc
push dword [edi + 8]
mov dword [edi + 0x38], eax
call esi
push str.icc_rdpass
push dword [edi + 8]
mov dword [edi + 0x3c], eax
call esi
cmp dword [edi + 0xc], 0
mov dword [edi + 0x34], eax
je 0x1001b6b9
cmp dword [edi + 0x10], 0
je 0x1001b6b9
cmp dword [edi + 0x14], 0
je 0x1001b6b9
cmp dword [edi + 0x18], 0
je 0x1001b6b9
cmp dword [edi + 0x1c], 0
je 0x1001b6b9
cmp dword [edi + 0x20], 0
je 0x1001b6b9
cmp dword [edi + 0x24], 0
je 0x1001b6b9
cmp dword [edi + 0x28], 0
je 0x1001b6b9
cmp dword [edi + 0x48], 0
je 0x1001b6b9
cmp dword [edi + 0x30], 0
je 0x1001b6b9
cmp dword [edi + 0x2c], 0
je 0x1001b6b9
cmp dword [edi + 0x40], 0
je 0x1001b6b9
cmp dword [edi + 0x44], 0
je 0x1001b6b9
cmp dword [edi + 0x38], 0
je 0x1001b6b9
cmp dword [edi + 0x3c], 0
je 0x1001b6b9
test eax, eax
je 0x1001b6b9
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x128]
xor ecx, esp
call fcn.1002db4b
mov esp, ebp
pop ebp
ret 4
push dword [edi + 8]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0x2e
push 0x1006120c
mov ecx, ebx
mov dword [edi + 8], 0
call fcn.1000dd80
mov ecx, dword [esp + 0x134]
mov eax, 0xffffff91
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1002db4b
mov esp, ebp
pop ebp
ret 4