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

Disassembly:
push rbp
push rsi
push r12
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0x90
mov rax, qword [0x7ff8af2b6430]
xor rax, rsp
mov qword [rbp + 0x1f], rax
cmp dword [0x7ff8af2b7f90], 0
mov rsi, rcx
mov rcx, qword [rcx + 0x230]
mov qword [rbp - 0x11], r8
mov qword [rbp - 0x19], rdx
je 0x7ff8af236824
lea rax, [rbp - 0x21]
mov r9d, 1
xor r8d, r8d
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x29]
mov edx, r9d
mov dword [rbp - 0x29], 0x2000
mov dword [rbp - 0x21], 0
mov qword [rsp + 0x20], rax
call qword [0x7ff8af2b7f60]
test eax, eax
jne 0x7ff8af23681e
mov r8d, dword [rbp - 0x29]
lea rdx, [0x7ff8af28b600]
mov ecx, 0x10008
call fcn.7ff8af234680
xor r12d, r12d
jmp 0x7ff8af236838
mov r12d, dword [rbp - 0x21]
jmp 0x7ff8af236838
xor r9d, r9d
lea edx, [r9 + 1]
lea r8d, [r9 + 0x28]
call qword [sym.imp.gdi32.dll_DescribePixelFormat]
mov r12d, eax
movsxd rcx, r12d
mov edx, 0x48
call qword [sym.imp.ucrtbase.dll_calloc]
xor r14d, r14d
mov r15, rax
test r12d, r12d
jle 0x7ff8af236c0a
mov qword [rsp + 0xd8], rbx
mov qword [rsp + 0x88], rdi
mov edi, 1
mov qword [rsp + 0x80], r13
lea rbx, [rax + 4]
mov r13d, edi
nop dword [rax]
cmp dword [0x7ff8af2b7f90], 0
mov rcx, qword [rsi + 0x230]
mov edx, edi
je 0x7ff8af236af7
lea rax, [rbp - 0x29]
mov r9d, 1
xor r8d, r8d
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x21]
mov dword [rbp - 0x21], 0x2010
mov qword [rsp + 0x20], rax
mov dword [rbp - 0x29], 0
call qword [0x7ff8af2b7f60]
test eax, eax
je 0x7ff8af236959
cmp dword [rbp - 0x29], 0
je 0x7ff8af236ba4
mov rcx, qword [rsi + 0x230]
lea rax, [rbp - 0x29]
mov r9d, 1
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x21]
xor r8d, r8d
mov edx, edi
mov dword [rbp - 0x21], 0x2001
mov dword [rbp - 0x29], 0
mov qword [rsp + 0x20], rax
call qword [0x7ff8af2b7f60]
test eax, eax
je 0x7ff8af236959
cmp dword [rbp - 0x29], 0
je 0x7ff8af236ba4
mov rcx, qword [rsi + 0x230]
lea rax, [rbp - 0x29]
mov r9d, 1
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x21]
xor r8d, r8d
mov edx, edi
mov dword [rbp - 0x21], 0x2013
mov dword [rbp - 0x29], 0
mov qword [rsp + 0x20], rax
call qword [0x7ff8af2b7f60]
test eax, eax
jne 0x7ff8af236973
mov r8d, dword [rbp - 0x21]
lea rdx, [0x7ff8af28b600]
mov ecx, 0x10008
call fcn.7ff8af234680
jmp 0x7ff8af236ba4
cmp dword [rbp - 0x29], 0x202b
jne 0x7ff8af236ba4
mov r8d, 0x2003
mov edx, edi
mov rcx, rsi
call fcn.7ff8af236720
cmp eax, 0x2025
je 0x7ff8af236ba4
mov r8d, 0x2015
mov edx, edi
mov rcx, rsi
call fcn.7ff8af236720
mov r8d, 0x2017
mov edx, edi
mov rcx, rsi
mov dword [rbx - 4], eax
call fcn.7ff8af236720
mov r8d, 0x2019
mov edx, edi
mov rcx, rsi
mov dword [rbx], eax
call fcn.7ff8af236720
mov r8d, 0x201b
mov edx, edi
mov rcx, rsi
mov dword [rbx + 4], eax
call fcn.7ff8af236720
mov r8d, 0x2022
mov edx, edi
mov rcx, rsi
mov dword [rbx + 8], eax
call fcn.7ff8af236720
mov r8d, 0x2023
mov edx, edi
mov rcx, rsi
mov dword [rbx + 0xc], eax
call fcn.7ff8af236720
mov r8d, 0x201e
mov edx, edi
mov rcx, rsi
mov dword [rbx + 0x10], eax
call fcn.7ff8af236720
mov r8d, 0x201f
mov edx, edi
mov rcx, rsi
mov dword [rbx + 0x14], eax
call fcn.7ff8af236720
mov r8d, 0x2020
mov edx, edi
mov rcx, rsi
mov dword [rbx + 0x18], eax
call fcn.7ff8af236720
mov r8d, 0x2021
mov edx, edi
mov rcx, rsi
mov dword [rbx + 0x1c], eax
call fcn.7ff8af236720
mov r8d, 0x2024
mov edx, edi
mov rcx, rsi
mov dword [rbx + 0x20], eax
call fcn.7ff8af236720
mov r8d, 0x2012
mov edx, edi
mov rcx, rsi
mov dword [rbx + 0x24], eax
call fcn.7ff8af236720
test eax, eax
je 0x7ff8af236a86
mov dword [rbx + 0x28], 1
mov r8d, 0x2011
mov edx, edi
mov rcx, rsi
call fcn.7ff8af236720
test eax, eax
je 0x7ff8af236aa1
mov dword [rbx + 0x34], 1
cmp dword [0x7ff8af2b7f84], 0
je 0x7ff8af236abd
mov r8d, 0x2042
mov edx, edi
mov rcx, rsi
call fcn.7ff8af236720
mov dword [rbx + 0x2c], eax
cmp dword [0x7ff8af2b7f88], 0
jne 0x7ff8af236ad3
cmp dword [0x7ff8af2b7f8c], 0
je 0x7ff8af236b99
mov r8d, 0x20a9
mov edx, edi
mov rcx, rsi
call fcn.7ff8af236720
test eax, eax
je 0x7ff8af236b99
mov dword [rbx + 0x30], 1
jmp 0x7ff8af236b99
lea r9, [rbp - 9]
mov r8d, 0x28
call qword [sym.imp.gdi32.dll_DescribePixelFormat]
test eax, eax
je 0x7ff8af236ba4
mov ecx, dword [rbp - 5]
test cl, 4
je 0x7ff8af236ba4
test cl, 0x20
je 0x7ff8af236ba4
bt ecx, 0xc
jb 0x7ff8af236b2f
test cl, 0x40
jne 0x7ff8af236ba4
cmp byte [rbp - 1], 0
jne 0x7ff8af236ba4
movzx eax, byte [rbp + 1]
mov dword [rbx - 4], eax
movzx eax, byte [rbp + 3]
mov dword [rbx], eax
movzx eax, byte [rbp + 5]
mov dword [rbx + 4], eax
movzx eax, byte [rbp + 7]
mov dword [rbx + 8], eax
movzx eax, byte [rbp + 0xe]
mov dword [rbx + 0xc], eax
movzx eax, byte [rbp + 0xf]
mov dword [rbx + 0x10], eax
movzx eax, byte [rbp + 0xa]
mov dword [rbx + 0x14], eax
movzx eax, byte [rbp + 0xb]
mov dword [rbx + 0x18], eax
movzx eax, byte [rbp + 0xc]
mov dword [rbx + 0x1c], eax
movzx eax, byte [rbp + 0xd]
mov dword [rbx + 0x20], eax
movzx eax, byte [rbp + 0x10]
mov dword [rbx + 0x24], eax
test cl, 2
je 0x7ff8af236b8d
mov dword [rbx + 0x28], 1
test cl, 1
je 0x7ff8af236b99
mov dword [rbx + 0x34], 1
mov qword [rbx + 0x3c], r13
inc r14d
add rbx, 0x48
inc edi
inc r13
dec r12
jne 0x7ff8af236880
mov r13, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x88]
mov rbx, qword [rsp + 0xd8]
test r14d, r14d
je 0x7ff8af236c0a
mov rcx, qword [rbp - 0x19]
mov r8d, r14d
mov rdx, r15
call fcn.7ff8af234be0
test rax, rax
jne 0x7ff8af236bf1
lea rdx, [0x7ff8af28b670]
mov ecx, 0x10009
jmp 0x7ff8af236c16
mov ecx, dword [rax + 0x40]
mov rax, qword [rbp - 0x11]
mov dword [rax], ecx
mov rcx, r15
call qword [sym.imp.ucrtbase.dll_free]
mov eax, 1
jmp 0x7ff8af236c26
lea rdx, [0x7ff8af28b638]
mov ecx, 0x10006
call fcn.7ff8af234680
mov rcx, r15
call qword [sym.imp.ucrtbase.dll_free]
xor eax, eax
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.7ff8af286d70
add rsp, 0x90
pop r15
pop r14
pop r12
pop rsi
pop rbp
ret