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

Disassembly:
push rsi
push r13
push r14
push r15
mov eax, 0x17e8
call fcn.140232c50
sub rsp, rax
mov rax, qword [0x1402e0068]
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 0x1400315fe
test rdx, rdx
je 0x1400315fe
call fcn.1400287d0
test eax, eax
jne 0x140031519
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.14002cad0
mov ebx, eax
test eax, eax
je 0x140030bd8
mov rcx, qword [r13]
lea r8, str.WelsEncoderParamAdjust____GetMultipleThreadIdc_failed_return__d.
mov r9d, eax
mov edx, r14d
call fcn.1400279c0
mov eax, ebx
jmp 0x140031511
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 0x140030c15
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.1400279c0
mov eax, 2
jmp 0x140031509
movzx edx, byte [rsi + 0x352]
movzx r8d, byte [rbp + 0x352]
cmp r8b, dl
jne 0x140030cc6
mov eax, dword [rsi + 0x1c]
cmp dword [rbp + 0x1c], eax
jne 0x140030cc6
mov eax, dword [rsi + 4]
cmp dword [rbp + 4], eax
jne 0x140030cc6
mov eax, dword [rsi + 8]
cmp dword [rbp + 8], eax
jne 0x140030cc6
mov eax, dword [rsi + 0x4b0]
cmp dword [rbp + 0x4b0], eax
jne 0x140030cc6
mov eax, dword [rsi + 0x4b4]
cmp dword [rbp + 0x4b4], eax
jne 0x140030cc6
movzx eax, byte [rsi + 0x370]
cmp byte [rbp + 0x370], al
jne 0x140030cc6
mov eax, dword [rsi + 0x374]
cmp dword [rbp + 0x374], eax
jne 0x140030cc6
movzx eax, word [rsi + 0x37c]
cmp word [rbp + 0x37c], ax
jne 0x140030cc6
movzx eax, byte [rsi + 0x38d]
cmp byte [rbp + 0x38d], al
jne 0x140030cc6
movzx eax, byte [rsi + 0x38e]
cmp byte [rbp + 0x38e], al
jne 0x140030cc6
mov eax, dword [rsi + 0x34c]
cmp dword [rbp + 0x34c], eax
jne 0x140030cc6
xor cl, cl
jmp 0x140030cca
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 0x14003129d
cmp eax, r14d
jne 0x140030d09
cmp dword [rbp + 0x18], r14d
jne 0x140030d09
cmp dword [rsi + 0x18], 2
je 0x14003129d
test cl, cl
jne 0x14003129d
xorps xmm6, xmm6
movss xmm3, dword [0x1402ab5b8]
movss xmm5, dword [0x1402ab5bc]
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 0x140031229
mov eax, dword [rsi + rcx + 0x24]
cmp dword [rcx + rbp + 0x24], eax
jne 0x140031229
mov eax, dword [rsi + rdx + 0x394]
cmp dword [rdx + rbp + 0x394], eax
jne 0x140031229
mov eax, dword [rsi + rdx + 0x398]
cmp dword [rdx + rbp + 0x398], eax
jne 0x140031229
mov eax, dword [rsi + rcx + 0x40]
cmp dword [rcx + rbp + 0x40], eax
jne 0x1400311e1
mov eax, dword [rsi + rcx + 0x44]
cmp dword [rcx + rbp + 0x44], eax
jne 0x1400311e1
movss xmm0, dword [rsi + rdx + 0x3b8]
comiss xmm0, xmm3
jbe 0x140030de2
movss xmm4, dword [rdx + rbp + 0x3b8]
comiss xmm4, xmm3
jbe 0x140030de2
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 0x140030e14
movss xmm4, dword [rdx + rbp + 0x3bc]
comiss xmm4, xmm3
jbe 0x140030e14
movss xmm2, dword [rsi + 0x14]
divss xmm2, xmm0
movss xmm0, dword [rbp + 0x14]
divss xmm0, xmm4
subss xmm2, xmm0
comiss xmm1, xmm3
ja 0x140031160
comiss xmm5, xmm1
ja 0x140031160
comiss xmm2, xmm3
ja 0x140031160
comiss xmm5, xmm2
ja 0x140031160
mov eax, dword [rsi + rcx + 0x34]
cmp dword [rcx + rbp + 0x34], eax
jne 0x140031128
mov eax, dword [rcx + rbp + 0x38]
cmp dword [rsi + rcx + 0x38], eax
jg 0x1400310f0
inc r8b
movsx eax, r8b
cmp eax, dword [rbp + 0x1c]
jl 0x140030d30
mov ecx, dword [rsi + 0x348]
mov edx, 6
cmp ecx, r14d
jl 0x140030e88
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 0x140030e9e
mov eax, r15d
jmp 0x140030ea3
cmp eax, edx
cmovg eax, edx
mov dword [rsi + 0x380], eax
mov eax, dword [rsi + 0x384]
mov ecx, 0xfffffffa
cmp eax, ecx
jge 0x140030ebc
mov eax, ecx
jmp 0x140030ec1
cmp eax, edx
cmovg eax, edx
mov dword [rsi + 0x384], eax
mov eax, dword [rsi + 0x388]
cmp eax, ecx
jl 0x140030ed8
mov ecx, eax
cmp eax, edx
cmovg ecx, edx
movss xmm1, dword [rsi + 0x14]
movss xmm0, dword [0x1402ab594]
mov dword [rsi + 0x388], ecx
comiss xmm0, xmm1
ja 0x140030f00
movss xmm0, dword [0x1402ab5d0]
comiss xmm1, xmm0
ja 0x140030f00
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 0x140030f7d
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 0x140030f70
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 0x140031040
xor eax, eax
jmp 0x1400314f1
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.1400279c0
jmp 0x1400313d3
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.1400279c0
jmp 0x1400313d3
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.1400279c0
jmp 0x1400313d3
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.1400279c0
jmp 0x1400313d3
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.1400279c0
jmp 0x1400313d3
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.1400279c0
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.1400279c0
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 0x140031431
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 0x140031410
lea rcx, [rsp + 0xd0]
lea rdx, [rdi + 0x730]
mov r8d, 0x140
call fcn.1401e75a0
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 0x1400314cc
cmp dword [rsi + 0x34c], r15d
je 0x1400314cc
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 0x1400314cc
test byte [rsi + 0x34c], 2
lea rax, [rsp + 0x5a0]
cmove rax, r15
mov r15, rax
mov rcx, r13
call fcn.14002cc10
lea r8, [rsp + 0xb0]
mov r9, r15
mov rdx, rsi
mov rcx, r13
call fcn.14002cd60
test eax, eax
je 0x140031538
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.1401e6720
add rsp, 0x17e8
pop r15
pop r14
pop r13
pop rsi
ret
xor r9b, r9b
cmp dword [rsi + 0x1c], 0
jle 0x140031565
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 0x140031541
mov rcx, qword [r13]
lea rdx, [rsp + 0xd0]
mov r8d, 0x140
add rcx, 0x730
call fcn.1401e75a0
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 0x1400315c0
cmp dword [rsi + 0x34c], 0
jne 0x1400315cf
cmp r12d, 6
jne 0x1400315f7
cmp dword [rsi + 0x34c], r12d
jne 0x1400315f7
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 0x1400314f1
mov eax, r14d
jmp 0x140031519