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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x258
movaps xmmword [rsp + 0x240], xmm6
mov rsi, rdx
mov r15, rcx
mov bl, byte [rdx + 0xd1]
cmp byte [rdx + 0xd0], 0
je 0x14009700a
mov rdi, qword [rsi + 0x48]
call fcn.14009af76
mov r14, rdx
test rax, rax
jne 0x140096ffa
lea rdx, [rsp + 0x90]
mov qword [rdx], r14
lea r14, [rsp + 0xf0]
mov rcx, r14
xor r8d, r8d
call fcn.14009ae41
mov r12, qword [r14]
mov r14, qword [r14 + 8]
test r12, r12
je 0x140096fed
mov qword [rsp + 0xd0], r12
mov qword [rsp + 0xd8], r14
lea rcx, [rsp + 0x90]
mov r13, r14
call fcn.14009ae33
mov r14, rdx
test rax, rax
je 0x140097791
lea rcx, [rsp + 0xd0]
call fcn.14009042f
lea rcx, [rsp + 0x90]
call fcn.14002166d
mov rcx, r14
mov qword [r15 + 8], rcx
and qword [r15], 0
jmp 0x140097772
call fcn.140093063
lock inc qword [rax]
jle 0x14009787f
mov r12, rax
xor r14d, r14d
movabs rdx, 0x8000000000000000
mov rcx, rax
mov qword [rsp + 0x148], rdx
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x168], r15
mov r15d, 1
test bl, bl
mov qword [rsp + 0x160], r14
je 0x1400970a3
call fcn.1400c2120
mov qword [rsp + 0x138], rax
mov dword [rsp + 0x3c], edx
lea rdi, [rsp + 0x1d8]
xor eax, eax
mov qword [rsp + 0x88], rax
mov rcx, rdi
xor edx, edx
mov r8d, 1
call fcn.14008f11d
mov rcx, rdi
call fcn.140090d4d
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x128], rdx
jmp 0x1400970b8
mov dword [rsp + 0x3c], 0x3b9aca00
mov eax, 1
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x158], r12
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xe0], rax
movaps xmm0, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmm0, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0xb0], xmm0
movups xmm0, xmmword [rsp + 0x179]
movups xmmword [rsp + 0xb9], xmm0
mov rax, qword [rsi + 0x50]
mov qword [rsp + 0x30], rax
call fcn.14009838f
mov r14, rax
mov qword [rsp + 0x140], rdx
mov ecx, 0x18
mov edx, 8
call fcn.140091156
mov rdi, rax
mov qword [rax], r15
mov qword [rax + 8], r15
mov qword [rax + 0x10], r14
mov rbx, qword [rsi + 0x28]
mov r15d, dword [rsi + 0x30]
lea r14, [rsp + 0x1d8]
mov rcx, r14
call fcn.14008fd8c
mov rcx, r14
call fcn.14009091b
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
mov r14, qword [rsi + 0x38]
lock inc qword [r14]
jle 0x14009787f
xor ebp, ebp
cmp r15d, 0x3b9aca00
cmovne ebp, r15d
mov eax, 0xa
cmove rbx, rax
mov r15, qword [rsi + 0x40]
movups xmm6, xmmword [rsi + 0x10]
lea rcx, [rsi + 0x58]
call fcn.14003c2b9
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rdx
lea rcx, [rsi + 0x68]
call fcn.14003c2b9
mov qword [rsp + 0x40], rax
mov r12, rdx
mov ecx, 0x110
mov edx, 8
call fcn.140091156
mov r13, rax
mov eax, 1
mov qword [r13], rax
mov qword [r13 + 8], rax
movups xmmword [r13 + 0x10], xmm6
mov qword [r13 + 0x20], rbx
mov dword [r13 + 0x28], ebp
mov qword [r13 + 0x30], r14
mov qword [r13 + 0x38], r15
and word [r13 + 0x40], 0
and qword [r13 + 0x48], 0
mov qword [r13 + 0x50], 8
xorps xmm6, xmm6
movups xmmword [r13 + 0x58], xmm6
movups xmm0, xmmword [0x1401930b0]
movups xmmword [r13 + 0x68], xmm0
movups xmm0, xmmword [0x1401930c0]
movups xmmword [r13 + 0x78], xmm0
mov rax, qword [rsp + 0x28]
mov qword [r13 + 0x88], rax
mov rax, qword [rsp + 0x20]
mov qword [r13 + 0x90], rax
mov qword [r13 + 0x98], rdi
and qword [r13 + 0xa0], 0
and qword [r13 + 0xb8], 0
and dword [r13 + 0xc0], 0
mov byte [r13 + 0xc4], 0
mov rax, qword [rsp + 0x50]
mov qword [r13 + 0xc8], rax
mov rax, qword [rsp + 0x48]
mov qword [r13 + 0xd0], rax
mov rax, qword [rsp + 0x40]
mov qword [r13 + 0xd8], rax
mov qword [r13 + 0xe0], r12
mov rax, qword [rsp + 0x30]
mov qword [r13 + 0xe8], rax
movups xmmword [r13 + 0xfc], xmm6
movups xmmword [r13 + 0xf0], xmm6
lock inc qword [r13]
jle 0x14009787f
lea r14, [rsi + 0xc4]
mov rcx, r14
call fcn.140098f99
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], edx
mov rcx, r14
call fcn.140098f99
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x48], edx
lea rcx, [rsi + 0x78]
call fcn.14003c2b9
mov qword [rsp + 0x20], rax
mov r15, rdx
lea rcx, [rsi + 0x88]
call fcn.14003c2b9
mov rdi, rax
mov rbp, rdx
lea rcx, [rsi + 0x98]
call fcn.14003c2b9
mov rbx, rax
mov r14, rdx
lea rcx, [rsi + 0xa8]
call fcn.14003c2b9
mov r9d, dword [rsi + 0x20]
mov r8d, dword [rsi + 0x24]
mov ecx, dword [rsi + 0xc0]
lea r12, [rsp + 0x208]
mov dword [rsp + 0x5c], r9d
mov dword [r12 - 0x30], r9d
mov dword [rsp + 0x40], r8d
mov dword [r12 - 0x2c], r8d
mov dword [r12 + 0x20], ecx
mov rcx, qword [rsi + 0xb8]
mov qword [r12 - 0x28], rcx
mov rcx, qword [rsp + 0x20]
mov qword [r12 - 0x20], rcx
mov qword [r12 - 0x18], r15
mov qword [r12 - 0x10], rdi
mov qword [r12 - 8], rbp
mov qword [r12], rbx
mov qword [r12 + 8], r14
lea rdi, [rsp + 0x218]
mov qword [rdi], rax
mov qword [rdi + 8], rdx
movzx eax, word [rsi + 0xd3]
mov word [rdi + 0x20], ax
and word [rdi + 0x14], 0
mov eax, dword [rsp + 0x30]
mov dword [rdi + 0x18], eax
mov eax, dword [rsp + 0x28]
mov dword [rdi + 0x1c], eax
call fcn.1400bb830
lea rcx, [rsp + 0x170]
mov qword [rcx], rax
call fcn.14009043e
mov rcx, r12
call fcn.14003c2b9
mov r15, rax
mov r12, rdx
mov rcx, rdi
call fcn.14003c2b9
mov rbp, rax
mov qword [rsp + 0x30], rdx
movups xmmword [rsp + 0xf6], xmm6
mov byte [rsp + 0x106], 0
lea rsi, [rsp + 0x170]
mov edx, 4
mov rcx, rsi
xor r8d, r8d
call fcn.1400913cc
cmp qword [rsi], 0
mov rcx, qword [rsi + 8]
jne 0x140097881
lea rdi, [rsp + 0x176]
mov rax, qword [rdi + 0xa]
lea rsi, [rsp + 0x60]
mov qword [rsi], rcx
mov qword [rsi + 8], rax
and qword [rsi + 0x10], 0
mov ebx, 2
xor r14d, r14d
xorps xmm6, xmm6
cmp r14, 4
je 0x14009748f
movups xmmword [rdi], xmm6
mov rax, qword [rsp + 0x17e]
mov qword [rsp + 0x9e], rax
movups xmm0, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0x90], xmm0
cmp r14, qword [rsp + 0x60]
jne 0x14009745d
mov rcx, rsi
call fcn.140091706
mov rax, qword [rsp + 0x68]
and word [rax + rbx - 2], 0
inc r14
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [rax + rbx], xmm0
mov rcx, qword [rsp + 0x9e]
mov qword [rax + rbx + 0xe], rcx
mov qword [rsp + 0x70], r14
add rbx, 0x18
jmp 0x140097425
cmp dword [rsp + 0x5c], 0
mov eax, 0x1f
mov qword [rsp + 0x28], rbp
mov ebp, dword [rsp + 0x40]
cmove ebp, eax
mov rax, qword [rsp + 0x70]
lea rcx, [rsp + 0x170]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rsp + 0x60]
movaps xmmword [rcx], xmm0
call fcn.140090d68
mov rbx, rax
mov r14, rdx
call fcn.140097adf
mov qword [rsp + 0x20], r12
mov r12, rax
mov ecx, 0x1b0
mov edx, 8
call fcn.140091156
mov rdx, r15
mov r15, rax
mov eax, 1
mov qword [r15], rax
mov qword [r15 + 8], rax
mov ecx, 0xd
lea rdi, [r15 + 0x10]
lea rsi, [rsp + 0x1d8]
rep movsq qword [rdi], qword [rsi]
mov qword [r15 + 0x78], rbx
mov qword [r15 + 0x80], r14
xorps xmm6, xmm6
movups xmmword [r15 + 0x88], xmm6
mov qword [r15 + 0x98], 3
mov qword [r15 + 0xa0], r12
xor ebx, ebx
mov byte [r15 + 0xa8], bl
and word [r15 + 0xb0], 0
movups xmm0, xmmword [rsp + 0xf0]
movups xmm1, xmmword [rsp + 0xfe]
movups xmmword [r15 + 0xb2], xmm0
movups xmmword [r15 + 0xc0], xmm1
and qword [r15 + 0xd0], 0
mov byte [r15 + 0xd8], bl
mov rax, qword [rsp + 0x160]
mov qword [r15 + 0xe0], rax
mov rax, qword [rsp + 0x158]
mov qword [r15 + 0xe8], rax
mov rax, qword [rsp + 0x118]
mov qword [r15 + 0xf0], rax
and qword [r15 + 0xf8], 0
and word [r15 + 0x100], 0
mov rax, qword [rsp + 0x80]
mov qword [r15 + 0x108], rax
mov rax, qword [rsp + 0x110]
mov qword [r15 + 0x110], rax
movaps xmm0, xmmword [rsp + 0xb0]
movups xmmword [r15 + 0x118], xmm0
movups xmm0, xmmword [rsp + 0xb9]
movups xmmword [r15 + 0x121], xmm0
and qword [r15 + 0x138], 0
mov byte [r15 + 0x140], bl
mov rax, qword [rsp + 0x130]
mov qword [r15 + 0x148], rax
mov rax, qword [rsp + 0x128]
mov qword [r15 + 0x150], rax
and qword [r15 + 0x158], 0
mov dword [r15 + 0x160], 1
mov byte [r15 + 0x164], bl
mov rax, qword [rsp + 0x138]
mov qword [r15 + 0x168], rax
mov eax, dword [rsp + 0x3c]
mov dword [r15 + 0x170], eax
mov qword [r15 + 0x178], r13
mov qword [r15 + 0x180], rdx
mov rax, qword [rsp + 0x20]
mov qword [r15 + 0x188], rax
mov rax, qword [rsp + 0x28]
mov qword [r15 + 0x190], rax
mov rax, qword [rsp + 0x30]
mov qword [r15 + 0x198], rax
and word [r15 + 0x1a0], 0
mov eax, dword [rsp + 0x50]
mov dword [r15 + 0x1a4], eax
mov eax, dword [rsp + 0x48]
mov dword [r15 + 0x1a8], eax
lea rsi, [rsp + 0x1b0]
mov edx, 0x40
mov rcx, rsi
call fcn.140090aa2
mov rax, qword [rsp + 0x88]
mov qword [rsi - 0x40], rax
mov rax, qword [rsp + 0x148]
mov qword [rsi - 0x38], rax
mov rax, qword [rsp + 0x150]
mov qword [rsi - 0x30], rax
movaps xmm0, xmmword [rsp + 0xd0]
movups xmmword [rsi - 0x28], xmm0
mov rax, qword [rsp + 0xe0]
mov qword [rsi - 0x18], rax
mov rax, qword [rsp + 0x120]
mov qword [rsi - 0x10], rax
mov byte [rsi - 8], bl
mov ecx, 0x70
mov edx, 8
call fcn.140091156
lea rdx, [rsp + 0x170]
mov ecx, 0xc
mov rdi, rax
mov rsi, rdx
rep movsq qword [rdi], qword [rsi]
and dword [rax + 0x60], 0
mov dword [rax + 0x64], ebp
mov byte [rax + 0x68], bl
movups xmmword [rdx + 6], xmm6
mov rcx, qword [rsp + 0x168]
mov qword [rcx], r15
mov r15, rcx
mov qword [rcx + 8], r13
mov rcx, qword [rsp + 0x140]
mov qword [r15 + 0x10], rcx
and qword [r15 + 0x18], 0
and word [r15 + 0x20], 0
movups xmm0, xmmword [rdx]
movups xmmword [r15 + 0x22], xmm0
mov rcx, qword [rdx + 0xe]
mov qword [r15 + 0x30], rcx
mov qword [r15 + 0x38], rax
mov rax, r15
movaps xmm6, xmmword [rsp + 0x240]
add rsp, 0x258
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x118], r13
lea rcx, [rsp + 0x1d8]
mov rdx, rdi
call fcn.14009aec4
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x120], rax
lea rdi, [rsp + 0xf0]
mov edx, 0x10
mov rcx, rdi
xor r8d, r8d
call fcn.14009134a
cmp qword [rdi], 0
mov rax, qword [rdi + 8]
mov qword [rsp + 0x80], rax
jne 0x14009788e
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x110], rax
mov rdx, qword [rsp + 0x1d8]
mov rcx, qword [rsp + 0x1e0]
movups xmm0, xmmword [rsp + 0x1e8]
movaps xmmword [rsp + 0xb0], xmm0
mov rax, qword [rsp + 0x1f8]
mov qword [rsp + 0xc0], rax
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x140096ffd
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x70], rax
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x60], xmm0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x170], xmm0
movups xmmword [rsp + 0x179], xmm0
movabs rax, 0x8000000000000001
cmp rdx, rax
je 0x140096ffd
jmp 0x14009702c
ud2
mov rdx, qword [rsp + 0x180]
call fcn.1400ee2c0
mov rdx, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x80]
call fcn.1400ee2c0
int3