Function at 0x10018f50
Capabilities:
Print debug messages

Disassembly:
sub esp, 0x114
mov eax, dword [0x10062da0]
xor eax, esp
mov dword [esp + 0x110], eax
push ebp
push esi
push edi
push str.CEdpDiskControl::UserLogoff_enter
push 0
mov esi, ecx
push 0x63f
push str.CEdpDiskControl::UserLogoff
mov ecx, str..ClassEdpDiskControlEdpDiskControl.cpp
call fcn.10010760
push 0x103
lea eax, [esp + 0x25]
push 0
push eax
mov byte [esp + 0x2c], 0
call fcn.10037cf0
add esp, 0x1c
call fcn.10019e60
test al, al
je 0x100191c2
push str.CEdpDiskControl::UserLogoff_11
push 0
push 0x648
push str.CEdpDiskControl::UserLogoff
mov ecx, str..ClassEdpDiskControlEdpDiskControl.cpp
call fcn.10010760
add esp, 0x10
mov edi, 1
lea ecx, [ecx]
mov al, byte [edi + 0x1006a1a4]
test al, al
je 0x1001914b
movsx ecx, al
push ecx
push str.EdpSecDisk___UnMount__c:_r_n
lea edx, [esp + 0x18]
push 0x104
push edx
call fcn.10032b06
lea eax, [esp + 0x20]
push eax
push 0
push 0x64e
push str.CEdpDiskControl::UserLogoff
mov ecx, str..ClassEdpDiskControlEdpDiskControl.cpp
call fcn.10010760
mov ecx, dword [esp + 0x144]
movzx edx, byte [edi + 0x1006a1a4]
add esp, 0x20
push ecx
push edx
call dword [0x1006a070]
test eax, eax
je 0x10019078
call dword [0x1006a07c]
mov ecx, eax
lea ebp, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x10019040
sub ecx, ebp
push ecx
lea ebp, [esi + 4]
push eax
mov ecx, ebp
call fcn.10001fc0
cmp dword [ebp + 0x18], 0x10
jb 0x10019060
mov ebp, dword [ebp + 4]
jmp 0x10019063
add ebp, 4
push ebp
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp byte [esp + 0x124], 0
je 0x100191de
push str.EdpSecDisk___ClearEdpMountDisk____r_n
push 0
push 0x65d
push str.CEdpDiskControl::UserLogoff
mov ecx, str..ClassEdpDiskControlEdpDiskControl.cpp
call fcn.10010760
movzx eax, byte [edi + 0x1006a1a4]
add esp, 0x10
push eax
mov ecx, esi
call fcn.1001a460
call fcn.1001db10
test eax, eax
je 0x100190fc
push str.EdpSecDisk___BroadcastDeviceChange_start_r_n
push 0
push 0x661
push str.CEdpDiskControl::UserLogoff
mov ecx, str..ClassEdpDiskControlEdpDiskControl.cpp
call fcn.10010760
movsx ecx, byte [edi + 0x1006a1a4]
sub ecx, 0x41
push ecx
push 0x8004
call fcn.1001df80
push str.EdpSecDisk___BroadcastDeviceChange_end_r_n
push 0
push 0x663
push str.CEdpDiskControl::UserLogoff
mov ecx, str..ClassEdpDiskControlEdpDiskControl.cpp
call fcn.10010760
add esp, 0x28
cmp dword [0x10068cdc], 0
je 0x10019126
call fcn.10001090
test eax, eax
je 0x10019126
mov eax, dword [0x1006a0f4]
test eax, eax
je 0x10019119
call eax
movzx edx, byte [edi + 0x1006a1a4]
push edx
call fcn.10001380
push str.EdpSecDisk___ClearEdpMountDisk___leave
push 0
push 0x66d
push str.CEdpDiskControl::UserLogoff
mov ecx, str..ClassEdpDiskControlEdpDiskControl.cpp
call fcn.10010760
add esp, 0x10
mov byte [edi + 0x1006a1a4], 0
inc edi
cmp edi, 3
jl 0x10018fd0
push str.EdpSecDisk___UserLogoff_End__r_n
push 0
push 0x673
push str.CEdpDiskControl::UserLogoff
mov ecx, str..ClassEdpDiskControlEdpDiskControl.cpp
call fcn.10010760
add esp, 0x10
cmp byte [esp + 0x124], 0
je 0x10019183
call dword [0x1006a080]
movsx eax, byte [esi + 0x118c]
push 0
push eax
push str.EdpSecDisk___RemoveDriver__c:__Return__d_r_n
lea ecx, [esp + 0x1c]
push 0x104
push ecx
call fcn.10032b06
add esp, 0x14
lea edx, [esp + 0x10]
push edx
push 0
push 0x683
push str.CEdpDiskControl::UserLogoff
mov ecx, str..ClassEdpDiskControlEdpDiskControl.cpp
call fcn.10010760
add esp, 0x10
mov al, 1
mov ecx, dword [esp + 0x11c]
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.10032551
add esp, 0x114
ret 4
xor al, al
jmp 0x100191c4