Function at 0x445dd0
Capabilities:
Create pipe
Create process on windows
Create thread
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x494100
mov eax, dword fs:[0]
push eax
sub esp, 0x3d4
mov eax, dword [0x4b4180]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 0x10]
call fcn.00453290
mov ecx, dword [eax]
sub ecx, 0x10
call fcn.00402bd0
or ebx, 0xffffffff
mov ecx, ebx
lock xadd dword [eax + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x445e27
mov ecx, dword [eax]
push eax
mov edx, dword [ecx]
call dword [edx + 4]
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x446aeb
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x144]
push esi
mov dword [ebp - 0x144], eax
call fcn.004029f0
test al, al
jne 0x445e7d
test esi, esi
jne 0x445e5c
xor ecx, ecx
jmp 0x445e70
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x445e61
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x144]
call fcn.00402d20
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x446aeb
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x138]
push str._noui
mov dword [ebp - 0x138], eax
call fcn.004029f0
test al, al
jne 0x445ec0
push 5
push str._noui
lea ecx, [ebp - 0x138]
call fcn.00402d20
mov eax, dword [ebp - 0x138]
test eax, eax
je 0x446aeb
mov ecx, dword [ebp - 0x144]
mov edx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x445efc
test si, si
je 0x445ef8
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x445efc
add ecx, 4
add edx, 4
test si, si
jne 0x445ed6
xor esi, esi
jmp 0x445f01
sbb esi, esi
or esi, 1
lea edx, [eax - 0x10]
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x445f18
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test esi, esi
jne 0x445f25
mov al, 1
mov ecx, 0x4b4c49
xchg byte [ecx], al
lea ecx, [ebp - 0x380]
call fcn.0041f590
push str.Local_fast_
push 1
push 0x1f0003
call dword [sym.imp.KERNEL32.dll_OpenEventW]
mov esi, 0x4b4c4c
xchg dword [esi], eax
mov eax, dword [0x4b4c4c]
test eax, eax
je 0x445f63
mov eax, dword [0x4b4c4c]
push eax
call dword [sym.imp.KERNEL32.dll_PulseEvent]
jmp 0x4469b0
push str.Local_fast_
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
xchg dword [esi], eax
lea eax, [ebp - 0x380]
push eax
push 0
push 0x445da0
call fcn.0047ab14
add esp, 0xc
call fcn.004470f0
lea esi, [eax + 0x3c]
mov eax, dword [esi]
cmp dword [eax - 4], 1
jle 0x445fa6
push dword [eax - 0xc]
mov ecx, esi
call fcn.00402e80
mov ecx, dword [esi]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x445fb0
sub ecx, edx
sar ecx, 1
jne 0x445fe3
mov al, byte [ebp - 0x33c]
lea ecx, [ebp - 0x380]
xchg byte [ecx], al
push 1
call fcn.0041f9b0
push 1
lea ecx, [ebp - 0x340]
call fcn.00438200
lea eax, [ebp - 0x380]
mov dword [ebp - 0x148], eax
lea ecx, [ebp - 0x154]
lea eax, [ebp - 0x148]
push eax
call fcn.00420ec0
mov esi, eax
add esp, 4
lea eax, [ebp - 0x20c]
cmp eax, esi
je 0x44604e
mov ecx, dword [ebp - 0x20c]
test ecx, ecx
je 0x446037
mov eax, ebx
lock xadd dword [ecx + 4], eax
jne 0x446037
mov edx, dword [ecx + 0x78]
test edx, edx
je 0x446031
mov eax, dword [edx]
push ecx
mov ecx, edx
jmp 0x446035
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esi]
mov dword [esi], 0
mov dword [ebp - 0x20c], eax
mov al, byte [esi + 4]
mov byte [ebp - 0x208], al
mov ecx, dword [ebp - 0x154]
test ecx, ecx
je 0x446075
mov eax, ebx
lock xadd dword [ecx + 4], eax
jne 0x446075
mov edx, dword [ecx + 0x78]
test edx, edx
je 0x44606f
mov eax, dword [edx]
push ecx
mov ecx, edx
jmp 0x446073
mov eax, dword [ecx]
push 1
call dword [eax]
lea ecx, [ebp - 0x3e0]
call fcn.00416960
lea eax, [ebp - 0x340]
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x120], eax
lea eax, [ebp - 0x128]
push 0x58
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
mov dword [ebp - method.std::_Func_impl_no_alloc_class_std::_Binder_struct_std::_Unforced__unsigned_char____cdecl_FastCore::ProcessesController::__bool__void___class_FastCore::ProcessesController____bool___.virtual_0], vtable.std::_Func_impl_no_alloc_class_std::_Binder_struct_std::_Unforced__unsigned_char____cdecl_FastCore::ProcessesController::__bool__void___class_FastCore::ProcessesController____bool___.0
mov dword [ebp - 0x124], 0x436250
mov dword [ebp - 0x104], eax
call fcn.0046baaa
mov esi, eax
mov dword [ebp - 0xd8], vtable.._AV___Func_impl_no_alloc_V___Binder_U_Unforced_std__P8FastEngine_FastCore__AEXXZPAV34__std__X__V_std__.0
lea eax, [ebp - 0x380]
mov dword [ebp - 0xd4], 0x41fbc0
mov dword [ebp - 0xd0], eax
lea edi, [esi + 8]
lea eax, [ebp - 0xd8]
add esp, 4
mov dword [ebp - 0xb4], eax
mov dword [esi], vtable.FastObserver::ProcessesObserver.0
mov dword [edi + 0x24], 0
mov ecx, dword [ebp - 0xb4]
test ecx, ecx
je 0x446124
mov eax, dword [ecx]
push edi
call dword [eax]
mov dword [edi + 0x24], eax
lea edi, [esi + 0x30]
mov dword [edi + 0x24], 0
mov ecx, dword [ebp - 0x104]
test ecx, ecx
je 0x446140
mov eax, dword [ecx]
push edi
call dword [eax]
mov dword [edi + 0x24], eax
push 4
call fcn.0046baaa
add esp, 4
mov dword [ebp - 0x148], eax
mov dword [eax], esi
mov ecx, dword [ebp - 0xb4]
test ecx, ecx
je 0x446170
mov edx, dword [ecx]
lea eax, [ebp - 0xd8]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
lea eax, [ebp - 0x378]
mov dword [ebp - 0xb0], vtable.std::_Func_impl_no_alloc_class_std::_Binder_struct_std::_Unforced__unsigned_char____cdecl_FastCore::TrialController::__bool__void___class_FastCore::TrialController____bool___.0
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xb0]
push 0x58
mov dword [ebp - 0xac], 0x453010
mov dword [ebp - 0x8c], eax
call fcn.0046baaa
mov esi, eax
mov dword [ebp - method.._AV___Func_impl_no_alloc_V___Binder_U_Unforced_std__P8FastEngine_FastCore__AEXXZPAV34__std__X__V_std__.virtual_0], vtable.._AV___Func_impl_no_alloc_V___Binder_U_Unforced_std__P8FastEngine_FastCore__AEXXZPAV34__std__X__V_std__.0
lea eax, [ebp - 0x380]
mov dword [ebp - 0xfc], 0x41fc00
mov dword [ebp - 0xf8], eax
lea edi, [esi + 8]
lea eax, [ebp - 0x100]
add esp, 4
mov dword [ebp - 0xdc], eax
mov dword [esi], vtable.FastObserver::TrialObserver.0
mov dword [edi + 0x24], 0
mov ecx, dword [ebp - 0xdc]
test ecx, ecx
je 0x4461f6
mov eax, dword [ecx]
push edi
call dword [eax]
mov dword [edi + 0x24], eax
lea edi, [esi + 0x30]
mov dword [edi + 0x24], 0
mov ecx, dword [ebp - 0x8c]
test ecx, ecx
je 0x446212
mov eax, dword [ecx]
push edi
call dword [eax]
mov dword [edi + 0x24], eax
push 4
call fcn.0046baaa
add esp, 4
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x138], eax
mov dword [eax], esi
mov ecx, dword [ebp - 0xdc]
test ecx, ecx
je 0x446248
mov edx, dword [ecx]
lea eax, [ebp - 0x100]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
push 0x38
call fcn.0046baaa
mov cl, byte [ebp - 0x130]
mov esi, eax
lea eax, [ebp - 0x380]
mov byte [ebp - 0x30], cl
mov dword [ebp - 0x2c], eax
lea edi, [esi + 8]
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], vtable.._AV___Func_impl_no_alloc_V___Binder_U_Unforced_std__P8FastEngine_FastCore__AEXPAUHWND_____ZPAV34_ABU___Ph__00_2__std__XPAUHWND_____std__.0
mov dword [ebp - 0x14], eax
add esp, 4
mov dword [ebp - 0x34], 0x41fbe0
mov dword [esi], vtable.FastObserver::ActiveWindowObserver.0
mov dword [edi + 0x24], 0
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x446299
mov eax, dword [ecx]
push edi
call dword [eax]
mov dword [edi + 0x24], eax
push 4
mov dword [esi + 0x30], 0
call fcn.0046baaa
add esp, 4
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x140], eax
mov dword [eax], esi
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x4462d0
mov edx, dword [ecx]
lea eax, [ebp - 0x38]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
push 0x58
call fcn.0046baaa
mov cl, byte [ebp - 0x130]
mov ebx, eax
lea eax, [ebp - 0x380]
mov byte [ebp - 0x58], cl
mov dword [ebp - 0x54], eax
lea esi, [ebx + 8]
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], vtable.._AV___Func_impl_no_alloc_V___Binder_U_Unforced_std__P8FastEngine_FastCore__AEXH_ZPAV34_ABU___Ph__00_2__std__XH_std__.0
mov dword [ebp - 0x3c], eax
add esp, 4
mov dword [ebp - 0x5c], 0x41ff30
mov dword [ebx], vtable.FastObserver::KeyboardObserver.0
mov dword [esi + 0x24], 0
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
je 0x446321
mov eax, dword [ecx]
push esi
call dword [eax]
mov dword [esi + 0x24], eax
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x34], 0
push 0x18
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x3c], 0
call fcn.0046baaa
add esp, 4
lea ecx, [ebx + 0x40]
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebx + 0x38], eax
push dword [ebx + 0x38]
mov dword [ecx], 0
push 0x10
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov dword [ebx + 0x4c], 7
mov dword [ebx + 0x50], 8
mov dword [ebx + 0x34], 0x3f800000
call fcn.00417530
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount64]
call esi
mov dword [ebp - 0x168], eax
lea ecx, [ebx + 0x34]
lea eax, [ebp - 0x170]
mov dword [ebp - 0x170], 0x79
push eax
lea eax, [ebp - 0x154]
mov dword [ebp - 0x164], edx
push eax
call fcn.00429c10
call esi
mov dword [ebp - 0x168], eax
lea ecx, [ebx + 0x34]
lea eax, [ebp - 0x170]
mov dword [ebp - 0x170], 0x7b
push eax
lea eax, [ebp - 0x154]
mov dword [ebp - 0x164], edx
push eax
call fcn.00429c10
call esi
mov dword [ebp - 0x168], eax
lea ecx, [ebx + 0x34]
lea eax, [ebp - 0x170]
mov dword [ebp - 0x170], 0x12
push eax
lea eax, [ebp - 0x154]
mov dword [ebp - 0x164], edx
push eax
call fcn.00429c10
push 4
call fcn.0046baaa
add esp, 4
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x158], eax
mov dword [eax], ebx
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
je 0x446445
mov edx, dword [ecx]
lea eax, [ebp - 0x60]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
push 0x48
call fcn.0046baaa
mov cl, byte [ebp - 0x130]
mov esi, eax
lea eax, [ebp - 0x380]
mov byte [ebp - 0x80], cl
mov dword [ebp - 0x7c], eax
lea edi, [esi + 8]
lea eax, [ebp - 0x88]
mov dword [ebp - 0x88], vtable.._AV___Func_impl_no_alloc_V___Binder_U_Unforced_std__P8FastEngine_FastCore__AEX_N_ZPAV34_ABU___Ph__00_2__std__X_N_std__.0
mov dword [ebp - 0x64], eax
add esp, 4
mov dword [ebp - 0x84], 0x41ff50
mov dword [esi], vtable.FastObserver::MouseObserver.0
mov dword [edi + 0x24], 0
mov ecx, dword [ebp - 0x64]
test ecx, ecx
je 0x44649f
mov eax, dword [ecx]
push edi
call dword [eax]
mov dword [edi + 0x24], eax
xorps xmm0, xmm0
movq qword [esi + 0x30], xmm0
push 4
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
mov byte [esi + 0x40], 1
call fcn.0046baaa
add esp, 4
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x15c], eax
mov dword [eax], esi
mov ecx, dword [ebp - 0x64]
test ecx, ecx
je 0x4464ec
mov edx, dword [ecx]
lea eax, [ebp - 0x88]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
push 0x10
call fcn.0046baaa
mov ecx, dword [ebp + 8]
mov esi, eax
add esp, 4
mov dword [esi], vtable.FastObserver::SystemEventObserver.0
push 4
mov dword [esi + 4], 0
mov dword [esi + 8], ecx
mov dword [esi + 0xc], 0
call fcn.0046baaa
add esp, 4
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x160], eax
lea ecx, [ebp - 0x134]
mov dword [eax], esi
lea eax, [ebp - 0x148]
push eax
push 0
call fcn.00446d50
mov ebx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x12c]
cmp ebx, ecx
je 0x44656b
mov eax, dword [ebp - 0x174]
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x130], ebx
jmp 0x446596
lea eax, [ebp - 0x138]
push eax
push ebx
lea ecx, [ebp - 0x134]
call fcn.00446d50
mov eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x12c]
mov ebx, dword [ebp - 0x130]
mov dword [ebp - 0x13c], eax
cmp ebx, ecx
je 0x4465b7
mov eax, dword [ebp - 0x178]
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x130], ebx
jmp 0x4465e2
lea eax, [ebp - 0x140]
push eax
push ebx
lea ecx, [ebp - 0x134]
call fcn.00446d50
mov eax, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x12c]
mov ebx, dword [ebp - 0x130]
mov dword [ebp - 0x140], eax
cmp ebx, ecx
je 0x4465fb
mov eax, dword [ebp - 0x17c]
xor edi, edi
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 0x130], ebx
jmp 0x446620
lea eax, [ebp - 0x158]
push eax
push ebx
lea ecx, [ebp - 0x134]
call fcn.00446d50
mov ecx, dword [ebp - 0x12c]
mov ebx, dword [ebp - 0x130]
mov edi, dword [ebp - 0x158]
cmp ebx, ecx
je 0x446639
mov eax, dword [ebp - 0x14c]
xor esi, esi
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 0x130], ebx
jmp 0x44665e
lea eax, [ebp - 0x15c]
push eax
push ebx
lea ecx, [ebp - 0x134]
call fcn.00446d50
mov ecx, dword [ebp - 0x12c]
mov ebx, dword [ebp - 0x130]
mov esi, dword [ebp - 0x15c]
cmp ebx, ecx
je 0x446675
mov eax, dword [ebp - 0x150]
mov dword [ebx], eax
add ebx, 4
mov dword [ebp - 0x130], ebx
jmp 0x4466a3
lea eax, [ebp - 0x160]
push eax
push ebx
lea ecx, [ebp - 0x134]
call fcn.00446d50
mov eax, dword [ebp - 0x160]
test eax, eax
je 0x44669d
push 4
push eax
call fcn.0046b748
add esp, 8
mov ebx, dword [ebp - 0x130]
test esi, esi
je 0x4466b2
push 4
push esi
call fcn.0046b748
add esp, 8
test edi, edi
je 0x4466c1
push 4
push edi
call fcn.0046b748
add esp, 8
mov eax, dword [ebp - 0x140]
test eax, eax
je 0x4466d6
push 4
push eax
call fcn.0046b748
add esp, 8
mov eax, dword [ebp - 0x13c]
test eax, eax
je 0x4466eb
push 4
push eax
call fcn.0046b748
add esp, 8
mov ecx, dword [ebp - 0x8c]
test ecx, ecx
je 0x446713
mov edx, dword [ecx]
lea eax, [ebp - 0xb0]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x148]
test eax, eax
je 0x446728
push 4
push eax
call fcn.0046b748
add esp, 8
mov ecx, dword [ebp - 0x104]
test ecx, ecx
je 0x446746
mov edx, dword [ecx]
lea eax, [ebp - 0x128]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov esi, dword [ebp - 0x134]
cmp esi, ebx
je 0x446766
mov eax, dword [esi]
lea ecx, [ebp - 0x3e0]
push dword [eax]
call fcn.00416c80
add esi, 4
cmp esi, ebx
jne 0x446750
push 0
push 0
push 0x4000
push 0x4000
push 1
push 0
push 3
push str..pipe_veryfastapp
call dword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
mov ecx, 0x4b4c50
xchg dword [ecx], eax
lea eax, [ebp - 0x380]
push eax
push 0
push 0x445bd0
call fcn.0047ab14
add esp, 0xc
mov ecx, 0x4b4c54
xchg dword [ecx], eax
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x3e8
call esi
mov al, byte [0x4b4c49]
xorps xmm0, xmm0
movlpd qword [ebp - 0x1a8], xmm0
movlpd qword [ebp - 0x194], xmm0
movlpd qword [ebp - 0x18c], xmm0
movlpd qword [ebp - 0x184], xmm0
mov dword [ebp - 0x1b8], 0x3c
mov dword [ebp - 0x1b4], 0x40
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], str.open
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 5
mov dword [ebp - 0x198], 0
test al, al
jne 0x446869
call fcn.00445be0
lea eax, [ebp - 0x1b8]
mov dword [ebp - 0x1a8], str.nwjs_nw
push eax
mov dword [ebp - 0x1a4], str.ui.
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov eax, dword [ebp - 0x180]
test eax, eax
je 0x446876
push eax
call dword [sym.imp.KERNEL32.dll_GetProcessId]
lea ecx, [ebp - 0x334]
xchg dword [ecx], eax
jmp 0x446876
push 1
lea ecx, [ebp - 0x380]
call fcn.0041f9b0
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x14c], 1
mov ecx, dword [eax]
mov eax, dword [0x4b98f0]
cmp eax, dword [ecx + 4]
jle 0x4468ca
push 0x4b98f0
call fcn.0046b7d2
add esp, 4
cmp dword [0x4b98f0], 0xffffffff
jne 0x4468ca
call fcn.00447cb0
push 0x496c30
call fcn.0046ba95
add esp, 4
push 0x4b98f0
call fcn.0046b781
add esp, 4
lea eax, [ebp - 0x13c]
mov dword [ebp - 0x13c], 0
push eax
push 0xf003f
push 0
push dword [0x4b9808]
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
push 4
lea eax, [ebp - 0x14c]
push eax
push 4
push 0
push str.status
push dword [ebp - 0x13c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp - 0x13c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov al, byte [0x4b4c48]
test al, al
je 0x446933
push 0x64
call esi
mov al, byte [0x4b4c48]
test al, al
jne 0x446926
mov edi, dword [ebp - 0x134]
test edi, edi
je 0x4469a2
mov ebx, dword [ebp - 0x130]
mov esi, edi
cmp esi, ebx
je 0x446968
nop dword [eax]
mov eax, dword [esi]
test eax, eax
je 0x446961
push 4
push eax
call fcn.0046b748
add esp, 8
add esi, 4
cmp esi, ebx
jne 0x446950
mov eax, dword [ebp - 0x12c]
sub eax, edi
sar eax, 2
lea ecx, [eax*4]
mov eax, edi
cmp ecx, 0x1000
jb 0x446998
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x446af5
push ecx
push edi
call fcn.0046b748
add esp, 8
lea ecx, [ebp - 0x3e0]
call fcn.00416be0
or ebx, 0xffffffff
lea eax, [ebp - 0x1fc]
mov dword [ebp - 4], 0
push eax
call fcn.00454b0f
add esp, 4
test eax, eax
jne 0x446afa
mov eax, dword [ebp - 0x1d0]
cmp eax, 0x7fffffff
je 0x446b01
lea eax, [ebp - 0x1fc]
push eax
call fcn.00454b20
mov eax, dword [ebp - 0x1c0]
add esp, 4
mov esi, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov dword [ebp - method.FastService::FastSrvController.virtual_0], vtable.FastService::FastSrvController.0
test eax, eax
je 0x446a0b
push eax
call esi
mov eax, dword [ebp - 0x1c4]
test eax, eax
je 0x446a18
push eax
call esi
mov edx, dword [ebp - 0x1c8]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x446a35
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x204]
test ecx, ecx
je 0x446a5c
mov eax, ebx
lock xadd dword [ecx + 4], eax
jne 0x446a5c
mov edx, dword [ecx + 0x78]
test edx, edx
je 0x446a56
mov eax, dword [edx]
push ecx
mov ecx, edx
jmp 0x446a5a
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [ebp - 0x20c]
test ecx, ecx
je 0x446a83
mov eax, ebx
lock xadd dword [ecx + 4], eax
jne 0x446a83
mov edx, dword [ecx + 0x78]
test edx, edx
je 0x446a7d
mov eax, dword [edx]
push ecx
mov ecx, edx
jmp 0x446a81
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [ebp - 0x21c]
test eax, eax
je 0x446a9e
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0x21c], 0
lea ecx, [ebp - 0x340]
call fcn.00435f10
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x144]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x446acb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0046b73a
mov esp, ebp
pop ebp
ret 0x10
push 0x80004005
call fcn.00403680
call fcn.00470dbf
push 5
call fcn.00454d61
dec eax
push 6
mov dword [ebp - 0x1d0], eax
call fcn.00454d61
int3