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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x4b0
mov eax, dword [0x10014010]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov esi, 0x103
push esi
xor edi, edi
lea eax, [ebp - 0x20b]
push edi
push eax
mov byte [ebp - 0x20c], 0
call fcn.10006e10
xor eax, eax
push 0x206
mov word [ebp - 0x414], ax
lea eax, [ebp - 0x412]
push edi
push eax
call fcn.10006e10
push esi
lea eax, [ebp - 0x107]
push edi
push eax
mov byte [ebp - 0x108], 0
call fcn.10006e10
add esp, 0x24
lea eax, [ebp - 0x414]
push eax
inc esi
push esi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
jne 0x10003a88
push edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10001470
push 0x1000145c
push 0xef
push 0x10001280
call fcn.100064d5
add esp, 0x18
xor eax, eax
jmp 0x10003c92
push esi
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
jne 0x10003ab3
push edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10001444
push 0x1000145c
push 0xf4
jmp 0x10003a74
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
test eax, eax
jne 0x10003add
push edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1000142c
push 0x1000145c
push 0xf9
jmp 0x10003a74
lea eax, [ebp - 0x4a8]
push eax
mov dword [ebx], edi
mov dword [ebx + 4], edi
mov dword [ebp - 0x4a8], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov edi, 0x1000145c
mov esi, 0x10001280
test eax, eax
jne 0x10003b28
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1000141c
push edi
push 0x107
push esi
call fcn.100064d5
add esp, 0x18
jmp 0x10003c65
cmp dword [ebp - 0x498], 2
jne 0x10003c44
cmp dword [ebp - 0x4a4], 4
jb 0x10003c65
jne 0x10003c3c
push 0x10001410
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x20c]
push eax
mov dword [ebx], 0x40002
call fcn.1000602f
test eax, eax
jne 0x10003b93
push 0x10001410
lea eax, [ebp - 0x108]
push eax
push 0x100013ec
push 0
push 0
push edi
push 0x121
push esi
call fcn.100064d5
add esp, 0x20
jmp 0x10003c65
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x4ac], eax
test eax, eax
jne 0x10003bc2
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x100013dc
push edi
push 0x12c
jmp 0x10003b1a
push 0x100013c8
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x4b0], eax
test eax, eax
jne 0x10003bff
lea eax, [ebp - 0x20c]
push eax
push 0x1000139c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x10001388
push edi
push 0x131
push esi
call fcn.100064d5
add esp, 0x1c
push dword [ebp - 0x4ac]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test eax, eax
jne 0x10003c2b
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1000124c
push edi
push 0x134
push esi
call fcn.100064d5
add esp, 0x18
cmp dword [ebp - 0x4b0], 0
je 0x10003c65
mov dword [ebx], 0x40003
jmp 0x10003c65
mov dword [ebx], 0x40006
jmp 0x10003c61
cmp word [ebp - 0x49c], 0x549
jbe 0x10003c5e
mov dword [ebx], 0x40005
mov dword [ebx + 4], 0x10000
jmp 0x10003c65
and dword [ebx], 0
and dword [ebx + 4], 0
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
test eax, eax
jne 0x10003c8f
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x1000142c
push edi
push 0x166
push esi
jmp 0x10003a79
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10006df2
leave
ret 4