Function at 0x1001d39b
Capabilities:
Create thread
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x650
push esi
push edi
xor edi, edi
cmp dword [ebx + 4], edi
je 0x1001d3b7
mov esi, ebx
call fcn.1001dbe5
lea eax, [esp + 0x10]
push eax
push 0x20019
push edi
push str.SOFTWAREHebcaUSBKey
push reloc.WS2_32.dll_accept
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1001d3e6
lea eax, [esp + 0x10]
push eax
call fcn.1001dc1e
mov dword [esp + 0x10], eax
jmp 0x1001d3ea
mov dword [esp + 0x10], edi
cmp dword [esp + 0x10], edi
mov dword [esp + 0x18], edi
jle 0x1001d580
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x1c]
call fcn.1001dc86
lea eax, [esp + 0x40]
push eax
call fcn.1001dd0e
cmp eax, edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edi
jle 0x1001d56e
lea eax, [esp + 0x248]
push eax
push dword [esp + 0x20]
lea eax, [esp + 0x48]
push eax
call fcn.1001dd80
lea eax, [esp + 0x450]
push eax
push 0x1018f818
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001de48
cmp word [esp + 0x450], di
je 0x1001d55c
mov eax, dword [ebx + 8]
cmp dword [ebx + 4], eax
jne 0x1001d4a8
lea esi, [eax + eax]
xor ecx, ecx
push 4
pop edx
mov eax, esi
mul edx
seto cl
mov dword [ebx + 8], esi
neg ecx
or ecx, eax
push ecx
call fcn.101317de
mov esi, eax
mov eax, dword [ebx + 4]
pop ecx
shl eax, 2
push eax
push dword [ebx]
push esi
call fcn.10131ca0
add esp, 0xc
push dword [ebx]
call fcn.101317e9
pop ecx
mov dword [ebx], esi
xor edi, edi
push 0x94
call fcn.10134753
mov esi, eax
pop ecx
cmp esi, edi
je 0x1001d4c2
call fcn.1001e179
mov eax, esi
jmp 0x1001d4c4
xor eax, eax
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebx]
lea eax, [esp + 0x450]
push eax
mov eax, dword [ebx + 4]
mov esi, dword [ecx + eax*4]
call fcn.1001e3d8
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
mov esi, dword [ecx + eax*4]
push str.CP11Driver::LoadLibrary__n
push 3
call fcn.10001f42
pop ecx
pop ecx
push dword [esi + 0x84]
call fcn.1000228c
mov dword [esi + 0x88], eax
cmp eax, edi
jne 0x1001d589
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x68], eax
lea eax, [esp + 0x450]
push eax
lea eax, [esp + 0x24c]
push eax
lea eax, [esp + 0x48]
push eax
push str.CP11DeviceMgr::LoadDrivers_LoadLibrary_:__s___s___s__n
push 3
call fcn.10001f42
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
mov esi, dword [ecx + eax*4]
add esp, 0x14
cmp esi, edi
je 0x1001d55c
mov eax, esi
call fcn.1001e217
push dword [esi + 0x74]
call fcn.101317e9
pop ecx
push esi
call fcn.101317d3
pop ecx
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x20]
jl 0x1001d420
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x10]
jl 0x1001d3f8
xor eax, eax
pop edi
inc eax
pop esi
mov esp, ebp
pop ebp
ret
push str.C_GetFunctionList
mov eax, esi
call fcn.1001eddb
cmp eax, edi
je 0x1001d50c
lea ecx, [esi + 0x8c]
push ecx
call eax
pop ecx
xor ecx, ecx
cmp eax, edi
sete cl
mov dword [esi + 0x68], eax
mov eax, ecx
cmp eax, edi
je 0x1001d515
lea eax, [esp + 0x450]
push eax
lea eax, [esp + 0x24c]
push eax
lea eax, [esp + 0x48]
push eax
push str.CP11DeviceMgr::LoadDrivers_LoadLibrary_Success_:__s___s___s__n
push 3
call fcn.10001f42
add esp, 0x14
lea eax, [esp + 0x450]
push eax
push 0x1018f36c
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001de48
cmp word [esp + 0x450], di
je 0x1001d61d
mov ecx, dword [ebx]
lea eax, [esp + 0x450]
push eax
mov eax, dword [ebx + 4]
mov esi, dword [ecx + eax*4]
call fcn.1001e41a
lea eax, [esp + 0x450]
push eax
push str.service
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001de48
cmp word [esp + 0x450], di
je 0x1001d65b
mov ecx, dword [ebx]
lea eax, [esp + 0x450]
push eax
mov eax, dword [ebx + 4]
mov esi, dword [ecx + eax*4]
call fcn.1001e4f8
lea eax, [esp + 0x450]
push eax
push 0x1018fab4
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001de48
cmp word [esp + 0x450], di
je 0x1001d699
mov ecx, dword [ebx]
lea eax, [esp + 0x450]
push eax
mov eax, dword [ebx + 4]
mov esi, dword [ecx + eax*4]
call fcn.1001e4ae
lea eax, [esp + 0x14]
push eax
push edi
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
mov dword [esp + 0x24], edi
call fcn.1001e01f
cmp dword [esp + 0x14], edi
je 0x1001d705
push dword [esp + 0x14]
call fcn.101317de
mov dword [esp + 0x10], eax
pop ecx
lea eax, [esp + 0x14]
push eax
push dword [esp + 0x10]
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001e01f
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push dword [esp + 0xc]
mov edi, dword [esp + 0x18]
mov esi, dword [ecx + eax*4]
call fcn.1001e542
push dword [esp + 0xc]
call fcn.101317e9
pop ecx
xor edi, edi
lea eax, [esp + 0x450]
push eax
push 0x1018fac8
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001de48
cmp word [esp + 0x450], di
je 0x1001d743
mov ecx, dword [ebx]
lea eax, [esp + 0x450]
push eax
mov eax, dword [ebx + 4]
mov esi, dword [ecx + eax*4]
call fcn.1001e464
lea eax, [esp + 8]
push eax
push str.CKK_SCB2
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001df46
test eax, eax
je 0x1001d772
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 8]
mov dword [eax + 0x14], ecx
lea eax, [esp + 8]
push eax
push str.CKM_SCB2_CBC
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001df46
test eax, eax
je 0x1001d7a1
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 8]
mov dword [eax + 0x1c], ecx
lea eax, [esp + 8]
push eax
push str.CKM_SCB2_CBC_PAD
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001df46
test eax, eax
je 0x1001d7d0
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 8]
mov dword [eax + 0x24], ecx
lea eax, [esp + 8]
push eax
push str.CKM_SCB2_ECB
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001df46
test eax, eax
je 0x1001d7ff
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 8]
mov dword [eax + 0x20], ecx
lea eax, [esp + 8]
push eax
push str.CKM_SCB2_KEY_GEN
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001df46
test eax, eax
je 0x1001d82e
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 8]
mov dword [eax + 0x18], ecx
lea eax, [esp + 8]
push eax
push str.CKK_SSF33
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001df46
test eax, eax
je 0x1001d85c
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 8]
mov dword [eax], ecx
lea eax, [esp + 8]
push eax
push str.CKM_SSF33_CBC
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001df46
test eax, eax
je 0x1001d88b
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 8]
mov dword [eax + 8], ecx
lea eax, [esp + 8]
push eax
push str.CKM_SSF33_CBC_PAD
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001df46
test eax, eax
je 0x1001d8ba
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 8]
mov dword [eax + 0x10], ecx
lea eax, [esp + 8]
push eax
push str.CKM_SSF33_ECB
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001df46
test eax, eax
je 0x1001d8e9
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 8]
mov dword [eax + 0xc], ecx
lea eax, [esp + 8]
push eax
push str.CKM_SSF33_KEY_GEN
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001df46
test eax, eax
je 0x1001d918
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 8]
mov dword [eax + 4], ecx
lea eax, [esp + 8]
push eax
push str.CKK_SMS4
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001df46
test eax, eax
je 0x1001d947
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 8]
mov dword [eax + 0x28], ecx
lea eax, [esp + 8]
push eax
push str.CKM_SMS4_CBC
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001df46
test eax, eax
je 0x1001d976
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 8]
mov dword [eax + 0x30], ecx
lea eax, [esp + 8]
push eax
push str.CKM_SMS4_CBC_PAD
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001df46
test eax, eax
je 0x1001d9a5
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 8]
mov dword [eax + 0x38], ecx
lea eax, [esp + 8]
push eax
push str.CKM_SMS4_ECB
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001df46
test eax, eax
je 0x1001d9d4
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 8]
mov dword [eax + 0x34], ecx
lea eax, [esp + 8]
push eax
push str.CKM_SMS4_KEY_GEN
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001df46
test eax, eax
je 0x1001da03
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 8]
mov dword [eax + 0x2c], ecx
lea eax, [esp + 8]
push eax
push str.supportProtectedMode
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001df46
test eax, eax
je 0x1001da32
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 8]
mov dword [eax + 0x3c], ecx
lea eax, [esp + 8]
push eax
push str.requireLogin
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001df46
test eax, eax
je 0x1001da61
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 8]
mov dword [eax + 0x44], ecx
lea eax, [esp + 8]
push eax
push str.venderUI
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001df46
test eax, eax
je 0x1001da90
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 8]
mov dword [eax + 0x40], ecx
lea eax, [esp + 8]
push eax
push str.namedByLabel
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001df46
test eax, eax
je 0x1001dabf
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 8]
mov dword [eax + 0x48], ecx
lea eax, [esp + 8]
push eax
push str.cspNameByInfo
lea eax, [esp + 0x250]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.1001df46
test eax, eax
je 0x1001daee
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 8]
mov dword [eax + 0x4c], ecx
push 0x18
lea eax, [esp + 0x2c]
push edi
push eax
call fcn.10131950
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
add esp, 0xc
push str.CP11Driver::Initialize_n
mov dword [esp + 0x3c], 1
mov esi, dword [ecx + eax*4]
push 3
call fcn.10001f42
push 0x1018db60
push dword [esi + 0x50]
call fcn.10134641
add esp, 0x10
test eax, eax
jne 0x1001db90
push str.ieframe.dll
mov dword [esp + 0x10], edi
call fcn.1000228c
mov edi, eax
test edi, edi
je 0x1001db8e
push str.IEIsProtectedModeProcess
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x1001db6c
lea ecx, [esp + 0x24]
push ecx
call eax
test eax, eax
jl 0x1001db6c
cmp dword [esp + 0x24], 0
je 0x1001db6c
mov dword [esp + 0xc], 1
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [esp + 0xc], 0
je 0x1001db8e
call fcn.1001e2db
test eax, eax
je 0x1001db8e
and dword [esi + 0x90], 0
xor edi, edi
jmp 0x1001dbb0
xor edi, edi
mov eax, dword [esi + 0x8c]
lea ecx, [esp + 0x28]
push ecx
call dword [eax + 2]
pop ecx
mov dword [esi + 0x68], eax
cmp eax, edi
jne 0x1001dbb0
mov dword [esi + 0x90], 1
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax*4]
push edi
mov dword [eax + 0x78], ebx
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push edi
push dword [ecx + eax*4]
push 0x1001eb39
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
mov ecx, dword [edx + ecx*4]
mov dword [ecx + 0x70], eax
inc dword [ebx + 4]
jmp 0x1001d55c