Function at 0x41fd50
Capabilities:
Terminate thread

Disassembly:
mov qword [rsp + 8], rcx
mov r11, rsp
sub rsp, 0x88
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
mov qword [r11 - 8], rdi
mov qword [r11 - 0x10], r12
mov rbx, rcx
lea rax, [0x004d3fc8]
mov qword [rcx], rax
lea rax, [0x004d3fb8]
mov qword [rcx + 8], rax
lea rax, [0x004d3fa8]
mov qword [rcx + 0x50], rax
lea rax, [0x004d3f98]
mov qword [rcx + 0x60], rax
xor ebp, ebp
mov dword [rsp + 0x40], ebp
mov rcx, qword [rcx + 0x58]
test rcx, rcx
je 0x41fe6e
mov rax, qword [rcx]
lea r8, [r11 - 0x48]
mov edx, 0x10000102
call qword [rax + 0x18]
cmp dword [rsp + 0x40], 2
jne 0x41fe6e
mov dword [rsp + 0x38], ebp
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x41fe6e
mov rax, qword [rcx]
lea r8, [rsp + 0x38]
mov edx, 0x10000103
call qword [rax + 0x18]
cmp dword [rsp + 0x38], 3
jne 0x41fe6e
mov dword [rsp + 0x2c], ebp
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x41fe6e
mov rax, qword [rcx]
lea r8, [rsp + 0x2c]
mov edx, 0x1000296
call qword [rax + 0x18]
cmp dword [rsp + 0x2c], ebp
je 0x41fe6e
mov dword [rsp + 0x3c], ebp
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x41fe6e
mov rax, qword [rcx]
lea r8, [rsp + 0x3c]
mov edx, 0x1000297
call qword [rax + 0x18]
cmp dword [rsp + 0x3c], 0xe
jne 0x41fe6e
mov rcx, qword [rbx + 0x740]
test rcx, rcx
je 0x41fe6e
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateThread]
mov rcx, qword [rbx + 0x740]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x740], rbp
mov rcx, qword [rbx + 0x78]
test rcx, rcx
je 0x41fe7f
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateThread]
cmp dword [rbx + 0x74c], 2
jne 0x41fea2
mov rdx, rbx
mov rcx, qword [0x0050b468]
call qword [sym.imp.USER32.dll_KillTimer]
mov dword [rbx + 0x74c], 1
mov dword [rsp + 0x34], ebp
mov rcx, qword [rbx + 0x58]
mov r12d, 8
test rcx, rcx
je 0x41ffb3
mov rax, qword [rcx]
lea r8, [rsp + 0x34]
mov edx, 0x10000107
call qword [rax + 0x18]
cmp dword [rsp + 0x34], 0xd
jne 0x41ffb3
mov dword [rbx + 0x774], ebp
mov edi, dword [rbx + 0x778]
mov edx, edi
mov rcx, rbx
call fcn.0040ea90
test eax, eax
jne 0x41fefd
mov edx, ebp
test edi, edi
sete dl
mov rcx, rbx
call fcn.0041f6d0
mov dword [rsp + 0x24], ebp
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x41ffb3
mov rax, qword [rcx]
lea r8, [rsp + 0x24]
mov edx, 0x10000102
call qword [rax + 0x18]
cmp dword [rsp + 0x24], 2
jne 0x41ffb3
mov eax, ebp
mov dword [rsp + 0x28], ebp
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x41ff4c
mov rax, qword [rcx]
lea r8, [rsp + 0x28]
mov edx, 0x10000d5
call qword [rax + 0x18]
mov eax, dword [rsp + 0x28]
bt eax, 0x16
jae 0x41ffb3
mov eax, ebp
mov dword [rsp + 0x30], ebp
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x41ff75
mov rax, qword [rcx]
lea r8, [rsp + 0x30]
mov edx, 0x1000292
call qword [rax + 0x18]
mov eax, dword [rsp + 0x30]
mov edx, dword [rbx + 0x778]
test edx, edx
je 0x41ff87
shr eax, 4
and eax, 1
jmp 0x41ff8d
shr eax, 3
and eax, 1
test eax, eax
je 0x41ffb3
mov rcx, qword [rbx + 0x58]
mov rax, qword [rcx]
mov r8d, 0x10
test edx, edx
cmovne r8d, r12d
or r8d, 0xc0
mov edx, 0x1000292
call qword [rax + 0x30]
mov dword [rsp + 0x20], ebp
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x41ffed
mov rax, qword [rcx]
lea r8, [rsp + 0x20]
mov edx, 0x10000102
call qword [rax + 0x18]
cmp dword [rsp + 0x20], r12d
jne 0x41ffed
cmp dword [rbx + 0x750], ebp
je 0x41ffed
mov dword [rbx + 0x750], ebp
mov rcx, rbx
call fcn.0040a5a0
mov rdi, qword [rbx + 0x6d0]
test rdi, rdi
je 0x420010
mov rcx, rdi
call fcn.00446840
mov rcx, rdi
call fcn.00490170
mov qword [rbx + 0x6d0], rbp
mov rcx, qword [rbx + 0x890]
test rcx, rcx
je 0x42002d
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [rbx + 0x890], rbp
mov rcx, qword [rbx + 0x898]
test rcx, rcx
je 0x42004a
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [rbx + 0x898], rbp
mov rcx, qword [rbx + 0x868]
test rcx, rcx
je 0x420067
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [rbx + 0x868], rbp
mov rcx, rbx
call fcn.00411790
mov rdi, qword [rbx + 0x10]
mov qword [rsp + 0x48], rdi
test rdi, rdi
je 0x4200f2
nop
test rdi, rdi
je 0x4200ed
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x420098
mov rax, qword [rdi + 8]
mov qword [rcx + 8], rax
jmp 0x4200a0
mov rax, qword [rdi + 8]
mov qword [rbx + 0x10], rax
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x4200b3
mov rax, qword [rdi + 0x10]
mov qword [rcx + 0x10], rax
jmp 0x4200bb
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x18], rax
mov rsi, qword [rdi + 8]
cmp dword [rbx + 0x24], ebp
je 0x4200d9
mov rcx, qword [rdi]
test rcx, rcx
je 0x4200d9
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [rdi], rbp
mov rcx, rdi
call fcn.00490170
mov rdi, rsi
add dword [rbx + 0x20], 0xffffffff
test rsi, rsi
jne 0x420080
mov qword [rsp + 0x48], rdi
lea rcx, [rbx + 0x7d0]
lea r9, [fcn.00401200]
mov r8d, 2
mov rdx, r12
call fcn.004934a0
nop
lea rax, method.b.virtual_16
mov qword [rbx + 0x6e8], rax
mov rcx, qword [rbx + 0x6f0]
test rcx, rcx
je 0x420130
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
lea rcx, [rbx + 0x6d8]
lea r9, [fcn.00401200]
mov r8d, 2
mov rdx, r12
call fcn.004934a0
nop
mov rdi, qword [rbx + 0x6c8]
test rdi, rdi
je 0x420198
mov eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
add eax, 0xffffffff
jne 0x420191
test rdi, rdi
je 0x420191
mov rcx, qword [rdi]
test rcx, rcx
je 0x42017b
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x420189
call fcn.00491a30
mov rcx, rdi
call fcn.00490170
mov qword [rbx + 0x6c8], rbp
lea rax, method.b.virtual_16
mov qword [rbx + 0x50], rax
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x4201b3
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
lea rax, [0x004d38b0]
mov qword [rbx + 8], rax
mov rdi, qword [rbx + 0x10]
test rdi, rdi
je 0x420235
test rdi, rdi
je 0x420235
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x4201df
mov rax, qword [rdi + 8]
mov qword [rcx + 8], rax
jmp 0x4201e7
mov rax, qword [rdi + 8]
mov qword [rbx + 0x10], rax
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x4201fa
mov rax, qword [rdi + 0x10]
mov qword [rcx + 0x10], rax
jmp 0x420202
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x18], rax
mov rsi, qword [rdi + 8]
cmp dword [rbx + 0x24], 0
je 0x420221
mov rcx, qword [rdi]
test rcx, rcx
je 0x420221
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [rdi], rbp
mov rcx, rdi
call fcn.00490170
mov rdi, rsi
add dword [rbx + 0x20], 0xffffffff
test rsi, rsi
jne 0x4201c7
lea rcx, [rbx + 0x28]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
nop
lea rax, [0x004d0e28]
mov qword [rbx], rax
mov rbx, qword [rsp + 0x98]
mov rbp, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x80]
mov r12, qword [rsp + 0x78]
add rsp, 0x88
ret