Function at 0x1001a920
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100672a2
mov eax, dword fs:[0]
push eax
sub esp, 0x434
mov eax, dword [0x10081010]
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 esi, edx
mov dword [ebp - 0x434], esi
mov ebx, ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x43c], 0
mov dword [ebp - 0x440], ebx
mov dword [ebp - 0x430], eax
mov dword [ebx], 0
mov dword [ebx + 4], 0x20000000
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x18], 0
call sym.ISDI2.dll_private:_void___thiscall_CConsolidatedError::SetErrorCodeString_void_
mov dword [ebp - 4], 0
xor al, al
cmp dword [ebx], 0
mov dword [ebp - 0x43c], 1
mov byte [ebp - 0x429], al
jne 0x1001ac26
cmp dword [esi + 4], 0
jbe 0x1001abc9
mov eax, dword [esi]
mov dword [ebp - 0x438], 1
mov edi, dword [eax]
test edi, edi
je 0x1001abc3
nop dword [eax + eax]
push 0
push 0x10085c2c
push 0x10085c10
push 0
push edi
call fcn.10066013
add esp, 0x14
test eax, eax
jne 0x1001aa57
push eax
push 0x10085bf4
push 0x10085c10
push eax
push edi
call fcn.10066013
add esp, 0x14
test eax, eax
je 0x1001aa57
mov ecx, dword [edi + 0x50]
test ecx, ecx
je 0x1001aa57
mov edx, dword [edi + 0x4c]
mov eax, 1
mov esi, dword [edx]
test esi, esi
je 0x1001aa57
nop dword [eax]
mov ecx, dword [ebp + 8]
cmp dword [esi + 0x1c], ecx
mov ecx, dword [edi + 0x50]
je 0x1001aa85
cmp eax, ecx
jae 0x1001aa57
mov esi, dword [edx + eax*4]
inc eax
test esi, esi
jne 0x1001aa40
mov eax, dword [ebp - 0x434]
mov ecx, dword [ebp - 0x438]
cmp ecx, dword [eax + 4]
jae 0x1001abc3
mov eax, dword [eax]
mov edi, dword [eax + ecx*4]
inc ecx
mov dword [ebp - 0x438], ecx
test edi, edi
jne 0x1001a9f0
jmp 0x1001abc3
push 0x50
push 0
push dword [ebp - 0x430]
mov byte [ebp - 0x429], 1
call fcn.10057490
mov ecx, dword [ebp - 0x430]
add esp, 0xc
mov eax, dword [edi + 0x78]
mov edx, esi
mov dword [ecx + 0xc], eax
mov ecx, edi
call fcn.1001e800
mov dword [ebp - 0x434], eax
test eax, eax
je 0x1001aad3
mov edx, eax
mov ecx, edi
call fcn.1001e3c0
mov ecx, dword [ebp - 0x430]
movzx eax, al
mov dword [ecx], eax
jmp 0x1001aad9
mov ecx, dword [ebp - 0x430]
mov eax, dword [esi + 0x5c]
mov dword [ecx + 0x14], eax
movzx eax, byte [esi + 0x54]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x58]
mov dword [ecx + 0x48], eax
mov eax, dword [esi + 0x1c]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x50]
mov dword [ecx + 0x44], eax
mov eax, dword [esi + 0x48]
mov dword [ecx + 0x3c], eax
mov eax, dword [esi + 0x4c]
mov dword [ecx + 0x40], eax
cmp byte [esi + 0x60], 0
je 0x1001ab47
mov dword [ecx + 4], 1
lea eax, [ebp - 0x20]
push dword [esi + 0x5c]
xorps xmm0, xmm0
push str.Enclosure__d
push 0x10
push eax
movups xmmword [ebp - 0x20], xmm0
call fcn.1005686d
push 0x10
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x430]
add eax, 0x20
push 0x10
push eax
call fcn.10054bc8
add esp, 0x20
jmp 0x1001ab62
push 0x10
lea eax, [esi + 0x2c]
mov dword [ecx + 4], 0
push eax
lea eax, [ecx + 0x20]
push 0x10
push eax
call fcn.10054bc8
add esp, 0x10
push 8
lea eax, [esi + 0x40]
push eax
mov eax, dword [ebp - 0x430]
add eax, 0x34
push 8
push eax
call fcn.10054bc8
push 4
lea eax, [esi + 0x3c]
push eax
mov eax, dword [ebp - 0x430]
add eax, 0x30
push 4
push eax
call fcn.10054bc8
lea eax, [esi + 0x24]
mov esi, dword [ebp - 0x430]
push 8
push eax
push 8
lea eax, [esi + 0x18]
push eax
call fcn.10054bc8
mov edx, dword [ebp - 0x434]
add esp, 0x30
test edx, edx
je 0x1001abbd
mov ecx, edi
call fcn.1001ac50
jmp 0x1001abc0
or eax, 0xffffffff
mov dword [esi + 0x4c], eax
mov al, byte [ebp - 0x429]
cmp dword [ebx], 0
jne 0x1001ac26
test al, al
jne 0x1001ac26
push 0x401
lea eax, [ebp - 0x428]
push 0
push eax
call fcn.10057490
add esp, 0xc
lea eax, [ebp - 0x428]
push dword [ebp + 8]
push str.Invalid_Handle_passed_in_internalIsiGetEndDeviceInfo__Received:__d
push 0x401
push eax
call fcn.100042d0
add esp, 0x10
mov dword [ebx], 4
mov ecx, ebx
mov dword [ebx + 4], 0xa0000004
call sym.ISDI2.dll_private:_void___thiscall_CConsolidatedError::SetErrorCodeString_void_
lea eax, [ebp - 0x428]
mov ecx, ebx
push eax
call sym.ISDI2.dll_public:_void___thiscall_CConsolidatedError::AddErrorMessage_char_const__
mov eax, ebx
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.10054bb7
mov esp, ebp
pop ebp
ret