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

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push r13
push r15
sub rsp, 0x98
mov r15d, r8d
mov r11, rdx
mov r13, rcx
test rdx, rdx
je 0x1400dcff4
cmp r8d, 0x84
jbe 0x1400dcff4
cmp word [rdx + 0x4c], 0
je 0x1400dcff4
cmp dword [rdx], 0x304d4244
jne 0x1400dcff4
cmp word [rdx + 0x48], 0
je 0x1400dcff4
cmp dword [rdx + 0x4e], 0x474e4f53
jne 0x1400dcff4
cmp dword [rdx + 8], 0x454d414e
jne 0x1400dcff4
cmp dword [rdx + 0xc], 0x2c000000
jne 0x1400dcff4
cmp dword [rdx + 0x3c], 0x4f464e49
jne 0x1400dcff4
cmp dword [rdx + 0x40], 0xa000000
jne 0x1400dcff4
movzx eax, word [rdx + 0x82]
rol ax, 8
movzx r9d, ax
lea r10d, [r9 + r9]
lea eax, [r10 + 0x9c]
cmp eax, r8d
jae 0x1400dcff4
movzx eax, word [rdx + 0x44]
rol ax, 8
mov qword [rsp + 0x90], rbx
movzx ebx, ax
movzx eax, word [rdx + 0x46]
rol ax, 8
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x68], r14
movzx r14d, ax
movzx eax, word [rdx + 0x4a]
rol ax, 8
movzx edi, ax
mov dword [rcx + 0x104a0], 0x80000
movzx eax, word [rdx + 0x4c]
mov edx, 0x40
rol ax, 8
movzx ecx, ax
mov dword [rsp + 0xc8], ebx
mov dword [rsp + 0x34], r14d
mov dword [rsp + 0x30], edi
mov dword [r13 + 0x10490], ecx
cmp ecx, 4
jae 0x1400dc6ee
mov dword [r13 + 0x10490], 4
jmp 0x1400dc6fc
cmp ecx, edx
mov eax, ecx
cmova eax, edx
mov dword [r13 + 0x10490], eax
cmp byte [r11 + 0x10], 0
mov eax, SafeArrayGetLBound
mov ecx, 0x56
mov esi, 0xfe
cmove eax, ecx
xor edx, edx
movups xmm0, xmmword [rax + r11]
movups xmmword [r13 + 0x10528], xmm0
movups xmm1, xmmword [rax + r11 + 0x10]
movups xmmword [r13 + 0x10538], xmm1
mov byte [r13 + 0x10547], 0
test r9d, r9d
je 0x1400dc76d
lea r8, [r13 + 0xeb60]
nop dword [rax]
nop dword [rax + rax]
lea eax, [rdx*2 + 0x85]
movzx eax, byte [rax + r11]
mov byte [r8], al
cmp edx, esi
jae 0x1400dc76d
inc edx
inc r8
cmp edx, r9d
jb 0x1400dc750
lea esi, [r10 + 0x84]
lea eax, [rsi + 0xa]
cmp eax, r15d
jae 0x1400dcaa1
mov qword [rsp + 0x88], rbp
mov qword [rsp + 0x70], r12
mov r12d, 0xee
nop dword [rax]
nop word [rax + rax]
mov eax, esi
add esi, 8
mov ebp, esi
mov dword [rsp + 0x3c], ebp
mov edx, dword [rax + r11 + 4]
mov ecx, dword [rax + r11]
bswap edx
add esi, edx
mov dword [rsp + 0x38], esi
cmp esi, r15d
ja 0x1400dca94
cmp edx, r15d
ja 0x1400dca94
cmp ecx, 0x54534e49
jne 0x1400dcacc
cmp ebx, 0xf0
jb 0x1400dc7f0
mov ebx, 0xef
mov dword [rsp + 0xc8], ebx
jmp 0x1400dc7ff
mov dword [rsp + 0xc8], ebx
test ebx, ebx
je 0x1400dca80
mov rdi, qword [rsp + 0xb0]
mov r15d, 1
mov r13d, esi
lea rax, [rbp + 0x32]
mov r12d, r15d
cmp rax, r13
ja 0x1400dca5d
mov ecx, 0x278
call fcn.1401aeff8
mov rbx, rax
test rax, rax
je 0x1400dcfd0
mov rax, qword [rsp + 0xb8]
mov ecx, 0xee
movzx esi, word [rax + rbp + 0x1e]
rol si, 8
movzx r14d, si
lea eax, [rsi - 1]
cmp ax, cx
ja 0x1400dc869
lea rax, [r14 + r14*8]
lea rdi, [rdi + rax*8]
add rdi, 0x8e00
jmp 0x1400dc86b
xor edi, edi
xor edx, edx
mov r8d, 0x278
mov rcx, rbx
call fcn.140094380
mov r11, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xb0]
movups xmm0, xmmword [r11 + rbp]
movups xmmword [rbx + 0x249], xmm0
movsd xmm1, qword [r11 + rbp + 0x10]
movsd qword [rbx + 0x259], xmm1
mov eax, dword [r11 + rbp + 0x18]
mov dword [rbx + 0x261], eax
movzx eax, word [r11 + rbp + 0x1c]
mov word [rbx + 0x265], ax
test rdi, rdi
je 0x1400dc90b
movups xmm0, xmmword [r11 + rbp]
shl r14, 5
movups xmmword [r14 + rcx + 0x10528], xmm0
movsd xmm1, qword [r11 + rbp + 0x10]
movsd qword [r14 + rcx + 0x10538], xmm1
mov eax, dword [r11 + rbp + 0x18]
mov dword [r14 + rcx + 0x10540], eax
movzx eax, word [r11 + rbp + 0x1c]
mov word [r14 + rcx + 0x10544], ax
mov byte [r14 + rcx + 0x10546], 0
mov eax, r15d
mov r8d, 0x40
mov qword [rcx + rax*8 + 0xd180], rbx
mov ecx, 0xfe
mov dword [rbx], 0x400
mov word [rbx + 8], r8w
movzx eax, word [r11 + rbp + 0x2e]
rol ax, 8
mov word [rbx + 0xa], ax
dec ax
cmp ax, cx
ja 0x1400dc94b
mov dword [rbx + 4], 0x200
jmp 0x1400dc954
mov eax, pe_nt_image_headers64
mov word [rbx + 0xa], ax
mov byte [rbx + 0x248], 0x3c
lea rdx, [rbx + 0x1ac]
xor ecx, ecx
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx + 1]
mov byte [rdx - 0x80], sil
inc ecx
mov byte [rdx], al
lea rdx, [rdx + 1]
cmp ecx, 0x78
jb 0x1400dc970
test rdi, rdi
je 0x1400dca30
movzx eax, word [r11 + rbp + 0x30]
mov ecx, 0xff
rol ax, 8
movzx ebx, ax
movzx eax, word [r11 + rbp + 0x20]
rol ax, 8
shl ax, 2
mov word [rdi + 0x26], ax
dec ax
cmp ax, cx
jbe 0x1400dc9c2
mov eax, 0x100
mov word [rdi + 0x26], ax
mov word [rdi + 0x28], r8w
mov ecx, dword [r11 + rbp + 0x22]
bswap ecx
mov dword [rdi + 0x20], ecx
call fcn.1400c7a00
mov r11, qword [rsp + 0xb8]
mov ecx, eax
and cl, 0x7f
sar eax, 7
mov byte [rdi + 0x2d], cl
mov byte [rdi + 0x2c], al
cmp dword [r11 + rbp + 0x2a], 0
je 0x1400dca30
test bl, 3
je 0x1400dca30
mov ecx, dword [r11 + rbp + 0x26]
bswap ecx
mov dword [rdi + 4], ecx
mov eax, dword [r11 + rbp + 0x2a]
bswap eax
add eax, ecx
mov ecx, 0xfffb
mov dword [rdi + 8], eax
movzx eax, word [rdi + 0x2a]
and ax, cx
or ax, 2
mov word [rdi + 0x2a], ax
test bl, 2
je 0x1400dca30
or ax, 4
mov word [rdi + 0x2a], ax
mov ebp, dword [rsp + 0x3c]
mov rdi, qword [rsp + 0xb0]
add ebp, 0x32
mov ebx, dword [rsp + 0xc8]
mov dword [rsp + 0x3c], ebp
mov dword [rdi + 0x104a8], r15d
inc r15d
cmp r12d, ebx
jb 0x1400dc810
mov r13, qword [rsp + 0xb0]
mov esi, dword [rsp + 0x38]
mov edi, dword [rsp + 0x30]
mov r14d, dword [rsp + 0x34]
mov r15d, dword [rsp + 0xc0]
mov r12d, 0xee
mov r11, qword [rsp + 0xb8]
lea ecx, [rsi + 0xa]
cmp ecx, r15d
jb 0x1400dc7a0
mov rbp, qword [rsp + 0x88]
mov r12, qword [rsp + 0x70]
mov r14, qword [rsp + 0x68]
mov eax, 1
mov rdi, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x90]
add rsp, 0x98
pop r15
pop r13
ret
cmp ecx, 0x564e4556
jne 0x1400dcc0d
lea eax, [rbp + 1]
xor ebx, ebx
movzx edi, byte [rax + r11]
add ebp, 2
test edi, edi
je 0x1400dcbfd
nop dword [rax]
lea rax, [rbp + 0x88]
mov ecx, ebp
cmp rax, rsi
ja 0x1400dcbfd
add r11, rcx
movzx ecx, word [r11]
rol cx, 8
lea eax, [rcx - 1]
cmp ax, r12w
ja 0x1400dcbe5
movzx eax, cx
mov r9, qword [r13 + rax*8 + 0xd180]
test r9, r9
je 0x1400dcbe5
cmp byte [r11 + 3], 0
je 0x1400dcbe5
test byte [r11 + 2], 1
je 0x1400dcb45
or dword [r9 + 4], 1
test byte [r11 + 2], 2
je 0x1400dcb51
or dword [r9 + 4], 2
test byte [r11 + 2], 4
je 0x1400dcb5d
or dword [r9 + 4], 4
movzx ecx, byte [r11 + 3]
inc cl
mov byte [r9 + 0x22c], cl
cmp cl, 0x20
jbe 0x1400dcb7a
mov byte [r9 + 0x22c], 0x20
mov cl, 0x20
movzx eax, byte [r11 + 5]
xor r10d, r10d
mov byte [r9 + 0x22f], al
movzx eax, byte [r11 + 6]
mov byte [r9 + 0x230], al
movzx eax, byte [r11 + 4]
mov byte [r9 + 0x232], al
mov byte [r9 + 0x231], al
test cl, cl
je 0x1400dcbe5
nop dword [rax]
lea edx, [r10 + r10]
movzx ecx, word [r11 + rdx*2 + 8]
lea eax, [rdx + 1]
rol cx, 8
mov word [r9 + r10*2 + 0xc], cx
movzx eax, byte [r11 + rax*2 + 9]
mov byte [r10 + r9 + 0xcc], al
inc r10d
movzx eax, byte [r9 + 0x22c]
cmp r10d, eax
jb 0x1400dcbb0
mov r11, qword [rsp + 0xb8]
add ebp, 0x88
inc ebx
cmp ebx, edi
jb 0x1400dcaf0
mov ebx, dword [rsp + 0xc8]
mov edi, dword [rsp + 0x30]
jmp 0x1400dca80
cmp ecx, 0x54544150
jne 0x1400dced3
xor r12d, r12d
mov dword [rsp + 0x40], r12d
cmp edi, 0xf0
jbe 0x1400dcc34
mov edi, 0xf0
mov dword [rsp + 0x30], edi
jmp 0x1400dcc40
mov dword [rsp + 0x30], edi
test edi, edi
je 0x1400dca7a
lea rax, [r13 + 0xe200]
mov ecx, esi
mov qword [rsp + 0x58], rax
lea rax, [r13 + 0xe980]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rcx
nop
mov ebx, ebp
lea rax, [rbx + 8]
cmp rax, rcx
ja 0x1400dcec7
mov r14d, dword [rbx + r11 + 2]
add ebp, 6
bswap r14d
add ebp, r14d
mov dword [rsp + 0x3c], ebp
cmp ebp, esi
ja 0x1400dcec7
cmp r14d, esi
ja 0x1400dcec7
movzx eax, word [rbx + r11]
rol ax, 8
movzx r15d, ax
lea eax, [r15 - 4]
cmp eax, 0xfc
ja 0x1400dceaa
mov edx, dword [r13 + 0x10490]
mov ecx, r15d
call fcn.1400c60b0
mov r11, qword [rsp + 0xb8]
mov rsi, rax
test rax, rax
je 0x1400dcea1
mov rax, qword [rsp + 0x50]
lea rdi, [rbx + r11]
xor ebp, ebp
xor ebx, ebx
mov word [rax], r15w
mov rax, qword [rsp + 0x58]
mov qword [rax], rsi
cmp r14d, 3
jbe 0x1400dce99
mov edx, dword [r13 + 0x10490]
mov r12d, 0xff
cmp ebp, r15d
jae 0x1400dce8c
movzx r8d, byte [rbx + rdi + 6]
inc ebx
mov ecx, ebx
test r8d, r8d
je 0x1400dce74
movzx r9d, byte [rbx + rdi + 6]
dec r8d
movzx eax, r9b
inc ebx
and al, 1
cmp r8d, edx
jae 0x1400dce34
test al, al
je 0x1400dcd6f
movzx edx, byte [rbx + rdi + 6]
lea ebx, [rcx + 2]
cmp edx, 0x1f
jne 0x1400dcd4d
mov edx, r12d
jmp 0x1400dcd68
lea eax, [rdx - 1]
cmp eax, 0xfc
ja 0x1400dcd68
mov eax, edx
and edx, 0xf
shr eax, 4
lea ecx, [rax + rax*2]
lea edx, [rdx + rcx*4]
add edx, 0xd
lea rax, [r8 + r8*2]
mov byte [rsi + rax*2], dl
test r9b, 2
je 0x1400dcd84
movzx eax, byte [rbx + rdi + 6]
lea rcx, [r8 + r8*2]
mov byte [rsi + rcx*2 + 1], al
inc ebx
test r9b, 0x3c
je 0x1400dce6b
xor r10d, r10d
xor r11d, r11d
mov ecx, r12d
mov edx, r12d
test r9b, 4
je 0x1400dcda7
movzx ecx, byte [rbx + rdi + 6]
inc ebx
test r9b, 8
je 0x1400dcdb5
movzx r10d, byte [rbx + rdi + 6]
inc ebx
test r9b, 0x10
je 0x1400dcdc2
movzx edx, byte [rbx + rdi + 6]
inc ebx
test r9b, 0x20
je 0x1400dcdd0
movzx r11d, byte [rbx + rdi + 6]
inc ebx
cmp ecx, 0xc
jne 0x1400dcde5
lea rax, [r8 + r8*2]
mov byte [rsi + rax*2 + 2], 1
mov byte [rsi + rax*2 + 4], r10b
jmp 0x1400dce0a
cmp edx, 0xc
jne 0x1400dcdfb
lea rax, [r8 + r8*2]
mov edx, r12d
mov byte [rsi + rax*2 + 2], 1
mov byte [rsi + rax*2 + 4], r11b
cmp ecx, 0x13
ja 0x1400dce0a
cmp ecx, 0x10
jb 0x1400dce14
cmp edx, 0x10
jae 0x1400dce14
mov ecx, edx
mov r10d, r11d
cmp edx, 0x13
ja 0x1400dce6b
lea rax, [r8 + r8*2]
lea rdx, [rsi + rax*2]
mov byte [rdx + 3], cl
mov rcx, r13
mov byte [rdx + 5], r10b
call fcn.1400e4f20
mov edx, dword [r13 + 0x10490]
jmp 0x1400dce80
test al, al
je 0x1400dce3b
lea ebx, [rcx + 2]
test r9b, 2
lea eax, [rbx + 1]
cmove eax, ebx
test r9b, 4
lea ecx, [rax + 1]
cmove ecx, eax
test r9b, 8
lea eax, [rcx + 1]
cmove eax, ecx
test r9b, 0x10
lea ebx, [rax + 1]
cmove ebx, eax
test r9b, 0x20
je 0x1400dce6b
inc ebx
mov edx, dword [r13 + 0x10490]
jmp 0x1400dce80
mov eax, edx
inc ebp
lea rcx, [rax + rax*2]
lea rsi, [rsi + rcx*2]
lea eax, [rbx + 3]
cmp eax, r14d
jb 0x1400dcd01
mov r12d, dword [rsp + 0x40]
mov r11, qword [rsp + 0xb8]
mov edi, dword [rsp + 0x30]
mov ebp, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x48]
mov esi, dword [rsp + 0x38]
add qword [rsp + 0x50], 2
inc r12d
add qword [rsp + 0x58], 8
mov dword [rsp + 0x40], r12d
cmp r12d, edi
jb 0x1400dcc60
mov ebx, dword [rsp + 0xc8]
jmp 0x1400dca6d
cmp ecx, 0x4c504d53
jne 0x1400dca80
mov ebx, 1
cmp r14d, 0xf0
jb 0x1400dcf01
mov r14d, 0xef
mov dword [rsp + 0x34], r14d
mov dword [r13 + 0x104a4], r14d
jmp 0x1400dcf16
mov dword [r13 + 0x104a4], r14d
mov dword [rsp + 0x34], r14d
cmp r14d, ebx
jb 0x1400dcfe8
mov edi, esi
nop dword [rax + rax]
lea rax, [rbp + 0xa]
cmp rax, rdi
jae 0x1400dcbfd
mov r8d, dword [r11 + rbp]
lea r9, [r11 + rbp]
mov edx, dword [r9 + 4]
mov eax, ebx
bswap r8d
bswap edx
lea rcx, [rax + rax*8]
lea r10, [rcx*8]
add r10, r13
mov dword [r10 + 0x8e00], edx
test r8b, 2
je 0x1400dcf67
or word [r10 + 0x8e2a], 1
add edx, edx
add ebp, 8
add ebp, edx
cmp ebp, esi
ja 0x1400dcbfd
cmp edx, r15d
ja 0x1400dcbfd
test r8b, 3
je 0x1400dcfb5
movzx eax, byte [r10 + 0x8e2a]
add r9, 8
and al, 1
mov dword [rsp + 0x20], edx
neg al
lea rdx, [r10 + 0x8e00]
mov rcx, r13
sbb r8d, r8d
and r8d, 7
call fcn.1400c7fb0
mov r11, qword [rsp + 0xb8]
inc ebx
cmp ebx, r14d
jbe 0x1400dcf20
mov ebx, dword [rsp + 0xc8]
mov edi, dword [rsp + 0x30]
jmp 0x1400dca80
mov r13, qword [rsp + 0xb0]
mov esi, dword [rsp + 0x38]
mov ebx, dword [rsp + 0xc8]
jmp 0x1400dca69
mov ebx, dword [rsp + 0xc8]
jmp 0x1400dca80
xor eax, eax
add rsp, 0x98
pop r15
pop r13
ret