Function at 0x404070
Capabilities:
Link many functions at runtime

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 4]
test eax, eax
jne 0x404080
xor eax, eax
pop esi
ret 4
push ebx
mov ebx, dword [esp + 0xc]
push ebp
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebp, 1
test bl, 2
je 0x4040ab
mov eax, dword [esi + 8]
push str.RpcGetUserListSize
push eax
call edi
test eax, eax
mov dword [esi + 0x1c], eax
jne 0x4040ab
xor ebp, ebp
test bl, 4
je 0x4040c4
mov ecx, dword [esi + 8]
push str.RpcGetUserList
push ecx
call edi
test eax, eax
mov dword [esi + 0x20], eax
jne 0x4040c4
xor ebp, ebp
test bl, 8
je 0x4040dd
mov edx, dword [esi + 8]
push str.RpcIsValidUser
push edx
call edi
test eax, eax
mov dword [esi + 0x24], eax
jne 0x4040dd
xor ebp, ebp
test bl, 0x10
je 0x4040f6
mov eax, dword [esi + 8]
push str.RpcGetUserName
push eax
call edi
test eax, eax
mov dword [esi + 0x28], eax
jne 0x4040f6
xor ebp, ebp
test bl, 0x20
je 0x40410f
mov ecx, dword [esi + 8]
push str.RpcSetCurrentUser
push ecx
call edi
test eax, eax
mov dword [esi + 0x2c], eax
jne 0x40410f
xor ebp, ebp
test bl, 0x40
je 0x404128
mov edx, dword [esi + 8]
push str.RpcGetCurrentUser
push edx
call edi
test eax, eax
mov dword [esi + 0x30], eax
jne 0x404128
xor ebp, ebp
test bl, 0x80
je 0x404141
mov eax, dword [esi + 8]
push str.RpcInitCurrentUser
push eax
call edi
test eax, eax
mov dword [esi + 0x34], eax
jne 0x404141
xor ebp, ebp
test bh, 1
je 0x40415a
mov ecx, dword [esi + 8]
push str.RpcIsExistUser
push ecx
call edi
test eax, eax
mov dword [esi + 0x38], eax
jne 0x40415a
xor ebp, ebp
test bh, 2
je 0x404173
mov edx, dword [esi + 8]
push str.RpcDelUser
push edx
call edi
test eax, eax
mov dword [esi + 0x3c], eax
jne 0x404173
xor ebp, ebp
test bh, 4
je 0x40418c
mov eax, dword [esi + 8]
push str.RpcGetPassword
push eax
call edi
test eax, eax
mov dword [esi + 0x40], eax
jne 0x40418c
xor ebp, ebp
test bh, 8
je 0x4041a5
mov ecx, dword [esi + 8]
push str.RpcSetPassword
push ecx
call edi
test eax, eax
mov dword [esi + 0x44], eax
jne 0x4041a5
xor ebp, ebp
test bh, 0x10
je 0x4041be
mov edx, dword [esi + 8]
push str.RpcIsPasswordExpire
push edx
call edi
test eax, eax
mov dword [esi + 0x48], eax
jne 0x4041be
xor ebp, ebp
test bh, 0x20
je 0x4041d7
mov eax, dword [esi + 8]
push str.RpcIsMainUser
push eax
call edi
test eax, eax
mov dword [esi + 0x4c], eax
jne 0x4041d7
xor ebp, ebp
test bh, 0x40
je 0x4041f0
mov ecx, dword [esi + 8]
push str.RpcWriteProfile
push ecx
call edi
test eax, eax
mov dword [esi + 0x50], eax
jne 0x4041f0
xor ebp, ebp
test bh, 0x80
je 0x404209
mov edx, dword [esi + 8]
push str.RpcReplaceUserProfile
push edx
call edi
test eax, eax
mov dword [esi + 0x54], eax
jne 0x404209
xor ebp, ebp
test ebx, 0x10000
je 0x404225
mov eax, dword [esi + 8]
push str.RpcSetCurrentUserEx
push eax
call edi
test eax, eax
mov dword [esi + 0x58], eax
jne 0x404225
xor ebp, ebp
test ebx, 0x20000
je 0x404241
mov ecx, dword [esi + 8]
push str.RpcGetMainUserList
push ecx
call edi
test eax, eax
mov dword [esi + 0x5c], eax
jne 0x404241
xor ebp, ebp
test ebx, 0x40000
je 0x40425d
mov edx, dword [esi + 8]
push str.RpcSetModuleUpdate
push edx
call edi
test eax, eax
mov dword [esi + 0x60], eax
jne 0x40425d
xor ebp, ebp
test ebx, 0x80000
je 0x404279
mov eax, dword [esi + 8]
push str.RpcSvrShutDown
push eax
call edi
test eax, eax
mov dword [esi + 0x64], eax
jne 0x404279
xor ebp, ebp
mov eax, ebp
pop edi
pop ebp
pop ebx
pop esi
ret 4