Function at 0x30015184
Capabilities:
Suspend thread

Disassembly:
mov dword [rsp + 0x18], r8d
push rbx
push rsi
push rdi
movabs rax, 0x80
call sub.KERNEL32.dll___chkstk
sub rsp, rax
mov rbx, rdx
mov rdi, rcx
xor esi, esi
mov dword [rsp + 0x50], esi
mov qword [rsp + 0x58], 0
xor eax, eax
mov qword [rsp + 0x60], rax
call fcn.3001053c
cmp qword [0x30085440], 0
je 0x30015219
xor edx, edx
xor ecx, ecx
call qword [0x30085450]
test eax, eax
jl 0x30015219
mov dword [0x30089cc0], 1
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x38], esi
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
mov edx, 0xffffffff
xor ecx, ecx
call qword [0x30085460]
xor eax, eax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x68]
call fcn.300105a4
mov rcx, rdi
call fcn.3001055c
call fcn.30013b08
test eax, eax
je 0x30015314
lea rax, [rbx + 0x208]
cmp byte [rax], 0
je 0x30015411
mov qword [0x30085a50], rdi
mov qword [0x30085820], rax
lea rax, [rbx + 0x438]
mov qword [0x30085a58], rax
lea rax, [rsp + 0x68]
mov qword [0x30085a40], rax
mov rax, qword [rbx + 0x420]
mov qword [0x30085a80], rax
mov rax, qword [rbx + 0x460]
mov qword [0x30085a88], rax
cmp dword [rbx + 0x430], 0
je 0x300152b2
xor ecx, ecx
call fcn.30014df0
jmp 0x30015411
mov qword [rsp + 0x20], 0
lea r9, [0x3000802c]
xor r8d, r8d
mov edx, 0x67
mov rcx, qword [0x30089a38]
call fcn.30003e04
mov rcx, qword [0x30085a70]
test rcx, rcx
je 0x30015411
mov edx, 0x4e20
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x30015302
mov rcx, qword [0x30085a70]
call qword [sym.imp.KERNEL32.dll_SuspendThread]
mov rcx, qword [0x30085a70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x30015411
lea rsi, [rbx + 0x30c]
mov r8d, 0x104
lea rdx, [0x30086858]
mov rcx, rsi
call fcn.300258f0
mov qword [0x300872c8], rsi
mov dword [0x30087288], 1
mov qword [0x30086848], rbx
lea rax, [rbx + 0x104]
mov qword [0x30086850], rax
cmp dword [rbx + 0x428], 0
jne 0x30015367
mov rcx, rbx
call fcn.3000aa50
mov rax, qword [rbx + 0x410]
mov qword [0x300872a8], rax
mov eax, dword [rbx + 0x418]
mov dword [0x300872b0], eax
mov rax, qword [rbx + 0x420]
mov qword [0x30088748], rax
lea rax, [rbx + 0x438]
mov qword [0x300872c0], rax
lea rax, [rsp + 0x68]
mov qword [0x30088750], rax
mov qword [0x300872b8], rdi
mov eax, dword [rbx + 0x428]
mov dword [0x30088744], eax
mov eax, dword [rbx + 0x430]
mov dword [0x30088758], eax
mov rax, qword [rbx + 0x460]
mov qword [0x30088760], rax
call fcn.300120b4
test eax, eax
je 0x300153ed
lea rcx, [rsp + 0x50]
call fcn.300120ec
test eax, eax
je 0x30015411
mov qword [rsp + 0x20], 0
lea r9, [0x30007ccc]
xor r8d, r8d
mov edx, 0x67
mov rcx, qword [0x30089a38]
call fcn.30003e04
cmp dword [rsp + 0x78], 0
je 0x30015422
mov dword [rbx + 0x42c], 1
mov rcx, qword [rbx + 0x420]
test rcx, rcx
je 0x30015452
mov dword [rsp + 0x64], 1
mov dword [rsp + 0x60], 1
movabs r8, 0x10
lea rdx, [rsp + 0x58]
call fcn.3000f13c
cmp dword [0x30089cc0], 0
je 0x3001546b
call qword [0x30085448]
mov dword [0x30089cc0], 0
call fcn.30010548
cmp dword [rsp + 0x50], 0
jne 0x30015485
cmp dword [rbx + 0x430], 0
jne 0x30015485
xor r9d, r9d
jmp 0x3001548b
mov r9d, 1
lea rcx, [rbx + 0x438]
mov r8, rsi
lea rdx, [rsp + 0x68]
call fcn.30006a74
cmp dword [0x30088740], 0
je 0x300154b1
mov ecx, dword [rsp + 0x78]
call fcn.300121e0
mov rcx, qword [rdi + 0x28]
test rcx, rcx
je 0x300154bf
call fcn.30021150
mov rcx, qword [rdi]
test rcx, rcx
je 0x300154cc
call fcn.30021150
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x300154da
call fcn.30021150
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x300154e8
call fcn.30021150
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x300154f6
call fcn.30021150
mov rcx, qword [rdi + 0x48]
test rcx, rcx
je 0x30015504
call fcn.30021150
mov rcx, qword [rsp + 0x70]
cmp rcx, qword [0x30054370]
je 0x3001551c
test rcx, rcx
je 0x3001551c
call fcn.30021150
mov qword [0x300872c8], 0
add rsp, 0x80
pop rdi
pop rsi
pop rbx
ret