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

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
movzx eax, byte [rdx + 1]
mov rbx, rcx
mov rcx, qword [rcx + 0x80]
mov r9d, eax
mov dword [rsp + 0xa0], eax
xor edi, edi
mov r15, rdx
mov ebp, 4
mov rax, qword [rcx + 0x20]
lea rsi, [rax + r9*8]
mov rax, qword [rbx + 0xa0]
lea r12, [rax + r9*4]
test r8d, r8d
je 0x140037caa
cmp qword [rbx + 0xba8], rdx
jne 0x140037c89
movzx ecx, word [r12]
cmp cx, word [rbx + 0xbb0]
jne 0x140037c89
movzx r13d, byte [rbx + 0xbb8]
mov edx, 0x2900
movzx r14d, word [rbx + 0xbb4]
movzx eax, r13w
or ax, dx
mov word [rbx + 0xb8], cx
mov word [rbx + 0xbc], ax
mov rcx, rbx
movzx eax, word [rbx + 0xbb6]
mov word [rbx + 0xba], ax
call fcn.14004f50c
mov dword [r12], eax
mov dword [r12 + 0xc], eax
jmp 0x140037dc8
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rcx, rbx
call fcn.1400380ac
movzx r13d, byte [rsp + 0x40]
movzx r14d, word [rsp + 0x3c]
jmp 0x140037dc8
mov rdx, rsi
call fcn.140014428
mov eax, dword [r12]
and eax, 0x1f000000
cmp eax, 0x13000000
je 0x140037cca
mov r13d, 0xe
jmp 0x140037cd8
mov rdx, rsi
mov rcx, rbx
call fcn.1400510f4
mov r13d, eax
mov r15d, dword [rsp + 0xa0]
mov r14d, edi
mov rdi, r12
mov ecx, dword [rdi]
test ecx, ecx
jne 0x140037cfa
lea edx, [r14 + r15]
mov rcx, rbx
call fcn.14003a154
mov ecx, dword [rdi]
mov eax, ecx
and eax, 0x1f000000
cmp eax, 0x4000000
jne 0x140037d28
movzx eax, word [rdi]
mov rcx, rbx
mov word [rbx + 0xb8], ax
mov dword [rbx + 0xba], 0x5e8e0000
call fcn.14004f50c
mov ecx, eax
mov dword [rdi], eax
cmp r13d, 0x13
jne 0x140037d4a
shr ecx, 0x18
and ecx, 0x1f
sub ecx, 0xf
cmp ecx, ebp
jbe 0x140037d76
movzx eax, word [rdi]
mov dword [rbx + 0xba], 0x5b93326e
jmp 0x140037d65
and ecx, 0x1f000000
cmp ecx, 0xe000000
je 0x140037d76
movzx eax, word [rdi]
mov dword [rbx + 0xba], 0x5b0e01d3
mov rcx, rbx
mov word [rbx + 0xb8], ax
call fcn.14004f50c
mov dword [rdi], eax
inc r14d
add rdi, rbp
cmp r14d, 2
jbe 0x140037ce6
mov eax, dword [r12]
mov edx, r13d
mov r14d, dword [r12 + 4]
mov rcx, rbx
mov dword [r12 + 0xc], eax
mov r9d, r14d
mov r8d, dword [rsi + 0x14]
mov eax, dword [r12 + 8]
not r8d
shr r8d, 0x1f
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], eax
call fcn.140037ee8
mov r15, qword [rsp + 0xa8]
xor edi, edi
movsd xmm2, qword [rsi + 8]
movsd xmm1, qword [rsi]
movsd xmm0, qword [rsi + 0x10]
cmp dword [rsp + 0xb0], edi
je 0x140037de3
addsd xmm1, xmm0
cmp dword [rsi + 0x14], edi
jl 0x140037e0e
comisd xmm2, xmm1
jb 0x140037e07
addsd xmm0, xmm0
mov esi, 0x280
addsd xmm0, xmm1
comisd xmm0, xmm2
setbe dil
inc edi
jmp 0x140037e32
mov esi, 0x380
jmp 0x140037e32
comisd xmm1, xmm2
jb 0x140037e2d
addsd xmm0, xmm0
mov esi, 0x180
addsd xmm0, xmm1
comisd xmm2, xmm0
setbe dil
inc edi
jmp 0x140037e32
mov esi, 0x80
mov eax, dword [rsp + 0xa0]
lea ebp, [rax + 4]
test edi, edi
jne 0x140037e4b
mov dword [rbx + 0xac], ebp
lea eax, [rdi + 4]
jmp 0x140037e5e
mov dword [rbx + 0xac], eax
movzx eax, word [r15 + 2]
lea rax, [rax*4 - 0x1fffc]
add rax, r15
mov rcx, rbx
mov qword [rbx + 0x88], rax
call fcn.14003233c
movzx eax, word [r12]
or si, r13w
mov rcx, rbx
mov word [rbx + 0xb8], ax
mov word [rbx + 0xbc], si
mov word [rbx + 0xba], r14w
call fcn.14004f50c
test edi, edi
jne 0x140037eb7
mov eax, dword [rsp + 0xa0]
mov dword [rbx + 0xac], eax
movzx eax, word [r15 + 2]
lea rax, [rax*4 - 0x1fffc]
jmp 0x140037ec2
mov dword [rbx + 0xac], ebp
mov eax, 4
lea rcx, [r15 + rax]
mov eax, edi
mov qword [rbx + 0x88], rcx
mov byte [rbx + 0xb5], 1
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret