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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1016cd2e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x2f8
push esi
push edi
xorps xmm0, xmm0
movss dword [ebp - 0x18], xmm1
cvtss2sd xmm0, xmm2
sub esp, 8
mov esi, ecx
mov dword [ebp - 0x30], esi
movsd qword [esp], xmm0
push dword [ebx + 0xc]
push dword [ebx + 8]
push str.Recommended_resolution:__d_x__d__DAR_for_muxing:__.4f_n
call fcn.10021eb0
add esp, 0x14
lea edi, [esi + 8]
mov dword [ebp - 0x50], edi
push edi
call dword [sym.imp.MSVCP140.dll__Mtx_lock]
add esp, 4
test eax, eax
je 0x10022f0b
push eax
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
mov ecx, esi
mov dword [ebp - 4], 0
call fcn.100242c0
mov dword [ebp - 0xc0], 0x82a
mov dword [ebp - 0xbc], 0
mov byte [ebp - 4], 1
push 0x2c
mov dword [ebp - 0xc4], 0x101972e0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
call fcn.100cd0b0
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
mov dword [ebp - 0x8c], 0
push str.CaptureWidth
mov ecx, 0x10761d60
mov byte [ebp - 4], 4
call fcn.1005c680
push str.CaptureHeight
mov ecx, 0x10761d60
mov dword [ebp - 0xb0], eax
call fcn.1005c680
mov dword [ebp - 0xac], eax
mov ecx, 0x10761d60
push str.CaptureFileName
lea eax, [ebp - 0x88]
push eax
call fcn.1005c4f0
mov esi, eax
lea eax, [ebp - 0xa8]
cmp eax, esi
je 0x10023052
mov edx, dword [ebp - 0x94]
cmp edx, 0x10
jb 0x1002300f
mov ecx, dword [ebp - 0xa8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10023005
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002307b
push edx
push ecx
call fcn.100cd0a2
add esp, 8
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0xa8], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x98], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov edx, dword [ebp - 0x74]
cmp edx, 0x10
jb 0x1002308b
mov ecx, dword [ebp - 0x88]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10023081
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10023081
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100cd0a2
add esp, 8
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
lea eax, [ebp - 0xc4]
mov byte [ebp - 4], 5
push eax
push 0x1003a720
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
movzx eax, word [ebp - 0xc0]
push eax
push dword [0x107642bc]
call dword [sym.imp.USER32.dll_DialogBoxParamA]
cmp eax, 1
je 0x100230d9
mov byte [ebp - 0x25], 0
jmp 0x10024092
mov eax, dword [ebp - 0xb0]
lea esi, [ebp - 0xa8]
mov ecx, dword [ebp - 0x30]
add eax, 7
and eax, 0xfffffff8
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 7
mov dword [ecx + 0x39], eax
mov eax, dword [ebp - 0xac]
add eax, 7
and eax, 0xfffffff8
cmp dword [ebp - 0x94], 0x10
mov dword [ecx + 0x3d], eax
lea ecx, [ebp - 0xa8]
cmovae esi, dword [ebp - 0xa8]
add esi, dword [ebp - 0x98]
cmp dword [ebp - 0x94], 0x10
mov dword [ebp - 0x70], esi
cmovae ecx, dword [ebp - 0xa8]
xor eax, eax
mov word [ebp - 0xf4], ax
mov eax, esi
sub eax, ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0xf4]
push eax
call fcn.10024c30
push dword [ebp - 0x50]
lea ecx, [ebp - 0xf4]
push esi
push dword [ebp - 0x20]
call fcn.10024da0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x30]
mov esi, dword [sym.imp.ole32.dll_CoCreateInstance]
add eax, 0x6c
push eax
push 0x10196ef8
push 0x17
push 0
push 0x101749ec
call esi
test eax, eax
js 0x1002355f
lea eax, [ebp - 0x44]
push eax
push 0x10196f08
push 0x17
push 0
push 0x101749cc
call esi
test eax, eax
js 0x1002355f
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x30]
mov ecx, dword [eax]
push dword [edx + 0x6c]
push eax
call dword [ecx + 0xc]
test eax, eax
js 0x1002355f
cmp dword [ebp - 0xe0], 8
lea edx, [ebp - 0xf4]
mov eax, dword [ebp - 0x44]
lea esi, [ebp - 0x40]
cmovae edx, dword [ebp - 0xf4]
push 0
push esi
mov ecx, dword [eax]
push edx
push 0x101749bc
push eax
call dword [ecx + 0x14]
mov dword [ebp - 0x6c], eax
test eax, eax
js 0x1002355f
push 0x90
call fcn.100cd0b0
mov esi, eax
add esp, 4
mov dword [ebp - 0x20], esi
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x34], eax
mov eax, dword [ecx + 0x3d]
mov dword [ebp - 0x48], eax
mov eax, dword [ecx + 0x39]
mov dword [ebp - 0xf8], eax
lea eax, [esi + 0x54]
lock inc dword [0x10761c4c]
mov dword [esi + 4], esi
mov dword [esi + 8], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
movups xmm0, xmmword [0x10196fd0]
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], 0
movups xmmword [esi + 0x28], xmm0
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0
mov dword [esi + 0x48], 1
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [ebp - 4], 0xb
movss xmm0, dword [0x101a4e38]
divss xmm0, dword [ebp - 0x18]
mov eax, dword [ebp - 0xf8]
mov dword [esi + 0x50], 0x10196f2c
mov dword [esi], 0x10196fac
mov dword [esi + 0xc], 0x10196f70
mov dword [esi + 0x10], 0x10196f5c
mov dword [esi + 0x50], 0x10196f44
add esi, 0x6c
mov dword [esi], eax
mov eax, dword [ebp - 0x48]
mov dword [esi + 4], eax
call fcn.1016c438
mov ecx, dword [ebp - 0x20]
push 0xb8
mov dword [ecx + 0x78], eax
mov dword [ecx + 0x7c], edx
mov dword [ecx + 0x80], 0
mov dword [ecx + 0x84], 0
mov dword [ecx + 0x88], 0
call fcn.100cd0b0
add esp, 4
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0xc
push dword [ebp - 0x34]
mov edx, dword [ebp - 0x20]
push ecx
lea ecx, [edx + 0x54]
push ecx
push edx
push dword [edx + 0x7c]
mov ecx, eax
push dword [edx + 0x78]
push esi
call fcn.100220d0
mov ecx, dword [ebp - 0x20]
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x30]
mov dword [ecx + 0x88], eax
lea eax, [ecx + 0xc]
push eax
lea ecx, [edx + 0x70]
call fcn.10024580
mov edx, dword [ebp - 0x30]
mov ecx, dword [edx + 0x6c]
lea esi, [edx + 0x6c]
mov eax, dword [ecx]
cmp dword [ebp - 0x8c], 0
push str.Source
push dword [edx + 0x70]
push ecx
jne 0x10023591
call dword [eax + 0xc]
test eax, eax
js 0x1002355f
mov eax, dword [esi]
mov esi, dword [ebp - 0x40]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x10023536
mov dword [ebp - 0x14], 0
mov byte [ebp - 4], 0xd
mov eax, dword [esi]
mov ecx, dword [eax + 0x28]
cmp eax, 0x10196f70
jne 0x100240d1
push 0x30
call fcn.100cd0b0
add esp, 4
mov dword [ebp - 0x3c], eax
push 0
lea ecx, [esi - 0xc]
mov byte [ebp - 4], 0xe
push ecx
mov ecx, eax
call fcn.1015ee20
mov ecx, eax
mov edx, 0x8007000e
xor eax, eax
mov dword [ebp - 0x14], ecx
test ecx, ecx
cmove eax, edx
test eax, eax
js 0x10023508
mov dword [ebp - 0x1c], 0
push 0
lea edx, [ebp - 0x1c]
mov byte [ebp - 4], 0xf
mov eax, dword [ecx]
push edx
push 1
push ecx
call dword [eax + 0xc]
test eax, eax
jne 0x10023451
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x18]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
cmp dword [ebp - 0x18], 0
je 0x1002347f
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x1002343c
mov dword [ebp - 0x1c], 0
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
cmp ecx, vtable..0
jne 0x100240e0
mov eax, dword [eax - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x1c]
push 0
push edx
push 1
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
test eax, eax
je 0x10023401
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x10023505
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
cmp ecx, vtable..0
jne 0x10024100
mov eax, dword [eax - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x10023505
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x34], ecx
mov eax, dword [ecx]
mov edx, dword [eax + 8]
cmp eax, vtable..0
jne 0x100240e8
mov eax, dword [ecx - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x100234ca
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
cmp ecx, vtable..0
jne 0x100240f0
mov eax, dword [eax - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x10023500
mov eax, dword [ecx]
mov edx, dword [eax + 8]
cmp eax, 0x101a4908
jne 0x100240f8
or eax, 0xffffffff
lock xadd dword [ecx + 0x14], eax
dec eax
jne 0x10023500
test ecx, ecx
je 0x10023500
mov eax, dword [ecx]
push 1
call dword [eax + 0x1c]
mov eax, dword [ebp - 0x34]
jmp 0x10023538
mov eax, dword [ebp - 0x34]
jmp 0x10023538
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 8
test ecx, ecx
je 0x10023536
mov eax, dword [ecx]
mov edx, dword [eax + 8]
cmp eax, 0x101a4908
jne 0x10024108
or eax, 0xffffffff
lock xadd dword [ecx + 0x14], eax
dec eax
jne 0x10023536
test ecx, ecx
je 0x10023536
mov eax, dword [ecx]
push 1
call dword [eax + 0x1c]
xor eax, eax
mov esi, dword [ebp - 0x20]
mov edx, 1
push 0
push eax
mov eax, dword [ebp - 0x30]
mov esi, dword [esi]
mov ecx, dword [eax + 0x70]
call fcn.10022aa0
push eax
push dword [ebp - 0x20]
call dword [esi + 0x1c]
test eax, eax
jns 0x10023b00
mov byte [ebp - 0x25], 0
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x1002404c
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
cmp ecx, method..virtual_8
jne 0x10024049
mov eax, dword [eax - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x1002404c
call dword [eax + 0xc]
test eax, eax
js 0x1002355f
mov eax, dword [esi]
push str.Encoder
push dword [ebp - 0x8c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
test eax, eax
js 0x1002355f
mov eax, dword [esi]
mov esi, dword [ebp - 0x8c]
mov dword [ebp - 0x20], eax
test esi, esi
je 0x10023766
mov dword [ebp - 0x2c], 0
mov byte [ebp - 4], 0x10
mov eax, dword [esi]
mov ecx, dword [eax + 0x28]
cmp eax, 0x10196f70
jne 0x10024110
push 0x30
call fcn.100cd0b0
add esp, 4
mov dword [ebp - 0x34], eax
push 0
lea ecx, [esi - 0xc]
mov byte [ebp - 4], 0x11
push ecx
mov ecx, eax
call fcn.1015ee20
mov ecx, eax
mov edx, 0x8007000e
xor eax, eax
mov dword [ebp - 0x2c], ecx
test ecx, ecx
cmove eax, edx
test eax, eax
js 0x10023738
mov dword [ebp - 0x1c], 0
push 0
lea edx, [ebp - 0x1c]
mov byte [ebp - 4], 0x12
mov eax, dword [ecx]
push edx
push 1
push ecx
call dword [eax + 0xc]
test eax, eax
jne 0x10023681
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x4c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
cmp dword [ebp - 0x4c], 0
je 0x100236af
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x1002366c
mov dword [ebp - 0x1c], 0
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
cmp ecx, vtable..0
jne 0x1002411f
mov eax, dword [eax - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x1c]
push 0
push edx
push 1
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
test eax, eax
je 0x10023631
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x10023735
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
cmp ecx, vtable..0
jne 0x1002413f
mov eax, dword [eax - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x10023735
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x34], ecx
mov eax, dword [ecx]
mov edx, dword [eax + 8]
cmp eax, vtable..0
jne 0x10024127
mov eax, dword [ecx - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x100236fa
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
cmp ecx, vtable..0
jne 0x1002412f
mov eax, dword [eax - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x10023730
mov eax, dword [ecx]
mov edx, dword [eax + 8]
cmp eax, 0x101a4908
jne 0x10024137
or eax, 0xffffffff
lock xadd dword [ecx + 0x14], eax
dec eax
jne 0x10023730
test ecx, ecx
je 0x10023730
mov eax, dword [ecx]
push 1
call dword [eax + 0x1c]
mov eax, dword [ebp - 0x34]
jmp 0x10023768
mov eax, dword [ebp - 0x34]
jmp 0x10023768
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 8
test ecx, ecx
je 0x10023766
mov eax, dword [ecx]
mov edx, dword [eax + 8]
cmp eax, 0x101a4908
jne 0x10024147
or eax, 0xffffffff
lock xadd dword [ecx + 0x14], eax
dec eax
jne 0x10023766
test ecx, ecx
je 0x10023766
mov eax, dword [ecx]
push 1
call dword [eax + 0x1c]
xor eax, eax
mov esi, dword [ebp - 0x20]
mov edx, 1
push 0
push eax
mov eax, dword [ebp - 0x30]
mov esi, dword [esi]
mov ecx, dword [eax + 0x70]
call fcn.10022aa0
push eax
push dword [ebp - 0x20]
call dword [esi + 0x1c]
test eax, eax
js 0x1002355f
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp - 0x40]
mov eax, dword [eax + 0x6c]
mov dword [ebp - 0x4c], eax
test esi, esi
je 0x1002393c
mov dword [ebp - 0x24], 0
mov byte [ebp - 4], 0x13
mov eax, dword [esi]
mov ecx, dword [eax + 0x28]
cmp eax, 0x10196f70
jne 0x1002414f
push 0x30
call fcn.100cd0b0
add esp, 4
mov dword [ebp - 0x34], eax
push 0
lea ecx, [esi - 0xc]
mov byte [ebp - 4], 0x14
push ecx
mov ecx, eax
call fcn.1015ee20
mov ecx, eax
mov edx, 0x8007000e
xor eax, eax
mov dword [ebp - 0x24], ecx
test ecx, ecx
cmove eax, edx
test eax, eax
js 0x1002390e
mov dword [ebp - 0x38], 0
push 0
lea edx, [ebp - 0x38]
mov byte [ebp - 4], 0x15
mov eax, dword [ecx]
push edx
push 1
push ecx
call dword [eax + 0xc]
test eax, eax
jne 0x10023862
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x6c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
cmp dword [ebp - 0x6c], 0
je 0x1002388d
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x1002384d
mov dword [ebp - 0x38], 0
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
cmp ecx, vtable..0
jne 0x1002415e
mov eax, dword [eax - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0x38]
push 0
push edx
push 1
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
test eax, eax
je 0x10023812
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x1002390b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
cmp ecx, vtable..0
jne 0x1002417e
mov eax, dword [eax - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x1002390b
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x20], ecx
mov eax, dword [ecx]
mov edx, dword [eax + 8]
cmp eax, vtable..0
jne 0x10024166
mov eax, dword [ecx - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x100238d8
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
cmp ecx, vtable..0
jne 0x1002416e
mov eax, dword [eax - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x10023943
mov eax, dword [ecx]
mov edx, dword [eax + 8]
cmp eax, 0x101a4908
jne 0x10024176
or eax, 0xffffffff
lock xadd dword [ecx + 0x14], eax
dec eax
jne 0x10023943
test ecx, ecx
je 0x10023943
mov eax, dword [ecx]
push 1
call dword [eax + 0x1c]
jmp 0x10023943
mov ecx, dword [ebp - 0x24]
mov byte [ebp - 4], 8
test ecx, ecx
je 0x1002393c
mov eax, dword [ecx]
mov edx, dword [eax + 8]
cmp eax, 0x101a4908
jne 0x10024186
or eax, 0xffffffff
lock xadd dword [ecx + 0x14], eax
dec eax
jne 0x1002393c
test ecx, ecx
je 0x1002393c
mov eax, dword [ecx]
push 1
call dword [eax + 0x1c]
mov dword [ebp - 0x20], 0
mov esi, dword [ebp - 0x8c]
test esi, esi
je 0x10023ae7
mov dword [ebp - 0x18], 0
mov byte [ebp - 4], 0x16
mov eax, dword [esi]
mov ecx, dword [eax + 0x28]
cmp eax, 0x10196f70
jne 0x1002418e
push 0x30
call fcn.100cd0b0
add esp, 4
mov dword [ebp - 0x34], eax
push 0
lea ecx, [esi - 0xc]
mov byte [ebp - 4], 0x17
push ecx
mov ecx, eax
call fcn.1015ee20
mov ecx, eax
mov edx, 0x8007000e
xor eax, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
cmove eax, edx
test eax, eax
js 0x10023ab9
mov dword [ebp - 0x14], 0
push 0
lea edx, [ebp - 0x14]
mov byte [ebp - 4], 0x18
mov eax, dword [ecx]
push edx
push 1
push ecx
call dword [eax + 0xc]
test eax, eax
jne 0x10023a10
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x3c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
cmp dword [ebp - 0x3c], 1
je 0x10023a3b
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x100239fb
mov dword [ebp - 0x14], 0
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
cmp ecx, vtable..0
jne 0x1002419d
mov eax, dword [eax - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x14]
push 0
push edx
push 1
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
test eax, eax
je 0x100239c0
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x10023ab6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
cmp ecx, vtable..0
jne 0x100241bd
mov eax, dword [eax - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x10023ab6
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x14], 0
mov eax, dword [esi]
mov ecx, dword [eax + 8]
cmp eax, vtable..0
jne 0x100241a5
mov eax, dword [esi - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x10023a83
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
cmp ecx, vtable..0
jne 0x100241ad
mov eax, dword [eax - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x10023ae9
mov eax, dword [ecx]
mov edx, dword [eax + 8]
cmp eax, 0x101a4908
jne 0x100241b5
or eax, 0xffffffff
lock xadd dword [ecx + 0x14], eax
dec eax
jne 0x10023ae9
test ecx, ecx
je 0x10023ae9
mov eax, dword [ecx]
push 1
call dword [eax + 0x1c]
jmp 0x10023ae9
mov ecx, dword [ebp - 0x18]
mov byte [ebp - 4], 8
test ecx, ecx
je 0x10023ae7
mov eax, dword [ecx]
mov edx, dword [eax + 8]
cmp eax, 0x101a4908
jne 0x100241c5
or eax, 0xffffffff
lock xadd dword [ecx + 0x14], eax
dec eax
jne 0x10023ae7
test ecx, ecx
je 0x10023ae7
mov eax, dword [ecx]
push 1
call dword [eax + 0x1c]
xor esi, esi
mov ecx, dword [ebp - 0x4c]
push 0
push dword [ebp - 0x20]
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x1c]
test eax, eax
js 0x1002355f
xor eax, eax
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x19
mov esi, dword [ebp - 0x30]
mov ecx, dword [esi + 0x6c]
test ecx, ecx
je 0x10023fde
mov eax, dword [ecx]
lea edx, [ebp - 0x14]
push edx
push ecx
call dword [eax + 0x14]
test eax, eax
js 0x10023fdb
mov dword [ebp - 0x24], 0
mov byte [ebp - 4], 0x1a
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 0x14]
push 0
push edx
push 1
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
test eax, eax
jne 0x10023fb6
nop dword [eax]
mov dword [ebp - 0x208], 0
mov byte [ebp - 4], 0x1b
lea edx, [ebp - 0x308]
mov eax, dword [ebp - 0x24]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x30]
xor eax, eax
mov dword [ebp - 0xcc], 0
lea ecx, [ebp - 0x308]
mov dword [ebp - 0xc8], 7
mov word [ebp - 0xdc], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10023b94
sub ecx, edx
lea eax, [ebp - 0x308]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0xdc]
call fcn.100250b0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0xdc]
cmp dword [ebp - 0xc8], 8
mov eax, dword [ebp - 0xcc]
cmovae ecx, dword [ebp - 0xdc]
push dword [ebp - 0x50]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
lea eax, [ecx + eax*2]
mov byte [ebp - 0x68], 0
lea ecx, [ebp - 0xdc]
cmovae ecx, dword [ebp - 0xdc]
push eax
push ecx
lea ecx, [ebp - 0x68]
call fcn.10024ab0
cmp dword [ebp - 0x54], 0x10
lea eax, [ebp - 0x68]
cmovae eax, dword [ebp - 0x68]
push eax
push dword [ebp - 0x24]
push str.Filter___p_:__s_n
call fcn.10021eb0
mov edx, dword [ebp - 0x54]
add esp, 0xc
cmp edx, 0x10
jb 0x10023c53
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10023c49
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002307b
push edx
push ecx
call fcn.100cd0a2
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x10023ecb
mov ecx, dword [eax]
lea edx, [ebp - 0x2c]
push edx
push eax
call dword [ecx + 0x28]
test eax, eax
js 0x10023ec8
mov dword [ebp - 0x18], 0
mov byte [ebp - 4], 0x1e
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
push 0
push edx
push 1
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
test eax, eax
jne 0x10023ea3
nop dword [eax]
mov dword [ebp - 0x20], 0
mov byte [ebp - 4], 0x1f
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 0x18]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov dword [ebp - 0x200], 0
mov byte [ebp - 4], 0x20
lea edx, [ebp - 0x200]
mov eax, dword [ebp - 0x18]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
xor eax, eax
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x1f8]
mov dword [ebp - 0x54], 7
mov word [ebp - 0x68], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10023cf3
sub ecx, edx
lea eax, [ebp - 0x1f8]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x68]
call fcn.100250b0
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x68]
cmp dword [ebp - 0x54], 8
mov eax, dword [ebp - 0x58]
cmovae ecx, dword [ebp - 0x68]
push dword [ebp - 0x50]
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
lea eax, [ecx + eax*2]
mov byte [ebp - 0x88], 0
lea ecx, [ebp - 0x68]
cmovae ecx, dword [ebp - 0x68]
push eax
push ecx
lea ecx, [ebp - 0x88]
call fcn.10024ab0
cmp dword [ebp - 0x74], 0x10
lea ecx, [ebp - 0x88]
mov edx, 0x1019715c
mov eax, 0x10197158
cmovae ecx, dword [ebp - 0x88]
cmp dword [ebp - 0x1fc], 0
cmove eax, edx
push eax
push ecx
push dword [ebp - 0x20]
push dword [ebp - 0x18]
push str.__Pin___p____p_:__s___s__n
call fcn.10021eb0
mov edx, dword [ebp - 0x74]
add esp, 0x14
cmp edx, 0x10
jb 0x10023dc4
mov ecx, dword [ebp - 0x88]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10023dba
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002307b
push edx
push ecx
call fcn.100cd0a2
add esp, 8
mov byte [ebp - 4], 0x20
mov edx, dword [ebp - 0x54]
cmp edx, 8
jb 0x10023e02
mov ecx, dword [ebp - 0x68]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10023df8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002307b
push edx
push ecx
call fcn.100cd0a2
add esp, 8
xor eax, eax
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 7
mov word [ebp - 0x68], ax
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x200]
test ecx, ecx
je 0x10023e3d
mov eax, dword [ecx]
mov eax, dword [eax + 8]
cmp eax, method..virtual_8
jne 0x100241cd
mov eax, dword [ecx - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov byte [ebp - 4], 0x1e
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x10023e62
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
cmp ecx, vtable..0
jne 0x100241d5
mov eax, dword [eax - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x10023e8a
mov dword [ebp - 0x18], 0
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
cmp ecx, vtable..0
jne 0x100241dd
mov eax, dword [eax - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x18]
push 0
push edx
push 1
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
test eax, eax
je 0x10023ca0
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x10023ec8
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
cmp ecx, vtable..0
jne 0x100241e5
mov eax, dword [eax - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0x1c
test ecx, ecx
je 0x10023ef9
mov eax, dword [ecx]
mov edx, dword [eax + 8]
cmp eax, 0x101a4908
jne 0x100241ed
or eax, 0xffffffff
lock xadd dword [ecx + 0x14], eax
dec eax
jne 0x10023ef9
test ecx, ecx
je 0x10023ef9
mov eax, dword [ecx]
push 1
call dword [eax + 0x1c]
mov byte [ebp - 4], 0x1b
mov edx, dword [ebp - 0xc8]
cmp edx, 8
jb 0x10023f3d
mov ecx, dword [ebp - 0xdc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10023f33
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002307b
push edx
push ecx
call fcn.100cd0a2
add esp, 8
xor eax, eax
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], 7
mov word [ebp - 0xdc], ax
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x208]
test ecx, ecx
je 0x10023f6e
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x10023f9a
mov dword [ebp - 0x24], 0
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
cmp ecx, method..virtual_8
jne 0x100241f5
mov eax, dword [eax - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x24]
push 0
push edx
push 1
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
test eax, eax
je 0x10023b50
mov esi, dword [ebp - 0x30]
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x10023fdb
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
cmp ecx, method..virtual_8
jne 0x100241fd
mov eax, dword [eax - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 8
test eax, eax
je 0x10023fec
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [esi + 0x6c]
lea ecx, [ebp - 0x30]
call fcn.10024440
mov byte [ebp - 4], 0x24
mov eax, dword [eax]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x10024014
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [esi + 0x70]
lea ecx, [ebp - 0x70]
call fcn.10024400
mov byte [ebp - 4], 0x25
mov eax, dword [eax]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x1002403c
push eax
mov eax, dword [eax]
call dword [eax + 8]
mov byte [esi + 0x38], 1
mov byte [ebp - 0x25], 1
jmp 0x10023563
push eax
call ecx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x1002405d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xe0]
cmp eax, 8
jb 0x10024075
inc eax
push eax
push dword [ebp - 0xf4]
call fcn.100251c0
xor eax, eax
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 7
mov word [ebp - 0xf4], ax
lea ecx, [ebp - 0xc4]
call fcn.10024210
push edi
mov dword [ebp - 4], 0x26
call dword [sym.imp.MSVCP140.dll__Mtx_unlock]
add esp, 4
test eax, eax
je 0x100240b9
push eax
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
mov ecx, dword [ebp - 0xc]
mov al, byte [ebp - 0x25]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
lea eax, [ebp - 0x14]
push eax
push esi
call ecx
mov ecx, dword [ebp - 0x14]
jmp 0x100233dc
push eax
call edx
jmp 0x1002343c
push ecx
call edx
jmp 0x100234a5
push eax
call edx
jmp 0x100234ca
push ecx
call edx
jmp 0x10023500
push eax
call edx
jmp 0x10023505
push ecx
call edx
jmp 0x10023536
lea eax, [ebp - 0x2c]
push eax
push esi
call ecx
mov ecx, dword [ebp - 0x2c]
jmp 0x1002360c
push eax
call edx
jmp 0x1002366c
push ecx
call edx
jmp 0x100236d5
push eax
call edx
jmp 0x100236fa
push ecx
call edx
jmp 0x10023730
push eax
call edx
jmp 0x10023735
push ecx
call edx
jmp 0x10023766
lea eax, [ebp - 0x24]
push eax
push esi
call ecx
mov ecx, dword [ebp - 0x24]
jmp 0x100237ed
push eax
call edx
jmp 0x1002384d
push ecx
call edx
jmp 0x100238b3
push eax
call edx
jmp 0x100238d8
push ecx
call edx
jmp 0x10023943
push eax
call edx
jmp 0x1002390b
push ecx
call edx
jmp 0x1002393c
lea eax, [ebp - 0x18]
push eax
push esi
call ecx
mov ecx, dword [ebp - 0x18]
jmp 0x1002399b
push eax
call edx
jmp 0x100239fb
push esi
call ecx
jmp 0x10023a5e
push eax
call edx
jmp 0x10023a83
push ecx
call edx
jmp 0x10023ae9
push eax
call edx
jmp 0x10023ab6
push ecx
call edx
jmp 0x10023ae7
push ecx
call eax
jmp 0x10023e3d
push eax
call edx
jmp 0x10023e62
push eax
call edx
jmp 0x10023e8a
push eax
call edx
jmp 0x10023ec8
push ecx
call edx
jmp 0x10023ef9
push eax
call ecx
jmp 0x10023f9a
push eax
call ecx
jmp 0x10023fdb