Function at 0x434f00
Capabilities:
Get common file path
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x46b420
mov eax, dword fs:[0]
push eax
sub esp, 0x4c8
mov eax, dword [0x48d158]
xor eax, esp
mov dword [esp + 0x4c4], eax
push ebx
push esi
push edi
mov eax, dword [0x48d158]
xor eax, esp
push eax
lea eax, [esp + 0x4d8]
mov dword fs:[0], eax
push 0x48e9ec
call fcn.00443600
xor edi, edi
add esp, 4
cmp eax, edi
jl 0x4354fa
mov eax, dword [0x48e9ec]
lea edx, [esp + 0x18]
mov dword [esp + 0x18], edi
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
cmp dword [esp + 0x18], edi
je 0x4354f8
push 0x206
lea ecx, [esp + 0x2d2]
push edi
push ecx
mov word [esp + 0x2d8], di
call fcn.0044aed0
add esp, 0xc
lea ecx, [esp + 0x14]
call fcn.00406b63
mov dword [esp + 0x4e0], edi
lea ecx, [esp + 0x1c]
call fcn.00406b63
mov byte [esp + 0x4e0], 1
push 1
push 0x1a
lea edx, [esp + 0x2d4]
push edx
push edi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x43501a
push str.Spiritsofturlspirit
lea eax, [esp + 0x2d0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea ecx, [esp + 0x2cc]
push ecx
lea ecx, [esp + 0x18]
call fcn.00404a92
push str.bd.dat
lea ecx, [esp + 0x18]
call fcn.00413b8e
lea edx, [esp + 0x2cc]
push edx
lea ecx, [esp + 0x20]
call fcn.00404a92
push str.tcfg.dat
lea ecx, [esp + 0x20]
call fcn.00413b8e
jmp 0x435036
push str.bd.dat
lea ecx, [esp + 0x18]
call fcn.00404a92
push str.tcfg.dat
lea ecx, [esp + 0x20]
call fcn.00404a92
lea ecx, [esp + 0x19c]
call fcn.00423bdf
mov byte [esp + 0x4e0], 2
mov eax, dword [esp + 0x14]
push 0xfde9
push edi
push eax
lea ecx, [esp + 0x1a8]
call fcn.00424104
test al, al
mov ebx, 8
je 0x4350fe
mov dword [esp + 0x68], 7
mov dword [esp + 0x64], edi
mov word [esp + 0x54], di
mov byte [esp + 0x4e0], 3
push 0xa
lea ecx, [esp + 0x54]
push ecx
lea ecx, [esp + 0x1a4]
call fcn.00424706
test al, al
je 0x4350d2
mov edi, edi
cmp dword [esp + 0x68], ebx
mov ecx, dword [esp + 0x54]
jae 0x4350ae
lea ecx, [esp + 0x54]
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
push ecx
push eax
mov eax, dword [edx + 0x14]
call eax
push 0xa
lea ecx, [esp + 0x54]
push ecx
lea ecx, [esp + 0x1a4]
call fcn.00424706
test al, al
jne 0x4350a0
mov byte [esp + 0x4e0], 2
cmp dword [esp + 0x68], ebx
jb 0x4350ed
mov edx, dword [esp + 0x54]
push edx
call fcn.0044a283
add esp, 4
mov dword [esp + 0x68], 7
mov dword [esp + 0x64], edi
mov word [esp + 0x54], di
lea ecx, [esp + 0x6c]
call fcn.00423bdf
mov byte [esp + 0x4e0], 4
mov eax, dword [esp + 0x1c]
push 0xfde9
push edi
push eax
lea ecx, [esp + 0x78]
call fcn.00424104
test al, al
je 0x4354a0
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edi
mov byte [esp + 0x4e0], 5
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov byte [esp + 0x4e0], 6
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov byte [esp + 0x4e0], 7
mov dword [esp + 0x68], 7
mov dword [esp + 0x64], edi
mov word [esp + 0x54], di
mov byte [esp + 0x4e0], bl
push 0xa
lea ecx, [esp + 0x54]
push ecx
lea ecx, [esp + 0x74]
call fcn.00424706
push 0xa
lea edx, [esp + 0x54]
push edx
lea ecx, [esp + 0x74]
call fcn.00424706
test al, al
je 0x4353ab
mov esi, dword [sym.imp.SHLWAPI.dll_StrCmpNIW]
lea ecx, [ecx]
cmp dword [esp + 0x68], ebx
mov eax, dword [esp + 0x54]
jae 0x4351be
lea eax, [esp + 0x54]
push 4
push str.ext
push eax
call esi
test eax, eax
jne 0x4351ef
cmp dword [esp + 0x68], ebx
mov ecx, dword [esp + 0x54]
jae 0x4351da
lea ecx, [esp + 0x54]
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
add ecx, 8
push ecx
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x435393
cmp dword [esp + 0x68], ebx
mov eax, dword [esp + 0x54]
jae 0x4351fd
lea eax, [esp + 0x54]
push 3
push 0x47445c
push eax
call esi
test eax, eax
jne 0x43522d
cmp dword [esp + 0x68], ebx
mov ecx, dword [esp + 0x54]
jae 0x435219
lea ecx, [esp + 0x54]
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
add ecx, 6
push ecx
push eax
mov eax, dword [edx]
call eax
jmp 0x435393
cmp dword [esp + 0x68], ebx
mov eax, dword [esp + 0x54]
jae 0x43523b
lea eax, [esp + 0x54]
push 4
push str.nsh
push eax
call esi
test eax, eax
mov eax, dword [esp + 0x54]
jne 0x43528b
cmp dword [esp + 0x68], ebx
jae 0x435257
lea eax, [esp + 0x54]
add eax, 8
push eax
lea ecx, [esp + 0x24]
call fcn.00404f7e
mov byte [esp + 0x4e0], 9
lea ecx, [esp + 0x20]
push ecx
mov ecx, 0x48ea6c
call fcn.00425474
mov byte [esp + 0x4e0], bl
lea ecx, [esp + 0x20]
jmp 0x43538e
cmp dword [esp + 0x68], ebx
jae 0x435295
lea eax, [esp + 0x54]
push 4
push str.std
push eax
call esi
test eax, eax
mov eax, dword [esp + 0x54]
jne 0x4352e4
cmp dword [esp + 0x68], ebx
jae 0x4352b1
lea eax, [esp + 0x54]
add eax, 8
push eax
lea ecx, [esp + 0x2c]
call fcn.00404f7e
mov byte [esp + 0x4e0], 0xa
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0x48]
call fcn.00425474
mov byte [esp + 0x4e0], bl
lea ecx, [esp + 0x28]
jmp 0x43538e
cmp dword [esp + 0x68], ebx
jae 0x4352ee
lea eax, [esp + 0x54]
push 4
push str.dvf
push eax
call esi
test eax, eax
mov eax, dword [esp + 0x54]
jne 0x43533a
cmp dword [esp + 0x68], ebx
jae 0x43530a
lea eax, [esp + 0x54]
add eax, 8
push eax
lea ecx, [esp + 0x28]
call fcn.00404f7e
mov byte [esp + 0x4e0], 0xb
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x3c]
call fcn.00425474
mov byte [esp + 0x4e0], bl
lea ecx, [esp + 0x24]
jmp 0x43538e
cmp dword [esp + 0x68], ebx
jae 0x435344
lea eax, [esp + 0x54]
push 4
push 0x47442c
push eax
call esi
test eax, eax
jne 0x435393
cmp dword [esp + 0x68], ebx
mov eax, dword [esp + 0x54]
jae 0x435360
lea eax, [esp + 0x54]
add eax, 8
push eax
lea ecx, [esp + 0x14]
call fcn.00404f7e
mov byte [esp + 0x4e0], 0xc
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x30]
call fcn.00425474
mov byte [esp + 0x4e0], bl
lea ecx, [esp + 0x10]
call fcn.00402578
push 0xa
lea edx, [esp + 0x54]
push edx
lea ecx, [esp + 0x74]
call fcn.00424706
test al, al
jne 0x4351b0
cmp dword [esp + 0x48], edi
jle 0x4353dd
sub esp, 0xc
lea eax, [esp + 0x50]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00434e80
mov byte [esp + 0x4ec], 0xd
mov byte [esp + 0x4ec], bl
mov ecx, 0x48e968
call fcn.00431e10
cmp dword [esp + 0x3c], edi
jle 0x43540f
sub esp, 0xc
lea edx, [esp + 0x44]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.00434e80
mov byte [esp + 0x4ec], 0xe
mov byte [esp + 0x4ec], bl
mov ecx, 0x48e968
call fcn.00432950
cmp dword [esp + 0x30], edi
jle 0x435441
sub esp, 0xc
lea eax, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.00434e80
mov byte [esp + 0x4ec], 0xf
mov byte [esp + 0x4ec], bl
mov ecx, 0x48e968
call fcn.004329b0
mov byte [esp + 0x4e0], 7
cmp dword [esp + 0x68], ebx
jb 0x43545c
mov ecx, dword [esp + 0x54]
push ecx
call fcn.0044a283
add esp, 4
mov dword [esp + 0x68], 7
mov dword [esp + 0x64], edi
mov word [esp + 0x54], di
mov byte [esp + 0x4e0], 6
lea ecx, [esp + 0x2c]
call fcn.004252fe
mov byte [esp + 0x4e0], 5
lea ecx, [esp + 0x38]
call fcn.004252fe
mov byte [esp + 0x4e0], 4
lea ecx, [esp + 0x44]
call fcn.004252fe
mov eax, dword [0x48e9ec]
mov edx, dword [eax]
push edi
push eax
mov eax, dword [edx + 0x10]
call eax
mov byte [esp + 0x4e0], 2
lea ecx, [esp + 0x6c]
call fcn.00423c18
mov byte [esp + 0x4e0], 1
lea ecx, [esp + 0x19c]
call fcn.00423c18
mov byte [esp + 0x4e0], 0
lea ecx, [esp + 0x1c]
call fcn.00402c10
mov dword [esp + 0x4e0], 0xffffffff
lea ecx, [esp + 0x14]
call fcn.00402c10
xor eax, eax
mov ecx, dword [esp + 0x4d8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4c4]
xor ecx, esp
call fcn.0044adf7
add esp, 0x4d4
ret