Function at 0x416f4d
Capabilities:
Create directory
Get disk information
Set current directory

Disassembly:
push 0xffffffffffffffff
push 0x45bc45
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x7bc
push ebx
push ebp
mov ebp, dword [esp + 0x7d4]
push esi
push edi
lea eax, [esp + 0x264]
push eax
mov edi, ecx
call fcn.00408730
xor ebx, ebx
mov dword [esp + 0x7d4], ebx
cmp ebp, 0x14
jae 0x41740c
lea eax, [ebp - 1]
cmp eax, 0xe
ja case.0x416de3.5
jmp dword [eax*4 + 0x4174c8]
mov edx, dword [edi]
mov eax, dword [edx + 0x80]
push ebx
push ebx
mov ecx, edi
call eax
jmp case.0x416de3.5
mov ecx, dword [edi + 0x54]
mov edx, dword [ecx + 0x104]
cmp dword [edx - 0xc], ebx
jne 0x416e1e
push 0xffffffffffffffff
push 0x30
push 0x81
call fcn.004327ee
jmp case.0x416de3.5
push 0xb0
call fcn.0042ab0b
mov esi, eax
add esp, 4
mov dword [esp + 0x1c], esi
mov byte [esp + 0x7d4], 1
cmp esi, ebx
je 0x416e55
push ecx
mov eax, esp
mov dword [esp + 0x1c], esp
push eax
push edi
call fcn.00417cc0
push esi
call fcn.0041c540
mov ebp, eax
jmp 0x416e57
xor ebp, ebp
mov byte [esp + 0x7d4], bl
mov al, byte [ebp + 0x54]
mov byte [ebp + 0x54], bl
cmp al, bl
je 0x416e81
push ebx
push 0x10
push 0x468960
call fcn.004327a0
mov esi, ebp
call fcn.004151b0
jmp case.0x416de3.5
lea esi, [esp + 0x2c]
call fcn.00405800
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp + 0x44], eax
push ebp
mov eax, edi
mov dword [ebp + 0x40], ecx
mov byte [ebp + 0x64], 1
call fcn.00417510
push edi
mov eax, ebp
call fcn.004175b0
lea esi, [esp + 0x24]
mov ecx, ebp
call fcn.0041cc70
mov esi, eax
mov byte [esp + 0x7d4], 2
mov ecx, dword [edi + 0x5c]
push ebp
call fcn.0042b3fe
mov cl, byte [ebp + 0x2f]
mov dl, byte [ebp + 0x31]
push eax
mov byte [esp + 0x1c], cl
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x20], dl
mov ecx, dword [esp + 0x20]
push eax
push ecx
push esi
mov esi, dword [edi + 0x58]
call fcn.0041af60
lea ecx, [esp + 0x24]
mov esi, eax
mov byte [esp + 0x7d4], bl
call fcn.004054d0
mov eax, dword [edi + 0x58]
add eax, 0x10
push eax
call fcn.0041b000
mov dword [ebp], esi
mov esi, dword [edi + 0x54]
call fcn.004090e0
movzx eax, ax
mov word [ebp + 0x2c], ax
mov byte [ebp + 0x2e], bl
mov byte [ebp + 0x64], 1
mov edx, dword [edi + 0x5c]
cmp dword [edx + 0xc], 1
jne 0x416f30
mov eax, edi
call fcn.00416a60
mov ecx, edi
call fcn.00416880
push ebp
sub edi, 0xffffff80
push edi
call fcn.0041e320
mov ecx, eax
call fcn.00424d30
jmp case.0x416de3.5
mov eax, dword [edi + 0x58]
mov eax, dword [eax + 4]
push 1
push 2
push eax
call dword [sym.imp.USER32.dll_EnableMenuItem]
mov eax, dword [edi + 0x54]
mov cl, byte [eax + 0xdb]
push eax
lea edx, [esp + 0x268]
push edx
mov byte [esp + 0x1f], cl
call fcn.004089e0
push 0x18ec
call fcn.0042ab0b
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x7d4], 3
cmp eax, ebx
je 0x416fa7
push eax
lea ecx, [esp + 0x268]
call fcn.0040c830
mov ebp, eax
jmp 0x416fa9
xor ebp, ebp
mov byte [esp + 0x7d4], bl
mov eax, dword [ebp]
mov edx, dword [eax + 0x14c]
mov ecx, ebp
call edx
cmp eax, 1
jne 0x41711d
mov ecx, dword [edi + 0x54]
lea eax, [esp + 0x264]
push eax
push ecx
call fcn.004089e0
mov ebx, dword [edi + 0x54]
call fcn.00408e90
mov eax, dword [edi + 0x54]
lea esi, [esp + 0x28]
call fcn.00414ac0
mov eax, dword [eax]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov ecx, esi
call fcn.004054d0
mov eax, dword [edi + 0x54]
lea esi, [esp + 0x20]
call fcn.00414ac0
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea ecx, [esp + 0x20]
mov esi, eax
call fcn.004054d0
test esi, esi
je 0x417055
push 0
push 0
lea edx, [esp + 0x24]
push edx
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
test eax, eax
je 0x417055
test byte [esp + 0x1c], 8
jne 0x417055
push 0
push 0
push str.La_carpeta_elegida_para_las_notas_no_est
mov ecx, edi
call fcn.0042cf4c
call fcn.00418800
lea esi, [edi + 0x80]
call fcn.0041e390
mov eax, dword [edi + 0x54]
mov al, byte [eax + 0xdb]
mov ecx, dword [edi + 0x60]
mov esi, dword [ecx + 0xc]
test al, al
jne 0x417111
cmp byte [esp + 0x17], al
je 0x417111
test esi, esi
jle 0x417111
lea ecx, [esp + 0x18]
call fcn.004054f0
mov byte [esp + 0x7d4], 4
cmp esi, 1
jne 0x4170b1
mov ebx, 0x464588
mov edx, ebx
mov ecx, ebx
mov eax, ebx
jmp 0x4170bf
mov ebx, 0x464264
mov edx, 0x468e50
mov ecx, ebx
mov eax, ebx
push ebx
push edx
push ecx
push eax
push esi
lea edx, [esp + 0x2c]
push str.Has_elegido_no_archivar_las_notas_eliminadas_y_en_este_momento_nhay__i_nota_s_archivada_s_que_va_s_a_ser_destruida_s._n_n
push edx
call fcn.00404fe0
mov eax, dword [esp + 0x34]
add esp, 0x1c
push 0x24
push 0x468fa0
push eax
mov ecx, edi
call fcn.0042cf4c
cmp eax, 6
je 0x417100
mov eax, dword [edi + 0x54]
mov byte [eax + 0xdb], 1
mov ebx, dword [edi + 0x54]
call fcn.00408e90
lea ecx, [esp + 0x18]
mov byte [esp + 0x7d4], 0
call fcn.004054d0
push 0
push 0
push edi
call fcn.00416410
xor ebx, ebx
mov edx, dword [ebp]
mov eax, dword [edx + 4]
push 1
mov ecx, ebp
call eax
mov edi, dword [edi + 0x58]
mov ecx, dword [edi + 4]
push ebx
push 2
push ecx
call dword [sym.imp.USER32.dll_EnableMenuItem]
jmp case.0x416de3.5
mov edx, dword [edi + 0x5c]
push edi
push edx
lea eax, [esp + 0xe4]
push eax
call fcn.0040bba0
mov byte [esp + 0x7d4], 5
mov eax, dword [edi + 0x58]
mov ecx, dword [eax + 4]
mov esi, dword [sym.imp.USER32.dll_EnableMenuItem]
push 1
push 8
push ecx
call esi
lea ecx, [esp + 0xdc]
call fcn.00435039
mov edi, dword [edi + 0x58]
mov edx, dword [edi + 4]
push ebx
push 8
push edx
call esi
lea ecx, [esp + 0xdc]
mov byte [esp + 0x7d4], bl
call fcn.0040bc80
jmp case.0x416de3.5
mov eax, dword [edi + 0x5c]
push edi
push eax
lea ecx, [esp + 0xe4]
push ecx
call fcn.00411040
mov byte [esp + 0x7d4], 6
mov eax, dword [edi + 0x58]
mov edx, dword [eax + 4]
mov esi, dword [sym.imp.USER32.dll_EnableMenuItem]
push 1
push 0xa
push edx
call esi
lea ecx, [esp + 0xdc]
call fcn.00435039
mov edi, dword [edi + 0x58]
mov eax, dword [edi + 4]
push ebx
push 0xa
push eax
call esi
lea ecx, [esp + 0xdc]
mov byte [esp + 0x7d4], bl
call fcn.004110f0
jmp case.0x416de3.5
mov eax, dword [edi + 0x5c]
mov ecx, dword [eax + 4]
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
mov dword [eax + 0x1c], ecx
jmp 0x417210
mov ecx, dword [edi + 0x5c]
cmp dword [ecx + 0x1c], ebx
je case.0x416de3.5
mov eax, dword [ecx + 0x1c]
cmp eax, ebx
je 0x41743c
mov edx, dword [eax]
mov dword [ecx + 0x1c], edx
mov eax, dword [eax + 8]
cmp eax, ebx
je case.0x416de3.5
cmp byte [eax + 0x30], bl
je 0x417210
push ebx
push eax
mov eax, dword [edi + 0x20]
push 0x83ef
push eax
call esi
jmp 0x417210
mov ecx, dword [edi + 0x20]
push ebx
push 0x64
push 2
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.0x416de3.5
cmp byte [edi + 0xd1], bl
jne 0x417277
push 1
push ebx
push edi
call fcn.00416410
mov byte [edi + 0xd1], 1
mov edx, dword [edi + 0x60]
push edi
push edx
lea eax, [esp + 0xe4]
push eax
call fcn.004139c0
mov byte [esp + 0x7d4], 7
mov eax, dword [edi + 0x58]
mov ecx, dword [eax + 4]
mov esi, dword [sym.imp.USER32.dll_EnableMenuItem]
push 1
push 9
push ecx
call esi
mov eax, dword [edi + 0x58]
mov edx, dword [eax + 4]
push 1
push 7
push edx
call esi
lea ecx, [esp + 0xdc]
call fcn.00435039
mov eax, dword [edi + 0x58]
mov eax, dword [eax + 4]
push ebx
push 7
push eax
call esi
mov edi, dword [edi + 0x58]
mov ecx, dword [edi + 4]
push ebx
push 9
push ecx
call esi
lea ecx, [esp + 0xdc]
mov byte [esp + 0x7d4], bl
call fcn.00413a70
jmp case.0x416de3.5
mov eax, dword [edi + 0x58]
mov edx, dword [eax + 4]
mov esi, dword [sym.imp.USER32.dll_EnableMenuItem]
push 1
push 9
push edx
call esi
mov eax, dword [edi + 0x58]
mov eax, dword [eax + 4]
push 1
push 7
push eax
call esi
call fcn.00418680
mov eax, dword [edi + 0x58]
mov ecx, dword [eax + 4]
push ebx
push 7
push ecx
call esi
mov edi, dword [edi + 0x58]
mov edx, dword [edi + 4]
push ebx
push 9
push edx
call esi
jmp case.0x416de3.5
mov eax, dword [edi + 0x54]
mov ecx, dword [eax + 0x104]
cmp dword [ecx - 0xc], ebx
je 0x416e0b
push ebx
push ecx
mov esi, esp
mov dword [esp + 0x28], esp
call fcn.00414ac0
lea edx, [esp + 0x39c]
push edx
call fcn.00411db0
mov byte [esp + 0x7d4], 8
mov eax, dword [edi + 0x58]
mov eax, dword [eax + 4]
mov esi, dword [sym.imp.USER32.dll_EnableMenuItem]
push 1
push 0xe
push eax
call esi
lea ecx, [esp + 0x394]
call fcn.00435039
mov eax, dword [edi + 0x58]
mov ecx, dword [eax + 4]
push ebx
push 0xe
push ecx
call esi
call fcn.00418800
lea ecx, [esp + 0x394]
mov byte [esp + 0x7d4], bl
call fcn.00412140
jmp case.0x416de3.5
push ebx
push 0x9f
lea ecx, [esp + 0x6c]
call fcn.0043498a
mov esi, vtable.CDlgAcercaDeGnotas.0
mov dword [esp + 0x64], esi
lea ecx, [esp + 0x64]
mov byte [esp + 0x7d4], 9
call fcn.00435039
mov byte [esp + 0x7d4], bl
lea ecx, [esp + 0x64]
mov dword [esp + 0x64], esi
call fcn.004348fa
jmp case.0x416de3.5
push ebx
call fcn.00419940
push ebx
push 0x40
push str.Autoarranque_desactivado._nSe_activar
call fcn.004327a0
push ebx
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp case.0x416de3.5
mov eax, dword [edi + 0x58]
mov eax, dword [eax + 4]
lea edx, [esp + 0x34]
push edx
push ebx
push ebp
push eax
mov dword [esp + 0x44], 0x30
mov dword [esp + 0x48], 0x20
call dword [sym.imp.USER32.dll_GetMenuItemInfoW]
test eax, eax
je 0x41743c
mov eax, dword [esp + 0x54]
cmp eax, ebx
jne 0x417441
call fcn.0042adb3
mov esi, dword [eax + 8]
mov al, byte [esi + 0x31]
cmp al, bl
jne 0x417471
push esi
lea ecx, [edi + 0x80]
push ecx
call fcn.0041e320
mov byte [esi + 0x31], 1
call fcn.0041d2f0
mov edi, dword [edi + 0x58]
mov edx, dword [edi + 4]
push 8
push ebp
push edx
call dword [sym.imp.USER32.dll_CheckMenuItem]
mov esi, dword [esi + 4]
mov ecx, dword [0x47eac0]
mov eax, dword [esi + 0x54]
inc ecx
mov dword [eax + 0x34], ecx
mov byte [eax + 0x64], 1
mov eax, dword [esi + 0x20]
push eax
mov dword [0x47eac0], ecx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
lea ecx, [esp + 0x264]
push ecx
mov dword [esp + 0x7d8], 0xffffffff
call fcn.00408b30
mov ecx, dword [esp + 0x7cc]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x7c8
ret 4