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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword [0x1054e288]
sub esp, 0xb1c
mov ecx, eax
inc eax
mov dword [0x1054e288], eax
push ebx
push esi
push edi
test ecx, ecx
jne 0x1000c0f7
call fcn.10052d70
push 0x1054d4d8
push 0xc
call fcn.101dc623
add esp, 8
test eax, eax
je 0x1000bc35
mov ecx, eax
call fcn.1000b800
jmp 0x1000bc37
xor eax, eax
mov dword [0x1054e28c], eax
test eax, eax
je 0x1000c0f7
push 0
push 0
push 0
push 0
push 0
push 0x1000ef90
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x1001b4d0
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x1001eb50
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x1001c660
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x10020d00
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x1001be80
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x10020ec0
call fcn.1000b830
push 0x10392eb4
push 0x10392eb8
push str.Portable_Bitmap__ASCII_
push 0x10392ed4
push 0
push 0x100266e0
call fcn.1000b830
push 0x10392ed8
push 0x10392eb8
push str.Portable_Bitmap__RAW_
push str.PBMRAW
push 0
push 0x100266e0
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x100213f0
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x10021cd0
call fcn.1000b830
push 0x10392efc
push 0x10392f00
push str.Portable_Greymap__ASCII_
push 0x10392f20
push 0
push 0x100266e0
call fcn.1000b830
push 0x10392f24
push 0x10392f00
push str.Portable_Greymap__RAW_
push str.PGMRAW
push 0
push 0x100266e0
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x10025240
call fcn.1000b830
push 0x10392f48
push 0x10392f4c
push str.Portable_Pixelmap__ASCII_
push 0x10392f6c
push 0
push 0x100266e0
call fcn.1000b830
push 0x10392f70
push 0x10392f4c
push str.Portable_Pixelmap__RAW_
push str.PPMRAW
push 0
push 0x100266e0
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x10027120
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x1002a360
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x1002e4e0
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x1002ea60
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x100268a0
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x1000f360
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x10030010
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x100310b0
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x1000fa30
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x10018780
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x1001a780
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x10016080
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x10028b30
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x10013250
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x1001c460
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x1001cc80
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x10022550
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x10023d30
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x10028480
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x1002f7e0
call fcn.1000b830
push 0
push 0
push 0
push 0
push 0
push 0x10020a00
call fcn.1000b830
cmp dword [ebp + 8], 0
jne 0x1000c0f7
lea eax, [esp + 0x718]
mov dword [esp + 0xc], 0
push eax
push 0x208
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x1000bfdf
push 0x208
lea eax, [esp + 0x30c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x1000bfdf
lea eax, [esp + 0x308]
push 0x5c
push eax
call fcn.101df252
add esp, 8
test eax, eax
je 0x1000bfdf
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, 0x10388148
mov ecx, dword [edi]
lea edx, [esp + 0x10]
sub edx, ecx
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x1000bff0
lea ecx, [esp + 0x10]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x1000c002
mov eax, dword [str..fip]
mov dword [ecx], eax
mov ax, word [0x10392f98]
mov word [ecx + 4], ax
lea eax, [esp + 0x1e0]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.101e8c51
mov ebx, eax
add esp, 8
cmp ebx, 0xffffffff
je 0x1000c0d3
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 0x1000c050
push 0x1cc
lea eax, [esp + 0x208]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.101e8cc0
add esp, 0xc
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x1000c0b0
push str._Init_8
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x1000c0a9
push 0
push 0
push 0
push 0
push esi
push eax
call fcn.1000b830
jmp 0x1000c0b0
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea eax, [esp + 0x1e0]
push eax
push ebx
call fcn.101e8c5c
add esp, 8
cmp eax, 0xffffffff
jne 0x1000c040
push ebx
call fcn.101e8c2b
add esp, 4
add edi, 4
cmp edi, 0x10388150
jl 0x1000bfe4
cmp dword [esp + 0xc], 0
je 0x1000c0f7
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