Function at 0x1000f833
Capabilities:
Create directory
Get common file path
Move file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x24c0
call fcn.1002fb29
mov eax, dword [0x100400b0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov esi, edx
mov dword [ebp - 0x24ac], esi
mov ebx, ecx
mov dword [ebp - 0x24a8], ebx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24b0], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x24bc], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x24c0], eax
xor edi, edi
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x24b8], eax
mov eax, dword [ebp + 0x20]
push edi
mov dword [ebp - 0x24b4], eax
lea eax, [ebp - 0x414]
push 5
push eax
push edi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x1000fcce
lea ecx, [ebp - 0x414]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x1000f8ae
sub ecx, edx
mov edi, 0x104
sar ecx, 1
push 0x5c
pop eax
cmp ax, word [ebp + ecx*2 - 0x416]
je 0x1000f8ef
push 0xffffffffffffffff
push 0x100393f0
lea eax, [ebp - 0x414]
push edi
push eax
call fcn.1001a3af
add esp, 0x10
cmp eax, 0x50
je 0x1000fcce
push str.My_OneNoteMy_Practice_Files_
mov edx, edi
lea ecx, [ebp - 0x414]
call fcn.1001a3af
test eax, eax
je 0x1000fcce
xor edi, edi
xor eax, eax
inc edi
cmp ax, word [ebp - 0x414]
je 0x1000f9c1
lea eax, [ebp - 0x414]
push 0x10039374
push eax
call fcn.1001de79
pop ecx
pop ecx
test eax, eax
jne 0x1000fcce
lea eax, [ebp - 0x414]
push 0x100396a4
push eax
call fcn.1001de79
pop ecx
pop ecx
test eax, eax
jne 0x1000fcce
lea eax, [ebp - 0x412]
push 0x5c
push eax
call fcn.1001ddb2
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x1000f9b9
push 0x5c
pop ebx
push 0x3a
pop eax
cmp ax, word [esi - 2]
je 0x1000f99e
xor eax, eax
push eax
mov word [esi], ax
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.kernel32.dll_CreateDirectoryW]
test eax, eax
jne 0x1000f99b
call dword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0xb7
je 0x1000f99b
xor edi, edi
jmp 0x1000f99e
xor edi, edi
inc edi
lea eax, [esi + 2]
mov word [esi], bx
push ebx
push eax
call fcn.1001ddb2
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x1000f96a
mov ebx, dword [ebp - 0x24a8]
mov esi, dword [ebp - 0x24ac]
jmp 0x1000f9c3
xor edi, edi
test edi, edi
je 0x1000fcce
test ebx, ebx
je 0x1000faa1
test esi, esi
je 0x1000fa8b
xor eax, eax
cmp ax, word [esi]
je 0x1000fa8b
push ecx
push esi
mov edx, 0x104
lea ecx, [ebp - 0x20c]
call fcn.1001a3af
test eax, eax
je 0x1000fa8b
lea eax, [ebp - 0x20c]
push 0x28
push eax
call fcn.1001ddb2
pop ecx
pop ecx
test eax, eax
je 0x1000fa34
lea ecx, [ebp - 0x20c]
cmp eax, ecx
je 0x1000fa2f
push 0x20
pop ecx
cmp cx, word [eax - 2]
jne 0x1000fa2f
xor ecx, ecx
mov word [eax - 2], cx
jmp 0x1000fa34
xor ecx, ecx
mov word [eax], cx
xor eax, eax
cmp ax, word [ebp - 0x20c]
je 0x1000fa8b
push 0x2e
push ebx
call fcn.1001a3af
pop ecx
pop ecx
xor edi, edi
lea ecx, [ebp - 0x20c]
push edi
mov edx, 0x104
mov esi, eax
call fcn.1001a3af
test eax, eax
je 0x1000fa77
push esi
mov edx, 0x104
lea ecx, [ebp - 0x20c]
call fcn.1001a3af
test eax, eax
jne 0x1000faad
push ecx
push ebx
mov edx, 0x104
lea ecx, [ebp - 0x20c]
call fcn.1001a3af
jmp 0x1000faa5
push ecx
push ebx
mov edx, 0x104
lea ecx, [ebp - 0x20c]
call fcn.1001a3af
xor edi, edi
jmp 0x1000faa5
xor edi, edi
mov eax, edi
test eax, eax
je 0x1000fcce
push 0x2e
push ebx
call fcn.1001a3af
pop ecx
pop ecx
push edi
push ecx
lea ecx, [ebp - 0x414]
push ecx
mov edx, ecx
lea ecx, [ebp - 0x20c]
push eax
call fcn.1001a3af
test eax, eax
je 0x1000fcce
mov edx, dword [ebp - 0x24b0]
test edx, edx
je 0x1000fb5c
test ebx, ebx
je 0x1000fb5c
mov esi, edx
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
cmp ax, di
jne 0x1000fae9
sub esi, ecx
lea eax, [ebp - 0x20c]
sar esi, 1
cmp edx, eax
je 0x1000fb18
push ecx
push edx
mov edx, 0x104
mov ecx, eax
call fcn.1001a3af
test eax, eax
je 0x1000fcce
push 0x5c
pop eax
cmp ax, word [ebp + esi*2 - 0x20e]
je 0x1000fb49
push 0xffffffffffffffff
push 0x100393f0
lea eax, [ebp - 0x20c]
push 0x104
push eax
call fcn.1001a3af
add esp, 0x10
cmp eax, 0x50
je 0x1000fcce
push ebx
mov edx, 0x104
lea ecx, [ebp - 0x20c]
call fcn.1001a3af
jmp 0x1000fb5e
mov eax, edi
test eax, eax
je 0x1000fcce
mov esi, 0x1048
lea eax, [ebp - 0x145c]
push esi
push edi
push eax
call fcn.1001e894
push esi
lea eax, [ebp - 0x24a4]
push edi
push eax
call fcn.1001e894
xor eax, eax
add esp, 0x18
cmp ax, word [ebp - 0x20c]
je 0x1000fc65
cmp ax, word [ebp - 0x414]
je 0x1000fc65
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.1001a3af
pop ecx
pop ecx
test eax, eax
je 0x1000fc6b
mov esi, dword [ebp - 0x24b4]
test esi, esi
je 0x1000fc2b
call fcn.1001a3af
test eax, eax
je 0x1000fc2b
xor eax, eax
lea ecx, [ebp - 0x20c]
mov word [ebp - 0x145c], ax
mov word [ebp - 0x24a4], ax
call fcn.1001a3af
test eax, eax
lea eax, [ebp - 0x24a4]
push ecx
je 0x1000fc06
push eax
push ecx
lea ecx, [ebp - 0x20c]
jmp 0x1000fc56
push ecx
push eax
push ecx
lea eax, [ebp - 0x145c]
push eax
push esi
lea edx, [ebp - 0x414]
lea ecx, [ebp - 0x20c]
call fcn.1001a3af
xor ecx, ecx
test eax, eax
setns cl
jmp 0x1000fc67
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.kernel32.dll_MoveFileW]
test eax, eax
je 0x1000fcce
push ecx
lea eax, [ebp - 0x24a4]
push eax
push ecx
lea ecx, [ebp - 0x414]
lea edx, [ebp - 0x145c]
call fcn.1001a3af
mov ecx, eax
jmp 0x1000fc67
mov ecx, edi
test ecx, ecx
je 0x1000fcce
mov ebx, dword [ebp - 0x24b8]
test ebx, ebx
je 0x1000fcb7
push 0xffffffffffffffff
lea eax, [ebp - 0x145c]
push eax
push dword [ebp + 0x1c]
push ebx
call fcn.1001a3af
add esp, 0x10
cmp eax, 0x50
je 0x1000fcce
mov edx, dword [ebp + 0x1c]
mov ecx, ebx
call fcn.100085bc
test eax, eax
je 0x1000fcce
push 0xffffffffffffffff
lea eax, [ebp - 0x24a4]
push eax
push dword [ebp + 0x1c]
push ebx
call fcn.1001a3af
add esp, 0x10
cmp eax, 0x50
je 0x1000fcce
mov eax, dword [ebp - 0x24bc]
test eax, eax
je 0x1000fcca
push dword [ebp - 0x24c0]
push edi
call eax
xor eax, eax
jmp 0x1000fcd3
mov eax, 0x80041003
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1001c65c
leave
ret 0x1c