Function at 0x403c50
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 0x14], ecx
push str.___Getting_Edge_info
push 3
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], edi
call fcn.00408d60
add esp, 8
cmp dword [0x4db438], edi
jne 0x403dde
push str.vaultcli.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [0x4db438], eax
test eax, eax
jne 0x403cbb
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Cannot_open_the_vault_lib:0x_X
push 1
call fcn.00408d60
add esp, 0xc
jmp 0x403dde
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.VaultEnumerateVaults
push eax
call esi
mov dword [0x4db448], eax
test eax, eax
jne 0x403ced
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_loading_functions1:0x_X
push 1
call fcn.00408d60
add esp, 0xc
jmp 0x403dde
push str.VaultOpenVault
push dword [0x4db438]
call esi
mov dword [0x4db43c], eax
test eax, eax
jne 0x403d1e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_loading_functions2:0x_X
push 1
call fcn.00408d60
add esp, 0xc
jmp 0x403dde
push str.VaultCloseVault
push dword [0x4db438]
call esi
mov dword [0x4db444], eax
test eax, eax
jne 0x403d4f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_loading_functions3:0x_X
push 1
call fcn.00408d60
add esp, 0xc
jmp 0x403dde
push str.VaultEnumerateItems
push dword [0x4db438]
call esi
mov dword [0x4db44c], eax
test eax, eax
jne 0x403d7d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_loading_functions4:0x_X
push 1
call fcn.00408d60
add esp, 0xc
jmp 0x403dde
push str.VaultFree
push dword [0x4db438]
call esi
mov dword [0x4db440], eax
test eax, eax
jne 0x403dab
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_loading_functions5:0x_X
push 1
call fcn.00408d60
add esp, 0xc
jmp 0x403dde
push str.VaultGetItem
push dword [0x4db438]
call esi
mov dword [0x4db450], eax
test eax, eax
jne 0x403dd9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_loading_functions6:0x_X
push 1
call fcn.00408d60
add esp, 0xc
jmp 0x403dde
mov dword [0x4db454], eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 8]
push eax
push 0
call dword [0x4db448]
test eax, eax
jns 0x403e04
push eax
push str.Could_not_enumerate_vaults:0x_X
push 1
call fcn.00408d60
jmp 0x403e97
mov eax, dword [ebp - 8]
xor ebx, ebx
test eax, eax
je 0x403e85
xor edi, edi
nop
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 0xc]
push 0
add eax, edi
push eax
call dword [0x4db43c]
test eax, eax
jns 0x403e2e
push eax
push str.Could_not_open_vault:0x_X
jmp 0x403e70
mov edx, dword [ebp - 0xc]
mov ecx, 0x4d9a60
add edx, edi
mov esi, 0xc
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x403e5c
add ecx, 4
add edx, 4
sub esi, 4
jae 0x403e40
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
call fcn.00403270
lea eax, [ebp - 0x10]
push eax
call dword [0x4db444]
test eax, eax
jns 0x403e7a
push eax
push str.Could_not_close_vault:0x_X
push 1
call fcn.00408d60
add esp, 0xc
mov eax, dword [ebp - 8]
inc ebx
add edi, 0x10
cmp ebx, eax
jb 0x403e10
push eax
push str.Retrieved__d_vaults
push 3
call fcn.00408d60
mov edi, 1
add esp, 0xc
push str.Getting_Edge_info___
push 3
call fcn.00408d60
mov ecx, dword [ebp - 4]
add esp, 8
mov eax, edi
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.004ac4d4
mov esp, ebp
pop ebp
ret