Function at 0x140018d60
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, 0x188
mov r15, r9
mov rbp, r8
mov r12, rdx
mov rbx, rcx
cmp byte [rdx + 0x42], 3
jne 0x140018d91
cmp byte [r12 + 0x40], 0
je 0x140018e55
lea rsi, [r12 + 0x10]
cmp byte [r12 + 0x46], 0
je 0x140018db3
test byte [rsi], 1
je 0x140018e65
cmp byte [r12 + 0x35], 2
je 0x140018e71
lea rax, [r12 + 0x24]
lea rcx, [r12 + 0x3c]
lea rdx, [r12 + 0x20]
lea r8, [r12 + 0x38]
cmp byte [r12 + 0x35], 2
cmove rax, rcx
cmovne r8, rdx
mov edx, dword [r8]
mov edi, dword [rax]
mov rcx, rsi
call fcn.140042fc0
mov rcx, rax
lea r14, [rax - 1]
mov rax, r14
imul rax, rdi
cmp rax, r15
jne 0x140018e41
lea rax, [r12 + 0x1c]
mov qword [rsp + 0x120], rax
test r14, r14
js 0x140019a40
mov qword [rsp + 0x160], rdi
mov qword [rsp + 0x58], rcx
je 0x140018e81
movzx eax, byte [0x1403af381]
mov edi, 1
mov edx, 1
mov rcx, r14
call fcn.1400244c0
test rax, rax
je 0x140019a42
mov r13, rax
jmp 0x140018e87
mov qword [rbx], 0
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], r15
jmp 0x1400199a8
mov qword [rbx], 3
mov byte [rbx + 8], 3
jmp 0x1400199a8
cmp qword [r12 + 8], 0
je 0x140018db3
mov qword [rbx], 3
mov byte [rbx + 8], 7
jmp 0x1400199a8
mov r13d, 1
mov rcx, rsi
call fcn.140042e00
mov byte [rsp + 0xc0], al
movzx eax, byte [r12 + 0x47]
mov byte [rsp + 0xd0], al
movzx eax, byte [r12 + 0x41]
movzx esi, byte [r12 + 0x44]
cmp al, 1
mov qword [rsp + 0x60], r14
jne 0x140018f0f
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], 1
xorps xmm0, xmm0
movups xmmword [rsp + 0x138], xmm0
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x128]
call fcn.140015e70
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
mov rdx, rcx
neg rdx
jno 0x140018f48
mov qword [rbx], 2
mov qword [rbx + 8], rax
jmp 0x140019992
mov qword [rsp + 0x48], rbx
test r14, r14
je 0x1400190c4
movzx eax, byte [0x1403af381]
mov edx, 1
mov rcx, r14
call fcn.1400244c0
test rax, rax
je 0x140019a96
mov rbx, rax
movzx eax, byte [r12 + 0x41]
jmp 0x1400190c9
mov qword [rsp + 0x68], r12
movups xmm0, xmmword [rsp + 0x80]
movups xmm1, xmmword [rsp + 0x90]
movups xmm2, xmmword [rsp + 0xa0]
movups xmmword [rsp + 0x108], xmm2
movups xmmword [rsp + 0xf8], xmm1
movups xmmword [rsp + 0xe8], xmm0
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], rax
mov rcx, qword [rsp + 0x58]
test rcx, rcx
js 0x140019aa3
movzx eax, byte [0x1403af381]
mov r12d, 1
mov edx, 1
call fcn.1400244c0
mov qword [rsp + 0xc8], rax
test rax, rax
je 0x140019aa6
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x48], rbx
test r14, r14
je 0x140019ab3
mov rcx, r14
mov r12, qword [rsp + 0xc8]
inc r12
mov r13, r15
mov r14, rbp
mov r9, qword [rsp + 0x50]
nop
test r13, r13
je 0x14001941b
mov rdi, r14
mov rax, qword [rsp + 0x60]
cmp r13, rax
mov rbx, rax
cmovb rbx, r13
sub r13, rbx
add r14, rbx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x30], rbx
movzx ecx, byte [rsp + 0xd0]
mov edx, esi
movzx r8d, byte [rsp + 0xc0]
call fcn.1400440b0
mov rdx, qword [rsp + 0xc8]
mov byte [rdx], al
lea rcx, [rsp + 0xd8]
mov r8, qword [rsp + 0x58]
call fcn.1400156a0
mov rcx, rbx
mov r9, rdi
test rax, rax
je 0x140018ff0
mov rbx, qword [rsp + 0x48]
mov qword [rbx], 2
mov qword [rbx + 8], rax
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x140019096
mov r8d, 1
mov rcx, qword [rsp + 0xc8]
call fcn.1400244a0
mov rdx, qword [rsp + 0xd8]
test rdx, rdx
mov r14, qword [rsp + 0x60]
mov r13, qword [rsp + 0x50]
je 0x140019992
mov rcx, qword [rsp + 0xe0]
mov r8d, 1
jmp 0x14001998d
mov ebx, 1
movzx eax, al
lea rcx, [0x140261d7c]
mov edx, dword [rcx + rax*4]
lea rcx, [rsp + 0x70]
mov r8b, 1
call fcn.1400495f0
movzx eax, byte [0x1403af381]
mov ecx, 0x8000
mov edx, 1
call fcn.140024490
test rax, rax
je 0x140019a4d
mov qword [rsp + 0x68], r12
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x118], rcx
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rsp + 0x108], xmm0
mov qword [rsp + 0xd8], 0x8000
mov qword [rsp + 0xe0], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0xe8], xmm0
mov qword [rsp + 0xf8], 1
mov qword [rsp + 0x100], 0
test r14, r14
je 0x140019a5c
lea r12, [rsp + 0xd8]
mov rcx, r14
mov qword [rsp + 0x50], r13
mov r9, r13
nop word [rax + rax]
test r15, r15
je 0x140019229
mov r13, rbp
cmp r15, r14
mov rdi, r14
cmovb rdi, r15
mov qword [rsp + 0x40], r14
mov rbp, rbx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x30], rdi
movzx ecx, byte [rsp + 0xd0]
mov edx, esi
movzx r8d, byte [rsp + 0xc0]
call fcn.1400440b0
mov byte [rsp + 0x70], al
mov r8d, 1
mov rcx, r12
lea rdx, [rsp + 0x70]
call fcn.140013c30
test rax, rax
jne 0x140019342
sub r15, rdi
mov rdx, rbp
lea rbp, [rdi + r13]
mov rcx, r12
mov r8, r14
call fcn.140013c30
mov rcx, rdi
mov r9, r13
test rax, rax
je 0x140019180
mov rcx, qword [rsp + 0x48]
mov qword [rcx], 2
mov qword [rcx + 8], rax
mov rbp, rbx
mov rbx, rcx
jmp 0x140019352
mov rbp, qword [rsp + 0x48]
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0xb0], rax
movups xmm0, xmmword [rsp + 0xd8]
movups xmm1, xmmword [rsp + 0xe8]
movups xmm2, xmmword [rsp + 0xf8]
movups xmm3, xmmword [rsp + 0x108]
movaps xmmword [rsp + 0xa0], xmm3
movaps xmmword [rsp + 0x90], xmm2
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x70], xmm0
lea rsi, [rsp + 0xa0]
lea rdi, [rsp + 0x70]
mov r13, qword [rsp + 0x50]
mov r15, qword [rsp + 0x68]
mov r12, rbx
nop word cs:[rax + rax]
mov rcx, rdi
call fcn.14001cb30
test rax, rax
jne 0x14001956b
mov r14, qword [rsp + 0xb0]
mov byte [rsp + 0x20], 4
mov edx, 1
mov rcx, rsi
xor r8d, r8d
mov r9, rdi
call fcn.1400498d0
cmp eax, 2
jne 0x140019570
cmp r14, qword [rsp + 0xb0]
mov r14, qword [rsp + 0x60]
jne 0x1400192a0
mov r12, qword [rsp + 0x88]
movabs rax, 0x8000000000000000
mov qword [rsp + 0x88], rax
mov rax, r12
neg rax
jo 0x140019b02
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
lea rcx, [rsp + 0x70]
call fcn.140014240
mov r8d, 1
mov rcx, rbx
mov rdx, r14
call fcn.1400244a0
mov rbx, rbp
jmp 0x1400195e3
mov rbx, qword [rsp + 0x48]
mov qword [rbx], 2
mov qword [rbx + 8], rax
lea rcx, [rsp + 0xd8]
call fcn.14001cc30
mov rdx, qword [rsp + 0xf0]
mov rax, rdx
neg rax
jo 0x140019384
jae 0x140019384
mov rcx, qword [rsp + 0xf8]
mov r8d, 1
call fcn.1400244a0
mov rsi, qword [rsp + 0x108]
mov rcx, qword [rsi + 0x10060]
mov edx, 0x14ccc
mov r8d, 1
call fcn.1400244a0
mov rcx, qword [rsi + 0x10048]
mov edx, 0x10e0
mov r8d, 2
call fcn.1400244a0
mov rcx, qword [rsi]
mov edx, 0x28102
mov r8d, 2
call fcn.1400244a0
mov edx, 0x10098
mov r8d, 8
mov rcx, rsi
call fcn.1400244a0
mov rdx, qword [rsp + 0xd8]
test rdx, rdx
je 0x140019400
mov rcx, qword [rsp + 0xe0]
mov r8d, 1
call fcn.1400244a0
mov r8d, 1
mov rcx, rbp
mov rdx, r14
call fcn.1400244a0
mov r13, qword [rsp + 0x50]
jmp 0x140019992
movups xmm0, xmmword [rsp + 0xd8]
movups xmm1, xmmword [rsp + 0xe8]
movups xmm2, xmmword [rsp + 0xf8]
movups xmm3, xmmword [rsp + 0x108]
movaps xmmword [rsp + 0xa0], xmm3
movaps xmmword [rsp + 0x90], xmm2
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x70], xmm0
lea rcx, [rsp + 0x128]
lea rdx, [rsp + 0x70]
call fcn.140016230
mov rdi, qword [rsp + 0x128]
mov r14, qword [rsp + 0x130]
mov rax, rdi
neg rax
jno 0x14001949c
mov rax, qword [rsp + 0x48]
mov qword [rax], 2
mov qword [rax + 8], r14
mov r13, qword [rsp + 0x50]
jmp 0x14001996b
mov rsi, qword [rsp + 0x138]
mov r9, qword [rsp + 0x58]
mov r10, qword [rsp + 0x160]
imul r10, r9
xor eax, eax
mov rcx, r10
sub rcx, 1
cmovae rax, rcx
movabs rcx, 0x8000800080008001
mul rcx
shr rdx, 0xf
mov rax, rdx
shl rax, 0x10
lea r8, [rax + rdx*4]
mov rax, r10
mul rcx
shr rdx, 0xf
mov rax, rdx
shl rax, 0x10
sub rdx, rax
add rdx, r10
lea rax, [rdx + r8]
add rax, 0xb
cmp rsi, rax
mov r13, qword [rsp + 0x50]
jbe 0x1400195b0
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x170], 1
xorps xmm0, xmm0
movups xmmword [rsp + 0x178], xmm0
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x168]
call fcn.140016c60
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
mov rdx, rcx
neg rdx
jno 0x1400197d5
mov rcx, qword [rsp + 0x48]
mov qword [rcx], 2
mov qword [rcx + 8], rax
jmp 0x140019950
mov rsi, rax
jmp 0x140019586
mov rdx, rax
shr rdx, 0x20
mov ecx, eax
call fcn.140049820
mov rsi, rax
mov r14, qword [rsp + 0x60]
lea rcx, [rsp + 0x70]
call fcn.140014240
mov rbx, rbp
mov qword [rbp], 2
mov qword [rbp + 8], rsi
mov r8d, 1
mov rcx, r12
mov rdx, r14
jmp 0x14001998d
mov rbp, r14
mov r12, rdi
mov rbx, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
mov r15, qword [rsp + 0x68]
test r9, r9
je 0x1400195e0
mov r8d, 1
mov rcx, qword [rsp + 0xc8]
mov rdx, r9
call fcn.1400244a0
mov rdi, rbp
cmp byte [r15 + 0x35], 2
je 0x1400195f8
cmp byte [r15 + 0x45], 1
jne 0x140019657
cmp qword [r15 + 8], 0
jne 0x140019657
lea rcx, [rsp + 0x70]
mov rdx, r15
mov r8, rdi
mov r9, rsi
call fcn.140019b20
mov rax, qword [rsp + 0x70]
cmp rax, 6
jne 0x14001964d
mov rax, qword [r15 + 8]
inc rax
mov rcx, 0xffffffffffffffff
cmovne rcx, rax
mov qword [r15 + 8], rcx
test byte [r15 + 0x10], 1
je 0x140019641
mov eax, dword [r15 + 0x14]
cmp eax, dword [r15 + 0x48]
jbe 0x1400198cb
mov qword [rbx], 6
jmp 0x1400198b1
movups xmm0, xmmword [rsp + 0x78]
jmp 0x1400198aa
mov rax, qword [rsp + 0x120]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0xc]
movups xmmword [rsp + 0x7c], xmm1
movaps xmmword [rsp + 0x70], xmm0
lea rcx, [rsp + 0xd8]
lea rdx, [rsp + 0x70]
mov r8, r15
call fcn.1400075c0
mov rax, qword [rsp + 0xd8]
cmp rax, 6
jne 0x1400198a2
inc dword [r15 + 0x1c]
inc dword [r15 + 0x48]
cmp qword [r15 + 8], 0
je 0x1400195f8
mov qword [rsp + 0xc0], rdi
mov qword [rsp + 0xd0], r12
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x50], r13
cmp rsi, 0x7ffffffb
mov edx, 0x7ffffffb
cmovb rdx, rsi
add rdx, 4
lea rcx, [rsp + 0xd8]
call fcn.14001a0e0
test rsi, rsi
je 0x140019796
mov rdx, qword [rsp + 0xe8]
mov r12, rdx
sub r12, 4
jb 0x140019b0e
mov rdi, qword [rsp + 0xe0]
lea rbp, [rdi + 4]
mov rax, qword [rsp + 0x120]
mov eax, dword [rax]
mov r13, qword [rsp + 0xc0]
cmp rsi, 0x7ffffffb
mov r15d, 0x7ffffffb
cmovb r15, rsi
bswap eax
mov dword [rdi], eax
cmp r15, r12
ja 0x140019af0
mov rcx, rbp
mov rdx, r13
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
lea rax, [r15 + 4]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x70]
mov rdx, qword [rsp + 0x68]
mov r8d, 0x54416466
mov r9, rdi
call fcn.140018a80
mov rax, qword [rsp + 0x70]
cmp rax, 6
jne 0x1400199ff
add r13, r15
sub rsi, r15
mov rcx, qword [rsp + 0x120]
mov eax, dword [rcx]
inc eax
mov dword [rcx], eax
test rsi, rsi
jne 0x140019721
mov rdx, qword [rsp + 0xd8]
test rdx, rdx
mov r13, qword [rsp + 0x50]
mov r12, qword [rsp + 0xd0]
je 0x1400197c3
mov rcx, qword [rsp + 0xe0]
mov r8d, 1
call fcn.1400244a0
mov r15, qword [rsp + 0x68]
mov rdi, qword [rsp + 0xc0]
jmp 0x140019616
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0x158], rdx
movups xmm0, xmmword [rsp + 0x80]
movups xmm1, xmmword [rsp + 0x90]
movups xmmword [rsp + 0x148], xmm1
movups xmmword [rsp + 0x138], xmm0
mov qword [rsp + 0x128], rcx
mov qword [rsp + 0x130], rax
lea rsi, [0x140261ac8]
lea r12, [rsp + 0x128]
test r15, r15
je 0x1400198d9
mov r8d, 1
mov rcx, r12
mov rdx, rsi
call fcn.1400169e0
test rax, rax
jne 0x140019869
mov r8, qword [rsp + 0x60]
cmp r15, r8
cmovb r8, r15
sub r15, r8
lea rbx, [r8 + rbp]
mov rcx, r12
mov rdx, rbp
call fcn.1400169e0
mov rbp, rbx
test rax, rax
je 0x140019824
mov rcx, qword [rsp + 0x48]
mov qword [rcx], 2
mov qword [rcx + 8], rax
mov rdx, qword [rsp + 0x128]
test rdx, rdx
je 0x140019950
mov rcx, qword [rsp + 0x130]
mov r8d, 1
call fcn.1400244a0
jmp 0x140019950
movups xmm0, xmmword [rsp + 0xe0]
movups xmmword [rbx + 8], xmm0
mov qword [rbx], rax
test r12, r12
je 0x140019992
mov r8d, 1
mov rcx, rdi
mov rdx, r12
jmp 0x14001998d
mov byte [r15 + 0x35], 2
mov qword [rbx], 6
jmp 0x1400198b1
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0xa0], rax
movups xmm0, xmmword [rsp + 0x128]
movups xmm1, xmmword [rsp + 0x138]
movups xmm2, xmmword [rsp + 0x148]
movaps xmmword [rsp + 0x90], xmm2
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x70], xmm0
lea rcx, [rsp + 0x168]
lea rdx, [rsp + 0x70]
call fcn.140016df0
mov r12, qword [rsp + 0x168]
mov rbp, qword [rsp + 0x170]
mov rax, r12
neg rax
jno 0x1400199bf
mov rax, qword [rsp + 0x48]
mov qword [rax], 2
mov qword [rax + 8], rbp
test rdi, rdi
mov rdx, qword [rsp + 0x58]
je 0x140019970
mov r8d, 1
mov rcx, r14
mov rdx, rdi
call fcn.1400244a0
mov rdx, qword [rsp + 0x58]
test rdx, rdx
mov rbx, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
je 0x140019992
mov r8d, 1
mov rcx, qword [rsp + 0xc8]
call fcn.1400244a0
test r14, r14
je 0x1400199a8
mov r8d, 1
mov rcx, r13
mov rdx, r14
call fcn.1400244a0
mov rax, rbx
add rsp, 0x188
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rsi, qword [rsp + 0x178]
test rdi, rdi
je 0x1400199dd
mov r8d, 1
mov rcx, r14
mov rdx, rdi
call fcn.1400244a0
mov rbx, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
mov r15, qword [rsp + 0x68]
mov r9, qword [rsp + 0x58]
test r9, r9
jne 0x1400195ca
jmp 0x1400195e0
movups xmm0, xmmword [rsp + 0x78]
movups xmmword [rbx + 8], xmm0
mov qword [rbx], rax
mov rdx, qword [rsp + 0xd8]
test rdx, rdx
je 0x140019a26
mov r8d, 1
mov rcx, rdi
call fcn.1400244a0
mov r13, qword [rsp + 0x50]
mov r12, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xc0]
jmp 0x1400198b1
xor edi, edi
mov rcx, rdi
mov rdx, r14
call fcn.14025cfe5
mov ecx, 1
mov edx, 0x8000
call fcn.14025cfe5
lea rax, str.chunk_size_must_be_non_zero
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x80], 8
movups xmmword [rsp + 0x88], xmm0
lea rdx, str.C:UsersDamon.cargo_registry_srcindex.crates.io_6f17d22bba15001fpng_0.17.13_srcencoder.rs
lea rcx, [rsp + 0x70]
call fcn.14025d350
mov ecx, 1
mov rdx, r14
call fcn.14025cfe5
xor r12d, r12d
mov rcx, r12
mov rdx, qword [rsp + 0x58]
call fcn.14025cfe5
lea rax, str.chunk_size_must_be_non_zero
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x80], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x88], xmm0
lea rdx, str.C:UsersDamon.cargo_registry_srcindex.crates.io_6f17d22bba15001fpng_0.17.13_srcencoder.rs
lea rcx, [rsp + 0x70]
call fcn.14025d350
lea r8, str.C:UsersDamon.cargo_registry_srcindex.crates.io_6f17d22bba15001fpng_0.17.13_srcencoder.rs
mov rcx, r15
mov rdx, r12
call fcn.14025d800
lea rcx, str._b_v_
call fcn.14025d2d0
lea r8, str.C:UsersDamon.cargo_registry_srcindex.crates.io_6f17d22bba15001fpng_0.17.13_srcencoder.rs
mov ecx, 4
call fcn.14025d800
int3