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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1c0
mov rbx, r9
mov r14, r8
mov rdi, rdx
mov rsi, rcx
cmp dword [rdx + 0x40], 2
jne 0x14003a1c8
mov dword [rdi + 0x40], 2
cmp dword [rdi], 0
je 0x14003a234
mov byte [rsi], 3
jmp 0x14003a3dc
lea r15, [rbx + 0x48]
cmp dword [rbx + 0x100], 4
jne 0x14003a1f0
mov rax, qword [rbx + 0x158]
sub rax, qword [rbx + 0x150]
cmp rax, qword [rbx + 0x178]
jae 0x14003a2bb
mov rcx, r15
mov rdx, r14
call fcn.1400c6f70
mov rcx, rax
or rcx, rdx
jne 0x14003a2a9
cmp dword [rbx + 0x100], 4
jne 0x14003a3d9
mov rax, qword [rbx + 0x158]
sub rax, qword [rbx + 0x150]
cmp rax, qword [rbx + 0x178]
jb 0x14003a3d9
jmp 0x14003a2bb
lea r12, [rdi + 4]
mov qword [rsp + 0x28], r12
lea r15, [rbx + 0x48]
cmp dword [rbx + 0x100], 4
jne 0x14003a265
mov rax, qword [rbx + 0x158]
sub rax, qword [rbx + 0x150]
cmp rax, qword [rbx + 0x178]
jae 0x14003a4ee
mov rcx, r15
mov rdx, r14
call fcn.1400c6f70
mov rcx, rax
or rcx, rdx
jne 0x14003a3d0
cmp dword [rbx + 0x100], 4
jne 0x14003a3d9
mov rax, qword [rbx + 0x158]
sub rax, qword [rbx + 0x150]
cmp rax, qword [rbx + 0x178]
jb 0x14003a3d9
jmp 0x14003a4ee
test rax, rax
jne 0x14003a3d9
test rdx, rdx
jne 0x14003a4e1
mov dword [rsp + 0x9c], 0
mov dword [rsp + 0xa4], 0
mov dword [rsp + 0xac], 0
mov dword [rsp + 0xb4], 0
mov dword [rsp + 0xbc], 0
mov dword [rsp + 0xc4], 0
mov dword [rsp + 0xcc], 0
mov byte [rsp + 0xd4], 1
mov byte [rsp + 0x98], 4
lea r12, [rsp + 0x98]
mov rcx, r15
mov rdx, r12
call fcn.1400c4cf0
cmp al, 0xc
jne 0x14003a7d5
mov rax, qword [0x1402c9d98]
mov rax, qword [rax]
test rax, rax
je 0x14003a3f2
mov rdx, qword [rsp + 0x220]
lea r12, [rdi + 0x40]
lea rcx, [rsp + 0x98]
mov r8, r12
call fcn.14006ba00
movzx eax, byte [rsp + 0x98]
cmp al, 3
jne 0x14003a3a4
test byte [r12], 1
je 0x14003a793
mov eax, dword [rdi + 0x44]
mov rcx, qword [r15]
test rcx, rcx
je 0x14003a74e
cmp ecx, 1
jne 0x14003a76d
cmp qword [rbx + 0x50], rax
jbe 0x14003a784
lea rcx, [rbx + 0x50]
jmp 0x14003a764
mov rcx, qword [rsp + 0xb8]
mov qword [rsi + 0x20], rcx
movdqu xmm0, xmmword [rsp + 0x99]
movdqu xmm1, xmmword [rsp + 0xa9]
movdqu xmmword [rsi + 0x11], xmm1
movdqu xmmword [rsi + 1], xmm0
mov byte [rsi], al
jmp 0x14003a3dc
test rax, rax
je 0x14003a4dc
mov byte [rsi], 4
mov rax, rsi
add rsp, 0x1c0
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r13, qword [0x1402c84e8]
movzx edx, byte [r13 + 0x10]
movzx eax, dl
lea ecx, [rax - 1]
cmp ecx, 2
jae 0x14003a72b
mov rcx, qword [r13]
call fcn.14013e5c0
test al, al
je 0x14003a346
mov rcx, qword [r13]
cmp qword [rcx + 0x38], 0
je 0x14003a830
lea rax, [rcx + 0x30]
mov rdx, qword [rax]
test rdx, rdx
je 0x14003a830
lea r8, [rcx + 0x38]
mov qword [rsp + 0x60], rdx
movdqu xmm0, xmmword [r8]
movdqu xmmword [rsp + 0x68], xmm0
mov rdx, qword [r8 + 0x10]
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], 0
lea rdx, str.ACK_sent__applying_settings
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xa0], 1
mov qword [rsp + 0xa8], 8
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xb0], xmm0
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], r12
lea rdx, [0x1401d4878]
mov qword [rsp + 0x40], rdx
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], 1
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x48]
call fcn.14013f0d0
jmp 0x14003a346
test rdx, rdx
je 0x14003a4ee
mov rcx, rsi
call fcn.14011b950
jmp 0x14003a3dc
movzx eax, byte [rdi + 0x3c]
mov rcx, qword [rdi + 0x34]
movdqu xmm0, xmmword [rdi + 4]
pshufd xmm1, xmm0, 0xa0
pslld xmm1, 0x1f
psrad xmm1, 0x1f
pand xmm1, xmm0
movdqu xmmword [rsp + 0x9c], xmm1
movdqu xmm0, xmmword [rdi + 0x14]
pshufd xmm1, xmm0, 0xa0
pslld xmm1, 0x1f
psrad xmm1, 0x1f
pand xmm1, xmm0
movdqu xmmword [rsp + 0xac], xmm1
movdqu xmm0, xmmword [rdi + 0x24]
pshufd xmm1, xmm0, 0xa0
pslld xmm1, 0x1f
psrad xmm1, 0x1f
pand xmm1, xmm0
movdqu xmmword [rsp + 0xbc], xmm1
mov qword [rsp + 0xcc], rcx
mov byte [rsp + 0xd4], al
mov byte [rsp + 0x98], 4
lea rbx, [rsp + 0x98]
mov rcx, r15
mov rdx, rbx
call fcn.1400c4cf0
cmp al, 0xc
jne 0x14003a7e5
mov rax, qword [0x1402c9d98]
mov rax, qword [rax]
test rax, rax
je 0x14003a613
movzx eax, byte [r12 + 0x38]
mov rcx, qword [r12 + 0x30]
movdqu xmm0, xmmword [r12]
movdqu xmm1, xmmword [r12 + 0x10]
movdqu xmm2, xmmword [r12 + 0x20]
pshufd xmm3, xmm0, 0xa0
pslld xmm3, 0x1f
psrad xmm3, 0x1f
pand xmm3, xmm0
pshufd xmm0, xmm1, 0xa0
pslld xmm0, 0x1f
psrad xmm0, 0x1f
pand xmm0, xmm1
pshufd xmm1, xmm2, 0xa0
pslld xmm1, 0x1f
psrad xmm1, 0x1f
pand xmm1, xmm2
mov dword [rdi], 1
movdqu xmmword [rdi + 4], xmm3
movdqu xmmword [rdi + 0x14], xmm0
movdqu xmmword [rdi + 0x24], xmm1
mov qword [rdi + 0x34], rcx
mov byte [rdi + 0x3c], al
jmp 0x14003a1c0
mov r14, qword [0x1402c84f0]
movzx edx, byte [r14 + 0x10]
movzx eax, dl
lea ecx, [rax - 1]
cmp ecx, 2
jae 0x14003a7b2
mov rcx, qword [r14]
call fcn.14013e5c0
test al, al
je 0x14003a59a
mov rcx, qword [r14]
cmp qword [rcx + 0x38], 0
je 0x14003a848
lea rax, [rcx + 0x30]
mov rdx, qword [rax]
test rdx, rdx
je 0x14003a848
lea r8, [rcx + 0x38]
mov qword [rsp + 0x60], rdx
movdqu xmm0, xmmword [r8]
movdqu xmmword [rsp + 0x68], xmm0
mov rdx, qword [r8 + 0x10]
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], 0
lea rdx, [rsp + 0x28]
mov qword [rsp + 0x88], rdx
lea rdx, [0x1400bdf10]
mov qword [rsp + 0x90], rdx
lea rdx, str.local_settings_sent__waiting_for_ack:
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xa0], 1
mov qword [rsp + 0xb8], 0
lea rdx, [rsp + 0x88]
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0xb0], 1
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rbx
lea rdx, [0x1401d4878]
mov qword [rsp + 0x40], rdx
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], 1
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x48]
call fcn.14013f0d0
mov r12, qword [rsp + 0x28]
jmp 0x14003a59a
test eax, eax
je 0x14003a346
mov rcx, qword [0x1402c84e8]
call fcn.1401c8020
mov edx, eax
test al, al
jne 0x14003a40d
jmp 0x14003a346
lea rcx, [rbx + 0x50]
mov rdx, qword [rbx + 0x50]
cmp rdx, rax
jae 0x14003a764
cmp rdx, qword [rbx + 0xb0]
jbe 0x14003a784
mov qword [r15], 0
jmp 0x14003a790
cmp qword [rbx + 0xb0], rax
je 0x14003a793
mov qword [rbx + 0x48], 0
lea rcx, [rbx + 0x50]
jmp 0x14003a790
mov qword [rbx + 0x48], 1
lea rcx, [rbx + 0x58]
mov qword [rcx], rax
cmp dword [rdi + 0x60], 1
jne 0x14003a1b4
mov eax, dword [rdi + 0x64]
cmp eax, 0x1000000
jae 0x14003a818
mov dword [rbx + 0x180], eax
jmp 0x14003a1b4
test eax, eax
je 0x14003a59a
mov rcx, qword [0x1402c84f0]
call fcn.1401c8020
mov edx, eax
test al, al
jne 0x14003a62e
jmp 0x14003a59a
mov byte [rsp + 0x98], al
lea rax, [0x1401d4d00]
jmp 0x14003a7f3
mov byte [rsp + 0x98], al
lea rax, [0x1401d4e20]
mov qword [rsp + 0x20], rax
lea rcx, str.invalid_settings_frame
lea r9, [0x1401d4f58]
lea r8, [rsp + 0x98]
mov edx, 0x16
call fcn.1401ce090
lea rcx, str.assertion_failed:_val___frame::MAX_MAX_FRAME_SIZE_as_usizeC:UsersPico.cargo_registry_srcindex.crates.io_6f17d22bba15001fh2_0.3.26_srccodec_framed_write.rs
lea r8, [0x1401d4e08]
mov edx, 0x3b
call fcn.1401cdd60
lea rcx, str.FieldSet_corrupted__this_is_a_bug_C:UsersPico.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.30_srcprotoh1dispatch.rs
lea r8, [0x1401d4d18]
mov edx, 0x22
call fcn.1401cdc60
lea rcx, str.FieldSet_corrupted__this_is_a_bug_C:UsersPico.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.30_srcprotoh1dispatch.rs
lea r8, [0x1401d4e38]
mov edx, 0x22
call fcn.1401cdc60
int3