Function at 0x3bc1c1d21
Capabilities:
Create thread

Disassembly:
push rbx
sub rsp, 0x30
mov dword [0x3bc1dd1a0], 1
mov edx, 0x400
lea rcx, [0x3bc1dd1c0]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
test eax, eax
je 0x3bc1c1dc4
lea rax, [0x3bc1dd1c0]
mov qword [0x3bc1dd1a8], rax
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r9d, 0
lea r8, [0x3bc1c184a]
mov edx, 0
mov ecx, 0
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [0x3bc1d3010], rax
test rax, rax
je 0x3bc1c1e9c
mov ebx, 0
test ebx, ebx
je 0x3bc1c1f95
mov r8d, ebx
and r8d, 0x3fffffff
lea rdx, str.ebus_init
lea rcx, [0x3bc1d4506]
call fcn.3bc1c1292
mov eax, ebx
add rsp, 0x30
pop rbx
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov r8d, eax
lea rdx, str.ebus_init
lea rcx, str._E____s_____InitializeCriticalSectionAndSpinCount_cs_subscribers__failed_gle_lu__n
call fcn.3bc1c1292
cmp ebx, 0x20
ja 0x3bc1c1dff
ja case.0x3bc1c1dfd.1
mov ebx, ebx
lea rdx, [0x3bc1d453c]
movsxd rax, dword [rdx + rbx*4]
add rax, rdx
jmp rax
cmp ebx, 0x94
je 0x3bc1c1fc8
cmp ebx, 0x94
jbe 0x3bc1c1e3d
cmp ebx, 0xb7
je 0x3bc1c1ff0
cmp ebx, 0x80070005
je 0x3bc1c1ffa
cmp ebx, 0xaa
je 0x3bc1c1e74
mov ebx, 0x40000001
jmp 0x3bc1c1d9f
cmp ebx, 0x7f
ja 0x3bc1c1e5e
cmp ebx, 0x7e
jae 0x3bc1c1fd2
cmp ebx, 0x50
jne 0x3bc1c1fdc
mov ebx, 0x40000007
jmp 0x3bc1c1d9f
cmp ebx, 0x91
jne 0x3bc1c1fe6
mov ebx, 0x4000000d
jmp 0x3bc1c1d9f
mov ebx, 0x4000000d
jmp 0x3bc1c1d9f
mov ebx, 0x40000003
jmp 0x3bc1c1d9f
invalid
invalid
invalid
invalid
mov ebx, 0x40000009
jmp 0x3bc1c1d9f
mov ebx, 0x4000000d
jmp 0x3bc1c1d9f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov r8d, eax
lea rdx, str.ebus_init
lea rcx, str._E____s_____CreateThread_routine_rx__failed_gle_lu__n
add dword es:[rax], eax
add dword es:[rax], eax
call fcn.3bc1c1292
cmp ebx, 0x20
ja 0x3bc1c1ed3
ja 0x3bc1c1f36
mov eax, ebx
lea rdx, [0x3bc1d45c0]
add dword es:[rax], eax
add dword es:[rax], eax
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
cmp ebx, 0x94
je 0x3bc1c1f09
ja 0x3bc1c1f1e
cmp r11d, 0x7f
cmp ebx, 0x7f
ja 0x3bc1c1f01
cmp ebx, 0x7e
jae 0x3bc1c1f60
cmp ebx, 0x50
jne 0x3bc1c1f36
mov qword [0x3bc1d3010], 0xffffffffffffffff
mov ebx, 0x40000007
jmp 0x3bc1c1d9f
add dword [rax], eax
cmp ebx, 0x91
jne 0x3bc1c1f36
add byte [rbp + 0x2d], dh
mov qword [0x3bc1d3010], 0xffffffffffffffff
mov ebx, 0x4000000d
jmp 0x3bc1c1d9f
cmp ebx, 0xb7
je 0x3bc1c1eec
cmp ebx, 0x80070005
je 0x3bc1c1f4b
cmp ebx, 0xaa
je 0x3bc1c1f09
mov qword [0x3bc1d3010], 0xffffffffffffffff
mov ebx, 0x40000001
jmp 0x3bc1c1d9f
mov qword [0x3bc1d3010], 0xffffffffffffffff
mov ebx, 0x40000009
jmp 0x3bc1c1d9f
mov qword [0x3bc1d3010], 0xffffffffffffffff
mov ebx, 0x40000003
jmp 0x3bc1c1d9f
mov qword [0x3bc1d3010], 0xffffffffffffffff
mov ebx, 0x40000008
jmp 0x3bc1c1d9f
mov qword [0x3bc1d3010], 0xffffffffffffffff
lea r8, [0x3bc1d4524]
lea rdx, str.ebus_init
lea rcx, [0x3bc1d4529]
call fcn.3bc1c1292
jmp 0x3bc1c1dbc
mov ebx, 0x40000008
jmp 0x3bc1c1d97
mov ebx, 0x40000001
jmp 0x3bc1c1d9f
mov ebx, 0x4000000d
jmp 0x3bc1c1d9f
mov ebx, 0x40000003
jmp 0x3bc1c1d9f
mov ebx, 0x40000001
jmp 0x3bc1c1d9f
mov ebx, 0x40000001
jmp 0x3bc1c1d9f
mov ebx, 0x40000007
jmp 0x3bc1c1d9f
mov ebx, 0x40000009
jmp 0x3bc1c1d9f