Function at 0x1400be8ec
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r14
sub rsp, 0x50
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
mov rdx, qword [0x1401bb5d0]
mov rdx, qword [rdx + 8]
lea rcx, [0x1401bb5a0]
call fcn.1400baae0
mov r11, qword [0x1401bb5d0]
mov qword [r11 + 8], r11
and qword [0x1401bb5d8], 0
mov rax, qword [0x1401bb5d0]
mov qword [rax], rax
mov rax, qword [0x1401bb5d0]
mov qword [rax + 0x10], rax
lea rcx, [0x1401bb620]
call fcn.1400bc500
or r14d, 0xffffffff
mov dword [0x1401ac988], r14d
mov dword [0x1401ac98c], r14d
mov dword [0x1401ac994], r14d
xor r12d, r12d
xor ebp, ebp
cmp dword [0x1401bb58c], ebp
jle 0x1400beccf
lea rdi, [0x1401bb660]
cmp dword [rdi + 8], 0
je 0x1400becbd
mov rbx, qword [rdi]
cmp dword [rbx - 0xc], 0
jl 0x1400be9a5
mov qword [rsp + 0x90], rbx
lock add dword [rbx - 0xc], 1
jmp 0x1400be9d9
mov rax, qword [0x1401a8058]
mov qword [rsp + 0x90], rax
test rbx, rbx
jne 0x1400be9bd
xor eax, eax
jmp 0x1400be9c6
mov rcx, rbx
call qword [0x140155830]
mov r8, rbx
mov edx, eax
lea rcx, [rsp + 0x90]
call fcn.1400035cc
nop
mov rax, qword [0x1401a8058]
mov qword [rsp + 0x88], rax
xor esi, esi
lea r8, [0x1401571bc]
lea rdx, [0x1401571b4]
lea rcx, [rsp + 0x90]
call fcn.140003350
lea r9d, [rsi + 0x3b]
xor r8d, r8d
mov rdx, qword [rsp + 0x90]
lea rcx, [rsp + 0x88]
call fcn.140105604
test eax, eax
je 0x1400bec60
mov rbx, qword [rsp + 0x88]
cmp dword [rbx - 0xc], 0
jl 0x1400bea46
mov qword [rsp + 0x80], rbx
lock add dword [rbx - 0xc], 1
jmp 0x1400bea71
mov rax, qword [0x1401a8058]
mov qword [rsp + 0x80], rax
mov rcx, rbx
call qword [0x140155830]
mov r8, rbx
mov edx, eax
lea rcx, [rsp + 0x80]
call fcn.1400035cc
nop
mov rbx, qword [rsp + 0x80]
cmp dword [rbx - 8], 0
jle 0x1400bec18
lea rcx, [rsp + 0x80]
call fcn.140002d9c
mov rbx, qword [rsp + 0x80]
mov rcx, rbx
call qword [0x140155b88]
cmp dword [rbx - 8], 0
jl 0x1400bead3
lea rdx, str.BG_A
mov rcx, rbx
call fcn.14011b5ec
test rax, rax
je 0x1400bead3
sub rax, rbx
sar rax, 1
test eax, eax
jne 0x1400bead3
mov eax, dword [rdi + 0xc]
mov dword [0x1401ac988], eax
jmp 0x1400bebeb
cmp dword [rbx - 8], 0
jl 0x1400beb05
lea rdx, [0x1401660a0]
mov rcx, rbx
call fcn.14011b5ec
test rax, rax
je 0x1400beb05
sub rax, rbx
sar rax, 1
test eax, eax
jne 0x1400beb05
mov eax, dword [rdi + 0xc]
mov dword [0x1401ac994], eax
jmp 0x1400bebeb
lea rdx, [rsp + 0x80]
lea rcx, [0x1401bb5a0]
call fcn.1400be0a0
mov ecx, dword [rdi + 0xc]
mov dword [rax + 0x10], ecx
lea rdx, [rsp + 0x80]
lea rcx, [0x1401bb5a0]
call fcn.1400be0a0
mov rcx, rax
lea rdx, [rsp + 0x88]
call fcn.140003940
lea rdx, [rsp + 0x80]
lea rcx, [0x1401bb5a0]
call fcn.1400be0a0
lea rdx, [rsp + 0x80]
lea rcx, [rax + 8]
call fcn.140003940
lea rdx, [rsp + 0x80]
lea rcx, [0x1401bb5a0]
call fcn.1400be0a0
mov ecx, dword [rdi + 0x10]
mov dword [rax + 0x14], ecx
lea rdx, [rsp + 0x80]
lea rcx, [0x1401bb5a0]
call fcn.1400be0a0
mov ecx, dword [rdi + 0x1c]
mov dword [rax + 0x18], ecx
lea rdx, [rsp + 0x80]
lea rcx, [0x1401bb5a0]
call fcn.1400be0a0
mov ecx, dword [rdi + 0x14]
mov dword [rax + 0x1c], ecx
lea rdx, [rsp + 0x80]
lea rcx, [0x1401bb5a0]
call fcn.1400be0a0
mov ecx, dword [rdi + 0x18]
mov dword [rax + 0x20], ecx
lea rdx, [rsp + 0x80]
lea rcx, [0x1401bb5a0]
call fcn.1400be0a0
mov dword [rax + 0x24], r12d
inc r12d
cmp dword [rbx - 8], 0
jl 0x1400bec18
lea rdx, [0x1401580c8]
mov rcx, rbx
call fcn.14011b5ec
test rax, rax
je 0x1400bec18
sub rax, rbx
sar rax, 1
test eax, eax
jne 0x1400bec18
mov eax, dword [rdi + 0xc]
mov dword [0x1401ac98c], eax
inc esi
lea rcx, [rbx - 0xc]
cmp rcx, qword [0x1401a8050]
je 0x1400bec3a
mov eax, r14d
lock xadd dword [rcx], eax
add eax, r14d
test eax, eax
jg 0x1400bec3a
call fcn.14011be18
mov r9d, 0x3b
mov r8d, esi
mov rdx, qword [rsp + 0x90]
lea rcx, [rsp + 0x88]
call fcn.140105604
test eax, eax
jne 0x1400bea29
mov rcx, qword [rsp + 0x88]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1401a8050]
je 0x1400bec95
mov eax, r14d
lock xadd dword [rcx], eax
add eax, r14d
test eax, eax
jg 0x1400bec95
mov rcx, qword [rsp + 0x88]
add rcx, 0xfffffffffffffff4
call fcn.14011be18
nop
mov rcx, qword [rsp + 0x90]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1401a8050]
je 0x1400becbd
mov eax, r14d
lock xadd dword [rcx], eax
add eax, r14d
test eax, eax
jg 0x1400becbd
call fcn.14011be18
inc ebp
add rdi, 0x20
cmp ebp, dword [0x1401bb58c]
jl 0x1400be983
mov rdx, qword [0x1401bb5d8]
test edx, edx
je 0x1400bedb8
mov rax, qword [0x1401bb5d0]
mov rcx, qword [rax]
mov qword [rsp + 0x48], rcx
mov rax, qword [0x1401bb5a0]
mov qword [rsp + 0x40], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x30], xmm0
test edx, edx
jle 0x1400bedb8
mov ebp, edx
mov rbx, qword [rsp + 0x30]
test rbx, rbx
jne 0x1400bed22
call fcn.14011d9b0
xor r11d, r11d
jmp 0x1400bed25
mov r11, qword [rbx]
mov rsi, qword [rsp + 0x38]
cmp rsi, qword [r11 + 0x30]
jne 0x1400bed35
call fcn.14011d9b0
test rbx, rbx
jne 0x1400bed44
call fcn.14011d9b0
xor r11d, r11d
jmp 0x1400bed47
mov r11, qword [rbx]
cmp rsi, qword [r11 + 0x30]
jne 0x1400bed52
call fcn.14011d9b0
lea rdx, [rsi + 0x44]
lea rcx, [0x1401bb620]
call fcn.1400be1fc
mov rbx, rax
lea rdx, [rsi + 0x20]
mov rcx, rax
call fcn.140003940
lea rdx, [rsi + 0x28]
lea rcx, [rbx + 8]
call fcn.140003940
mov r11d, dword [rsi + 0x30]
mov dword [rbx + 0x10], r11d
mov ecx, dword [rsi + 0x34]
mov dword [rbx + 0x14], ecx
mov ecx, dword [rsi + 0x38]
mov dword [rbx + 0x18], ecx
mov ecx, dword [rsi + 0x3c]
mov dword [rbx + 0x1c], ecx
mov eax, dword [rsi + 0x40]
mov dword [rbx + 0x20], eax
mov eax, dword [rsi + 0x44]
mov dword [rbx + 0x24], eax
lea rcx, [rsp + 0x30]
call fcn.140040f6c
sub rbp, 1
jne 0x1400bed0e
inc dword [0x1401ac990]
mov eax, dword [0x1401bb658]
mov rbx, qword [rsp + 0x98]
add rsp, 0x50
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret