Function at 0x10065c80
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x214
mov eax, dword [0x101b9014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov bl, 1
cmp dword [0x101bee50], 0
jne 0x10066192
mov edi, dword [0x101bee48]
test edi, edi
je 0x10065cc1
test byte [0x101bac40], 1
jne 0x10065ea4
jmp 0x10066192
push 0xc
call fcn.10145ba4
add esp, 4
mov edi, eax
lea esi, [ebp - 0x218]
push 0x208
push 0xff
push esi
call fcn.10149430
add esp, 0xc
push 0x104
push esi
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [edi], 0xffffffff
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], 0xffffffff
push esi
call fcn.10163aa4
add esp, 4
cmp eax, 0x7ffffff0
jae 0x100661a9
mov ebx, eax
cmp eax, 4
ja 0x10065d2a
mov byte [edi + 0xb], bl
mov eax, edi
jmp 0x10065d50
mov esi, ebx
or esi, 7
inc esi
js 0x100661ae
lea eax, [esi + esi]
push eax
call fcn.10145ba4
add esp, 4
mov dword [edi], eax
or esi, 0x80000000
mov dword [edi + 8], esi
mov dword [edi + 4], ebx
lea esi, [eax + ebx*2]
lea edx, [ebp - 0x218]
cmp esi, edx
setbe cl
cmp eax, edx
ja 0x10065d6a
test cl, cl
je 0x100661b3
test ebx, ebx
je 0x10065d7b
add ebx, ebx
push ebx
push edx
push eax
call fcn.10148eb0
add esp, 0xc
mov word [esi], 0
movzx ecx, byte [edi + 0xb]
test cl, cl
mov eax, dword [edi]
mov esi, dword [edi + 4]
movzx ebx, cl
mov edx, ebx
mov dword [ebp - 0x220], esi
cmovs edx, esi
mov esi, edi
cmovs esi, eax
test edx, edx
je 0x10065dc6
mov dword [ebp - 0x21c], eax
add edx, edx
nop word [eax + eax]
test edx, edx
je 0x10065dc6
lea eax, [edx - 2]
cmp word [esi + edx - 2], 0x5c
mov edx, eax
jne 0x10065db0
cmp eax, 0xfffffffe
jne 0x10065e10
mov bl, 1
test cl, cl
js 0x10065e5d
movzx eax, cl
mov edx, 4
cmp cl, 5
jb 0x10065e76
lea ecx, [edi + eax*2]
cmp ecx, str.debug.log
ja 0x10065dfd
lea eax, [edi + eax*2]
add eax, 0x12
cmp eax, str.debug.log
ja 0x100661b6
movups xmm0, xmmword [str.debug.log]
movups xmmword [ecx], xmm0
mov word [ecx + 0x10], 0x67
int3
sar eax, 1
lea edx, [eax + 1]
test cl, cl
js 0x10065e33
cmp edx, ebx
ja 0x100661a9
cmp edx, 5
mov bl, 1
jae 0x100661c8
mov byte [edi + 0xb], dl
mov ecx, edi
jmp 0x10065e4a
cmp dword [ebp - 0x220], edx
jb 0x100661a9
mov dword [edi + 4], edx
mov bl, 1
mov ecx, dword [ebp - 0x21c]
mov word [ecx + eax*2 + 2], 0
movzx ecx, byte [edi + 0xb]
test cl, cl
jns 0x10065dd0
mov edx, 0x7fffffff
and edx, dword [edi + 8]
dec edx
mov eax, dword [edi + 4]
mov ecx, edx
sub ecx, eax
cmp ecx, 9
jae 0x10065f4e
mov esi, eax
sub esi, edx
add esi, 9
mov ecx, edi
push str.debug.log
push 9
push 0
push eax
push eax
push esi
push edx
call fcn.100569b6
mov dword [0x101bee48], edi
test byte [0x101bac40], 1
je 0x10066192
cmp byte [edi + 0xb], 0
jns 0x10065eac
mov edi, dword [edi]
sub esp, 0x1c
movaps xmm0, xmmword [0x101a0600]
movups xmmword [esp + 4], xmm0
mov dword [esp], edi
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x80
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [0x101bee50], eax
inc eax
cmp eax, 1
ja 0x10066192
lea eax, [ebp - 0x216]
push 0x206
push 0xff
push eax
call fcn.10149430
add esp, 0xc
mov word [ebp - 0x218], 0
lea edi, [ebp - 0x218]
push edi
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
add eax, 0xfffffefb
cmp eax, 0xfffffefc
jb 0x10066190
mov esi, dword [0x101bee48]
push edi
call fcn.10163aa4
add esp, 4
mov ebx, eax
movzx eax, byte [esi + 0xb]
test al, al
js 0x10065f8f
mov edi, esi
cmp ebx, 4
jbe 0x10065fbc
mov edx, 4
jmp 0x10065f9f
mov ecx, dword [edi]
lea edx, [ecx + eax*2]
cmp edx, str.debug.log
ja 0x10065f6d
lea esi, [ecx + eax*2]
add esi, 0x12
cmp esi, str.debug.log
ja 0x100661b6
movups xmm0, xmmword [str.debug.log]
movups xmmword [edx], xmm0
mov word [edx + 0x10], 0x67
lea edx, [eax + 9]
mov dword [edi + 4], edx
mov word [ecx + eax*2 + 0x12], 0
jmp 0x10065e91
mov edx, 0x7fffffff
and edx, dword [esi + 8]
dec edx
cmp edx, ebx
jae 0x10065fba
mov eax, dword [esi + 4]
mov edi, ebx
sub edi, edx
mov ecx, esi
lea esi, [ebp - 0x218]
push esi
push ebx
push eax
push 0
push eax
push edi
push edx
call fcn.100569b6
jmp 0x10065fed
mov edi, dword [esi]
lea eax, [ebx + ebx]
push eax
lea eax, [ebp - 0x218]
push eax
push edi
call fcn.10148eb0
add esp, 0xc
cmp byte [esi + 0xb], 0
js 0x10065fe4
cmp ebx, 5
jae 0x100661bf
mov byte [esi + 0xb], bl
jmp 0x10065fe7
mov dword [esi + 4], ebx
mov word [edi + ebx*2], 0
mov ecx, dword [0x101bee48]
movzx ebx, byte [ecx + 0xb]
test bl, bl
js 0x10066014
je 0x100661b9
movzx eax, bl
cmp word [ecx + eax*2 - 2], 0x5c
jne 0x10066031
lea eax, [ecx + 0xb]
jmp 0x100660b5
mov eax, dword [ecx + 4]
test eax, eax
je 0x100661b9
mov edx, dword [ecx]
cmp word [edx + eax*2 - 2], 0x5c
jne 0x10066058
lea eax, [ecx + 0xb]
jmp 0x100660c6
mov esi, 4
mov edx, ecx
cmp bl, 4
jne 0x10066067
push 0x101a0662
push 1
push 0
push esi
push esi
push 1
push esi
call fcn.100569b6
mov ecx, dword [0x101bee48]
jmp 0x100660aa
mov edi, 0x7fffffff
and edi, dword [ecx + 8]
dec edi
mov esi, eax
cmp edi, eax
je 0x1006603d
lea esi, [edx + eax*2]
cmp esi, 0x101a0662
ja 0x10066084
lea edi, [edx + eax*2]
add edi, 2
cmp edi, 0x101a0662
ja 0x100661c5
mov word [esi], 0x5c
lea ebx, [eax + 1]
cmp byte [ecx + 0xb], 0
js 0x100660a0
cmp ebx, 5
jae 0x100661cb
mov byte [ecx + 0xb], bl
jmp 0x100660a3
mov dword [ecx + 4], ebx
mov word [edx + eax*2 + 2], 0
lea eax, [ecx + 0xb]
movzx ebx, byte [ecx + 0xb]
test bl, bl
js 0x100660c6
movzx edx, bl
mov edi, 4
mov esi, ecx
cmp bl, 5
jae 0x100660f8
jmp 0x100660db
mov edi, 0x7fffffff
and edi, dword [ecx + 8]
dec edi
mov edx, dword [ecx + 4]
mov esi, edi
sub esi, edx
cmp esi, 9
jae 0x100660f6
mov eax, edx
sub eax, edi
add eax, 9
push str.debug.log
push 9
push 0
push edx
push edx
push eax
push edi
call fcn.100569b6
jmp 0x10066144
mov esi, dword [ecx]
lea edi, [esi + edx*2]
cmp edi, str.debug.log
ja 0x10066115
lea ebx, [esi + edx*2]
add ebx, 0x12
cmp ebx, str.debug.log
ja 0x100661bc
movups xmm0, xmmword [str.debug.log]
movups xmmword [edi], xmm0
mov word [edi + 0x10], 0x67
lea ebx, [edx + 9]
cmp byte [eax], 0
js 0x1006613a
cmp ebx, 5
jae 0x100661c2
mov byte [eax], bl
jmp 0x1006613d
mov dword [ecx + 4], ebx
mov word [esi + edx*2 + 0x12], 0
mov eax, dword [0x101bee48]
cmp byte [eax + 0xb], 0
mov bl, 1
jns 0x10066153
mov eax, dword [eax]
sub esp, 0x1c
movaps xmm0, xmmword [0x101a0600]
movups xmmword [esp + 4], xmm0
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x80
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [0x101bee50], eax
inc eax
cmp eax, 1
ja 0x10066192
mov dword [0x101bee50], 0
xor ebx, ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.101465a3
mov eax, ebx
add esp, 0x214
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.1015b4f0
call fcn.10034a48
int3
int3
int3
int3
int3
int3
int3
int3
int3