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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x18
mov eax, 0x48
mov esi, dword [rsp + 0x98]
mov r10, qword [rsp + 0xa8]
mov r11, qword [rsp + 0xb0]
mov edi, dword [rsp + 0xa0]
bt rax, rsi
mov rbp, qword [r10]
mov r12, qword [r11]
mov dword [rsp + 0x78], r9d
mov ebx, ecx
mov r13d, edx
jae 0x140019a00
mov rcx, rbp
mov rax, r12
mov r9d, 1
test rax, rax
je 0x1400199e0
test rcx, rcx
je 0x1400199e0
test edi, edi
js 0x140019af0
cmp esi, 1
je 0x1400199ad
cmp esi, 4
je 0x140019a4d
cmp esi, 3
je 0x140019ac5
nop
mov rbx, qword [rax + 0x10]
mov r8, qword [rax + 0x18]
test r9d, r9d
mov r13, qword [rax]
mov rdx, rbx
cmovne rdx, r8
cmp edi, dword [r13 + 0x44]
jne 0x140019978
cmp esi, 2
je 0x140019dc0
cmp esi, 6
jne 0x140019978
mov r14d, dword [rax + 8]
test r14d, r14d
je 0x140019978
cmp rax, rbp
je 0x140019978
cmp rax, r12
cmove r12, r8
test rbx, rbx
je 0x140019957
mov qword [rbx + 0x18], r8
test r8, r8
je 0x140019960
mov qword [r8 + 0x10], rbx
mov qword [rbp + 0x18], rax
mov qword [rax + 0x18], 0
mov qword [rax + 0x10], rbp
mov rbp, rax
nop dword [rax + rax]
test rdx, rdx
je 0x1400199e0
cmp rcx, rax
je 0x1400199e0
mov rax, rdx
jmp 0x140019910
mov esi, dword [rax + 8]
test esi, esi
je 0x140019e14
nop dword [rax + rax]
test rdx, rdx
je 0x1400199e0
cmp rcx, rax
je 0x1400199e0
mov rax, rdx
mov rbx, qword [rax + 0x18]
mov r8, qword [rax + 0x10]
test r9d, r9d
mov rsi, qword [rax]
mov rdx, rbx
cmove rdx, r8
cmp dword [rsi + 0x44], edi
je 0x140019990
jmp 0x1400199a0
mov r10, qword [rsp + 0xa8]
mov r11, qword [rsp + 0xb0]
mov qword [r10], rbp
mov qword [r11], r12
add rsp, 0x18
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r12
mov rax, rbp
xor r9d, r9d
jmp 0x1400198d9
cmp rax, r12
je 0x140019a40
cmp rax, rbp
cmove rbp, r8
test rbx, rbx
je 0x140019a23
mov qword [rbx + 0x10], r8
test r8, r8
je 0x140019a2c
mov qword [r8 + 0x18], rbx
mov qword [r12 + 0x10], rax
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], r12
mov r12, rax
test rdx, rdx
je 0x1400199e0
cmp rcx, rax
je 0x1400199e0
mov rax, rdx
mov r8, qword [rax + 0x10]
mov rbx, qword [rax + 0x18]
test r9d, r9d
mov rsi, qword [rax]
mov rdx, r8
cmovne rdx, rbx
cmp edi, dword [rsi + 0x44]
jne 0x140019a40
mov esi, dword [rax + 8]
test esi, esi
jne 0x140019a0e
jmp 0x140019a40
cmp rax, rbp
je 0x140019aa1
cmp rax, r12
cmove r12, r8
test rbx, rbx
je 0x140019a85
mov qword [rbx + 0x18], r8
test r8, r8
je 0x140019a8e
mov qword [r8 + 0x10], rbx
mov qword [rbp + 0x18], rax
mov qword [rax + 0x18], 0
mov qword [rax + 0x10], rbp
mov rbp, rax
mov dword [rax + 8], 0
nop dword [rax + rax]
test rdx, rdx
je 0x1400199e0
cmp rcx, rax
je 0x1400199e0
mov rax, rdx
mov r8, qword [rax + 0x18]
mov rbx, qword [rax + 0x10]
test r9d, r9d
mov rsi, qword [rax]
mov rdx, r8
cmove rdx, rbx
cmp edi, dword [rsi + 0x44]
jne 0x140019ab0
mov r13d, dword [rax + 8]
test r13d, r13d
je 0x140019ab0
jmp 0x140019a70
mov edi, dword [rsp + 0x90]
mov qword [rsp + 0xa8], r10
lea r14, [0x140275060]
mov qword [rsp + 0xb0], r11
and edi, 0x1f
mov dword [rsp + 0xc], edi
mov edi, esi
mov qword [rsp], rdi
nop dword [rax + rax]
mov r11, qword [rax + 0x10]
mov r10, qword [rax + 0x18]
test r9d, r9d
mov rdi, qword [rax]
mov rdx, r11
cmovne rdx, r10
test ebx, ebx
je 0x140019b48
cmp ebx, dword [rdi + 0x18]
jne case.0x140019bfd.0
nop word [rax + rax]
test r13d, r13d
je 0x140019b5a
mov r15d, r13d
and r15d, dword [rdi + 0x1c]
je case.0x140019bfd.0
test r8d, r8d
je 0x140019b6c
mov r15d, r8d
and r15d, dword [rdi + 0x20]
je case.0x140019bfd.0
mov r15d, dword [rsp + 0x78]
test r15d, r15d
je 0x140019b85
mov r15d, dword [rsp + 0x78]
and r15d, dword [rdi + 0x24]
je case.0x140019bfd.0
mov r15d, dword [rsp + 0x80]
test r15d, r15d
je 0x140019ba4
mov r15d, dword [rsp + 0x80]
and r15d, dword [rdi + 0x28]
je case.0x140019bfd.0
mov r15d, dword [rsp + 0x88]
test r15d, r15d
je 0x140019bc3
mov r15d, dword [rdi + 0x2c]
cmp dword [rsp + 0x88], r15d
jne case.0x140019bfd.0
mov r15d, dword [rsp + 0xc]
test r15d, r15d
je 0x140019bdf
mov r15d, dword [rsp + 0x90]
and r15d, dword [rdi + 0x3c]
and r15d, 0x1f
je case.0x140019bfd.0
test byte [rsp + 0x90], 0x20
jne 0x140019d80
cmp esi, 6
ja case.0x140019bfd.0
mov rdi, qword [rsp]
movsxd rdi, dword [r14 + rdi*4]
add rdi, r14
jmp rdi
cmp rbp, rax
je 0x140019d9d
mov qword [r10 + 0x10], r11
cmp r12, rax
je 0x140019e52
mov dword [rax + 8], 0
test r11, r11
je 0x140019c2f
mov qword [r11 + 0x18], r10
mov r10, qword [rax + 0x18]
test r10, r10
je 0x140019c33
mov qword [r10 + 0x10], r11
pxor xmm0, xmm0
movups xmmword [rax + 0x10], xmm0
nop dword [rax + rax]
test rdx, rdx
je 0x1400199d0
cmp rcx, rax
je 0x1400199d0
mov rax, rdx
jmp 0x140019b20
mov r15d, dword [rax + 8]
test r15d, r15d
je case.0x140019bfd.0
cmp rbp, rax
je case.0x140019bfd.0
cmp r12, rax
cmove r12, r10
test r11, r11
je 0x140019c7e
mov qword [r11 + 0x18], r10
test r10, r10
je 0x140019c87
mov qword [r10 + 0x10], r11
mov qword [rbp + 0x18], rax
mov qword [rax + 0x10], rbp
mov rbp, rax
mov qword [rax + 0x18], 0
jmp case.0x140019bfd.0
mov r15d, dword [rax + 8]
test r15d, r15d
je case.0x140019bfd.0
cmp r12, rax
je case.0x140019bfd.0
cmp rbp, rax
cmove rbp, r11
test r10, r10
je 0x140019cbe
mov qword [r10 + 0x10], r11
test r11, r11
je 0x140019cc7
mov qword [r11 + 0x18], r10
mov qword [r12 + 0x10], rax
mov qword [rax + 0x18], r12
mov r12, rax
mov qword [rax + 0x10], 0
jmp case.0x140019bfd.0
mov edi, dword [rax + 8]
test edi, edi
je case.0x140019bfd.0
cmp rbp, rax
je 0x140019d1c
cmp r12, rax
cmove r12, r10
test r11, r11
je 0x140019d00
mov qword [r11 + 0x18], r10
test r10, r10
je 0x140019d09
mov qword [r10 + 0x10], r11
mov qword [rbp + 0x18], rax
mov qword [rax + 0x18], 0
mov qword [rax + 0x10], rbp
mov rbp, rax
mov dword [rax + 8], 0
jmp case.0x140019bfd.0
mov edi, dword [rax + 8]
test edi, edi
jne case.0x140019bfd.0
cmp r12, rax
je 0x140019d6d
cmp rbp, rax
cmove rbp, r11
test r10, r10
je 0x140019d50
mov qword [r10 + 0x10], r11
test r11, r11
je 0x140019d59
mov qword [r11 + 0x18], r10
mov qword [r12 + 0x10], rax
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], r12
mov r12, rax
mov dword [rax + 8], 1
jmp case.0x140019bfd.0
mov r15d, dword [rsp + 0x90]
and r15d, dword [rdi + 0x3c]
mov edi, r15d
and edi, 0x20
jne 0x140019bed
jmp case.0x140019bfd.0
cmp r12, rbp
mov dword [rbp + 8], 0
mov rbp, r11
cmove r12, r10
test r11, r11
jne 0x140019c22
jmp 0x140019c2a
cmp rax, rbp
je 0x140019dfc
mov qword [r8 + 0x10], rbx
mov dword [rax + 8], 0
cmp rax, r12
je 0x140019e6c
test rbx, rbx
je 0x140019deb
mov qword [rbx + 0x18], r8
mov r8, qword [rax + 0x18]
test r8, r8
je 0x140019def
mov qword [r8 + 0x10], rbx
pxor xmm0, xmm0
movups xmmword [rax + 0x10], xmm0
jmp 0x140019978
cmp rax, r12
mov dword [rax + 8], 0
mov rbp, rbx
cmove r12, r8
test rbx, rbx
jne 0x140019dde
jmp 0x140019de6
cmp rax, r12
je 0x140019e46
cmp rax, rbp
cmove rbp, r8
test rbx, rbx
je 0x140019e29
mov qword [rbx + 0x10], r8
test r8, r8
je 0x140019e32
mov qword [r8 + 0x18], rbx
mov qword [r12 + 0x10], rax
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], r12
mov r12, rax
mov dword [rax + 8], 1
jmp 0x1400199a0
mov dword [r12 + 8], 0
mov r12, r10
test r11, r11
jne 0x140019c22
jmp 0x140019c2f
mov r12, r8
test rbx, rbx
jne 0x140019dde
jmp 0x140019deb