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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x38
push ebx
mov ebx, dword [ebp + 0x14]
push esi
push edi
xor edi, edi
lea eax, [ebp - 0x28]
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x34], edi
mov dword [section..data], 0x191
push eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x38], edi
mov dword [ebx], edi
call fcn.01031307
mov esi, eax
cmp esi, edi
jge 0x102826e
push esi
push 0x2c8
jmp 0x1028784
push 0x208
push edi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0x18], eax
cmp eax, edi
jne 0x1028298
mov esi, 0x8007000e
push esi
push 0x2ca
jmp 0x1028784
lea eax, [ebp - 8]
push eax
push dword [ebp + 8]
call fcn.01025f12
mov esi, eax
cmp esi, edi
jge 0x10282b5
push esi
push 0x2cd
jmp 0x1028784
push dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
add eax, 0x8c
push eax
call fcn.0101453d
mov esi, eax
cmp esi, edi
jge 0x10282d7
push esi
push 0x2d0
jmp 0x1028784
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 8]
call fcn.01014986
mov esi, eax
cmp esi, edi
jge 0x10282f4
push esi
push 0x2d3
jmp 0x1028784
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
lea edx, [ebp - 4]
push edx
push 0x10078e8
push eax
call dword [ecx + 0x94]
mov esi, eax
cmp esi, edi
jge 0x102831a
push esi
push 0x2d6
jmp 0x1028784
jne 0x1028343
push dword [ebp - 0x10]
mov ecx, dword [ebp - 0x1c]
call fcn.010264b7
mov esi, eax
cmp esi, edi
jge 0x1028338
push esi
push 0x2d9
jmp 0x1028784
mov dword [ebx], 1
jmp 0x102879c
mov eax, dword [ebp - 4]
cmp eax, edi
je 0x1028353
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], edi
push 0x10078b0
mov ebx, 0x104
push ebx
push dword [ebp - 0x18]
call fcn.0102ef8f
mov esi, eax
cmp esi, edi
jge 0x1028377
push esi
push 0x2e4
jmp 0x1028784
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x18]
call fcn.01025f12
mov esi, eax
cmp esi, edi
jge 0x1028394
push esi
push 0x2e7
jmp 0x1028784
lea eax, [ebp - 0x34]
push eax
push ebx
push dword [ebp - 0x20]
call fcn.0101420b
mov esi, eax
cmp esi, edi
jge 0x10283b2
push esi
push 0x2ed
jmp 0x1028784
mov eax, dword [ebp - 0x34]
dec eax
push eax
push dword [ebp - 0x20]
push dword [ebp + 8]
call dword [sym.imp.msvcrt.dll__wcsnicmp]
mov ebx, dword [ebp - 0x1c]
add esp, 0xc
neg eax
sbb eax, eax
inc eax
mov dword [ebx + 4], eax
cmp dword [ebp + 0xc], edi
je 0x10283ea
cmp eax, edi
jne 0x10283ea
mov esi, 0x80070005
push esi
push 0x2f3
jmp 0x1028784
cmp dword [ebp - 8], edi
je 0x1028403
push dword [ebp - 8]
push edi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [ebp - 8], edi
push 0x1007828
push dword [ebp - 0x10]
call fcn.01015245
mov esi, eax
cmp esi, edi
jge 0x1028421
push esi
push 0x2fd
jmp 0x1028784
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
lea edx, [ebp - 4]
push edx
push 0x10077b8
push eax
call dword [ecx + 0x94]
mov esi, eax
cmp esi, edi
jge 0x1028447
push esi
push 0x303
jmp 0x1028784
jne 0x1028450
mov dword [ebx + 0x24], 1
mov eax, dword [ebp - 4]
cmp eax, edi
je 0x1028460
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], edi
cmp dword [ebp + 0x10], edi
je 0x1028480
push dword [ebp - 0x10]
mov ecx, ebx
call fcn.0102682e
mov esi, eax
cmp esi, edi
jge 0x1028480
push esi
push 0x30f
jmp 0x1028784
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
lea edx, [ebp - 0x14]
push edx
push 0x1007740
push eax
call dword [ecx + 0x90]
mov esi, eax
cmp esi, edi
jge 0x10284a6
push esi
push 0x316
jmp 0x1028784
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
lea edx, [ebp - 0x24]
push edx
push eax
call dword [ecx + 0x20]
mov esi, eax
cmp esi, edi
jge 0x10284c4
push esi
push 0x319
jmp 0x1028784
cmp dword [ebp - 0x24], edi
je 0x102873f
push 0x208
push edi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0x30], eax
cmp eax, edi
jne 0x10284f7
mov esi, 0x8007000e
push esi
push 0x320
jmp 0x1028784
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
jne 0x102852c
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, edi
jle 0x102851b
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
cmp esi, edi
jge 0x102852c
push esi
push 0x323
jmp 0x1028784
push dword [ebp + 8]
mov ecx, ebx
call fcn.0102812d
mov esi, eax
cmp esi, edi
jge 0x1028547
push esi
push 0x326
jmp 0x1028784
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x24]
mov dword [ebp - 0x38], 1
call fcn.01015dfa
mov esi, eax
cmp esi, edi
jge 0x102856b
push esi
push 0x32b
jmp 0x1028784
push dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov dword [ebx + 0xd0], 7
call fcn.010311a1
mov esi, eax
cmp esi, edi
jge 0x1028591
push esi
push 0x330
jmp 0x1028784
cmp dword [ebp - 0x24], 0x10
jle 0x10285a7
mov esi, 0x80070057
push esi
push 0x334
jmp 0x1028784
xor ebx, ebx
cmp dword [ebp - 0x2c], edi
jbe 0x10286a6
mov eax, dword [ebp - 4]
cmp eax, edi
je 0x10285c2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], edi
cmp dword [ebp - 0xc], edi
je 0x10285d3
push dword [ebp - 0xc]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 0xc], edi
cmp dword [ebp - 8], edi
je 0x10285ec
push dword [ebp - 8]
push edi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [ebp - 8], edi
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
lea edx, [ebp - 4]
push edx
push eax
call dword [ecx + 0x24]
mov esi, eax
cmp esi, edi
jl 0x102870f
lea eax, [ebp - 0xc]
push eax
push 0x1007730
push dword [ebp - 4]
call fcn.01014e4a
mov esi, eax
cmp esi, edi
jl 0x1028717
push dword [ebp - 0xc]
push 0x104
push dword [ebp - 0x18]
call fcn.0102ef8f
mov esi, eax
cmp esi, edi
jl 0x102871f
lea eax, [ebp - 8]
push eax
push dword [ebp - 0x18]
call fcn.01025f12
mov esi, eax
cmp esi, edi
jl 0x1028727
mov eax, dword [ebp - 0x28]
push dword [ebp - 8]
mov dword [eax + 0x80], ebx
mov eax, dword [eax + 0x78]
mov ecx, dword [eax + ebx*4]
call fcn.0102607b
mov ecx, dword [ebp - 0x1c]
push ebx
push dword [ebp - 4]
call fcn.010263ef
mov esi, eax
cmp esi, edi
jl 0x102872f
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x80], ebx
mov eax, dword [eax + 0x78]
push dword [ebp - 4]
mov ecx, dword [eax + ebx*4]
call fcn.01031da2
mov esi, eax
cmp esi, edi
jl 0x1028737
inc ebx
cmp ebx, dword [ebp - 0x2c]
jb 0x10285b2
mov eax, dword [ebp - 4]
cmp eax, edi
je 0x10286b6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], edi
cmp dword [ebp - 0xc], edi
je 0x10286c7
push dword [ebp - 0xc]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 0xc], edi
cmp dword [ebp - 8], edi
je 0x10286e0
push dword [ebp - 8]
push edi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [ebp - 8], edi
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
test eax, eax
jne 0x102873f
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, edi
jle 0x1028701
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
cmp esi, edi
jge 0x102873f
push esi
push 0x362
jmp 0x1028784
push esi
push 0x33d
jmp 0x1028784
push esi
push 0x340
jmp 0x1028784
push esi
push 0x346
jmp 0x1028784
push esi
push 0x349
jmp 0x1028784
push esi
push 0x351
jmp 0x1028784
push esi
push 0x357
jmp 0x1028784
mov eax, dword [ebp - 0x14]
cmp eax, edi
je 0x102874f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x14], edi
push 0x10076d0
push dword [ebp - 0x10]
call fcn.01026d0a
mov esi, eax
cmp esi, edi
jge 0x102876a
push esi
push 0x367
jmp 0x1028784
cmp dword [ebp - 0x38], 1
je 0x102879a
mov eax, dword [ebp - 0x1c]
mov esi, 0x80070057
push esi
mov dword [eax + 0xd0], edi
push 0x36d
push 0x10076ac
push 0x100189c
push 1
call fcn.01014247
add esp, 0x14
jmp 0x102879c
xor esi, esi
mov eax, dword [ebp - 0x10]
cmp eax, edi
je 0x10287ac
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x10], edi
mov eax, dword [ebp - 4]
cmp eax, edi
je 0x10287bc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], edi
mov eax, dword [ebp - 0x14]
cmp eax, edi
je 0x10287cc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0xc], edi
je 0x10287dd
push dword [ebp - 0xc]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 0xc], edi
cmp dword [ebp - 8], edi
je 0x10287f7
push dword [ebp - 8]
push edi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov ebx, dword [sym.imp.KERNEL32.dll_HeapFree]
push eax
call ebx
jmp 0x10287fd
mov ebx, dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [ebp - 0x18], edi
je 0x102880f
push dword [ebp - 0x18]
push edi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call ebx
cmp dword [ebp - 0x20], edi
je 0x1028821
push dword [ebp - 0x20]
push edi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call ebx
cmp dword [ebp - 0x30], edi
je 0x1028833
push dword [ebp - 0x30]
push edi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call ebx
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 0x10