Function at 0x1108d9f0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x14]
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov dword [eax], 0
cmp byte [edi], 0
je 0x1108db62
cmp byte [edi + 1], 0x3a
je 0x1108db62
push 0x3a
push edi
call fcn.11165010
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x1108db62
mov esi, ebx
sub esi, edi
inc esi
push esi
push 0x111a2ba0
push edi
call fcn.11164644
add esp, 0xc
test eax, eax
jne 0x1108da4d
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x1ac]
jmp 0x1108da6d
push esi
push 0x111a2b94
push edi
call fcn.11164644
add esp, 0xc
test eax, eax
jne 0x1108db62
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1b0]
test eax, eax
je 0x1108db62
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
mov byte [edi], 0
cmp dword [ecx + 0x1b8], 0
je 0x1108daa0
cmp byte [eax + 1], 0x3a
je 0x1108daa0
mov dx, word [0x111a5618]
mov word [edi], dx
mov cl, byte [0x111a561a]
mov byte [edi + 2], cl
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x1108daa2
sub eax, ecx
mov esi, ecx
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x1108dab0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp + 8]
mov dl, byte [ebx + 1]
mov edi, dword [ebp + 0x10]
cmp dl, byte [esi + 0x1bc]
je 0x1108db29
push edi
call fcn.11081d90
movsx ecx, byte [esi + 0x1bc]
add esp, 4
cmp eax, ecx
je 0x1108db29
cmp byte [ebx + 1], 0
je 0x1108db29
lea eax, [esi + 0x1bc]
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x1108db00
sub eax, ecx
mov esi, ecx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x1108db10
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp + 0x10]
mov eax, edi
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1108db30
sub eax, edx
mov edx, eax
lea eax, [ebx + 1]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1108db41
sub eax, esi
lea edx, [eax + edx + 1]
cmp edx, 0x104
jbe 0x1108dbba
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
mov dword [eax], 0x6f
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x1b8], 0
je 0x1108dbee
cmp byte [edi + 1], 0x3a
je 0x1108dbee
mov ebx, dword [ebp + 0x10]
push ebx
push 0x104
call dword [sym.imp.KeRneL32.DLl_GetCurrentDirectoryA]
push 0
lea esi, [ebx + 2]
push 0x102
push esi
push edi
mov byte [esi], 0
call fcn.11145b10
mov eax, esi
add esp, 0x10
cmp byte [eax], 0
je 0x1108dbb3
cmp byte [eax], 0x2f
jne 0x1108dbad
mov byte [eax], 0x5c
inc eax
cmp byte [eax], 0
jne 0x1108dba5
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
ret
lea eax, [ebx + 1]
mov ecx, eax
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x1108dbc0
sub eax, ecx
mov esi, ecx
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x1108dbd0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebp + 0x10]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebx
pop ebp
ret
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1108dbf3
sub eax, edx
inc eax
cmp eax, 0x104
jbe 0x1108dc0d
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x6f
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
ret