Function at 0x10081ae0
Capabilities:
Get common file path

Disassembly:
mov edx, dword [0x100ced78]
sub esp, 0x10
add edx, 0xfffffd78
cmp byte [0x100ced89], 6
mov dword [0x100ced8c], edx
push ebx
mov ebx, dword [0x100ced4c]
push edi
mov edi, 4
jne 0x10081b1c
mov eax, 0x291
sub eax, dword [esp + 0x14]
add ebx, eax
mov dword [0x100ced4c], ebx
push esi
movzx esi, word [0x100ced90]
mov ecx, 0x17
sub esi, edx
mov dword [0x100d1f64], ecx
add esi, 0x5f
movzx eax, byte [0x100ced7c]
cmp esi, eax
je 0x10081b60
add byte [ecx + 0x100ced7c], bl
mov eax, ebx
sub eax, edx
add esi, 9
sub ecx, 2
lea edx, [eax - 0x14cd1]
mov eax, edx
sub eax, ebx
add esi, eax
cmp ecx, 1
jg 0x10081b34
push esi
mov dword [0x100d1f64], ecx
mov dword [0x100ced8c], edx
call fcn.100818b0
add esp, 4
mov dword [0x100ced78], eax
mov eax, 0xfffeb5b7
sub eax, dword [0x100ced8c]
mov dword [0x100ced8c], eax
push 0x86f
push 0x100d0338
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov edx, dword [0x100ced8c]
mov ecx, 0x17
mov ebx, eax
mov dword [0x100d1f64], ecx
lea ecx, [ecx]
movzx eax, byte [0x100ced7c]
cmp edi, eax
je 0x10081bdc
add byte [ecx + 0x100ced7c], bl
mov eax, ebx
sub eax, edx
sub ecx, 2
lea edx, [eax - 0x14cd1]
mov eax, edx
sub eax, ebx
add eax, 9
add edi, eax
cmp ecx, 1
jg 0x10081bb0
push 0x446
mov dword [0x100d1f64], ecx
mov dword [0x100ced8c], edx
call dword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
push 0x100d1f68
push 0
push 0x1f0001
call dword [sym.imp.KERNEL32.dll_OpenMutexW]
push 0x100b4f92
push 0
mov dword [0x100d0304], eax
call fcn.100844e9
mov eax, dword [0x100ced4c]
add esp, 8
mov di, word [0x100ced6c]
cmp eax, ebx
jb 0x10081c3e
lea ebx, [eax - 0x288]
mov eax, 0xfd78
add di, ax
mov word [0x100ced6c], di
lea eax, [ebx - 0x286]
mov ecx, ebx
sub ecx, dword [0x100ced74]
mov esi, 0x23
mov dword [esp + 0x10], eax
sub ecx, 0x14cd1
mov al, byte [0x100ced4a]
sub al, byte [0x100ced8c]
sub al, bl
mov dword [esp + 0xc], ecx
add al, 0x21
lea edx, [ecx + 0x7256]
movzx eax, al
sub eax, ebx
add edx, eax
sub al, bl
add al, 2
movzx ecx, dx
sub ecx, dword [esp + 0xc]
mov dword [esp + 0x14], eax
push ebp
mov ebp, 0x21
mov eax, ebp
sub eax, ecx
sub eax, dword [esp + 0x10]
add dx, ax
mov al, 0x21
sub al, cl
mov word [0x100ced50], dx
mov ecx, dword [esp + 0x18]
add al, al
sub al, byte [esp + 0x10]
sub al, bl
add cl, al
lea eax, [ebx + ebx]
sub esi, eax
mov byte [0x100ced4a], cl
movzx eax, dx
lea ecx, [esi + esi]
sub ecx, eax
sub ecx, ebx
add ecx, 9
push ecx
mov dword [0x100ced8c], ecx
call fcn.100819d0
mov ecx, dword [0x100ced8c]
mov eax, ebx
sub eax, esi
add ecx, 0xfffffd78
sub eax, 0x14cd1
add esp, 4
add ecx, esi
cmp eax, ebx
jb 0x10081d08
mov ebx, eax
mov eax, dword [esp + 0x14]
sub ebx, eax
sub di, ax
mov word [0x100ced6c], di
mov al, byte [0x100ced4a]
sub al, cl
movzx edi, byte [0x100ced7d]
sub al, 0x67
mov dword [0x100ced78], 0xfffffb13
movzx eax, al
mov ecx, 0xfffeb5b7
sub ecx, dword [esp + 0x10]
sub eax, 0x288
mov dword [esp + 0x10], ecx
mov dword [0x100ced74], ecx
lea edx, [ecx + 0x7256]
add edx, eax
add al, 0x7a
mov dword [esp + 0x18], eax
movzx eax, dx
sub eax, ecx
sub ebp, eax
mov dword [esp + 0x1c], eax
mov esi, dword [esp + 0x1c]
sub ebp, ecx
add al, al
mov cl, 0xba
sub cl, al
add dx, bp
sub cl, byte [esp + 0x10]
mov eax, dword [esp + 0x18]
add al, cl
mov word [0x100ced50], dx
movzx ecx, dx
mov edx, 1
mov byte [0x100ced4a], al
mov eax, ecx
sub eax, dword [esp + 0x10]
mov dword [esp + 0x18], ecx
add esi, eax
mov dword [0x100ced4c], ecx
mov cl, byte [0x100ced86]
pop ebp
lea esp, [esp]
cmp edi, 0xfffffb13
je 0x10081dbe
movzx eax, byte [edx + 0x100ced7c]
sub esi, eax
movzx eax, cl
cmp esi, eax
je 0x10081dbe
inc edx
cmp edx, 0x2d
jl 0x10081da0
mov ecx, dword [esp + 0x14]
mov edx, ebx
sub edx, esi
sub edx, 0x14f57
cmp byte [0x100ced89], 6
mov dword [0x100ced8c], edx
je 0x10081deb
mov eax, ebx
sub eax, ecx
add eax, 9
add eax, edx
mov dword [0x100ced8c], eax
jmp 0x10081df4
mov eax, ecx
add ebx, 9
sub eax, edx
add ebx, eax
mov edx, 0x100ced82
mov esi, 0x288
mov edi, edi
movzx eax, word [0x100ced54]
cmp ecx, eax
je 0x10081e30
add word [edx], si
mov eax, 0xfffeb5b7
sub eax, ebx
add ecx, 0xfffffd81
mov ebx, eax
sub edx, 4
add ecx, ebx
mov dword [0x100ced4c], ecx
cmp edx, 0x100ced56
jg 0x10081e00
mov edx, 0x17
mov dword [0x100d1f64], edx
jmp 0x10081e40
movzx eax, word [0x100ced54]
cmp ecx, eax
je 0x10081e72
add word [edx*2 + 0x100ced54], si
mov eax, 0xfffeb5b7
sub eax, ebx
add ecx, 0xfffffd81
mov ebx, eax
sub edx, 2
add ecx, ebx
mov dword [0x100ced4c], ecx
cmp edx, 1
jg 0x10081e40
push ebx
mov dword [0x100d1f64], edx
call fcn.10080a40
mov ecx, dword [0x100ced8c]
add esp, 4
mov eax, dword [0x100ced4c]
pop esi
cmp ebx, ecx
jb 0x10081ea2
sub byte [0x100ced88], al
mov ecx, ebx
sub ecx, eax
mov ebx, ecx
sub ebx, eax
add ebx, 2
sub eax, ecx
add ebx, 0xfffeb32f
sub eax, dword [esp + 0xc]
add eax, ebx
pop edi
mov dword [0x100ced8c], eax
mov eax, 1
pop ebx
add esp, 0x10
ret 0xc