Function at 0x401a90
Capabilities:
Link many functions at runtime
Rebuild import table
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x200
lea eax, [esp + 0x100]
push ebx
push eax
call fcn.00401790
mov ebx, dword [esp + 0x210]
add esp, 4
xor edx, edx
mov eax, 0x4122c8
cmp dword [eax], ebx
je 0x401ad1
add eax, 0x24
inc edx
cmp eax, 0x4125bc
jl 0x401ab5
mov eax, 2
pop ebx
add esp, 0x200
ret
push ebp
push esi
push edi
or ecx, 0xffffffff
lea edi, [esp + 0x110]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea ebp, [esp + 0x10]
mov eax, ecx
mov esi, edi
shr ecx, 2
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [edx + edx*8]
lea edx, [esp + 0x10]
lea edi, [ecx*4 + str.grouphost]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea edx, [esp + 0x10]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str..dll
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea eax, [esp + 0x10]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, dword [esp + 0x214]
mov edi, eax
push str.DB_CreateTable
push edi
mov dword [esi + 0x7c], ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x78], edi
call ebx
push str.DB_OpenDBTable
push edi
mov dword [esi], eax
call ebx
push str.DB_SaveDBTable
push edi
mov dword [esi + 4], eax
call ebx
push str.DB_BackupDBTable
push edi
mov dword [esi + 8], eax
call ebx
mov dword [esi + 0xc], eax
push str.DB_CloseDBTable
push edi
call ebx
push str.DB_SetDBRecordLimit
push edi
mov dword [esi + 0x10], eax
call ebx
push str.DB_CheckDBRecord
push edi
mov dword [esi + 0x14], eax
call ebx
push str.DB_CheckUniqueExist
push edi
mov dword [esi + 0x18], eax
call ebx
push str.DB_CheckExistDBRecord
push edi
mov dword [esi + 0x1c], eax
call ebx
push str.DB_InsertDBTable
push edi
mov dword [esi + 0x20], eax
call ebx
push str.DB_GetDBColumnIndex
push edi
mov dword [esi + 0x28], eax
call ebx
push str.DB_DeleteDBTable
push edi
mov dword [esi + 0x24], eax
call ebx
push str.DB_UpdateDBTable
push edi
mov dword [esi + 0x2c], eax
call ebx
push str.DB_UpdateDBTableEx
push edi
mov dword [esi + 0x30], eax
call ebx
push str.DB_GetRecordLen
push edi
mov dword [esi + 0x34], eax
call ebx
push str.DB_GetCount
push edi
mov dword [esi + 0x40], eax
call ebx
push str.DB_GetRecordNum
push edi
mov dword [esi + 0x38], eax
call ebx
push str.DB_GetOneDBRecord
push edi
mov dword [esi + 0x3c], eax
call ebx
push str.DB_GetOneDBRecordByCondition
push edi
mov dword [esi + 0x44], eax
call ebx
push str.DB_GetOneDBRecordByIndex
push edi
mov dword [esi + 0x48], eax
call ebx
push str.DB_FetchOneRecord
push edi
mov dword [esi + 0x4c], eax
call ebx
push str.DB_GetDBRecords
push edi
mov dword [esi + 0x50], eax
call ebx
push str.DB_FetchDBRecord
push edi
mov dword [esi + 0x54], eax
call ebx
push str.DB_GetLogDBRecord
push edi
mov dword [esi + 0x60], eax
call ebx
push str.DB_SetDBCursor
mov dword [esi + 0x64], eax
push edi
call ebx
push str.DB_SetRecordPos
push edi
mov dword [esi + 0x58], eax
call ebx
push str.DB_GetColumnName
push edi
mov dword [esi + 0x5c], eax
call ebx
push str.DB_ClearRecords
push edi
mov dword [esi + 0x68], eax
call ebx
push str.DB_CutRecords
push edi
mov dword [esi + 0x6c], eax
call ebx
push str.DB_BuildAsyncTree
push edi
mov dword [esi + 0x70], eax
call ebx
mov dword [esi + 0x74], eax
lea eax, [esi + 0x1f4]
pop edi
pop esi
mov ecx, 0xa
pop ebp
mov dword [eax], 0xffffffff
add eax, 0x150
dec ecx
jne 0x401cd2
mov eax, 1
pop ebx
add esp, 0x200
ret