Function at 0x10003f10
Capabilities:
Get common file path

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x10040426
push eax
mov eax, dword [esp + 0x10]
mov dword fs:[0], esp
sub esp, 0x220
push ebx
xor ebx, ebx
cmp eax, ebx
push edi
je 0x10004006
mov ecx, 0xc3
xor eax, eax
mov edi, 0x1004fad0
mov dword [0x10051080], ebx
rep stosd dword es:[edi], eax
mov ecx, 0xc3
mov edi, 0x1004fddc
rep stosd dword es:[edi], eax
mov ecx, 6
mov edi, 0x100500e8
rep stosd dword es:[edi], eax
mov ecx, 0x145
mov edi, 0x10050100
rep stosd dword es:[edi], eax
mov ecx, 0x295
mov edi, 0x10050614
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
xor eax, eax
mov dword [0x1005106c], eax
mov dword [0x10051070], eax
mov dword [0x10051074], eax
mov dword [0x10051078], eax
mov dword [0x1005107c], eax
lea ecx, [esp + 0xc]
call fcn.100325d2
lea ecx, [esp + 0xc]
mov dword [esp + 0x230], ebx
push ecx
call fcn.100048a0
mov eax, dword [esp + 0x18]
add esp, 4
cmp eax, ebx
jg 0x1000402a
push str.get_safebox_directory_failed_
push 2
push 0x1004b504
push 0x10051088
call fcn.100059c0
add esp, 0x10
lea ecx, [esp + 0xc]
mov dword [esp + 0x230], 0xffffffff
call fcn.10032605
pop edi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x220]
mov dword fs:[0], ecx
add esp, 0x22c
ret
cmp dword [0x10051080], ebx
je 0x10003f9b
pop edi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x220]
mov dword fs:[0], ecx
add esp, 0x22c
ret
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x21]
mov byte [esp + 0x20], 0
rep stosd dword es:[edi], eax
push ebp
push esi
stosw word es:[edi], ax
lea edx, [esp + 0x10]
push ebx
push edx
lea ecx, [esp + 0x1c]
stosb byte es:[edi], al
call fcn.100051f0
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x28]
push 0x104
push eax
push 0xffffffffffffffff
push ecx
mov byte [esp + 0x248], 1
call fcn.10001510
add esp, 0x10
lea edx, [esp + 0x28]
push edx
push str.get_safebox_directory_successful___s
push 2
push 0x1004b504
push 0x10051088
call fcn.100059c0
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x141]
mov byte [esp + 0x140], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
add esp, 0x14
stosb byte es:[edi], al
lea eax, [esp + 0x12c]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov esi, 0x1004b410
xor edi, edi
mov ecx, dword [esi]
lea edx, [esp + 0x28]
push ecx
push edx
lea eax, [edi + 0x1004fad0]
push str._s_s
push eax
call fcn.100070ff
mov ecx, dword [esi]
add esp, 0x10
lea edx, [esp + 0x12c]
lea eax, [edi + 0x1004fddc]
push ecx
push edx
push str._sOcular_s
push eax
call fcn.100070ff
add esi, 4
add esp, 0x10
add edi, 0x104
cmp esi, 0x1004b41c
jb 0x100040c4
mov ebp, 0x10050100
mov esi, 0x10050614
mov ecx, dword [ebx*4 + 0x1004b41c]
lea edx, [esp + 0x12c]
push ecx
push edx
push str._s_s
push ebp
call fcn.100070ff
push ebp
call fcn.1002edd2
mov ecx, 0x84
mov eax, 0x3b3b3b3b
mov edi, esi
mov dword [ebx*4 + 0x1005106c], 0
rep stosd dword es:[edi], eax
lea eax, [ebx*4 + 0x1005106c]
mov edi, ebp
push eax
lea eax, [esi + 8]
push 0x209
push eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esi], 0x3a
push ecx
mov byte [esi + 4], 0x3a
push ebp
mov byte [esi + 0x210], 0
call fcn.10004930
mov ecx, dword [ebx*4 + 0x1005106c]
add esp, 0x28
push ecx
push ebx
push str.amcrypt__d__d
push 2
push 0x1004b504
push 0x10051088
call fcn.100059c0
add esp, 0x18
add esi, 0x211
inc ebx
add ebp, 0x104
cmp esi, 0x10051069
jb 0x1000411a
mov esi, 1
lea ecx, [esp + 0x10]
mov dword [0x10051080], esi
mov dword [0x1004b430], esi
mov byte [esp + 0x238], 0
call fcn.10034b96
lea ecx, [esp + 0x14]
mov dword [esp + 0x238], 0xffffffff
call fcn.10032605
mov ecx, dword [esp + 0x230]
mov eax, esi
pop esi
pop ebp
pop edi
pop ebx
mov dword fs:[0], ecx
add esp, 0x22c
ret