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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x528
mov eax, dword [0x10081010]
xor eax, esp
mov dword [esp + 0x524], eax
movups xmm0, xmmword [ebp + 0xc]
push esi
push edi
movups xmmword [esp + 0x80], xmm0
lea ecx, [esp + 8]
mov dword [esp + 8], 0
movups xmm0, xmmword [ebp + 0x1c]
mov dword [esp + 0xc], 0x20000000
mov dword [esp + 0x10], 0
movups xmmword [esp + 0x90], xmm0
mov dword [esp + 0x14], 0
movq xmm0, qword [ebp + 0x2c]
movq qword [esp + 0xa0], xmm0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call sym.ISDI2.dll_private:_void___thiscall_CConsolidatedError::SetErrorCodeString_void_
mov eax, dword [0x10087184]
xor esi, esi
xor edi, edi
mov word [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x2c], esi
test al, 1
jne 0x10024ed2
sub esp, 8
or eax, 1
mov ecx, 0x100870a4
mov dword [0x10087184], eax
call fcn.10001d60
push 0x1008716c
mov dword [0x100870a0], 1
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0x100691b0
call fcn.10055528
add esp, 4
cmp byte [0x100871be], 0
jne 0x10024ef4
lea ecx, [esp + 8]
mov dword [esp + 8], 4
mov dword [esp + 0xc], 0xa001000c
call sym.ISDI2.dll_private:_void___thiscall_CConsolidatedError::SetErrorCodeString_void_
cmp dword [esp + 8], esi
jne 0x10024f66
lea eax, [esp + 0x24]
push eax
push 0
lea eax, [esp + 0x510]
push eax
lea ecx, [esp + 0x3c]
call fcn.10033470
push eax
lea ecx, [esp + 0xc]
call sym.ISDI2.dll_public:_class_CConsolidatedError____thiscall_CConsolidatedError::operator_class_CConsolidatedError__
mov eax, dword [esp + 0x518]
test eax, eax
je 0x10024f37
push eax
call fcn.10055a53
add esp, 4
mov dword [esp + 0x518], esi
mov eax, dword [esp + 0x51c]
test eax, eax
je 0x10024f52
push eax
call fcn.10055a53
add esp, 4
mov dword [esp + 0x51c], esi
mov eax, dword [esp + 0x520]
test eax, eax
je 0x10024f66
push eax
call fcn.10055a53
add esp, 4
mov dword [esp + 0x28], esi
cmp dword [esp + 8], esi
jne 0x10024f88
push dword [esp + 0x80]
mov ecx, dword [esp + 0x28]
call fcn.10048920
mov dword [esp + 0x28], eax
test eax, eax
jne 0x10024fab
lea ecx, [esp + 8]
mov dword [esp + 8], 4
mov dword [esp + 0xc], 0xa0010003
call sym.ISDI2.dll_private:_void___thiscall_CConsolidatedError::SetErrorCodeString_void_
cmp dword [esp + 8], esi
jne 0x10025069
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x84]
lea ecx, [esp + 0x510]
call fcn.1001e180
add esp, 8
lea ecx, [esp + 8]
push eax
call sym.ISDI2.dll_public:_class_CConsolidatedError____thiscall_CConsolidatedError::operator_class_CConsolidatedError__
mov eax, dword [esp + 0x518]
test eax, eax
je 0x10024fef
push eax
call fcn.10055a53
add esp, 4
mov dword [esp + 0x518], esi
mov eax, dword [esp + 0x51c]
test eax, eax
je 0x1002500a
push eax
call fcn.10055a53
add esp, 4
mov dword [esp + 0x51c], esi
mov eax, dword [esp + 0x520]
test eax, eax
je 0x1002501e
push eax
call fcn.10055a53
add esp, 4
cmp dword [esp + 8], esi
jne 0x10025065
lea ecx, [esp + 0x84]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10025030
sub ecx, edx
cmp ecx, 0x11
jb 0x10025065
lea ecx, [esp + 8]
mov dword [esp + 8], 4
mov dword [esp + 0xc], 0xa0010005
call sym.ISDI2.dll_private:_void___thiscall_CConsolidatedError::SetErrorCodeString_void_
push str.Volume_Name_longer_than_expected
lea ecx, [esp + 0xc]
call sym.ISDI2.dll_public:_void___thiscall_CConsolidatedError::AddErrorMessage_char_const__
mov esi, dword [esp + 0x2c]
xorps xmm0, xmm0
mov dword [esp + 0x58], edi
movups xmmword [esp + 0x5c], xmm0
mov dword [esp + 0x7c], edi
movups xmmword [esp + 0x6c], xmm0
cmp dword [esp + 8], edi
jne 0x100250fc
test esi, esi
je 0x100250e3
push dword [esi + 0x78]
lea eax, [esp + 0x50c]
push str.RaidInfo_d
push 0x20
push eax
call fcn.1005686d
add esp, 0x10
lea eax, [esp + 0x508]
push eax
push 7
call fcn.10004630
mov ecx, eax
call fcn.10049b50
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x58]
push ecx
push eax
lea ecx, [esp + 0x44]
call fcn.10031a90
add esp, 8
lea ecx, [esp + 8]
push eax
call sym.ISDI2.dll_public:_class_CConsolidatedError____thiscall_CConsolidatedError::operator_class_CConsolidatedError__
lea ecx, [esp + 0x3c]
call sym.ISDI2.dll_public:_void___thiscall_CConsolidatedError::destructor_void_
jmp 0x100250fc
lea ecx, [esp + 8]
mov dword [esp + 8], 4
mov dword [esp + 0xc], 0xa001000f
call sym.ISDI2.dll_private:_void___thiscall_CConsolidatedError::SetErrorCodeString_void_
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10025143
cmp dword [esp + 8], edi
jne 0x1002515c
mov ecx, dword [eax]
call fcn.1000e8f0
mov eax, dword [eax + 0xc]
cmp eax, dword [esp + 0x64]
jne 0x1002515c
lea ecx, [esp + 8]
mov dword [esp + 8], 4
mov dword [esp + 0xc], 0xa0010015
call sym.ISDI2.dll_private:_void___thiscall_CConsolidatedError::SetErrorCodeString_void_
push str.Exceeds_Maximum_Volumes_Per_Array
lea ecx, [esp + 0xc]
call sym.ISDI2.dll_public:_void___thiscall_CConsolidatedError::AddErrorMessage_char_const__
jmp 0x1002515c
lea ecx, [esp + 8]
mov dword [esp + 8], 4
mov dword [esp + 0xc], 0xa001000f
call sym.ISDI2.dll_private:_void___thiscall_CConsolidatedError::SetErrorCodeString_void_
test esi, esi
je 0x100251a4
cmp dword [esp + 8], edi
jne 0x1002540e
mov ecx, dword [esi + 0x64]
call fcn.1000d830
mov eax, dword [eax + 4]
cmp eax, dword [esp + 0x68]
jne 0x100251c7
lea ecx, [esp + 8]
mov dword [esp + 8], 4
mov dword [esp + 0xc], 0xa0010015
call sym.ISDI2.dll_private:_void___thiscall_CConsolidatedError::SetErrorCodeString_void_
push str.Exceeds_Maximum_Volumes_Per_HBA
lea ecx, [esp + 0xc]
call sym.ISDI2.dll_public:_void___thiscall_CConsolidatedError::AddErrorMessage_char_const__
jmp 0x100251bd
lea ecx, [esp + 8]
mov dword [esp + 8], 4
mov dword [esp + 0xc], 0xa001000f
call sym.ISDI2.dll_private:_void___thiscall_CConsolidatedError::SetErrorCodeString_void_
cmp dword [esp + 8], edi
jne 0x1002540e
test esi, esi
je 0x10025220
cmp dword [esp + 0x28], edi
je 0x10025220
mov eax, dword [esi + 8]
xor edi, edi
mov dword [esp + 0x2c], eax
test eax, eax
je 0x10025243
mov eax, dword [esi + 4]
lea edx, [edi + 1]
mov dword [esp + 0x38], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x10025243
mov esi, dword [esp + 0x28]
mov eax, dword [ecx + 8]
test eax, eax
je 0x1002520c
mov eax, dword [eax + 4]
cmp eax, dword [esi + 4]
jne 0x1002520c
mov eax, dword [ecx + 0x10]
mov dword [esp + edi*4 + 0x108], eax
inc edi
cmp edx, dword [esp + 0x2c]
jae 0x10025243
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + edx*4]
inc edx
test ecx, ecx
jne 0x100251f2
jmp 0x10025243
lea ecx, [esp + 8]
mov dword [esp + 8], 4
mov dword [esp + 0xc], 0xa001000f
call sym.ISDI2.dll_private:_void___thiscall_CConsolidatedError::SetErrorCodeString_void_
cmp dword [esp + 8], edi
jne 0x1002540e
mov esi, dword [esp + 0x28]
test esi, esi
je 0x100252cd
lea eax, [esp + 0xb8]
push eax
push dword [esi + 8]
mov esi, dword [esp + 0x2c]
lea ecx, [esp + 0x510]
mov edx, esi
call fcn.10013e00
add esp, 8
lea ecx, [esp + 8]
push eax
call sym.ISDI2.dll_public:_class_CConsolidatedError____thiscall_CConsolidatedError::operator_class_CConsolidatedError__
mov eax, dword [esp + 0x518]
test eax, eax
je 0x10025298
push eax
call fcn.10055a53
add esp, 4
mov dword [esp + 0x518], 0
mov eax, dword [esp + 0x51c]
test eax, eax
je 0x100252b7
push eax
call fcn.10055a53
add esp, 4
mov dword [esp + 0x51c], 0
mov eax, dword [esp + 0x520]
test eax, eax
je 0x100252ea
push eax
call fcn.10055a53
add esp, 4
jmp 0x100252ea
lea ecx, [esp + 8]
mov dword [esp + 8], 4
mov dword [esp + 0xc], 0xa001000f
call sym.ISDI2.dll_private:_void___thiscall_CConsolidatedError::SetErrorCodeString_void_
mov esi, dword [esp + 0x24]
cmp dword [esp + 8], 0
jne 0x1002540e
lea edx, [esp + 0x84]
lea ecx, [esp + 0x508]
call fcn.1003e170
push eax
lea ecx, [esp + 0xc]
call sym.ISDI2.dll_public:_class_CConsolidatedError____thiscall_CConsolidatedError::operator_class_CConsolidatedError__
mov eax, dword [esp + 0x518]
test eax, eax
je 0x10025331
push eax
call fcn.10055a53
add esp, 4
mov dword [esp + 0x518], 0
mov eax, dword [esp + 0x51c]
test eax, eax
je 0x10025350
push eax
call fcn.10055a53
add esp, 4
mov dword [esp + 0x51c], 0
mov eax, dword [esp + 0x520]
test eax, eax
je 0x10025364
push eax
call fcn.10055a53
add esp, 4
cmp dword [esp + 8], 0
jne 0x1002540e
push 1
push 0
push 0
push 0
push 0
push dword [esp + 0xac]
lea eax, [esp + 0x9c]
mov edx, esi
push dword [esp + 0xb4]
lea ecx, [esp + 0x524]
push eax
push dword [esp + 0xa0]
lea eax, [esp + 0x12c]
push 0
push edi
push eax
call fcn.10036e00
add esp, 0x30
lea ecx, [esp + 8]
push eax
call sym.ISDI2.dll_public:_class_CConsolidatedError____thiscall_CConsolidatedError::operator_class_CConsolidatedError__
mov eax, dword [esp + 0x518]
test eax, eax
je 0x100253db
push eax
call fcn.10055a53
add esp, 4
mov dword [esp + 0x518], 0
mov eax, dword [esp + 0x51c]
test eax, eax
je 0x100253fa
push eax
call fcn.10055a53
add esp, 4
mov dword [esp + 0x51c], 0
mov eax, dword [esp + 0x520]
test eax, eax
je 0x1002540e
push eax
call fcn.10055a53
add esp, 4
lea eax, [esp + 0x508]
push eax
lea ecx, [esp + 0x34]
call fcn.10033730
mov eax, dword [esp + 0x518]
test eax, eax
je 0x1002543e
push eax
call fcn.10055a53
add esp, 4
mov dword [esp + 0x518], 0
mov eax, dword [esp + 0x51c]
test eax, eax
je 0x1002545d
push eax
call fcn.10055a53
add esp, 4
mov dword [esp + 0x51c], 0
mov eax, dword [esp + 0x520]
test eax, eax
je 0x10025471
push eax
call fcn.10055a53
add esp, 4
mov eax, dword [esp + 8]
sub esp, 0x1c
mov esi, esp
mov dword [esi], eax
mov eax, dword [esp + 0x28]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x30]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
test eax, eax
je 0x100254b6
push eax
mov ecx, esi
call sym.ISDI2.dll_public:_void___thiscall_CConsolidatedError::AddDebugInformation_char_const__
mov edi, dword [esp + 0x38]
test edi, edi
je 0x100254c6
push edi
mov ecx, esi
call sym.ISDI2.dll_public:_void___thiscall_CConsolidatedError::AddErrorMessage_char_const__
mov ecx, esi
call sym.ISDI2.dll_private:_void___thiscall_CConsolidatedError::SetErrorCodeString_void_
lea eax, [esp + 0x524]
push eax
call fcn.1001db90
mov esi, dword [ebp + 8]
add esp, 0x20
cmp dword [esp + 0x30], 0
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
je 0x10025548
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x34]
call fcn.10033730
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x1002551e
push eax
call fcn.10055a53
add esp, 4
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x50]
test eax, eax
je 0x10025537
push eax
call fcn.10055a53
add esp, 4
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x54]
test eax, eax
je 0x10025548
push eax
call fcn.10055a53
add esp, 4
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10025559
push eax
call fcn.10055a53
add esp, 4
test edi, edi
je 0x10025566
push edi
call fcn.10055a53
add esp, 4
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10025577
push eax
call fcn.10055a53
add esp, 4
mov ecx, dword [esp + 0x52c]
mov eax, esi
pop edi
pop esi
xor ecx, esp
call fcn.10054bb7
mov esp, ebp
pop ebp
ret