Function at 0x405300
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x640
mov eax, dword [0x435ad8]
xor eax, esp
mov dword [esp + 0x63c], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
xor ebx, ebx
push 0x104
lea ecx, [esp + 0x32d]
push ebx
push ecx
mov dword [esp + 0x14], eax
mov byte [esp + 0x334], bl
call fcn.00418020
add esp, 0xc
push 0x104
lea edx, [esp + 0x53d]
push ebx
push edx
mov byte [esp + 0x544], bl
call fcn.00418020
add esp, 0xc
push 0x104
lea eax, [esp + 0x435]
push ebx
push eax
mov byte [esp + 0x43c], bl
call fcn.00418020
add esp, 0xc
push 0x208
lea ecx, [esp + 0x15]
push ebx
push ecx
mov byte [esp + 0x1c], bl
call fcn.00418020
add esp, 0xc
push 0x104
lea edx, [esp + 0x225]
push ebx
push edx
mov byte [esp + 0x22c], bl
call fcn.00418020
add esp, 0xc
push 0x104
lea eax, [esp + 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push str.IsWow64Process
push str.kernel32
mov dword [esp + 0x14], ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
cmp esi, ebx
je 0x4053fc
lea ecx, [esp + 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
test eax, eax
je 0x4053fc
cmp dword [esp + 0xc], ebx
jne 0x405419
call fcn.00407c20
test eax, eax
jne 0x405419
push str.Program_Files
push 0x101
lea edx, [esp + 0x22b]
push edx
jmp 0x40542b
push str.Program_Files__X86_
push 0x101
lea eax, [esp + 0x22b]
push eax
call fcn.00414d9f
add esp, 0xc
lea ecx, [esp + 0x220]
push ecx
push str._siniLINECrossEXcrossex_rootCA.crt
lea edx, [esp + 0x330]
call fcn.00406160
lea edx, [esp + 0x330]
push edx
call fcn.00407080
add esp, 0xc
test eax, eax
jne 0x40548b
cmp dword [ebp + 8], ebx
jne 0x4055fe
push ebx
push ebx
push str.rootCA.crt
call fcn.0040821a
pop esi
pop ebx
mov ecx, dword [esp + 0x63c]
xor ecx, esp
call fcn.004149ab
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [edi + 0x20]
push eax
lea ecx, [esp + 0x53c]
push 0x104
push ecx
call fcn.00414d2e
add esp, 0xc
push str.CT_C_C_
lea edx, [esp + 0x434]
push 0x104
push edx
call fcn.00414d2e
mov eax, dword [edi + 0x1c]
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
push 0x208
push ecx
call fcn.00414d9f
add esp, 0xc
push str.__A__d
lea edx, [esp + 0x14]
push 0x208
push edx
call fcn.00414d2e
add esp, 0xc
cmp dword [ebp + 0x10], ebx
je 0x405501
push str.sql:_
push 0x208
lea eax, [esp + 0x18]
push eax
jmp 0x405510
push 0x42f750
push 0x208
lea ecx, [esp + 0x18]
push ecx
call fcn.00414d2e
mov edx, dword [esp + 0x14]
add esp, 0xc
push edx
lea eax, [esp + 0x14]
push 0x208
push eax
call fcn.00414d2e
add esp, 0xc
push str.___i__
lea ecx, [esp + 0x14]
push 0x208
push ecx
call fcn.00414d2e
add esp, 0xc
lea edx, [esp + 0x328]
push edx
lea eax, [esp + 0x14]
push 0x208
push eax
call fcn.00414d2e
add esp, 0xc
push str.___n__
lea ecx, [esp + 0x14]
push 0x208
push ecx
call fcn.00414d2e
add esp, 0xc
lea edx, [esp + 0x538]
push edx
lea eax, [esp + 0x14]
push 0x208
push eax
call fcn.00414d2e
add esp, 0xc
push str.___t__
lea ecx, [esp + 0x14]
push 0x208
push ecx
call fcn.00414d2e
add esp, 0xc
lea edx, [esp + 0x430]
push edx
lea eax, [esp + 0x14]
push 0x208
push eax
call fcn.00414d2e
add esp, 8
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0xc], esp
push edx
call fcn.00406920
lea ecx, [esp + 0xc]
call fcn.004070f0
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
add esp, 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4055fe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x644]
pop esi
pop ebx
xor ecx, esp
call fcn.004149ab
mov esp, ebp
pop ebp
ret 0xc