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

Disassembly:
push 0xffffffffffffffff
push 0x1004c508
mov eax, dword fs:[0]
push eax
sub esp, 0x44
mov eax, dword [0x10077990]
xor eax, esp
mov dword [esp + 0x40], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10077990]
xor eax, esp
push eax
lea eax, [esp + 0x58]
mov dword fs:[0], eax
mov eax, dword [esp + 0x78]
xor ebx, ebx
mov edi, dword [esp + 0x68]
xor esi, esi
mov edx, dword [esp + 0x84]
xor ebp, ebp
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x18], edx
mov eax, dword [eax + 0x38]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x40], esi
mov eax, dword [eax + 0x10]
mov dword [esp + 0x28], eax
push esi
push esi
mov dword [esp + 0x68], esi
call dword [sym.imp.OLEAUT32.dll_CreateErrorInfo]
mov eax, dword [esp + 0x18]
test eax, eax
je 0x100240cc
mov dword [eax], esi
mov eax, dword [edi + 8]
mov ecx, dword [eax + 0x40]
test ecx, ecx
je 0x100240e0
call fcn.10039c70
cmp eax, 1
je 0x100240f2
mov eax, dword [edi + 8]
cmp dword [eax + 0x74], 0
jne 0x100240fc
cmp dword [eax + 0xec], 0
jne 0x100240fc
mov ebx, 0x8000ffff
jmp 0x1002441b
test dword [eax + 0x60], 0x400
je 0x1002410f
mov ebx, 0x80040e20
jmp 0x1002441b
lea esi, [eax + 0x48]
push esi
mov dword [esp + 0x44], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x74]
test eax, eax
je 0x10024416
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x10024416
mov edx, dword [esp + 0x18]
test edx, edx
je 0x10024416
cmp dword [esp + 0x1c], 0
je 0x10024416
cmp eax, 1
jne 0x100241ec
mov al, byte [ecx]
cmp al, 1
jne 0x10024168
push 0
push 0
push 0
push SysReAllocStringLen
jmp 0x1002417b
cmp al, 2
jne 0x100241f1
push 0
push 0
push 0
push Ordinal_2
push dword [esp + 0x34]
call fcn.1001e170
mov ebx, eax
test ebx, ebx
js 0x1002441b
cmp ebx, 0x40ec6
jne 0x1002419e
mov dword [esp + 0x2c], 1
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x1002424b
cmp eax, 0x80000000
je 0x10024241
cmp eax, 0x7fffffff
je 0x10024241
push 0
push eax
mov eax, dword [edi + 8]
push dword [eax + 0x6c]
push dword [esp + 0x34]
call sub.msjet40.dll_Ordinal_156
mov ebp, eax
cmp ebp, 0xfffff9bd
je 0x10024237
test ebp, ebp
je 0x1002424b
jns 0x1002424b
mov ebx, 0x80004005
jmp 0x100243f7
cmp eax, 4
je 0x100241fb
mov ebx, 0x80040e0e
jmp 0x1002441b
mov eax, dword [edi + 8]
push 4
push ecx
push dword [eax + 0x6c]
push dword [esp + 0x34]
call sub.msjet40.dll_Ordinal_151
mov ebp, eax
test ebp, ebp
jns 0x1002419e
cmp ebp, 0xfffffbeb
je 0x1002422d
cmp ebp, 0xfffffc07
je 0x1002422d
mov ebx, 0x80004005
jmp 0x100243f7
mov ebx, 0x80040e0e
jmp 0x100243f7
mov ebx, 0x80040e1e
jmp 0x100243fb
mov ebx, 0x80040e1e
jmp 0x100243f7
mov edi, dword [esp + 0x24]
push 0xee
mov ecx, dword [edi + 0xa4]
call fcn.10015b60
test eax, eax
je 0x10024273
push edi
call fcn.1001eb60
mov ebx, eax
test ebx, ebx
js 0x100243f7
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x10024282
xor ebx, ebx
jmp 0x100243f7
mov edi, dword [esp + 0x1c]
cmp dword [edi], 0
jne 0x100242c2
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0xc0000000
jne 0x100242ab
mov ecx, dword [0x1007a1e0]
shl eax, 2
push eax
push ecx
mov edx, dword [ecx]
call dword [edx + 0xc]
mov dword [edi], eax
cmp dword [edi], 0
jne 0x100242ba
mov ebx, 0x8007000e
jmp 0x100243f7
mov dword [esp + 0x34], 1
xor ecx, ecx
cmp dword [esp + 0x20], ecx
setg cl
xor edi, edi
mov dword [esp + 0x14], edi
lea ecx, [ecx*2 - 1]
mov dword [esp + 0x3c], ecx
lea esp, [esp]
cmp ebx, 0x40eda
je 0x100243c0
mov ebx, dword [esp + 0x30]
lea eax, [esp + 0x44]
push eax
push 4
lea eax, [esp + 0x50]
mov dword [esp + 0x54], 0
push eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x54], 0xffffffff
mov dword [esp + 0x5c], 0
push dword [eax + 0x6c]
push dword [esp + 0x38]
call sub.msjet40.dll_Ordinal_132
mov ebp, eax
cmp ebp, 0xfffff9bd
je 0x100243bb
inc dword [esp + 0x50]
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x4c]
push eax
mov eax, dword [ebx + 8]
push dword [eax + 0x68]
call fcn.10010c80
mov ebx, eax
test ebx, ebx
js 0x100243f7
mov eax, edi
cdq
mov edi, eax
mov eax, dword [esp + 0x1c]
xor edi, edx
sub edi, edx
mov ecx, dword [eax]
mov eax, dword [esp + 0x38]
mov dword [ecx + edi*4], eax
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
inc dword [eax]
lea eax, [edi + ecx]
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x20]
je 0x100243a9
mov eax, dword [esp + 0x30]
push 0
push ecx
mov eax, dword [eax + 8]
push dword [eax + 0x6c]
push dword [esp + 0x34]
call sub.msjet40.dll_Ordinal_156
mov ebp, eax
cmp ebp, 0xfffff9bd
je 0x100243bb
mov eax, dword [esp + 0x14]
mov edi, eax
mov dword [esp + 0x14], eax
cmp edi, dword [esp + 0x20]
jne 0x100242e0
jmp 0x100243c0
mov ebx, 0x40ec6
mov eax, dword [esp + 0x20]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [esp + 0x18]
cmp dword [edx], eax
jne 0x100243dc
xor eax, eax
cmp ebx, 0x40ec6
cmove ebx, eax
test edi, edi
jle 0x100243f7
mov eax, dword [esp + 0x1c]
push 4
push 4
push dword [eax]
mov eax, dword [esp + 0x3c]
push edi
push dword [eax + 8]
call fcn.1001e980
test ebp, ebp
je 0x10024410
mov eax, dword [esp + 0x24]
push 0x10068c38
push ebp
push ebx
push dword [eax + 0x38]
call fcn.10010bd0
jmp 0x10024435
test ebx, ebx
jns 0x10024435
jmp 0x1002441b
mov ebx, 0x80070057
mov eax, dword [esp + 0x24]
push 0
push 0x10068c58
push ebx
mov eax, dword [eax + 0x38]
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.100105d0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x1002446d
cmp dword [eax], 0
jne 0x1002446d
cmp dword [esp + 0x34], 1
jne 0x1002446d
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x1002446d
mov edx, dword [edi]
test edx, edx
je 0x1002446d
mov eax, dword [0x1007a1e0]
test eax, eax
je 0x10024467
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x14]
mov dword [edi], 0
test ebx, ebx
jne 0x1002447e
cmp dword [esp + 0x2c], 1
mov eax, 0x40ec6
cmove ebx, eax
test esi, esi
je 0x10024489
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x40]
xor ecx, esp
call fcn.1003dba2
add esp, 0x50
ret 0x24