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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov rdi, rdx
mov rsi, r8
lea edx, [rcx + 0xe]
mov eax, ecx
mov dword [rsp + 0x40], edx
cmp ecx, edx
jae case.0x180021dac.109
mov ebp, dword [rsp + 0xe0]
lea rbx, [0x180000000]
mov r15d, dword [rsp + 0xe0]
mov r14d, dword [rsp + 0xe0]
mov r12d, dword [rsp + 0xe0]
mov r13d, dword [rsp + 0xe0]
add eax, 0xffffff9a
lea r8, [0x1800467b0]
lea r10, [0x1801625c5]
mov r11d, 1
cmp eax, 0x21
ja case.0x180021dac.116
movzx eax, byte [rbx + rax + 0x22684]
mov ecx, dword [rbx + rax*4 + 0x22648]
add rcx, rbx
jmp rcx
mov ebx, dword [rsp + 0x44]
bt ebx, 0xb
jae 0x180021dc4
or dword [rsi + 4], 0x800
jmp 0x180021e93
mov eax, dword [rsp + 0x48]
mov ecx, ebx
and eax, 0x700
and ecx, 0x700
cmp eax, ecx
jbe 0x180021ebf
test rdi, rdi
je 0x180021df5
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x180021df5
mov rdi, qword [rax + 8]
add rdi, 0x18
jmp 0x180021df8
mov rdi, r10
test rsi, rsi
je 0x180021e10
mov rbx, qword [rsi + 0x10]
test rbx, rbx
je 0x180021e10
mov rbx, qword [rbx + 8]
add rbx, 0x18
jmp 0x180021e13
mov rbx, r10
mov eax, dword [rsp + 0x44]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], 0
mov r9d, 0x114
xor r8d, r8d
mov dword [rsp + 0x60], eax
xor edx, edx
mov qword [rsp + 0x20], 0
call fcn.1800e8bd0
test dword [rsp + 0x44], 0x100
lea rdx, [0x1801625c5]
mov r9, qword [rsi + 8]
lea rcx, str.yB_0zBHaB
cmovne rcx, rdx
mov r8, rbx
mov qword [rsp + 0x30], rcx
lea rdx, str.Video_size__dx_d_is_too_small__minimum_size_is_640x480
mov qword [rsp + 0x28], rdi
mov ecx, 0x40
add r9, 0x18
mov qword [rsp + 0x20], rax
call fcn.1800eba40
mov rdi, qword [rsp + 0xe8]
mov edx, dword [rsp + 0x40]
lea rbx, [0x180000000]
mov eax, dword [rsp + 0xe0]
inc eax
mov dword [rsp + 0xe0], eax
cmp eax, edx
jae case.0x180021dac.109
mov r9, qword [rsp + 0xf8]
jmp 0x180021d7a
jae 0x180021e93
bt ebx, 0xa
lea rbx, [0x180000000]
jae case.0x180021dac.116
or dword [rsi + 4], 0x800
jmp case.0x180021dac.116
mov r8, qword [rdi + 0x10]
mov ebx, dword [rdi + 4]
mov dword [rsp + 0x44], ebx
test byte [r8 + 0x1c], 0x40
jne 0x180021e93
test bl, 2
je 0x180021e93
mov rax, qword [rsi + 0x18]
test rax, rax
je 0x180021efd
mov rcx, qword [rax + 0x10]
jmp 0x180021f01
mov rcx, qword [rsi + 0x10]
cmp r8, rcx
je 0x180021e93
test byte [rsi + 4], 0xa
je 0x180021e93
test rax, rax
je 0x180021f17
mov rax, qword [rax + 0x10]
jmp 0x180021f1b
mov rax, qword [rsi + 0x10]
mov rax, qword [rax + 8]
lea rdx, str.67878761373365912343802950200656825271181294680501479431146754294748422492761
mov r9, qword [rsi + 8]
add rax, 0x18
mov r8, qword [r8 + 8]
add r9, 0x18
add r8, 0x18
mov qword [rsp + 0x20], rax
mov ecx, 0x40
call fcn.1800eba40
jmp 0x180021e8f
mov eax, dword [r9]
test eax, eax
je 0x1800221a6
movzx r10d, byte [rsi + 0x2c]
lea r8, [rdi + 8]
mov rdi, qword [rsp + 0x58]
mov r9d, eax
nop word [rax + rax]
test r10b, r10b
je 0x180021f80
cmp byte [r8 + 0x24], 0
je 0x180022187
mov edx, 7
mov eax, edx
sub eax, 7
je 0x180021fe1
sub eax, 1
je 0x180021fc1
sub eax, 1
je 0x180021fac
cmp eax, 1
jne 0x180021ff0
cmp dword [rsi + 0x30], 0
jle 0x180021ff0
cmp dword [r8 + 0x28], 0
jne 0x180021ff0
inc ebp
jmp 0x180021ff0
mov eax, dword [rsi + 0x28]
test eax, eax
jle 0x180021ff0
mov ecx, dword [r8 + 0x20]
cmp ecx, eax
jge 0x180021ff0
sub eax, ecx
add ebp, eax
jmp 0x180021ff0
cmp dword [rsi + 0x10], 0
jle 0x180021fd0
cmp dword [r8 + 8], 0
jne 0x180021fd0
inc ebp
cmp dword [rsi + 0x14], 0
jle 0x180021ff0
cmp dword [r8 + 0xc], 0
jne 0x180021ff0
inc ebp
jmp 0x180021ff0
xor ebp, ebp
cmp dword [rsi + 0xc], ebp
jle 0x180021ff0
cmp dword [r8 + 4], ebp
cmove ebp, r11d
inc edx
cmp edx, 0xb
jb 0x180021f85
mov ecx, 0x6b
nop dword [rax]
cmp ecx, 0x6b
je 0x18002202d
cmp ecx, 0x6f
jne 0x180022041
mov eax, dword [rsi + 4]
test eax, eax
jle 0x18002201b
sub eax, dword [r8 - 4]
imul eax, eax
add r15d, eax
mov eax, dword [rsi + 8]
test eax, eax
jle 0x180022041
sub eax, dword [r8]
imul eax, eax
add r15d, eax
jmp 0x180022041
mov eax, dword [rsi]
xor r15d, r15d
test eax, eax
jle 0x180022041
mov r15d, eax
sub r15d, dword [r8 - 8]
imul r15d, r15d
add ecx, 4
cmp ecx, 0x73
jb 0x180022000
mov ecx, 0x63
lea rdx, [r8 - 8]
cmp ecx, 0xcee5
ja 0x1800220d8
je 0x1800220ba
cmp ecx, 0x63
je 0x1800220b5
cmp ecx, 0x4539
je 0x180022099
cmp ecx, 0x8a0f
jne 0x18002211f
mov eax, dword [rsi + 0x14]
test eax, eax
jle 0x180022085
sub eax, dword [rdx + 0x14]
imul eax, eax
add r14d, eax
mov eax, dword [rsi + 0x18]
test eax, eax
jle 0x18002211f
sub eax, dword [r8 + 0x10]
jmp 0x180022119
mov eax, dword [rsi + 0xc]
test eax, eax
jle 0x1800220a9
sub eax, dword [rdx + 0xc]
imul eax, eax
add r14d, eax
mov eax, dword [rsi + 0x10]
test eax, eax
jle 0x18002211f
sub eax, dword [rdx + 0x10]
jmp 0x180022119
xor r14d, r14d
jmp 0x18002211f
mov eax, dword [rsi + 0x1c]
test eax, eax
jle 0x1800220cb
sub eax, dword [r8 + 0x14]
imul eax, eax
add r14d, eax
mov eax, dword [rsi + 0x20]
test eax, eax
jle 0x18002211f
sub eax, dword [r8 + 0x18]
jmp 0x180022119
cmp ecx, 0x113bb
je 0x18002210e
cmp ecx, 0x15891
je 0x180022102
cmp ecx, 0x19d67
jne 0x18002211f
cmp byte [rsi + 0x34], 0
je 0x18002211f
cmp byte [r8 + 0x2c], 0
jne 0x18002211f
inc r14d
jmp 0x18002211f
mov eax, dword [rsi + 0x30]
test eax, eax
jle 0x18002211f
sub eax, dword [rdx + 0x30]
jmp 0x180022119
mov eax, dword [rsi + 0x24]
test eax, eax
jle 0x18002211f
sub eax, dword [r8 + 0x1c]
imul eax, eax
add r14d, eax
add ecx, 0x44d6
cmp ecx, 0x1e1da
jbe 0x180022052
cmp ebp, r12d
jae 0x18002213b
mov rdi, rdx
jmp 0x180022155
jne 0x180022150
cmp r15d, r13d
jb 0x18002214b
jne 0x180022150
cmp r14d, dword [rsp + 0x4c]
jae 0x180022150
mov rdi, rdx
jmp 0x180022155
cmp rdx, rdi
jne 0x180022187
mov eax, 0xba
nop word [rax + rax]
cmp eax, 0xba
je 0x180022175
cmp eax, 0xe88
jne 0x18002217b
mov dword [rsp + 0x4c], r14d
jmp 0x18002217b
mov r12d, ebp
mov r13d, r15d
add eax, 0xdce
cmp eax, 0x1b9c
jbe 0x180022160
add r8, 0x3c
sub r9, 1
jne 0x180021f70
mov edx, dword [rsp + 0x40]
mov qword [rsp + 0x58], rdi
mov rdi, qword [rsp + 0xe8]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x50], rax
jmp case.0x180021dac.116
mov qword [rsp + 0x58], 0
jmp case.0x180021dac.116
mov eax, dword [rsp + 0x48]
mov ebx, dword [rsp + 0x44]
xor eax, ebx
test al, 1
je 0x180022272
test byte [rsi + 4], 1
mov rax, qword [rsi + 0x10]
je 0x18002221c
test rax, rax
je 0x1800221ee
mov rcx, qword [rax + 8]
add rcx, 0x18
jmp 0x1800221f1
mov rcx, r10
test rdi, rdi
je 0x180022210
mov r8, qword [rdi + 0x10]
test r8, r8
je 0x180022210
mov r8, qword [r8 + 8]
lea rdx, str.IsDesktopWallpaperSet:_No_desktop_wallpaper_currently_set
add r8, 0x18
jmp 0x180022250
mov r8, r10
lea rdx, str.IsDesktopWallpaperSet:_No_desktop_wallpaper_currently_set
jmp 0x180022250
test rax, rax
je 0x18002222b
mov rcx, qword [rax + 8]
add rcx, 0x18
jmp 0x18002222e
mov rcx, r10
test rdi, rdi
je 0x180022246
mov r8, qword [rdi + 0x10]
test r8, r8
je 0x180022246
mov r8, qword [r8 + 8]
add r8, 0x18
jmp 0x180022249
mov r8, r10
lea rdx, str._d__tcsetattr____x__enable_flags__p__c_lflag__p_iflag__p
mov r9, qword [rsi + 8]
mov qword [rsp + 0x20], rcx
add r9, 0x18
mov ecx, 0x40
call fcn.1800eba40
mov edx, dword [rsp + 0x40]
lea r10, [0x1801625c5]
mov ecx, dword [rsp + 0x48]
mov eax, ebx
and ecx, 2
and eax, 2
cmp cl, al
jbe 0x180021e93
test rsi, rsi
je 0x18002229e
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x18002229e
mov rcx, qword [rax + 8]
add rcx, 0x18
jmp 0x1800222a1
mov rcx, r10
test rdi, rdi
je 0x1800222b9
mov r8, qword [rdi + 0x10]
test r8, r8
je 0x1800222b9
mov r8, qword [r8 + 8]
add r8, 0x18
jmp 0x1800222bc
mov r8, r10
mov r9, qword [rsi + 8]
lea rdx, str.webcrypto::_anonymous_namespace::EcdsaImplementation::Verify
mov qword [rsp + 0x20], rcx
add r9, 0x18
mov ecx, 0x40
call fcn.1800eba40
jmp 0x180021e8f
mov ebx, dword [rsp + 0x44]
bt ebx, 0xa
jae 0x1800222f6
mov qword [rsi + 0x18], 0
jmp 0x180021e93
test bl, 2
je 0x180022327
mov eax, 0x5c
cmp eax, 0x5c
je 0x180022312
cmp eax, 0x12b0
jne 0x180022316
mov qword [rsi + 0x18], rdi
jmp 0x180022316
or dword [rsi + 4], 8
add eax, 0x1254
cmp eax, 0x24a8
jbe 0x180022300
jmp 0x180021e93
test dword [rdi + 4], 0x2000
je 0x18002234b
mov rax, qword [rdi + 0x18]
test rax, rax
je 0x180021e93
mov rax, qword [rax + 0x10]
test byte [rax + 0x1c], 0x40
je 0x180021e93
mov rax, qword [rdi + 0x18]
mov rcx, rdi
test rax, rax
cmovne rcx, rax
mov qword [rsi + 0x18], rcx
jmp 0x180021e93
mov r13d, 0xffffffff
jmp case.0x180021dac.116
mov rax, qword [rsi + 0x18]
test rax, rax
je 0x18002242f
test dword [rax + 4], 0x40000002
je 0x18002242f
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov edx, 0xe8
mov rcx, rsi
call fcn.18003e520
test al, al
jne 0x18002260b
mov rdi, qword [rsp + 0x88]
mov ebx, 0x10c
mov eax, ebx
sub eax, 0x10a
je 0x1800223f7
sub eax, 1
je 0x1800223e2
cmp eax, 1
jne 0x180022418
mov rdx, qword [rsi + 0x18]
xor r8d, r8d
mov ecx, 0xe9
call fcn.1800f0ed0
mov qword [rsp + 0x80], rax
jmp 0x180022418
xor r8d, r8d
mov rdx, rsi
mov ecx, 0xe9
call fcn.1800f0ed0
mov rdi, rax
jmp 0x180022418
mov r9, qword [rsp + 0x80]
lea r8, [rdi + 0x18]
add r9, 0x18
lea rdx, str.float4___OVERLOADABLE___as_float4__double2__
mov ecx, 0x40
call fcn.1800eba40
dec ebx
cmp ebx, 0x109
ja 0x1800223b4
mov qword [rsp + 0x88], rdi
jmp 0x180021e87
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov edx, 0xe8
mov rcx, rsi
call fcn.18003e520
test al, al
jne 0x18002260b
mov ebx, 0xd9
cmp ebx, 0xd9
je 0x1800224f7
cmp ebx, 0x163
je 0x1800224bf
cmp ebx, 0x1ed
je 0x18002249c
cmp ebx, 0x277
jne 0x18002250c
mov rcx, qword [rsp + 0x70]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], 0
mov edx, 0xe3
call fcn.18013a7e0
jmp 0x18002250c
mov rcx, qword [rsp + 0x90]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], 0
mov edx, 0xe3
call fcn.18013a7e0
jmp 0x18002250c
xor r8d, r8d
mov rdx, rsi
mov ecx, 0xe9
call fcn.1800f0ed0
mov r9, qword [rsp + 0x70]
lea rdx, str.FindPreviousNonLabelNonNoFlowPragmaInstruction
add r9, 0x18
mov qword [rsp + 0x90], rax
mov ecx, 2
lea r8, [rax + 0x18]
call fcn.1800eba40
jmp 0x18002250c
xor r8d, r8d
mov rdx, rdi
mov ecx, 0xe9
call fcn.1800f0ed0
mov qword [rsp + 0x70], rax
add ebx, 0x8a
cmp ebx, 0x301
jb 0x180022454
jmp 0x180021e8f
mov r12d, 0xffffffff
jmp case.0x180021dac.116
mov dword [rsp + 0x4c], 0xffffffff
jmp case.0x180021dac.116
test byte [rsp + 0x44], 4
je 0x18002257a
test rdi, rdi
je 0x18002255a
mov r8, qword [rdi + 0x10]
test r8, r8
je 0x18002255a
mov r8, qword [r8 + 8]
add r8, 0x18
jmp 0x18002255d
mov r8, r10
mov r9, qword [rsi + 8]
lea rdx, str._gpu::getCudaEnabledDeviceCount_____0
add r9, 0x18
mov ecx, 0x40
call fcn.1800eba40
mov edx, dword [rsp + 0x40]
mov eax, dword [rsi + 4]
mov dword [rsp + 0x48], eax
jmp case.0x180021dac.116
mov rcx, qword [rsp + 0x78]
mov eax, dword [rsp + 0x68]
cmp dword [rcx + 0x18], eax
jne 0x180022620
mov ebx, 0x43
nop dword [rax]
mov eax, ebx
sub eax, 0x43
je 0x1800225b2
cmp eax, 1
jne 0x1800225ec
mov dword [rsp + 0x50], eax
jmp case.0x180021dac.109
mov qword [rsp + 0x60], r8
lea rdx, [rsp + 0x60]
lea r8, [rcx + 0x1c]
mov dword [rsp + 0x28], 0x124
lea rcx, [0x1801d5be0]
mov qword [rsp + 0x20], 0
xor r9d, r9d
call fcn.180142d70
mov rcx, qword [rsp + 0x78]
lea r8, [0x1800467b0]
inc ebx
cmp ebx, 0x45
jb 0x1800225a0
jmp 0x180021e8f
mov rax, qword [rsi]
mov qword [rsp + 0x78], rax
mov eax, dword [rdi]
mov dword [rsp + 0x68], eax
jmp case.0x180021dac.116
mov edx, dword [rsp + 0x40]
jmp case.0x180021dac.116
mov dword [rsp + 0x50], 0
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0xf0]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret