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

Disassembly:
sub esp, 0x10
push ebx
push esi
push edi
mov esi, dword [sym.imp.KERNEL32.dll_LocalAlloc]
push ebp
push 0x104
push 0x40
call esi
mov dword [esp + 0x10], eax
test eax, eax
je 0x410c1e
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
push 0x104
push 0x40
call esi
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4109e2
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x10
ret
mov eax, dword [esp + 0x14]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push 0x118
push 0x40
call esi
mov ebp, eax
test ebp, ebp
jne 0x410a28
mov eax, dword [esp + 0x14]
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
push eax
call esi
mov ecx, dword [esp + 0x10]
push ecx
call esi
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x10
ret
push 0x118
push 0x40
call esi
mov edi, eax
push ebp
test edi, edi
jne 0x410a56
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
call esi
mov eax, dword [esp + 0x14]
push eax
call esi
mov eax, dword [esp + 0x10]
push eax
call esi
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x10
ret
push str.Crt.tmp
call fcn.00426700
mov dword [esp + 0x24], eax
add esp, 8
cmp eax, 0xffffffff
je 0x410bf9
test byte [ebp], 0x10
je 0x410bd6
lea ecx, [ebp + 0x14]
mov esi, 0x4413d4
mov edx, ecx
mov al, byte [edx]
cmp al, byte [esi]
jne 0x410aa4
or al, al
je 0x410aa0
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x410aa4
add edx, 2
add esi, 2
or al, al
jne 0x410a84
xor eax, eax
jmp 0x410aa9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x410bd6
mov edx, ecx
mov esi, 0x4413d8
mov al, byte [edx]
cmp al, byte [esi]
jne 0x410ad8
or al, al
je 0x410ad4
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x410ad8
add edx, 2
add esi, 2
or al, al
jne 0x410ab8
xor eax, eax
jmp 0x410add
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x410bd6
push ecx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
test eax, eax
je 0x410bd6
cmp dword [str.Mid.mid], 0
mov esi, 0x441398
je 0x410b15
mov eax, dword [esi]
add esi, 4
push eax
call fcn.00410c80
add esp, 4
cmp dword [esi], 0
jne 0x410b02
mov dword [esp + 0x18], 1
push edi
push 0x4413d0
call fcn.00426700
add esp, 8
mov esi, eax
cmp esi, 0xffffffff
je 0x410bbd
test byte [edi], 0x10
je 0x410bac
lea eax, [edi + 0x14]
mov ebx, 0x4413d4
mov edx, eax
mov cl, byte [edx]
cmp cl, byte [ebx]
jne 0x410b65
or cl, cl
je 0x410b61
mov cl, byte [edx + 1]
cmp cl, byte [ebx + 1]
jne 0x410b65
add edx, 2
add ebx, 2
or cl, cl
jne 0x410b45
xor ecx, ecx
jmp 0x410b6a
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x410b9c
mov edx, 0x4413d8
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x410b93
or cl, cl
je 0x410b8f
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x410b93
add eax, 2
add edx, 2
or cl, cl
jne 0x410b73
xor eax, eax
jmp 0x410b98
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x410bac
push edi
push esi
call fcn.00426850
add esp, 8
test eax, eax
je 0x410b36
jmp 0x410bb4
mov dword [esp + 0x18], 0
push esi
call fcn.00426990
add esp, 4
cmp dword [esp + 0x18], 0
je 0x410bcb
call fcn.00410c30
jmp 0x410bd6
push 0x4413d8
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov eax, dword [esp + 0x1c]
push ebp
push eax
call fcn.00426850
add esp, 8
test eax, eax
je 0x410a70
mov eax, dword [esp + 0x1c]
push eax
call fcn.00426990
add esp, 4
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push edi
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
call esi
push ebp
call esi
mov eax, dword [esp + 0x14]
push eax
call esi
mov eax, dword [esp + 0x10]
push eax
call esi
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x10
ret