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

Disassembly:
push rsi
push r13
push r14
push r15
mov eax, 0x17e8
call fcn.14022fc50
sub rsp, rax
mov rax, qword [0x1402de400]
xor rax, rsp
mov qword [rsp + 0x17b0], rax
xor r15d, r15d
mov r13, rcx
mov rcx, qword [rcx]
mov r14d, 1
mov rsi, rdx
mov dword [rsp + 0xa0], reloc.WS2_32.dll_recv
mov dword [rsp + 0xa8], r15d
mov word [rsp + 0xa4], r14w
test rcx, rcx
je 0x14002f16e
test rdx, rdx
je 0x14002f16e
call fcn.140026340
test eax, eax
jne 0x14002f089
mov rcx, qword [r13]
lea rax, [rsp + 0xa8]
lea r9, [rsp + 0xa0]
lea r8, [rsp + 0xa4]
mov rdx, rsi
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x1820], rbx
call fcn.14002a640
mov ebx, eax
test eax, eax
je 0x14002e748
mov rcx, qword [r13]
lea r8, str.WelsEncoderParamAdjust____GetMultipleThreadIdc_failed_return__d.
mov r9d, eax
mov edx, r14d
call fcn.1400254a0
mov eax, ebx
jmp 0x14002f081
mov r10, qword [r13]
mov r11d, dword [rsi]
mov qword [rsp + 0x17e0], rbp
mov rbp, qword [r10 + 0x18]
mov r9d, dword [rbp]
cmp r9d, r11d
je 0x14002e785
lea r8, str.WelsEncoderParamAdjust____does_not_expect_in_middle_change_of_iUsgaeType_from__d_to__d
mov edx, r14d
mov rcx, r10
mov dword [rsp + 0x20], r11d
call fcn.1400254a0
mov eax, 2
jmp 0x14002f079
movzx edx, byte [rsi + 0x352]
movzx r8d, byte [rbp + 0x352]
cmp r8b, dl
jne 0x14002e836
mov eax, dword [rsi + 0x1c]
cmp dword [rbp + 0x1c], eax
jne 0x14002e836
mov eax, dword [rsi + 4]
cmp dword [rbp + 4], eax
jne 0x14002e836
mov eax, dword [rsi + 8]
cmp dword [rbp + 8], eax
jne 0x14002e836
mov eax, dword [rsi + 0x4b0]
cmp dword [rbp + 0x4b0], eax
jne 0x14002e836
mov eax, dword [rsi + 0x4b4]
cmp dword [rbp + 0x4b4], eax
jne 0x14002e836
movzx eax, byte [rsi + 0x370]
cmp byte [rbp + 0x370], al
jne 0x14002e836
mov eax, dword [rsi + 0x374]
cmp dword [rbp + 0x374], eax
jne 0x14002e836
movzx eax, word [rsi + 0x37c]
cmp word [rbp + 0x37c], ax
jne 0x14002e836
movzx eax, byte [rsi + 0x38d]
cmp byte [rbp + 0x38d], al
jne 0x14002e836
movzx eax, byte [rsi + 0x38e]
cmp byte [rbp + 0x38e], al
jne 0x14002e836
mov eax, dword [rsi + 0x34c]
cmp dword [rbp + 0x34c], eax
jne 0x14002e836
xor cl, cl
jmp 0x14002e83a
movzx ecx, r14b
mov eax, dword [rbp + 0x4cc]
mov qword [rsp + 0x17d8], rdi
mov qword [rsp + 0x17d0], r12
movaps xmmword [rsp + 0x17c0], xmm6
cmp dword [rsi + 0x4cc], eax
jg 0x14002ee0d
cmp eax, r14d
jne 0x14002e879
cmp dword [rbp + 0x18], r14d
jne 0x14002e879
cmp dword [rsi + 0x18], 2
je 0x14002ee0d
test cl, cl
jne 0x14002ee0d
xorps xmm6, xmm6
movss xmm3, dword [0x1402a88f8]
movss xmm5, dword [0x1402a88fc]
xor r8b, r8b
nop word [rax + rax]
movsx rcx, r8b
movaps xmm1, xmm6
movaps xmm2, xmm6
mov rdx, rcx
imul rcx, rcx, 0xc8
imul rdx, rdx, 0x44
mov eax, dword [rsi + rcx + 0x20]
cmp dword [rcx + rbp + 0x20], eax
jne 0x14002ed99
mov eax, dword [rsi + rcx + 0x24]
cmp dword [rcx + rbp + 0x24], eax
jne 0x14002ed99
mov eax, dword [rsi + rdx + 0x394]
cmp dword [rdx + rbp + 0x394], eax
jne 0x14002ed99
mov eax, dword [rsi + rdx + 0x398]
cmp dword [rdx + rbp + 0x398], eax
jne 0x14002ed99
mov eax, dword [rsi + rcx + 0x40]
cmp dword [rcx + rbp + 0x40], eax
jne 0x14002ed51
mov eax, dword [rsi + rcx + 0x44]
cmp dword [rcx + rbp + 0x44], eax
jne 0x14002ed51
movss xmm0, dword [rsi + rdx + 0x3b8]
comiss xmm0, xmm3
jbe 0x14002e952
movss xmm4, dword [rdx + rbp + 0x3b8]
comiss xmm4, xmm3
jbe 0x14002e952
movss xmm1, dword [rsi + rdx + 0x3bc]
divss xmm1, xmm0
movss xmm0, dword [rdx + rbp + 0x3bc]
divss xmm0, xmm4
subss xmm1, xmm0
movss xmm0, dword [rsi + rdx + 0x3bc]
comiss xmm0, xmm3
jbe 0x14002e984
movss xmm4, dword [rdx + rbp + 0x3bc]
comiss xmm4, xmm3
jbe 0x14002e984
movss xmm2, dword [rsi + 0x14]
divss xmm2, xmm0
movss xmm0, dword [rbp + 0x14]
divss xmm0, xmm4
subss xmm2, xmm0
comiss xmm1, xmm3
ja 0x14002ecd0
comiss xmm5, xmm1
ja 0x14002ecd0
comiss xmm2, xmm3
ja 0x14002ecd0
comiss xmm5, xmm2
ja 0x14002ecd0
mov eax, dword [rsi + rcx + 0x34]
cmp dword [rcx + rbp + 0x34], eax
jne 0x14002ec98
mov eax, dword [rcx + rbp + 0x38]
cmp dword [rsi + rcx + 0x38], eax
jg 0x14002ec60
inc r8b
movsx eax, r8b
cmp eax, dword [rbp + 0x1c]
jl 0x14002e8a0
mov ecx, dword [rsi + 0x348]
mov edx, 6
cmp ecx, r14d
jl 0x14002e9f8
test r11d, r11d
mov eax, 8
mov r14d, ecx
cmove eax, edx
cmp ecx, eax
cmovg r14d, eax
mov eax, dword [rsi + 0x380]
mov dword [rsi + 0x348], r14d
test eax, eax
jns 0x14002ea0e
mov eax, r15d
jmp 0x14002ea13
cmp eax, edx
cmovg eax, edx
mov dword [rsi + 0x380], eax
mov eax, dword [rsi + 0x384]
mov ecx, 0xfffffffa
cmp eax, ecx
jge 0x14002ea2c
mov eax, ecx
jmp 0x14002ea31
cmp eax, edx
cmovg eax, edx
mov dword [rsi + 0x384], eax
mov eax, dword [rsi + 0x388]
cmp eax, ecx
jl 0x14002ea48
mov ecx, eax
cmp eax, edx
cmovg ecx, edx
movss xmm1, dword [rsi + 0x14]
movss xmm0, dword [0x1402a88d4]
mov dword [rsi + 0x388], ecx
comiss xmm0, xmm1
ja 0x14002ea70
movss xmm0, dword [0x1402a8910]
comiss xmm1, xmm0
ja 0x14002ea70
movaps xmm0, xmm1
movss dword [rsi + 0x14], xmm0
movss dword [rbp + 0x14], xmm0
mov eax, dword [rsi + 0x340]
mov dword [rbp + 0x340], eax
mov eax, dword [rsi + 0x344]
mov dword [rbp + 0x344], eax
mov eax, dword [rsi + 0x34c]
mov dword [rbp + 0x34c], eax
movzx eax, byte [rsi + 0x350]
mov byte [rbp + 0x350], al
mov eax, dword [rsi + 0x348]
mov dword [rbp + 0x348], eax
mov eax, dword [rsi + 0x4a4]
mov dword [rbp + 0x4a4], eax
mov eax, dword [rsi + 0x18]
cmp dword [rbp + 0x18], eax
je 0x14002eaed
mov dword [rbp + 0x18], eax
mov r12d, 4
lea rax, [rbp + 0x3c4]
nop dword [rax + rax]
mov dword [rax], r15d
add rax, 0x44
sub r12, 1
jne 0x14002eae0
movzx eax, byte [rsi + 0x4c8]
xor r8b, r8b
mov byte [rbp + 0x4c8], al
movzx eax, byte [rsi + 0x38c]
mov byte [rbp + 0x38c], al
movzx eax, byte [rsi + 0x38d]
mov byte [rbp + 0x38d], al
movzx eax, byte [rsi + 0x38e]
mov byte [rbp + 0x38e], al
movzx eax, byte [rsi + 0x370]
mov byte [rbp + 0x370], al
mov eax, dword [rsi + 0x378]
mov dword [rbp + 0x378], eax
movzx eax, byte [rsi + 0x351]
mov byte [rbp + 0x351], al
movzx eax, byte [rsi + 0x352]
mov byte [rbp + 0x352], al
movzx eax, byte [rsi + 0x38f]
mov byte [rbp + 0x38f], al
mov eax, dword [rsi + 0x380]
mov dword [rbp + 0x380], eax
mov eax, dword [rsi + 0x384]
mov dword [rbp + 0x384], eax
mov eax, dword [rsi + 0x388]
mov dword [rbp + 0x388], eax
mov eax, dword [rsi + 0x10]
mov dword [rbp + 0x10], eax
mov eax, dword [rsi + 0xc]
mov dword [rbp + 0xc], eax
mov eax, dword [rsi + 0x354]
mov dword [rbp + 0x354], eax
movzx eax, byte [rsi + 0x350]
mov byte [rbp + 0x350], al
nop dword [rax]
movsx rcx, r8b
inc r8b
mov rdx, rcx
imul rcx, rcx, 0xc8
imul rdx, rdx, 0x44
mov eax, dword [rsi + rdx + 0x3b8]
mov dword [rdx + rbp + 0x3b8], eax
mov eax, dword [rsi + rdx + 0x3bc]
mov dword [rdx + rbp + 0x3bc], eax
mov eax, dword [rsi + rcx + 0x2c]
mov dword [rcx + rbp + 0x2c], eax
mov eax, dword [rsi + rcx + 0x30]
mov dword [rcx + rbp + 0x30], eax
mov eax, dword [rsi + rcx + 0x34]
mov dword [rcx + rbp + 0x34], eax
mov eax, dword [rsi + rcx + 0x3c]
mov dword [rcx + rbp + 0x3c], eax
mov eax, dword [rsi + rdx + 0x39c]
mov dword [rdx + rbp + 0x39c], eax
mov eax, dword [rsi + rdx + 0x3a0]
mov dword [rdx + rbp + 0x3a0], eax
mov rax, qword [rsi + rdx + 0x3a4]
mov qword [rdx + rbp + 0x3a4], rax
mov rax, qword [rsi + rdx + 0x3ac]
mov qword [rdx + rbp + 0x3ac], rax
movzx eax, byte [rsi + rdx + 0x3b4]
mov byte [rdx + rbp + 0x3b4], al
movsx eax, r8b
cmp eax, dword [rbp + 0x1c]
jl 0x14002ebb0
xor eax, eax
jmp 0x14002f061
movsx rcx, r8b
movsx r9d, r8b
lea r8, str.WelsEncoderParamAdjust___iIndexD___d_uiLevelIdc__d__d_
mov edx, 4
imul rcx, rcx, 0xc8
mov eax, dword [rsi + rcx + 0x38]
mov dword [rsp + 0x28], eax
mov eax, dword [rcx + rbp + 0x38]
mov rcx, r10
mov dword [rsp + 0x20], eax
call fcn.1400254a0
jmp 0x14002ef43
movsx rcx, r8b
movsx r9d, r8b
lea r8, str.WelsEncoderParamAdjust___iIndexD___d_uiProfileIdc__d__d_
mov edx, 4
imul rcx, rcx, 0xc8
mov eax, dword [rsi + rcx + 0x34]
mov dword [rsp + 0x28], eax
mov eax, dword [rcx + rbp + 0x34]
mov rcx, r10
mov dword [rsp + 0x20], eax
call fcn.1400254a0
jmp 0x14002ef43
movd xmm2, dword [rsi + rdx + 0x3bc]
movd xmm3, dword [rdx + rbp + 0x3bc]
movd xmm4, dword [rsi + rdx + 0x3b8]
movsx r9d, r8b
lea r8, str.WelsEncoderParamAdjust___iIndexD___d_fInputFrameRate__f__f__fOutputFrameRate__f__f__fMaxFrameRate__f__f_
mov rcx, r10
cvtps2pd xmm2, xmm2
cvtps2pd xmm3, xmm3
cvtps2pd xmm4, xmm4
movd xmm5, dword [rdx + rbp + 0x3b8]
movd xmm0, dword [rsi + 0x14]
movd xmm1, dword [rbp + 0x14]
mov edx, 4
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
cvtps2pd xmm5, xmm5
movsd qword [rsp + 0x48], xmm0
movsd qword [rsp + 0x40], xmm1
movsd qword [rsp + 0x38], xmm2
movsd qword [rsp + 0x30], xmm3
movsd qword [rsp + 0x28], xmm4
movsd qword [rsp + 0x20], xmm5
call fcn.1400254a0
jmp 0x14002ef43
movsx rcx, r8b
movsx r9d, r8b
lea r8, str.WelsEncoderParamAdjust___iIndexD___d_uiSliceMode___d__d__uiSliceNum__d__d_
mov edx, 4
imul rcx, rcx, 0xc8
mov eax, dword [rsi + rcx + 0x44]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + rbp + 0x44]
mov dword [rsp + 0x30], eax
mov eax, dword [rsi + rcx + 0x40]
mov dword [rsp + 0x28], eax
mov eax, dword [rcx + rbp + 0x40]
mov rcx, r10
mov dword [rsp + 0x20], eax
call fcn.1400254a0
jmp 0x14002ef43
mov eax, dword [rsi + rdx + 0x398]
movsx rcx, r8b
movsx r9d, r8b
mov dword [rsp + 0x58], eax
mov eax, dword [rsi + rdx + 0x394]
lea r8, str.WelsEncoderParamAdjust___iIndexD___d_sSpatialLayers.wxh_old__d__d__sSpatialLayers.wxh_new__d__d__iActualwxh_old__d__d__iActualwxh_new__d__d_
imul rcx, rcx, 0xc8
mov dword [rsp + 0x50], eax
mov eax, dword [rdx + rbp + 0x398]
mov dword [rsp + 0x48], eax
mov eax, dword [rdx + rbp + 0x394]
mov edx, 4
mov dword [rsp + 0x40], eax
mov eax, dword [rsi + rcx + 0x24]
mov dword [rsp + 0x38], eax
mov eax, dword [rsi + rcx + 0x20]
mov dword [rsp + 0x30], eax
mov eax, dword [rcx + rbp + 0x24]
mov dword [rsp + 0x28], eax
mov eax, dword [rcx + rbp + 0x20]
mov rcx, r10
mov dword [rsp + 0x20], eax
call fcn.1400254a0
jmp 0x14002ef43
mov eax, dword [rsi + 0x4b4]
movzx ecx, dl
movzx r9d, r8b
mov dword [rsp + 0x70], eax
mov eax, dword [rbp + 0x4b4]
mov r12d, 4
mov dword [rsp + 0x68], eax
mov eax, dword [rsi + 0x4b0]
lea r8, str.WelsEncoderParamAdjust___bSimulcastAVC__d__d__iSpatialLayerNum__d__d__iPicWidth__d__d__iPicHeight__d__d__Rect.iWidth__d__d__Rect.iHeight__d__d_
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x4b0]
mov edx, r12d
mov dword [rsp + 0x58], eax
mov eax, dword [rsi + 8]
mov dword [rsp + 0x50], eax
mov eax, dword [rbp + 8]
mov dword [rsp + 0x48], eax
mov eax, dword [rsi + 4]
mov dword [rsp + 0x40], eax
mov eax, dword [rbp + 4]
mov dword [rsp + 0x38], eax
mov eax, dword [rsi + 0x1c]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x1c]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
mov rcx, r10
call fcn.1400254a0
mov eax, dword [rsi + 0x18]
movzx ecx, byte [rbp + 0x38e]
movzx edx, byte [rsi + 0x38d]
movzx r8d, byte [rbp + 0x38d]
movzx r11d, byte [rsi + 0x38e]
movzx r10d, word [rsi + 0x37c]
movzx ebx, word [rbp + 0x37c]
movzx edi, byte [rsi + 0x370]
movzx r9d, byte [rbp + 0x370]
mov dword [rsp + 0x90], eax
mov eax, dword [rbp + 0x18]
mov dword [rsp + 0x88], eax
mov eax, dword [rsi + 0x4cc]
mov dword [rsp + 0x80], eax
mov eax, dword [rbp + 0x4cc]
mov dword [rsp + 0x78], eax
mov eax, dword [rsi + 0x34c]
mov dword [rsp + 0x70], eax
mov eax, dword [rbp + 0x34c]
mov dword [rsp + 0x68], eax
mov eax, dword [rsi + 0x374]
mov dword [rsp + 0x60], r11d
mov dword [rsp + 0x58], ecx
mov rcx, qword [r13]
mov dword [rsp + 0x50], edx
mov dword [rsp + 0x48], r8d
mov dword [rsp + 0x40], r10d
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x374]
lea r8, str.WelsEncoderParamAdjust___bEnableLongTermReference__d__d__iLTRRefNum__d__d__iMultipleThreadIdc__d__d__bEnableBackgroundDetection__d__d__bEnableAdaptiveQuant__d__d__eSpsPpsIdStrategy__d__d__iMaxNumRefFrame__d__d__iTemporalLayerNum__d__d_
mov dword [rsp + 0x28], eax
mov edx, r12d
mov dword [rsp + 0x20], edi
call fcn.1400254a0
mov rdi, qword [r13]
mov r12d, dword [rbp + 0x34c]
lea rcx, [rsp + 0xb0]
mov rax, qword [rdi]
xor dl, dl
cmp dword [rbp + 0x1c], r15d
mov qword [rcx], rax
mov rax, qword [rdi + 8]
movzx ebx, r15w
mov qword [rcx + 8], rax
mov rax, qword [rdi + 0x10]
mov qword [rcx + 0x10], rax
jle 0x14002efa1
mov r8d, dword [rbp + 0x1c]
nop dword [rax]
movsx rax, dl
imul rax, rax, 0x44
movzx ecx, word [rax + rbp + 0x3c0]
cmp cx, bx
cmova bx, cx
inc dl
movsx eax, dl
cmp eax, r8d
jl 0x14002ef80
lea rcx, [rsp + 0xd0]
lea rdx, [rdi + 0x730]
mov r8d, 0x140
call fcn.1401e3ed0
mov eax, dword [rdi + 0x870]
mov rbp, qword [rdi + 0x728]
mov dword [rsp + 0xa0], eax
mov rax, qword [rdi + 0x878]
mov qword [rsp + 0xa8], rax
test r12d, r12d
je 0x14002f03c
cmp dword [rsi + 0x34c], r15d
je 0x14002f03c
mov rax, qword [rdi + 0x70]
lea rdx, [rsp + 0x5a0]
lea r8, [rsp + 0x210]
mov rcx, qword [rax + 0x4f8]
mov qword [rsp + 0x20], rdx
lea rdx, [rsp + 0x16c0]
mov rax, qword [rcx]
mov r9, rdi
call qword [rax + 0x88]
test r12b, 2
je 0x14002f03c
test byte [rsi + 0x34c], 2
lea rax, [rsp + 0x5a0]
cmove rax, r15
mov r15, rax
mov rcx, r13
call fcn.14002a780
lea r8, [rsp + 0xb0]
mov r9, r15
mov rdx, rsi
mov rcx, r13
call fcn.14002a8d0
test eax, eax
je 0x14002f0a8
mov eax, r14d
mov r12, qword [rsp + 0x17d0]
mov rdi, qword [rsp + 0x17d8]
movaps xmm6, xmmword [rsp + 0x17c0]
mov rbp, qword [rsp + 0x17e0]
mov rbx, qword [rsp + 0x1820]
mov rcx, qword [rsp + 0x17b0]
xor rcx, rsp
call fcn.1401e42a0
add rsp, 0x17e8
pop r15
pop r14
pop r13
pop rsi
ret
xor r9b, r9b
cmp dword [rsi + 0x1c], 0
jle 0x14002f0d5
mov rax, qword [r13]
movsx rdx, r9b
inc r9b
mov rcx, qword [rax + 0x18]
movsx eax, r9b
imul rdx, rdx, 0x44
mov word [rdx + rcx + 0x3c0], bx
cmp eax, dword [rsi + 0x1c]
jl 0x14002f0b1
mov rcx, qword [r13]
lea rdx, [rsp + 0xd0]
mov r8d, 0x140
add rcx, 0x730
call fcn.1401e3ed0
mov r11, qword [r13]
mov ecx, dword [rsp + 0xa0]
mov qword [r11 + 0x728], rbp
mov rax, qword [r13]
mov dword [rax + 0x870], ecx
mov rax, qword [r13]
mov rcx, qword [rsp + 0xa8]
mov qword [rax + 0x878], rcx
test r12d, r12d
je 0x14002f130
cmp dword [rsi + 0x34c], 0
jne 0x14002f13f
cmp r12d, 6
jne 0x14002f167
cmp dword [rsi + 0x34c], r12d
jne 0x14002f167
mov rax, qword [r13]
lea r8, [rsp + 0x210]
lea rdx, [rsp + 0x16c0]
mov rcx, qword [rax + 0x70]
mov rcx, qword [rcx + 0x4f8]
mov rax, qword [rcx]
call qword [rax + 0x90]
xor eax, eax
jmp 0x14002f061
mov eax, r14d
jmp 0x14002f089