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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword [0x1059584c]
sub esp, 0xb1c
mov ecx, eax
inc eax
mov dword [0x1059584c], eax
push ebx
push esi
push edi
test ecx, ecx
jne 0x1000db3a
call fcn.1006aa70
push 0x103d71d5
push 0xc
call fcn.10269fcd
mov esi, eax
add esp, 8
test esi, esi
je 0x1000db30
push 0x18
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.10269f9d
add esp, 4
mov dword [0x10595848], esi
mov dword [eax], eax
push 0
push 0
push 0
push 0
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
push 0
mov dword [esi], eax
push 0x10011220
mov dword [esi + 8], 0
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x1001f180
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x100236d0
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x100205f0
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x10025f50
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x1001fd90
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x10026150
call fcn.1000d420
push 0x103e69c4
push 0x103e69c8
push str.Portable_Bitmap__ASCII_
push 0x103e69e4
push 0
push 0x1002d570
call fcn.1000d420
push 0x103e69e8
push 0x103e69c8
push str.Portable_Bitmap__RAW_
push str.PBMRAW
push 0
push 0x1002d570
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x10026930
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x100274d0
call fcn.1000d420
push 0x103e6a0c
push 0x103e6a10
push str.Portable_Greymap__ASCII_
push 0x103e6a30
push 0
push 0x1002d570
call fcn.1000d420
push 0x103e6a34
push 0x103e6a10
push str.Portable_Greymap__RAW_
push str.PGMRAW
push 0
push 0x1002d570
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x1002bf20
call fcn.1000d420
push 0x103e6a58
push 0x103e6a5c
push str.Portable_Pixelmap__ASCII_
push 0x103e6a7c
push 0
push 0x1002d570
call fcn.1000d420
push 0x103e6a80
push 0x103e6a5c
push str.Portable_Pixelmap__RAW_
push str.PPMRAW
push 0
push 0x1002d570
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x1002e270
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x10033800
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x10038cf0
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x10039330
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x1002d850
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x100118d0
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x1003acb0
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x1003c060
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x10012780
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x1001bde0
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x1001dc90
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x10018ad0
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x10030e90
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x10016450
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x100203b0
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x10020c60
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x100280f0
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x1002a300
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x10030620
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x1003a3e0
call fcn.1000d420
push 0
push 0
push 0
push 0
push 0
push 0x10025ad0
call fcn.1000d420
cmp dword [ebp + 8], 0
jne 0x1000db3a
lea eax, [esp + 0x718]
mov dword [esp + 0xc], 0
push eax
push 0x208
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x1000da11
push 0x208
lea eax, [esp + 0x30c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x1000da11
lea eax, [esp + 0x308]
push 0x5c
push eax
call fcn.1026bdab
add esp, 8
test eax, eax
je 0x1000da11
xor ecx, ecx
mov word [eax], cx
lea eax, [esp + 0x308]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov dword [esp + 0xc], eax
mov edi, 0x103e4984
mov ecx, dword [edi]
lea edx, [esp + 0x10]
sub edx, ecx
nop
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x1000da20
lea ecx, [esp + 0x10]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x1000da32
mov eax, dword [str..fip]
mov dword [ecx], eax
mov ax, word [0x103e6aa8]
mov word [ecx + 4], ax
lea eax, [esp + 0x1e0]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.10278178
mov ebx, eax
add esp, 8
cmp ebx, 0xffffffff
je 0x1000db03
nop dword [eax]
mov ecx, dword [edi]
lea edx, [esp + 0x10]
sub edx, ecx
nop dword [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x1000da80
push 0x1cc
lea eax, [esp + 0x208]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.10278200
add esp, 0xc
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x1000dae0
push str._Init_8
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x1000dad9
push 0
push 0
push 0
push 0
push esi
push eax
call fcn.1000d420
jmp 0x1000dae0
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea eax, [esp + 0x1e0]
push eax
push ebx
call fcn.10278193
add esp, 8
cmp eax, 0xffffffff
jne 0x1000da70
push ebx
call fcn.10278152
add esp, 4
add edi, 4
cmp edi, 0x103e498c
jl 0x1000da16
cmp dword [esp + 0xc], 0
je 0x1000db3a
lea eax, [esp + 0x718]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov dword [0x10595848], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4