Function at 0x1401098d0
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, 0xf8
mov rdi, rdx
movabs rsi, 0x8000000000000000
mov rax, qword [rdx + 8]
mov rdx, qword [rdx + 0x10]
mov r8, rax
sub r8, rdx
cmp r8, 2
jae 0x140109937
lea rax, [0x141a5a813]
mov rdx, rax
shr rdx, 0x10
mov word [rsp + 0x38], ax
shr rax, 0x30
mov word [rsp + 0x3e], ax
mov dword [rsp + 0x3a], edx
mov qword [rsp + 0x40], 2
mov eax, 0xb
jmp 0x140109c0f
lea r11, [rdx + 2]
mov qword [rdi + 0x10], r11
cmp rdx, 0xfffffffffffffffd
ja 0x140109fc5
mov r10, rax
sub r10, r11
jb 0x140109fc5
mov r8, qword [rdi]
movzx edx, word [r8 + rdx]
mov r9d, edx
rol r9w, 8
movzx r9d, r9w
cmp r10, r9
jae 0x140109980
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov eax, 0xa
jmp 0x140109c0f
mov r10, r11
add r10, r9
mov qword [rdi + 0x10], r10
jb 0x140109fc5
mov qword [rsp + 0x88], rcx
cmp r10, rax
ja 0x140109fc5
add r8, r11
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 8
mov qword [rsp + 0x70], 0
test dx, dx
je 0x140109afc
lea rax, [0x141a5a818]
shr rax, 0x20
mov qword [rsp + 0x80], rax
mov r12d, 8
xor r13d, r13d
jmp 0x140109a45
mov r12, qword [rsp + 0x68]
mov rax, r13
shl rax, 5
mov qword [r12 + rax], r15
mov qword [r12 + rax + 8], rbx
mov dword [r12 + rax + 0x10], ebp
mov dword [r12 + rax + 0x14], r14d
mov dword [r12 + rax + 0x18], esi
mov dword [r12 + rax + 0x1c], 0
inc r13
mov qword [rsp + 0x70], r13
mov rax, qword [rsp + 0x58]
cmp rax, qword [rsp + 0x50]
jae 0x140109afc
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x48]
call fcn.14012e490
cmp qword [rsp + 0x90], 0
mov r15, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xa0]
mov ebp, dword [rsp + 0xa8]
mov r14d, dword [rsp + 0xac]
jne 0x140109b1f
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
mov rdx, rcx
sub rdx, rax
cmp rdx, 4
jb 0x140109b28
lea rdx, [rax + 4]
mov qword [rsp + 0x58], rdx
cmp rax, 0xfffffffffffffffb
ja 0x140109fc5
cmp rdx, rcx
ja 0x140109fc5
mov rcx, qword [rsp + 0x48]
mov esi, dword [rcx + rax]
bswap esi
movabs rax, 0x8000000000000000
cmp r15, rax
je 0x140109b5e
mov r13, qword [rsp + 0x70]
cmp r13, qword [rsp + 0x60]
jne 0x140109a00
lea rcx, [rsp + 0x60]
call fcn.140110b80
mov r13, qword [rsp + 0x70]
jmp 0x140109a00
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x38], rax
jmp 0x140109c50
mov rax, rbx
shr rax, 0x20
jmp 0x140109b78
mov ecx, 0xb
mov esi, 3
test r15, r15
je 0x140109b4d
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, rbx
call fcn.1401cdfe4
mov ecx, 0xb
lea rbp, [0x141a5a818]
mov rax, qword [rsp + 0x80]
jmp 0x140109b64
mov eax, r14d
mov rcx, rbx
mov ebx, ebp
mov r12, qword [rsp + 0x68]
mov r13, qword [rsp + 0x70]
xor r14d, r14d
mov ebp, esi
mov r15, rcx
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x40], ebp
mov dword [rsp + 0x44], r14d
mov qword [rsp + 0x28], 1
test r13, r13
je 0x140109bd5
add r12, 8
jmp 0x140109bb9
add r12, 0x20
dec r13
je 0x140109bd5
cmp qword [r12 - 8], 0
je 0x140109bb0
mov r8, qword [r12]
mov rcx, qword [0x141ada118]
xor edx, edx
call fcn.1401cdfe4
jmp 0x140109bb0
cmp qword [rsp + 0x60], 0
je 0x140109bf0
mov r8, qword [rsp + 0x68]
mov rcx, qword [0x141ada118]
xor edx, edx
call fcn.1401cdfe4
cmp qword [rsp + 0x28], 0
je 0x140109c50
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x88]
movabs rsi, 0x8000000000000000
movzx r10d, word [rsp + 0x38]
mov edx, dword [rsp + 0x3a]
movzx r8d, word [rsp + 0x3e]
mov r9, qword [rsp + 0x40]
mov qword [rcx + 8], rax
mov word [rcx + 0x10], r10w
mov dword [rcx + 0x12], edx
mov word [rcx + 0x16], r8w
mov qword [rcx + 0x18], r9
mov qword [rcx], rsi
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r14, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rax, qword [rdi + 8]
mov rdx, qword [rdi + 0x10]
mov rcx, rax
sub rcx, rdx
cmp rcx, 2
jae 0x140109cac
lea rcx, [0x141a5a813]
mov rdx, rcx
shr rdx, 0x10
lea rax, [rsp + 0x30]
mov qword [rsp + 0x30], 0xb
mov word [rsp + 0x38], cx
shr rcx, 0x30
mov word [rsp + 0x3e], cx
mov dword [rsp + 0x3a], edx
mov qword [rsp + 0x40], 2
jmp 0x140109cfd
lea rcx, [rdx + 2]
mov qword [rdi + 0x10], rcx
cmp rdx, 0xfffffffffffffffd
ja 0x140109fc5
mov r10, rax
sub r10, rcx
jb 0x140109fc5
mov r8, qword [rdi]
movzx edx, word [r8 + rdx]
mov r9d, edx
rol r9w, 8
movzx r9d, r9w
cmp r10, r9
jae 0x140109d90
lea rax, [rsp + 0x30]
mov qword [rsp + 0x30], 0xa
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0xc0], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0xb0], xmm0
mov rax, qword [rsp + 0x88]
mov qword [rax + 0x18], rcx
movups xmmword [rax + 8], xmm0
movabs rcx, 0x8000000000000000
mov qword [rax], rcx
test rbp, rbp
je 0x140109d63
lea rsi, [rbx + 8]
jmp 0x140109d49
add rsi, 0x20
dec rbp
je 0x140109d63
cmp qword [rsi - 8], 0
je 0x140109d40
mov r8, qword [rsi]
mov rcx, qword [0x141ada118]
xor edx, edx
call fcn.1401cdfe4
jmp 0x140109d40
test r14, r14
je 0x140109c3c
mov rcx, qword [0x141ada118]
xor edx, edx
mov r8, rbx
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1401cdfe4
mov r10, rcx
add r10, r9
mov qword [rdi + 0x10], r10
jb 0x140109fc5
mov qword [rsp + 0x80], r14
cmp r10, rax
ja 0x140109fc5
add r8, rcx
mov qword [rsp + 0xc8], r8
mov qword [rsp + 0xd0], r9
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], 8
mov qword [rsp + 0x58], 0
test dx, dx
je 0x140109ec5
mov r13d, 8
lea rsi, [rsp + 0x98]
xor r12d, r12d
lea rdi, [rsp + 0x90]
lea r14, [rsp + 0xc8]
lea r15, [rsp + 0x48]
jmp 0x140109e58
lea rax, [r12 + r12*2]
mov rcx, qword [rsp + 0x70]
mov qword [r13 + rax*8 + 0x10], rcx
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [r13 + rax*8], xmm0
mov r12, qword [rsp + 0x58]
inc r12
mov qword [rsp + 0x58], r12
mov rax, qword [rsp + 0xd8]
cmp rax, qword [rsp + 0xd0]
jae 0x140109ec5
mov rcx, rdi
mov rdx, r14
call fcn.14012e5a0
cmp qword [rsp + 0x90], 0
movups xmm0, xmmword [rsi]
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0xa0], rax
movaps xmmword [rsp + 0x90], xmm0
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x60], xmm0
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x70], rax
jne 0x140109f37
cmp r12, qword [rsp + 0x48]
jne 0x140109e20
mov rcx, r15
call fcn.140110ad0
mov r13, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
jmp 0x140109e20
lea rax, [rsp + 0x30]
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x40], rcx
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x38], rcx
mov r14, qword [rsp + 0x80]
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0xc0], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0xb0], xmm0
mov rcx, qword [rsp + 0x88]
mov qword [rcx], r14
mov qword [rcx + 8], rbx
mov qword [rcx + 0x10], rbp
movaps xmm0, xmmword [rsp + 0xb0]
movups xmmword [rcx + 0x18], xmm0
mov rax, qword [rsp + 0xc0]
mov qword [rcx + 0x28], rax
jmp 0x140109c3c
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x40], rax
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x28], 1
test r12, r12
mov r14, qword [rsp + 0x80]
je 0x140109f94
add r13, 8
jmp 0x140109f79
add r13, 0x18
dec r12
je 0x140109f94
cmp qword [r13 - 8], 0
je 0x140109f70
mov r8, qword [r13]
mov rcx, qword [0x141ada118]
xor edx, edx
call fcn.1401cdfe4
jmp 0x140109f70
cmp qword [rsp + 0x48], 0
je 0x140109faf
mov r8, qword [rsp + 0x50]
mov rcx, qword [0x141ada118]
xor edx, edx
call fcn.1401cdfe4
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x28], 0
jne 0x140109cfd
jmp 0x140109ef0
ud2