Function at 0x1000407fc
Capabilities:
Terminate process

Disassembly:
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x78], rsi
mov r13d, ecx
mov r8d, ecx
lea rdx, [0x10001a1d8]
mov ecx, 0x10
call fcn.100069df4
xor r14d, r14d
cmp byte [0x1000acbbe], r14b
je 0x100040857
mov rcx, qword [0x1000acc00]
cmp rcx, r14
je 0x100040857
call qword [sym.imp.USER32.dll_UnhookWindowsHookEx]
mov rcx, qword [0x1000acba0]
cmp rcx, r14
je 0x100040875
call sub.WTSAPI32.dll_WTSUnRegisterSessionNotification
mov rcx, qword [0x1000acba0]
call qword [sym.imp.USER32.dll_DestroyWindow]
mov r15d, 1
mov ecx, r15d
call qword [sym.imp.USER32.dll_ShowCursor]
mov rcx, qword [0x1000acbd0]
call sub.msvcrt.dll_free
mov qword [0x1000acbd0], r14
mov rcx, qword [0x1000acb88]
cmp rcx, r14
je 0x1000408a8
call sub.gdiplus.dll_GdiplusShutdown
cmp dword [0x1000aa588], r15d
jne 0x1000408bc
mov ecx, 0x21
call qword [sym.imp.WINMM.dll_timeEndPeriod]
mov rcx, qword [0x1000acbb0]
cmp rcx, r14
je 0x1000408e1
call fcn.10006a4a0
mov rcx, qword [0x1000acbb0]
cmp rcx, r14
je 0x1000408e1
mov rax, qword [rcx]
mov edx, r15d
call qword [rax]
mov qword [0x1000acbb0], r14
mov rbx, qword [0x1000acb70]
cmp rbx, r14
je 0x100040904
mov rcx, rbx
call fcn.10003d470
mov rcx, rbx
call sub.msvcrt.dll_free
mov qword [0x1000acb70], r14
mov rbx, qword [0x1000accc0]
cmp rbx, r14
je 0x100040954
lea rcx, [rbx + 0x30]
call fcn.100044dcc
mov dword [rbx + 0x28], r14d
mov dword [rbx + 0x2c], r14d
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.msvcrt.dll_free]
mov rcx, qword [rbx + 0x20]
call qword [sym.imp.msvcrt.dll_free]
mov qword [rbx + 0x18], r14
mov qword [rbx + 0x20], r14
mov rcx, rbx
call fcn.100044dcc
mov rcx, rbx
call sub.msvcrt.dll_free
mov qword [0x1000accc0], r14
mov rcx, qword [0x1000accb8]
cmp rcx, r14
je 0x10004096f
mov edx, r15d
call fcn.100040c84
mov qword [0x1000accb8], r14
mov rbx, qword [0x1000acbe8]
cmp rbx, r14
je 0x100040992
mov rcx, rbx
call fcn.1000425d8
mov rcx, rbx
call sub.msvcrt.dll_free
mov qword [0x1000acbe8], r14
mov rbx, qword [0x1000acbf0]
mov qword [rsp + 0x68], rbx
cmp rbx, r14
je 0x100040a0d
mov ebp, r14d
cmp dword [rbx], r14d
jbe 0x1000409f6
mov rsi, r14
mov rax, qword [rbx + 0x10]
mov rdi, qword [rsi + rax]
cmp rdi, r14
je 0x1000409eb
mov r12, qword [rdi + 8]
cmp r12, r14
je 0x1000409db
mov rcx, r12
call fcn.100060378
mov rcx, r12
call sub.msvcrt.dll_free
mov rcx, qword [rdi]
call sub.msvcrt.dll_free
mov rcx, rdi
call sub.msvcrt.dll_free
add ebp, r15d
add rsi, 8
cmp ebp, dword [rbx]
jb 0x1000409b5
mov rcx, qword [rbx + 0x10]
cmp rcx, r14
je 0x100040a05
call qword [sym.imp.msvcrt.dll_free]
mov rcx, rbx
call sub.msvcrt.dll_free
mov qword [0x1000acbf0], r14
mov rbx, qword [0x1000acbd8]
mov qword [rsp + 0x68], rbx
cmp rbx, r14
je 0x100040a9d
mov rcx, qword [rbx + 0x2810]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.10006278c
mov rcx, rbx
call fcn.100063110
nop
mov rcx, qword [rbx + 0x2860]
cmp rcx, r14
je 0x100040a53
call qword [sym.imp.msvcrt.dll_free]
nop
mov rcx, qword [rbx + 0x2848]
call sub.msvcrt.dll_free
nop
mov rcx, qword [rbx + 0x2830]
cmp rcx, r14
je 0x100040a73
call qword [sym.imp.msvcrt.dll_free]
nop
lea r9, [fcn.10005fc3c]
mov edx, 0x28
mov r8d, 0x100
mov rcx, rbx
call fcn.10009163c
nop
mov qword [0x1000ade70], r14
mov rcx, rbx
call sub.msvcrt.dll_free
mov qword [0x1000acbd8], r14
mov ebp, r14d
cmp dword [0x1000ade10], r14d
jbe 0x100040b79
mov rdi, r14
mov ebx, dword [0x1000ade28]
mov rax, qword [0x1000ade08]
mov rcx, qword [rdi + rax]
mov edx, dword [rcx + 0x10]
cmp edx, r14d
je 0x100040b3f
mov r9d, ebx
xor r8d, r8d
lea rcx, [0x1000ade18]
call fcn.10003ffcc
movsxd r11, eax
mov rdx, r11
lea ecx, [rbx - 1]
cmp r11d, ecx
jae 0x100040b37
mov r8, rdx
shl r8, 3
mov r9, rdx
shl r9, 2
mov rdx, qword [0x1000ade18]
mov ecx, dword [r9 + rdx + 4]
mov dword [r9 + rdx], ecx
mov rcx, qword [0x1000ade20]
mov rax, qword [r8 + rcx + 8]
mov qword [r8 + rcx], rax
add r11d, r15d
add r9, 4
add r8, 8
mov ebx, dword [0x1000ade28]
lea eax, [rbx - 1]
cmp r11d, eax
jb 0x100040afe
dec ebx
mov dword [0x1000ade28], ebx
mov rax, qword [0x1000ade08]
mov rsi, qword [rdi + rax]
cmp rsi, r14
je 0x100040b66
mov rcx, qword [rsi + 8]
call sub.msvcrt.dll_free
mov rcx, rsi
call sub.msvcrt.dll_free
mov ebx, dword [0x1000ade28]
add ebp, r15d
add rdi, 8
cmp ebp, dword [0x1000ade10]
jb 0x100040abd
xor edx, edx
lea rcx, [0x1000ade00]
call fcn.100051a98
mov edi, r14d
cmp dword [0x1000ade28], r14d
jbe 0x100040be4
mov rbx, r14
mov rax, qword [0x1000ade20]
mov rcx, qword [rbx + rax]
mov rcx, qword [rcx + 0x220]
cmp rcx, 0xffffffffffffffff
je 0x100040bb4
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [0x1000ade20]
mov rsi, qword [rbx + rax]
cmp rsi, r14
je 0x100040bd5
mov rcx, qword [rsi + 8]
call sub.msvcrt.dll_free
mov rcx, rsi
call sub.msvcrt.dll_free
add edi, r15d
add rbx, 8
cmp edi, dword [0x1000ade28]
jb 0x100040b96
mov dword [0x1000ade28], r14d
mov edi, r14d
cmp dword [0x1000a8bf0], r14d
jbe 0x100040c2a
mov rbx, r14
mov rcx, qword [0x1000a8c00]
mov rcx, qword [rbx + rcx]
call qword [sym.imp.GDI32.dll_RemoveFontResourceW]
mov rcx, qword [0x1000a8c00]
mov rcx, qword [rbx + rcx]
call sub.msvcrt.dll_free
add edi, r15d
add rbx, 8
cmp edi, dword [0x1000a8bf0]
jb 0x100040bfa
mov dword [0x1000a8bf0], r14d
mov rcx, qword [0x1000acb90]
call qword [sym.imp.KERNEL32.dll_LocalFree]
call qword [sym.imp.ole32.dll_CoUninitialize]
mov cl, byte [0x1000acbbe]
call fcn.100064118
mov rcx, qword [0x1000acbc0]
cmp rcx, r14
je 0x100040c6a
lea rax, [0x1000152d8]
mov qword [rcx], rax
call sub.msvcrt.dll_free
mov qword [0x1000acbc0], r14
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_ExitProcess]