Function at 0x14001f320
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, 0x108
mov rsi, rcx
movzx ebp, byte [rsp + 0x188]
mov ecx, r9d
mov qword [rsp + 0x68], rcx
test bpl, bpl
je 0x14001f427
mov edi, dword [rsp + 0x180]
lea r10d, [rdi - 1]
test edi, r10d
setne r10b
test edi, edi
sete r11b
or r11b, r10b
jne 0x14001f44b
mov r10, qword [rsp + 0x178]
test r10, r10
je 0x14001f44b
mov r11, qword [rsp + 0x170]
mov edi, edi
lea rbx, [rdi - 1]
neg rdi
shl r10, 6
xor r14d, r14d
jmp 0x14001f3ad
add r14, 0x40
cmp r10, r14
je 0x14001f44b
mov r13d, dword [r11 + r14 + 0x20]
mov r12d, dword [r11 + r14 + 0x28]
mov eax, dword [r11 + r14 + 0x2c]
lea rbp, [rbx + r12]
add rbp, rax
and rbp, rdi
mov r15d, eax
and r15d, 0xfffffe00
sub rbp, r15
add r12, 0xfff
and r12, 0xfffffffffffff000
cmp rbp, r12
cmovb r12, rbp
test r13, r13
je 0x14001f402
add r13, 0xfff
and r13, 0xfffffffffffff000
cmp r12, r13
cmovae r12, r13
mov r13d, dword [r11 + r14 + 0x24]
cmp r13d, r9d
ja 0x14001f3a0
add r12, r13
cmp r12, rcx
jbe 0x14001f3a0
sub rcx, r13
and eax, 0xfffffe00
add rcx, rax
movzx ebp, byte [rsp + 0x188]
mov r11, r8
sub r11, rcx
jbe 0x14001f502
mov r10d, 4
cmp r11, 4
jae 0x14001f50a
xor r9d, r9d
jmp 0x14001f576
lea rax, [rsp + 0x68]
mov qword [rsp + 0x58], rax
lea rax, [fcn.14000c910]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x70], 2
mov qword [rsp + 0x80], 2
mov qword [rsp + 0x90], 0
movabs rax, 0x400000020
mov qword [rsp + 0x98], rax
mov byte [rsp + 0xa0], 3
lea rax, str.Cannot_map_ImageDebugDirectory_rva__into_offset
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 2
lea rax, [rsp + 0x70]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 1
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], 1
lea rcx, [rsp + 0xe8]
lea rdx, [rsp + 0x28]
call fcn.14000a9c0
mov rcx, qword [rsp + 0xe8]
movdqu xmm0, xmmword [rsp + 0xf0]
mov r9d, 5
jmp 0x14001f581
mov r9d, 1
jmp 0x14001f57c
jne 0x14001f514
mov r9d, 1
jmp 0x14001f576
lea rdi, [r11 - 4]
cmp rdi, 4
jae 0x14001f526
xor r9d, r9d
mov r11, rdi
jmp 0x14001f576
mov r9d, 1
cmp r11, 9
jb 0x14001f55c
mov rdi, r11
and rdi, 0xfffffffffffffffe
cmp rdi, 8
je 0x14001f54b
cmp r11, 0xb
jb 0x14001f56a
cmp rdi, 0xa
jne 0x14001f5a9
xor r9d, r9d
mov r11d, 1
mov r10d, 2
jmp 0x14001f576
mov r11d, 1
mov r10d, 8
jmp 0x14001f576
mov r11d, 1
mov r10d, 0xa
mov eax, r11d
mov rcx, r10
movq xmm0, rax
mov qword [rsi + 8], r9
mov qword [rsi + 0x10], rcx
movdqu xmmword [rsi + 0x18], xmm0
mov qword [rsi], 1
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp r11, 0xd
jb 0x14001f73e
lea rdi, [r11 - 0xc]
cmp rdi, 4
jb 0x14001f51e
cmp r11, 0x11
jb 0x14001f749
lea rdi, [r11 - 0x10]
cmp rdi, 4
jb 0x14001f51e
cmp r11, 0x15
jb 0x14001f754
lea rdi, [r11 - 0x14]
cmp rdi, 4
jb 0x14001f51e
cmp r11, 0x19
jb 0x14001f75f
add r11, 0xffffffffffffffe8
cmp r11, 3
jbe 0x14001f443
mov r15, rdx
mov r10d, dword [r15 + rcx]
mov eax, dword [r15 + rcx + 4]
movzx r9d, word [r15 + rcx + 8]
movzx r11d, word [r15 + rcx + 0xa]
mov edi, dword [r15 + rcx + 0xc]
mov ebx, dword [r15 + rcx + 0x10]
mov r14d, dword [r15 + rcx + 0x14]
mov ecx, dword [r15 + rcx + 0x18]
shl r11, 0x10
or r11, r9
shl rdi, 0x20
or rdi, r11
shl rax, 0x20
or rax, r10
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rdi
shl r14, 0x20
or r14, rbx
mov qword [rsp + 0x80], r14
mov dword [rsp + 0x88], ecx
mov rax, qword [rsp + 0x74]
mov r9, qword [rsp + 0x7c]
mov r11, qword [rsp + 0x84]
mov dword [rsp + 0xc4], r10d
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], r9
mov qword [rsp + 0xd8], r11
lea rax, [rsp + 0xc4]
mov qword [rsp + 0x68], rax
cmp r9d, 2
jne 0x14001f7fc
mov rcx, r9
shr rcx, 0x20
mov r10, r11
shr r10, 0x20
test bpl, bpl
cmove r10, r11
cmp ecx, 0x18
jae 0x14001f76a
lea rax, [rsp + 0xd4]
mov qword [rsp + 0x58], rax
lea rax, [0x1400147c0]
mov qword [rsp + 0x60], rax
lea rax, str.ImageDebugDirectory_size_of_data_seems_wrong:
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x90], 0
lea rax, [rsp + 0x58]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 1
lea rcx, [rsp + 0x38]
lea rdx, [rsp + 0x70]
call fcn.14000a9c0
mov qword [rsp + 0x30], 5
jmp 0x14001f7a1
mov r10d, 0xc
jmp 0x14001f512
mov r10d, 0x10
jmp 0x14001f512
mov r10d, 0x14
jmp 0x14001f512
mov r10d, 0x18
jmp 0x14001f512
mov eax, r10d
mov r11, r8
sub r11, rax
jbe 0x14001f785
cmp r11, 4
jae 0x14001f7cb
mov r10d, 4
xor eax, eax
jmp 0x14001f78a
mov eax, 1
mov dword [rsp + 0x3c], 0
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x38], r10d
movdqu xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xf0], xmm1
movups xmmword [rsi + 0x18], xmm1
movdqu xmmword [rsi + 8], xmm0
jmp 0x14001f58e
cmp dword [r15 + rax], 0x53445352
jne 0x14001f7fc
lea r11, [rax + 4]
mov r10, r8
sub r10, r11
jbe 0x14001f8a9
cmp r10, 0x10
jae 0x14001f8cb
mov r11d, 0x10
xor eax, eax
jmp 0x14001f8ae
mov qword [rsp + 0x48], 0
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x100], rax
movdqu xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0xf0], xmm1
movdqa xmmword [rsp + 0xe0], xmm0
mov qword [rsp + 0x90], rax
movaps xmmword [rsp + 0x80], xmm1
movdqa xmmword [rsp + 0x70], xmm0
movups xmm2, xmmword [rsp + 0xc4]
movups xmm3, xmmword [rsp + 0xd0]
movups xmmword [rsp + 0xa4], xmm3
movups xmmword [rsp + 0x98], xmm2
mov rax, qword [rsp + 0xb0]
mov qword [rsi + 0x48], rax
movaps xmm2, xmmword [rsp + 0xa0]
movups xmmword [rsi + 0x38], xmm2
mov rax, qword [rsp + 0x90]
mov qword [rsi + 0x28], rax
mov rax, qword [rsp + 0x98]
mov qword [rsi + 0x30], rax
movdqu xmmword [rsi + 8], xmm0
movups xmmword [rsi + 0x18], xmm1
mov qword [rsi], 0
jmp 0x14001f595
mov eax, 1
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], r11
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x48], 0x10
jmp 0x14001f7a1
lea r10, [rax + 0x14]
mov r11, r8
sub r11, r10
jbe 0x14001f8e9
cmp r11, 4
jae 0x14001f908
xor eax, eax
mov r10d, 4
xor ecx, ecx
jmp 0x14001f8f5
mov rax, r10
shr rax, 0x20
mov ecx, 1
mov dword [rsp + 0x3c], eax
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x30], rcx
jmp 0x14001f79c
shr r9, 0x23
cmp r9d, 3
jb 0x14001f951
lea rdx, [rax + rcx]
cmp rdx, r8
ja 0x14001f951
add rcx, 0xffffffffffffffe8
movups xmm0, xmmword [r15 + rax + 4]
mov edx, dword [r15 + rax + 0x14]
add rax, r15
add rax, 0x18
mov dword [rsp + 0x30], 0x53445352
movups xmmword [rsp + 0x34], xmm0
mov dword [rsp + 0x44], edx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rcx
jmp 0x14001f805
lea rax, [rsp + 0x68]
mov qword [rsp + 0x58], rax
lea rax, [0x14001f9c0]
mov qword [rsp + 0x60], rax
lea rax, str.ImageDebugDirectory_seems_corrupted:
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x90], 0
lea rax, [rsp + 0x58]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 1
lea rcx, [rsp + 0x38]
lea rdx, [rsp + 0x70]
call fcn.14001fac0
jmp 0x14001f733