Function at 0x14001fd50
Capabilities:
Check for software breakpoints
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x1cd8
call fcn.1400fec40
sub rsp, rax
movaps xmmword [rsp + 0x1cc0], xmm11
movaps xmmword [rsp + 0x1cb0], xmm10
movaps xmmword [rsp + 0x1ca0], xmm9
movaps xmmword [rsp + 0x1c90], xmm8
movaps xmmword [rsp + 0x1c80], xmm7
movdqa xmmword [rsp + 0x1c70], xmm6
mov rsi, rdx
mov qword [rsp + 0x108], rcx
movzx eax, byte [r8 + 0x16]
mov byte [rsp + 0x6f], al
movzx eax, byte [r8 + 0x11]
mov byte [rsp + 0x47], al
mov rax, qword [r8]
mov rcx, qword [r8 + 8]
mov qword [rsp + 0x280], rcx
mov qword [rsp + 0x288], rax
lea rax, [rax + 8]
mov qword [rsp + 0x278], rax
movzx eax, byte [r8 + 0x15]
mov byte [rsp + 0x6e], al
movzx eax, byte [r8 + 0x13]
mov byte [rsp + 0x5f], al
movzx eax, byte [r8 + 0x14]
mov byte [rsp + 0x36], al
movzx eax, byte [r8 + 0x10]
mov byte [rsp + 0x6d], al
pxor xmm6, xmm6
movaps xmm7, xmmword [0x140185c20]
movss xmm8, dword [0x140185c30]
movabs rax, 0x8000000000000001
add rax, 0xfffffffffffffff7
mov qword [rsp + 0x270], rax
movdqa xmm9, xmmword [0x140185c40]
movdqa xmm10, xmmword [0x140185c50]
movdqa xmm11, xmmword [0x140185c10]
mov qword [rsp + 0x118], rdx
mov rbp, qword [rsi + 8]
test rbp, rbp
je 0x14002330e
mov rax, qword [rsp + 0x118]
mov r14, qword [rax]
xor r8d, r8d
jmp 0x14001fe7c
inc r8
cmp r8, rbp
jae 0x14002330e
movzx r9d, byte [r14 + r8]
cmp r9d, 0xa
je 0x14001fe70
cmp r9d, 0xd
jne 0x14001fec0
lea rax, [r8 + 1]
cmp rax, rbp
jae 0x14002330e
cmp byte [r14 + r8 + 1], 0xa
jne 0x14002331f
add r8, 2
cmp r8, rbp
jb 0x14001fe7c
jmp 0x14002330e
lea rax, [r14 + r8]
mov rdx, rbp
sub rdx, r8
cmp rdx, 8
jae 0x14001ff72
cmp rbp, r8
je 0x14002330e
mov ecx, 6
cmp r9b, 0x48
jne 0x140020979
cmp rdx, 2
jb 0x14002330e
cmp byte [rax + 1], 0x54
jne 0x140020979
cmp rdx, 3
jb 0x14002330e
cmp byte [rax + 2], 0x54
jne 0x140020979
cmp rdx, 4
jb 0x14002330e
cmp byte [rax + 3], 0x50
jne 0x140020979
cmp rdx, 5
jb 0x14002330e
cmp byte [rax + 4], 0x2f
jne 0x140020979
cmp rdx, 6
jb 0x14002330e
cmp byte [rax + 5], 0x31
jne 0x140020979
cmp rdx, 7
jb 0x14002330e
cmp byte [rax + 6], 0x2e
mov eax, 0
cmove rcx, rax
jne 0x140020979
jmp 0x14002330e
mov r9, qword [rax]
movq xmm0, r9
movdqa xmm1, xmm0
punpcklbw xmm1, xmm6
pshuflw xmm2, xmm1, 0xe1
packuswb xmm2, xmm2
movd r10d, xmm2
mov ecx, 6
cmp r10d, 0x50544854
jne 0x140020979
pshufhw xmm1, xmm1, 0xe1
pshufd xmm1, xmm1, 0xaa
packuswb xmm1, xmm1
pcmpeqb xmm1, xmm11
punpcklbw xmm1, xmm1
pshuflw xmm1, xmm1, 0x50
pshufd xmm1, xmm1, 0x50
movmskpd r10d, xmm1
mov r11d, r10d
shr r11b, 1
je 0x140020979
test r10b, 1
je 0x140020979
shr r9, 0x30
cmp r9b, 0x2e
jne 0x140020979
pextrw r9d, xmm0, 3
shr r9d, 8
cmp r9b, 0x30
je 0x14002000b
cmp r9d, 0x31
jne 0x140020979
mov r9b, 2
jmp 0x14002000e
mov r9b, 1
mov qword [rsp + 0x1c8], r9
cmp rdx, 9
jb 0x14002330e
cmp byte [rax + 8], 0x20
jne 0x140020979
add rax, 9
lea r10, [rdx - 9]
cmp byte [rsp + 0x5f], 0
je 0x140020079
cmp rdx, 9
je 0x14002330e
cmp byte [rax], 0x20
jne 0x140020070
lea rcx, [r14 + r8]
add rcx, 0xa
add rdx, 0xfffffffffffffff6
xor r8d, r8d
cmp rdx, r8
je 0x14002330e
lea r9, [r8 + 1]
cmp byte [rcx + r8], 0x20
mov r8, r9
je 0x140020057
jmp 0x140020073
xor r9d, r9d
add rax, r9
sub r10, r9
mov qword [rsp + 0x48], r10
test r10, r10
je 0x14002330e
movzx edx, byte [rax]
add dl, 0xd0
mov ecx, 3
cmp dl, 9
ja 0x140023324
cmp qword [rsp + 0x48], 2
jb 0x14002330e
movzx r8d, byte [rax + 1]
add r8b, 0xd0
cmp r8b, 9
ja 0x140023324
cmp qword [rsp + 0x48], 3
jb 0x14002330e
movzx r9d, byte [rax + 2]
add r9b, 0xd0
cmp r9b, 0xa
jae 0x140023324
cmp qword [rsp + 0x48], 4
jb 0x14002330e
movzx r10d, byte [rax + 3]
cmp r10d, 0xa
je 0x140020165
cmp r10d, 0xd
mov rsi, qword [rsp + 0x48]
je 0x140020171
cmp r10d, 0x20
jne 0x140023324
cmp byte [rsp + 0x5f], 0
je 0x14002309e
cmp rsi, 5
jb 0x14002330e
mov r11d, 4
cmp byte [rax + 4], 0x20
jne 0x140020152
mov r10d, 5
sub r10, qword [rsp + 0x48]
mov esi, 4
lea r11, [r10 + rsi]
cmp r11, 4
je 0x14002330e
lea r11, [rsi + 1]
cmp byte [rax + rsi + 1], 0x20
mov rsi, r11
je 0x140020136
add rax, r11
mov rsi, qword [rsp + 0x48]
sub rsi, r11
xor r10d, r10d
jmp 0x1400230a4
add rax, 4
add qword [rsp + 0x48], 0xfffffffffffffffc
jmp 0x14002018f
cmp rsi, 4
jbe 0x14002330e
cmp byte [rax + 4], 0xa
jne 0x140023324
add rax, 5
add qword [rsp + 0x48], 0xfffffffffffffffb
xor esi, esi
lea rcx, str.Invalid_checksumincomplete_frame
mov qword [rsp + 0x70], rcx
cmp qword [rsp + 0x48], 0
je 0x14002330e
movzx ecx, dl
imul ecx, ecx, 0x64
movzx edx, r8b
add edx, edx
lea edx, [rdx + rdx*4]
movzx r8d, r9b
add r8d, edx
add r8d, ecx
mov qword [rsp + 0x110], r8
mov rdi, qword [rsp + 0x48]
xor ecx, ecx
mov qword [rsp + 0x50], rcx
xor r12d, r12d
mov rcx, r12
shl rcx, 5
add rcx, rsp
add rcx, 0x370
mov qword [rsp + 0x78], rcx
mov rbx, rax
cmp byte [rsp + 0x36], 0
je 0x14002028d
movzx eax, byte [rbx]
mov r13d, 1
cmp eax, 0xa
je 0x14002317e
cmp eax, 0xd
je 0x140023185
lea rcx, [0x1401a19d0]
cmp byte [rax + rcx], 0
jne 0x1400202b9
test al, al
je 0x140020966
movzx eax, al
cmp eax, 0xa
je 0x14002026f
cmp eax, 0xd
je 0x140020258
cmp rdi, r13
jbe 0x14002330e
movzx eax, byte [rbx + r13]
inc r13
test al, al
jne 0x140020231
jmp 0x140020966
cmp rdi, r13
jbe 0x14002330e
cmp byte [rbx + r13], 0xa
jne 0x140020966
inc r13
mov rax, qword [rsp + 0x50]
add rax, r13
mov qword [rsp + 0x50], rax
add rbx, r13
sub rdi, r13
jne 0x1400201fd
jmp 0x14002330e
movzx eax, byte [rbx]
mov r13d, 1
cmp eax, 0xa
je 0x14002317e
cmp eax, 0xd
je 0x140023185
lea rcx, [0x1401a19d0]
cmp byte [rax + rcx], 0
je 0x140020966
mov rax, rdi
sub rax, r13
lea rdx, [rbx + r13]
inc rdx
cmp rdi, r13
jbe 0x14002330e
mov r15, r13
mov rcx, rdx
movzx r8d, byte [rbx + r13]
inc r13
dec rax
inc rdx
lea r9, [0x1401a19d0]
cmp byte [r8 + r9], 0
jne 0x1400202c6
add qword [rsp + 0x50], r13
lea rax, [rbx + r13]
mov qword [rsp + 0x38], rax
mov rax, rdi
sub rax, r13
cmp r8b, 0x3a
jne 0x140020318
mov rdi, rax
test rax, rax
jne 0x140020391
jmp 0x14002330e
cmp byte [rsp + 0x6d], 0
je 0x140020748
add r13, rbx
mov r9, r15
sub r9, rdi
xor edx, edx
cmp r8b, 0x20
je 0x140020342
movzx r10d, r8b
cmp r10d, 9
jne 0x14002074a
lea r8, [r9 + rdx]
inc r8
test r8, r8
je 0x14002330e
movzx r8d, byte [r13 + rdx]
inc rdx
cmp r8b, 0x3a
jne 0x14002032e
add qword [rsp + 0x50], rdx
add qword [rsp + 0x38], rdx
sub rax, rdx
mov rdi, rax
test rax, rax
jne 0x140020391
jmp 0x14002330e
add qword [rsp + 0x50], r13
add r8, r13
mov qword [rsp + 0x38], r8
sub rdi, r13
je 0x14002330e
mov r8, qword [rsp + 0x38]
movzx eax, byte [r8]
cmp byte [rsp + 0x47], 0
je 0x140020412
xor ecx, ecx
lea r13, [rcx + 1]
cmp al, 0x20
je 0x14002037b
movzx edx, al
cmp edx, 9
je 0x14002037b
lea r8, [0x1401a1ad0]
cmp byte [rdx + r8], 0
jne 0x14002043e
cmp al, 0xa
je 0x1400203ed
cmp edx, 0xd
jne 0x14002081e
cmp rdi, r13
jbe 0x14002330e
mov rax, qword [rsp + 0x38]
cmp byte [rax + rcx + 1], 0xa
jne 0x1400232df
add rcx, 2
jmp 0x1400203f0
mov rcx, r13
cmp rcx, rdi
jae 0x14002330e
mov r8, qword [rsp + 0x38]
movzx eax, byte [r8 + rcx]
cmp eax, 9
je 0x1400203a3
cmp eax, 0x20
je 0x1400203a3
jmp 0x140020929
movzx ecx, al
mov r13d, 1
cmp ecx, 9
je 0x14002037b
cmp ecx, 0x20
je 0x14002037b
lea rdx, [0x1401a1ad0]
cmp byte [rcx + rdx], 0
je 0x14002080c
mov rax, qword [0x1401ee030]
test rax, rax
jne 0x1400204be
mov rcx, qword [0x1401ee108]
test rcx, rcx
je 0x140020485
mov rax, qword [0x1401ee108]
test cx, cx
js 0x140020499
test rax, rax
je 0x140020734
and eax, 0x800
cmp rax, 1
mov ecx, 0
sbb rcx, rcx
or rcx, 1
shr eax, 0xb
jmp 0x1400204b7
call fcn.1400e4e70
mov rcx, rax
mov rax, qword [0x1401ee108]
test cx, cx
jns 0x140020462
test rax, rax
je 0x14002073e
and eax, 0x800
cmp rax, 1
mov ecx, 3
sbb rcx, 0
mov rax, rcx
mov qword [0x1401ee030], rcx
cmp rax, 1
lea r9, [0x1401a1ad0]
je 0x140020514
cmp rax, 2
je 0x14002054a
cmp rax, 3
jne 0x1400205b5
mov rax, rdi
sub rax, r13
jb 0x1400233b6
cmp rax, 0x1f
mov rax, qword [rsp + 0x38]
jbe 0x14002057c
lea rcx, [rax + r13]
call fcn.14001fd00
lea r9, [0x1401a1ad0]
add r13, rax
cmp rax, 0x20
je 0x1400204db
jmp 0x1400205b5
mov rax, rdi
sub rax, r13
jb 0x1400233b6
cmp rax, 0xf
mov rax, qword [rsp + 0x38]
jbe 0x1400205b5
lea rcx, [rax + r13]
call fcn.14001fcb0
lea r9, [0x1401a1ad0]
add r13, rax
cmp rax, 0x10
je 0x140020514
jmp 0x1400205b5
mov rax, rdi
sub rax, r13
jb 0x1400233b6
cmp rax, 0x20
mov rax, qword [rsp + 0x38]
jb 0x1400205b5
lea rcx, [rax + r13]
call fcn.14001fd00
lea r9, [0x1401a1ad0]
add r13, rax
cmp rax, 0x20
je 0x14002054a
jmp 0x1400205b5
mov rax, rdi
sub rax, r13
jb 0x1400233b6
cmp rax, 0xf
mov rax, qword [rsp + 0x38]
jbe 0x1400205ae
lea rcx, [rax + r13]
call fcn.14001fcb0
add r13, rax
cmp rax, 0x10
lea r9, [0x1401a1ad0]
je 0x14002057c
jmp 0x1400205b5
lea r9, [0x1401a1ad0]
mov rcx, r13
mov r8, qword [rsp + 0x38]
cmp rcx, 0xfffffffffffffff7
ja 0x1400205cc
lea r13, [rcx + 8]
cmp r13, rdi
jbe 0x14002060a
cmp rdi, rcx
jbe 0x14002330e
mov rdx, rcx
mov r8, qword [rsp + 0x38]
movzx eax, byte [r8 + rcx]
inc rcx
lea r9, [0x1401a1ad0]
cmp byte [rax + r9], 0
je 0x1400206c2
cmp rdx, 0xfffffffffffffff6
ja 0x1400205cc
add rdx, 9
cmp rdx, rdi
ja 0x1400205cc
lea r13, [rcx + 8]
movq xmm0, qword [r8 + rcx]
movdqa xmmword [rsp + 0x300], xmm0
movzx eax, byte [rsp + 0x300]
cmp byte [rax + r9], 0
je 0x140020696
movd edx, xmm0
mov eax, edx
shr eax, 8
movzx r8d, al
cmp byte [r8 + r9], 0
je 0x14002069b
mov eax, edx
shr eax, 0x10
movzx r8d, al
cmp byte [r8 + r9], 0
je 0x1400206a1
shr edx, 0x18
cmp byte [rdx + r9], 0
mov r8, qword [rsp + 0x38]
je 0x1400206a7
pextrw eax, xmm0, 2
movzx edx, al
cmp byte [rdx + r9], 0
je 0x1400206b2
shr eax, 8
cmp byte [rax + r9], 0
je 0x1400206b8
pextrw eax, xmm0, 3
movzx edx, al
cmp byte [rdx + r9], 0
je 0x1400206be
shr eax, 8
cmp byte [rax + r9], 0
mov rcx, r13
jne 0x1400205bd
jmp 0x1400206c5
inc rcx
jmp 0x1400206c2
add rcx, 2
jmp 0x1400206c2
add rcx, 3
jmp 0x1400206c2
add rcx, 4
mov r13, rcx
mov eax, edx
jmp 0x1400206c5
add rcx, 5
jmp 0x1400206c2
add rcx, 6
jmp 0x1400206c2
add rcx, 7
mov r13, rcx
mov rcx, 0xffffffffffffffff
cmp al, 0xa
je 0x1400206ff
movzx ecx, al
cmp ecx, 0xd
jne 0x1400207c9
cmp rdi, r13
jbe 0x14002330e
mov rax, qword [rsp + 0x38]
cmp byte [rax + r13], 0xa
jne 0x1400232df
inc r13
mov rcx, 0xfffffffffffffffe
cmp byte [rsp + 0x47], 0
je 0x140020894
cmp r13, rdi
jae 0x14002330e
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax + r13]
cmp eax, 9
je 0x14002043e
cmp eax, 0x20
je 0x14002043e
jmp 0x140020894
call fcn.1400e4e70
jmp 0x14002046b
call fcn.1400e4e70
jmp 0x1400204a2
xor edx, edx
cmp byte [rsp + 0x36], 0
je 0x140020966
add rcx, rdx
test r8b, r8b
je 0x140020966
movzx r8d, r8b
cmp r8d, 0xa
je 0x14002078e
cmp r8d, 0xd
je 0x140020795
cmp rax, rdx
jbe 0x14002330e
movzx r8d, byte [rcx]
inc rdx
inc rcx
test r8b, r8b
jne 0x140020761
jmp 0x140020966
mov rbx, qword [rsp + 0x38]
jmp 0x1400207b0
cmp rax, rdx
jbe 0x14002330e
mov rbx, qword [rsp + 0x38]
cmp byte [rbx + rdx], 0xa
jne 0x140020966
inc rdx
add qword [rsp + 0x50], rdx
add rbx, rdx
sub rax, rdx
mov rdi, rax
jne 0x1400201f2
jmp 0x14002330e
cmp byte [rsp + 0x36], 0
je 0x1400232df
test al, al
je 0x1400232df
movzx eax, al
cmp eax, 0xa
je 0x140020879
cmp eax, 0xd
je 0x14002085d
cmp rdi, r13
jbe 0x14002330e
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax + r13]
inc r13
test al, al
jne 0x1400207dc
jmp 0x1400232df
cmp ecx, 0xa
je 0x1400208fe
cmp ecx, 0xd
je 0x14002090a
cmp byte [rsp + 0x36], 0
je 0x1400232df
test al, al
je 0x1400232df
movzx eax, al
cmp eax, 0xa
je 0x140020879
cmp eax, 0xd
je 0x14002085d
cmp rdi, r13
jbe 0x14002330e
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax + r13]
inc r13
test al, al
jne 0x140020831
jmp 0x1400232df
cmp rdi, r13
jbe 0x14002330e
mov rax, qword [rsp + 0x38]
cmp byte [rax + r13], 0xa
jne 0x1400232df
inc r13
mov rbx, qword [rsp + 0x38]
add rbx, r13
add qword [rsp + 0x50], r13
sub rdi, r13
jne 0x1400201f2
jmp 0x14002330e
cmp r12, 0x64
je 0x140023304
add rcx, r13
mov rax, qword [rsp + 0x38]
add rax, r13
test rcx, rcx
je 0x1400208dc
mov rdx, rcx
movabs r9, 0x100002600
mov r8, qword [rsp + 0x38]
movzx r8d, byte [r8 + rdx - 1]
cmp r8, 0x20
ja 0x1400208ea
bt r9, r8
jae 0x1400208ea
dec rdx
jne 0x1400208bb
mov rdx, rcx
jmp 0x1400208de
xor edx, edx
mov rcx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x38]
jmp 0x140020941
cmp rdx, rcx
mov rcx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x38]
jbe 0x140020941
jmp 0x1400233b6
mov ecx, 1
mov r8, qword [rsp + 0x38]
jmp 0x140020929
cmp rdi, 2
jb 0x14002330e
mov ecx, 2
mov r8, qword [rsp + 0x38]
cmp byte [r8 + 1], 0xa
jne 0x1400232df
cmp r12, 0x64
je 0x140023304
lea rax, [r8 + rcx]
mov r13, rcx
xor edx, edx
mov rcx, qword [rsp + 0x78]
add qword [rsp + 0x50], r13
inc r12
mov qword [rcx], rbx
mov qword [rcx + 8], r15
mov qword [rcx + 0x10], r8
mov qword [rcx + 0x18], rdx
sub rdi, r13
jne 0x1400201d9
jmp 0x14002330e
mov rax, qword [rsp + 0x60]
and rax, 0xffffffffffffff00
mov qword [rsp + 0x60], rax
movzx ecx, al
cmp ecx, 6
jne 0x140023324
cmp byte [rsp + 0x6f], 0
je 0x140023324
xor ebp, ebp
mov ax, 0xc8
mov qword [rsp + 0x110], rax
xor eax, eax
xor ecx, ecx
mov qword [rsp + 0x1c8], rcx
xor r12d, r12d
mov rdx, qword [rsp + 0x118]
mov qword [rsp + 0x230], rax
mov rax, qword [rsp + 0x150]
lea rcx, [rsp + 0x238]
mov qword [rcx + 0x10], rax
movdqa xmm0, xmmword [rsp + 0x140]
movdqu xmmword [rcx], xmm0
lea rcx, [rsp + 0x2a0]
mov r8, rbp
call fcn.1400041f0
cmp byte [rsp + 0x47], 0
lea r13, [rsp + 0x370]
lea r14, [0x1401b5068]
je 0x140020b21
cmp r12, 0x65
jae 0x1400233b6
mov rcx, qword [rsp + 0x2a0]
mov rax, qword [rsp + 0x2a8]
test r12, r12
je 0x140020b31
mov rdx, r12
shl rdx, 5
add rdx, rsp
add rdx, 0xff0
lea r8, [rsp + 0xff0]
jmp 0x140020a5d
add r8, 0x20
cmp r8, rdx
je 0x140020b31
mov r11, qword [r8 + 0x10]
mov r9, qword [r8 + 0x18]
cmp r9, r11
jb 0x1400233b6
cmp r9, rax
ja 0x1400233b6
cmp r9, r11
je 0x140020a50
lea r10, [rcx + r11]
mov esi, r9d
sub esi, r11d
and esi, 3
jne 0x140020aac
not r11
add r11, r9
cmp r11, 3
jb 0x140020a50
add r9, rcx
jmp 0x140020ace
mov byte [r10], 0x20
inc r10
dec rsi
je 0x140020a8b
movzx edi, byte [r10]
cmp edi, 0xd
je 0x140020aa0
cmp edi, 0xa
je 0x140020aa0
jmp 0x140020aa4
mov byte [r10 + 3], 0x20
add r10, 4
cmp r10, r9
je 0x140020a50
movzx r11d, byte [r10]
cmp r11d, 0xd
je 0x140020ade
cmp r11d, 0xa
jne 0x140020ae2
mov byte [r10], 0x20
movzx r11d, byte [r10 + 1]
cmp r11d, 0xd
je 0x140020af3
cmp r11d, 0xa
jne 0x140020af8
mov byte [r10 + 1], 0x20
movzx r11d, byte [r10 + 2]
cmp r11d, 0xd
je 0x140020b09
cmp r11d, 0xa
jne 0x140020b0e
mov byte [r10 + 2], 0x20
movzx r11d, byte [r10 + 3]
cmp r11d, 0xd
je 0x140020ac0
cmp r11d, 0xa
je 0x140020ac0
jmp 0x140020ac5
mov rcx, qword [rsp + 0x2a0]
mov rax, qword [rsp + 0x2a8]
mov rsi, qword [rsp + 0x2b8]
test sil, 1
jne 0x140020b6b
mov qword [rsp + 0x128], rcx
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rsi
lea rax, [0x1401b7598]
mov qword [rsp + 0x120], rax
jmp 0x140020bfb
shr rsi, 5
sub rcx, rsi
add rax, rsi
mov rdx, qword [rsp + 0x2b0]
add rdx, rsi
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0xb8], rax
mov rcx, r13
lea rdx, [rsp + 0xa8]
call fcn.140003c90
mov rax, qword [rsp + 0x380]
sub rax, rsi
jb 0x1400233b6
mov qword [rsp + 0x380], rax
add qword [rsp + 0x378], rsi
movdqu xmm0, xmmword [rsp + 0x370]
movdqa xmmword [rsp + 0x120], xmm0
mov rax, qword [rsp + 0x380]
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x388]
mov qword [rsp + 0x138], rax
mov rcx, qword [rsp + 0x288]
mov rax, qword [rcx]
mov qword [rcx], 3
cmp rax, 3
jne 0x140020c63
mov word [rsp + 0x198], 0
mov qword [rsp + 0x158], 2
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], 8
lea rax, [rsp + 0x148]
movdqu xmmword [rax + 0x28], xmm6
mov qword [rsp + 0x180], 8
movdqu xmmword [rax + 0x40], xmm6
xor eax, eax
jmp 0x140020cac
mov rdx, qword [rsp + 0x278]
mov rcx, qword [rdx + 0x50]
lea r8, [rsp + 0x148]
mov qword [r8 + 0x50], rcx
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [r8 + 0x40], xmm0
movdqu xmm0, xmmword [rdx]
movupd xmm1, xmmword [rdx + 0x10]
movdqu xmm2, xmmword [rdx + 0x20]
movups xmm3, xmmword [rdx + 0x30]
movups xmmword [r8 + 0x30], xmm3
movdqu xmmword [r8 + 0x20], xmm2
movupd xmmword [r8 + 0x10], xmm1
movdqu xmmword [r8], xmm0
cmp byte [rsp + 0x1c8], 2
sete byte [rsp + 0x37]
mov qword [rsp + 0x140], rax
cmp byte [rsp + 0x6e], 0
je 0x140020d18
lea rax, [rsp + 0xb0]
movdqu xmmword [rax + 0x28], xmm6
movdqu xmmword [rax + 0x40], xmm6
mov qword [rsp + 0xc0], 2
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xd0], 8
mov qword [rsp + 0xe8], 8
mov word [rsp + 0x100], 0
xor eax, eax
jmp 0x140020d1d
mov eax, 3
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x178]
mov rdx, rax
add rdx, r12
jb 0x1400233b6
mov rdi, qword [rsp + 0x160]
cmp rdx, rdi
jbe 0x140020d99
lea rcx, [rdx - 1]
bsr rcx, rcx
not ecx
mov rsi, 0xffffffffffffffff
shr rsi, cl
inc rsi
cmp rdx, 2
mov ecx, 1
cmovb rsi, rcx
cmp rsi, 0x8001
jae 0x1400233b6
test rsi, rsi
je 0x1400233b6
test rax, rax
je 0x1400229c0
lea rcx, [rsp + 0x140]
mov rdx, rsi
call fcn.140025340
cmp r12, 0x65
jae 0x1400233b6
test r12, r12
je 0x1400226e8
shl r12, 5
lea rax, [rsp + r12]
add rax, 0xff0
mov qword [rsp + 0x298], rax
lea rdi, [rsp + 0xff0]
nop word [rax + rax]
mov rdx, qword [rdi]
mov rax, qword [rdi + 8]
mov r8, rax
sub r8, rdx
jb 0x1400233b6
cmp rax, qword [rsp + 0x130]
ja 0x1400233b6
add rdx, qword [rsp + 0x128]
mov qword [rsp + 0x20], r14
lea rcx, [rsp + 0x1a0]
mov r9, r13
call fcn.14001d490
movzx eax, byte [rsp + 0x1b0]
mov rsi, qword [rsp + 0x1a0]
mov rbx, qword [rsp + 0x1a8]
test eax, eax
je 0x140020e60
cmp eax, 2
je 0x140020ec0
cmp eax, 3
je 0x14002338e
lea rcx, [rsp + 0x88]
mov rdx, rsi
mov r8, rbx
call fcn.140003980
jmp 0x140020ed4
test rbx, rbx
je 0x140020ee1
js 0x1400233b6
movzx eax, byte [0x1401ee110]
mov rax, qword [0x1401ee100]
test rax, rax
jne 0x140020e93
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400233b6
mov qword [0x1401ee100], rax
mov rcx, rax
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400233b6
mov rcx, rbx
mov r15, rdi
shr rcx, 0xa
je 0x140020ef2
bsr rcx, rcx
xor rcx, 0x3f
jmp 0x140020ef7
mov qword [rsp + 0x88], 0
mov byte [rsp + 0x90], sil
lea rbx, [rsp + 0x80]
jmp 0x140021120
mov eax, 1
mov rcx, rbx
mov r15, rdi
shr rcx, 0xa
jne 0x140020eb5
mov ecx, 0x40
mov edx, 0x40
sub rdx, rcx
cmp rdx, 7
mov ecx, 7
cmovae rdx, rcx
lea rdi, [rdx*4 + 1]
mov qword [rsp + 0x250], rax
mov qword [rsp + 0x258], 0
mov qword [rsp + 0x260], rbx
mov qword [rsp + 0x268], rdi
test rbx, rbx
je 0x140021040
xor edi, edi
mov rdx, rbx
xor ecx, ecx
nop dword [rax + rax]
movzx r8d, byte [rsi + rdi]
movzx ebp, byte [r8 + r14]
test bpl, bpl
je 0x140021081
cmp rdx, rcx
jne 0x140020f92
mov edx, 1
lea rcx, [rsp + 0x250]
call fcn.1400043d0
mov rax, qword [rsp + 0x250]
mov rcx, qword [rsp + 0x258]
mov rdx, qword [rsp + 0x260]
mov byte [rax + rcx], bpl
inc rcx
cmp rcx, rdx
ja 0x1400233b6
mov qword [rsp + 0x258], rcx
inc rdi
cmp rbx, rdi
jne 0x140020f50
mov rax, qword [rsp + 0x250]
mov rdx, qword [rsp + 0x260]
mov rdi, qword [rsp + 0x268]
test dil, 1
lea rbx, [rsp + 0x80]
je 0x140021052
shr rdi, 5
sub rax, rdi
add rcx, rdi
add rdx, rdi
mov qword [rsp + 0x2e8], rax
mov qword [rsp + 0x2f0], rdx
mov qword [rsp + 0x2f8], rcx
lea rcx, [rsp + 0x1a0]
lea rdx, [rsp + 0x2e8]
call fcn.140003c90
mov rcx, qword [rsp + 0x1b0]
sub rcx, rdi
jb 0x1400233b6
add rdi, qword [rsp + 0x1a8]
mov rdx, qword [rsp + 0x1a0]
mov rax, rdi
mov rdi, qword [rsp + 0x1b8]
jmp 0x140021059
xor edx, edx
xor ecx, ecx
test dil, 1
lea rbx, [rsp + 0x80]
jne 0x140020fd8
lea rdx, [0x1401b7598]
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rdi
mov rdi, r15
jmp 0x140021120
mov qword [rsp + 0x80], 1
mov rsi, qword [rsp + 0x268]
test sil, 1
jne 0x1400210cb
lock dec qword [rsi + 0x20]
lea rbx, [rsp + 0x80]
mov rdi, r15
jne 0x140021106
mov rax, qword [rsi + 0x20]
cmp qword [rsi + 8], 0
je 0x1400210f5
mov r8, qword [rsi]
mov rcx, qword [0x1401ee100]
xor edx, edx
call fcn.140104a84
jmp 0x1400210f5
shr rsi, 5
mov rax, qword [rsp + 0x260]
add rax, rsi
lea rbx, [rsp + 0x80]
mov rdi, r15
je 0x140021106
mov rax, qword [rsp + 0x250]
sub rax, rsi
mov rsi, rax
mov rcx, qword [0x1401ee100]
xor edx, edx
mov r8, rsi
call fcn.140104a84
cmp qword [rsp + 0x80], 0
jne 0x14002338e
nop word cs:[rax + rax]
lea rax, [rsp + 0x88]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x200], xmm1
movaps xmmword [rsp + 0x1f0], xmm0
mov rsi, qword [rdi + 0x10]
mov qword [rsp + 0x48], rdi
mov rdi, qword [rdi + 0x18]
cmp rdi, rsi
jb 0x1400233b6
mov r9, qword [rsp + 0x130]
cmp r9, rdi
jb 0x1400233b6
mov r14d, 0
mov eax, 0
mov qword [rsp + 0x78], rax
lea rax, [0x1401a2328]
mov qword [rsp + 0x70], rax
lea rax, str.Invalid_checksumincomplete_frame
sub rdi, rsi
je 0x1400211dc
mov rax, qword [rsp + 0x120]
mov r8, qword [rsp + 0x128]
mov rcx, r13
lea rdx, [rsp + 0x138]
call qword [rax]
mov rax, qword [rsp + 0x370]
mov qword [rsp + 0x70], rax
test rax, rax
je 0x1400233b6
add rsi, qword [rsp + 0x378]
mov rax, qword [rsp + 0x388]
mov qword [rsp + 0x78], rax
mov r14, rdi
mov rax, rsi
cmp qword [rsp + 0x1f0], 0
mov qword [rsp + 0x1e0], rax
jne 0x140021220
cmp byte [rsp + 0x1f8], 0x14
mov rsi, qword [rsp + 0x48]
jne 0x140021225
test byte [rsp + 0x37], 1
jne 0x140021240
mov r9d, 0xa
mov rcx, rax
mov rdx, r14
lea r8, str.keep_aliveHTTP_1.1_100_Continue_r_n_r_n0_r_n_r_n_r_n0_r_n_r_n
call fcn.140027270
jmp 0x14002125a
mov rsi, qword [rsp + 0x48]
mov rax, qword [rsp + 0xa8]
cmp rax, 3
mov qword [rsp + 0x1e8], r14
jne 0x140021278
jmp 0x140021fb1
mov r9d, 5
mov rcx, rax
mov rdx, r14
lea r8, str.closechunked
call fcn.140027270
xor al, 1
mov byte [rsp + 0x37], al
mov rax, qword [rsp + 0xa8]
cmp rax, 3
mov qword [rsp + 0x1e8], r14
je 0x140021fb1
mov rdi, qword [rsi]
mov rsi, qword [rsi + 8]
cmp rsi, rdi
jb 0x1400233b6
mov r9, qword [rsp + 0x130]
cmp r9, rsi
jb 0x1400233b6
sub rsi, rdi
jne 0x1400212c0
movdqa xmmword [rsp + 0x1a0], xmm6
lea rdi, str.Invalid_checksumincomplete_frame
lea rdx, [0x1401a2328]
jmp 0x140021311
mov rax, qword [rsp + 0x120]
mov r8, qword [rsp + 0x128]
mov rcx, r13
lea rdx, [rsp + 0x138]
call qword [rax]
mov qword [rsp + 0x380], rsi
add rdi, qword [rsp + 0x378]
mov rdx, qword [rsp + 0x370]
lea rax, [rsp + 0x388]
movups xmm0, xmmword [rax - 8]
movaps xmmword [rsp + 0x1a0], xmm0
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xe0]
cmp rax, 1
mov qword [rsp + 0x1d8], rdi
mov qword [rsp + 0x1d0], rdx
jne 0x140021390
test rcx, rcx
js 0x140021524
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
test r14, r14
jns 0x140021545
mov rax, r14
shr rax, 1
mov ecx, r14d
and ecx, 1
or rcx, rax
xorps xmm1, xmm1
cvtsi2ss xmm1, rcx
addss xmm1, xmm1
divss xmm0, xmm1
ucomiss xmm0, xmm8
jb 0x14002155b
mov qword [rsp + 0xa8], 0
jmp 0x1400213ab
mov rax, r14
shr rax, 2
mov rdx, r14
sub rdx, rax
cmp rcx, rdx
jne 0x1400213be
test rcx, rcx
je 0x14002186b
add r14, r14
lea rcx, [rsp + 0xa8]
mov rdx, r14
call fcn.140024c00
mov r10, qword [rsp + 0xa8]
cmp r10, 2
mov qword [rsp + 0x290], r10
jne 0x140021490
movdqu xmm0, xmmword [rsp + 0xb0]
pshufd xmm1, xmm0, 0x44
pxor xmm1, xmm9
movdqa xmmword [rsp + 0x370], xmm1
pshufd xmm1, xmm0, 0xee
pxor xmm1, xmm10
movdqa xmmword [rsp + 0x380], xmm1
movdqa xmmword [rsp + 0x390], xmm0
lea rax, [rsp + 0x388]
movdqa xmmword [rax + 0x18], xmm6
mov qword [rax + 0x28], 0
mov rbx, qword [rsp + 0x1f0]
xor eax, eax
test rbx, rbx
setne al
mov qword [rsp + 0x80], rax
mov r8d, 8
lea rsi, [rsp + 0x370]
mov rcx, rsi
lea rdi, [rsp + 0x80]
mov rdx, rdi
call fcn.14001a7b0
mov r14, rbx
test rbx, rbx
je 0x140021721
mov rdx, qword [rsp + 0x1f8]
mov r8, qword [rsp + 0x200]
mov rcx, rsi
mov qword [rsp + 0x50], rdx
jmp 0x140021742
mov r11, qword [rsp + 0x1f0]
xor ebx, ebx
test r11, r11
setne bl
movabs rax, 0xcbf29ce484222325
xor rbx, rax
movabs rax, 0x1efac7090aef4a21
imul rbx, rax
test r11, r11
je 0x14002184f
mov rax, qword [rsp + 0x1f8]
mov qword [rsp + 0x50], rax
mov r8, qword [rsp + 0x200]
test r8, r8
je 0x140021a60
mov rcx, r8
and rcx, 7
je 0x1400219cb
mov rax, qword [rsp + 0x50]
movabs r9, 0x100000001b3
nop
movzx edx, byte [rax]
inc rax
xor rdx, rbx
imul rdx, r9
mov rbx, rdx
dec rcx
jne 0x140021500
cmp r8, 8
jae 0x1400219e3
jmp 0x140021a54
mov rax, rcx
shr rax, 1
and ecx, 1
or rcx, rax
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
addss xmm0, xmm0
test r14, r14
js 0x140021351
xorps xmm1, xmm1
cvtsi2ss xmm1, r14
divss xmm0, xmm1
ucomiss xmm0, xmm8
jae 0x14002137a
xor ecx, ecx
call fcn.1400e24b0
test rax, rax
je 0x1400233b6
mov qword [rsp + 0xa8], 2
movups xmm0, xmmword [rax]
inc qword [rax]
movups xmmword [rsp + 0xb0], xmm0
test r14, r14
je 0x1400215ff
mov rcx, qword [rsp + 0xc0]
movabs rax, 0x3fffffffffffffff
lea rdx, [r14 + rax]
and rdx, rax
mov rax, rcx
cmp rdx, 7
jb 0x1400215e9
inc rdx
mov r8, rdx
and r8, qword [rsp + 0x270]
lea rax, [rcx + r8*4]
xor r9d, r9d
nop word cs:[rax + rax]
movups xmmword [rcx + r9*4], xmm7
movups xmmword [rcx + r9*4 + 0x10], xmm7
add r9, 8
cmp r8, r9
jne 0x1400215d0
cmp rdx, r8
je 0x1400215ff
lea rcx, [rcx + r14*4]
nop dword [rax]
mov dword [rax], 0xffff
add rax, 4
cmp rax, rcx
jne 0x1400215f0
mov rax, qword [rsp + 0xe0]
test rax, rax
je 0x1400213be
mov rdi, qword [rsp + 0xd0]
lea rsi, [rax + rax*2]
shl rsi, 5
add rsi, rdi
movzx ebx, word [rsp + 0x100]
mov r14, qword [rsp + 0xc0]
mov r15, qword [rsp + 0xc8]
xor r12d, r12d
jmp 0x140021657
mov word [r14 + rcx*4], r13w
mov rdx, rcx
mov word [r14 + rdx*4 + 2], ax
cmp rdi, rsi
je 0x1400213be
mov r13, r12
mov rbp, rdi
add rdi, 0x60
inc r12
lea rdx, [rbp + 0x38]
lea rcx, [rsp + 0xa8]
call fcn.140024930
mov r8d, ebx
and r8d, eax
mov word [rbp + 0x58], ax
xor edx, edx
nop word cs:[rax + rax]
mov rcx, r8
mov r8d, 0
cmp rcx, r15
jae 0x140021690
cmp word [r14 + rcx*4], 0xffff
je 0x140021640
movzx r8d, word [r14 + rcx*4 + 2]
and r8d, ebx
mov r9d, ecx
sub r9d, r8d
and r9d, ebx
cmp r9, rdx
jb 0x1400216f0
inc rdx
inc rcx
mov r8, rcx
jmp 0x140021690
movzx r8d, word [r14 + rdx*4 + 2]
mov word [r14 + rdx*4], r13w
mov word [r14 + rdx*4 + 2], ax
inc rdx
mov eax, r8d
mov r13d, ecx
mov rcx, rdx
nop word cs:[rax + rax]
mov rdx, rcx
mov ecx, 0
cmp rdx, r15
jae 0x1400216f0
movzx ecx, word [r14 + rdx*4]
cmp cx, 0xffff
jne 0x1400216c8
mov word [r14 + rdx*4], r13w
mov word [r14 + rdx*4 + 2], ax
cmp rdi, rsi
jne 0x140021657
jmp 0x1400213be
movzx eax, byte [rsp + 0x1f8]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x80], rax
mov r8d, 8
mov rcx, rsi
mov rdx, rdi
call fcn.14001a7b0
mov rax, qword [rsp + 0x380]
mov r9, qword [rsp + 0x3a0]
shl r9, 0x38
or r9, qword [rsp + 0x3a8]
mov rcx, qword [rsp + 0x388]
mov r8, qword [rsp + 0x370]
add r8, rax
rol rax, 0xd
xor rcx, r9
xor rax, r8
rol r8, 0x20
mov rdx, qword [rsp + 0x378]
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rcx, r8
xor rax, rdx
rol rdx, 0x20
xor r8, r9
add r8, rax
rol rax, 0xd
xor rax, r8
rol r8, 0x20
xor rdx, 0xff
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rax, rdx
rol rdx, 0x20
xor rcx, r8
add r8, rax
rol rax, 0xd
xor rax, r8
rol r8, 0x20
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rax, rdx
rol rdx, 0x20
xor rcx, r8
add r8, rax
rol rax, 0xd
xor rax, r8
add rdx, rcx
shl rcx, 0x10
xor rcx, rdx
shr rcx, 0x2b
add rdx, rax
shr rax, 0x2f
xor rax, rcx
mov rbx, rdx
shr rbx, 0x20
xor rbx, rdx
xor rbx, rax
mov r11, r14
jmp 0x140021a60
movzx ecx, byte [rsp + 0x1f8]
mov qword [rsp + 0x50], rcx
xor rbx, rcx
imul rbx, rax
xor r11d, r11d
jmp 0x140021a60
mov word [rsp + 0x100], 7
movzx eax, byte [0x1401ee110]
mov rax, qword [0x1401ee100]
test rax, rax
jne 0x14002189d
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400233b6
mov qword [0x1401ee100], rax
mov r8d, 0x20
mov rcx, rax
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400233b6
mov r15, rax
movups xmmword [rax], xmm7
movups xmmword [rax + 0x10], xmm7
test r14, r14
je 0x1400218db
mov r8, qword [rsp + 0xc0]
mov rcx, qword [0x1401ee100]
xor edx, edx
call fcn.140104a84
mov qword [rsp + 0xc0], r15
mov qword [rsp + 0xc8], 8
movzx eax, byte [0x1401ee110]
mov rax, qword [0x1401ee100]
test rax, rax
jne 0x140021917
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400233b6
mov qword [0x1401ee100], rax
mov r8d, 0x240
mov rcx, rax
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400233b6
mov r14, rax
mov rsi, qword [rsp + 0xe0]
test rsi, rsi
je 0x140021985
mov r15, qword [rsp + 0xd0]
add r15, 0x30
jmp 0x14002196b
mov rax, qword [r15 - 0x18]
mov rdx, qword [r15 - 0x10]
mov r8, qword [r15 - 8]
mov rcx, r15
call qword [rax + 0x10]
add r15, 0x60
dec rsi
je 0x140021985
mov rax, qword [r15 + 8]
test rax, rax
je 0x140021950
lea rcx, [r15 + 0x20]
mov rdx, qword [r15 + 0x10]
mov r8, qword [r15 + 0x18]
call qword [rax + 0x10]
jmp 0x140021950
cmp qword [rsp + 0xd8], 0
je 0x1400219a6
mov r8, qword [rsp + 0xd0]
mov rcx, qword [0x1401ee100]
xor edx, edx
call fcn.140104a84
mov qword [rsp + 0xd0], r14
mov qword [rsp + 0xd8], 6
mov qword [rsp + 0xe0], 0
jmp 0x1400213be
mov rdx, rbx
mov rax, qword [rsp + 0x50]
movabs r9, 0x100000001b3
cmp r8, 8
jb 0x140021a54
mov rcx, qword [rsp + 0x50]
add rcx, r8
nop dword [rax + rax]
movzx r8d, byte [rax]
xor r8, rdx
imul r8, r9
movzx edx, byte [rax + 1]
xor rdx, r8
imul rdx, r9
movzx r8d, byte [rax + 2]
xor r8, rdx
imul r8, r9
movzx edx, byte [rax + 3]
xor rdx, r8
imul rdx, r9
movzx r8d, byte [rax + 4]
xor r8, rdx
imul r8, r9
movzx edx, byte [rax + 5]
xor rdx, r8
imul rdx, r9
movzx r8d, byte [rax + 6]
xor r8, rdx
imul r8, r9
movzx edx, byte [rax + 7]
add rax, 8
xor rdx, r8
imul rdx, r9
cmp rax, rcx
jne 0x1400219f0
mov rbx, rdx
nop word [rax + rax]
and ebx, 0x7fff
movzx r12d, word [rsp + 0x100]
mov edi, ebx
and edi, r12d
mov r14, qword [rsp + 0xc0]
mov r13, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x38], rax
mov r10, qword [rsp + 0xd0]
mov r8, qword [rsp + 0x1f8]
mov r9, qword [rsp + 0x200]
xor esi, esi
mov qword [rsp + 0x228], r11
mov qword [rsp + 0x220], r8
mov qword [rsp + 0x218], r9
mov qword [rsp + 0x210], r10
jmp 0x140021ae6
mov rcx, qword [rsp + 0x50]
cmp byte [rax + 8], cl
je 0x140021bb0
nop dword [rax + rax]
inc rsi
inc rdi
mov rax, rdi
nop dword [rax]
mov rdi, rax
mov eax, 0
cmp rdi, r13
jae 0x140021af0
movzx ebp, word [r14 + rdi*4]
cmp rbp, 0xffff
je 0x140021c90
movzx eax, word [r14 + rdi*4 + 2]
mov ecx, r12d
and ecx, eax
mov edx, edi
sub edx, ecx
and edx, r12d
cmp rdx, rsi
jb 0x140021ce0
cmp ax, bx
jne 0x140021ae0
cmp qword [rsp + 0x38], rbp
jbe 0x1400233b6
test r11, r11
sete al
lea r15, [rbp*2]
add r15, rbp
shl r15, 5
mov rcx, qword [r10 + r15 + 0x38]
test rcx, rcx
setne dl
cmp dl, al
je 0x140021ae0
lea rax, [r10 + r15]
add rax, 0x38
test rcx, rcx
je 0x140021acd
cmp qword [rax + 0x10], r9
jne 0x140021ae0
mov rcx, qword [rax + 8]
mov rdx, r8
mov r8, r9
call sub.msvcrt.dll_memcmp
mov r10, qword [rsp + 0x210]
mov r9, qword [rsp + 0x218]
mov r8, qword [rsp + 0x220]
mov r11, qword [rsp + 0x228]
test eax, eax
jne 0x140021ae0
lea rsi, [r10 + r15]
cmp qword [r10 + r15], 0
je 0x140022649
mov rdi, qword [rsi + 0x10]
mov r14, qword [rsp + 0xf8]
mov rax, r14
cmp r14, qword [rsp + 0xf0]
lea rbx, [rsp + 0x80]
jne 0x140021bf8
lea rcx, [rsp + 0xe8]
mov rdx, r14
call fcn.140029d70
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xe8]
shl rax, 6
mov qword [rcx + rax], 1
mov qword [rcx + rax + 8], rdi
mov qword [rcx + rax + 0x10], 0
mov qword [rcx + rax + 0x18], rbp
mov rdx, qword [rsp + 0x1d0]
mov qword [rcx + rax + 0x20], rdx
mov rdx, qword [rsp + 0x1d8]
mov qword [rcx + rax + 0x28], rdx
movaps xmm0, xmmword [rsp + 0x1a0]
movups xmmword [rcx + rax + 0x30], xmm0
mov rax, qword [rsp + 0xf8]
inc rax
mov qword [rsp + 0xf8], rax
cmp rdi, rax
jae 0x1400233b6
mov rax, qword [rsp + 0xe8]
shl rdi, 6
mov qword [rax + rdi + 0x10], 1
mov qword [rax + rdi + 0x18], r14
mov qword [rsi], 1
jmp 0x1400226df
test r11, r11
je 0x140021d50
lea rcx, [rsp + 0x370]
lea rdx, [rsp + 0x208]
call qword [r11]
mov rsi, qword [rsp + 0x370]
movzx r8d, byte [rsp + 0x378]
lea rax, [rsp + 0x388]
movups xmm0, xmmword [rax - 0xf]
movaps xmmword [rsp + 0x80], xmm0
mov rax, qword [rax]
mov qword [rsp + 0x8f], rax
jmp 0x140021d52
cmp rsi, 0x200
setae bpl
cmp dword [rsp + 0x290], 2
setne sil
test r11, r11
je 0x140021e46
lea rcx, [rsp + 0x370]
lea rdx, [rsp + 0x208]
call qword [r11]
mov r14, qword [rsp + 0x370]
movzx r8d, byte [rsp + 0x378]
lea rax, [rsp + 0x388]
movups xmm0, xmmword [rax - 0xf]
movaps xmmword [rsp + 0x80], xmm0
mov rax, qword [rax]
mov qword [rsp + 0x8f], rax
mov r15, qword [rsp + 0xe0]
jmp 0x140021e4e
xor esi, esi
mov r15, qword [rsp + 0x38]
mov rax, qword [rsp + 0x8f]
mov qword [rsp + 0x37f], rax
movdqa xmm0, xmmword [rsp + 0x80]
movdqa xmmword [rsp + 0x370], xmm0
cmp r15, 0x8000
jae 0x1400233b6
mov rax, r15
cmp r15, qword [rsp + 0xd8]
jne 0x140021db1
lea rcx, [rsp + 0xd0]
mov rdx, r15
mov r12, r8
call fcn.140029f80
mov r8, r12
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xd0]
lea rax, [rax + rax*2]
shl rax, 5
mov qword [rcx + rax], 0
mov rdx, qword [rsp + 0x1d0]
mov qword [rcx + rax + 0x18], rdx
mov rdx, qword [rsp + 0x1d8]
mov qword [rcx + rax + 0x20], rdx
movaps xmm0, xmmword [rsp + 0x1a0]
movups xmmword [rcx + rax + 0x28], xmm0
mov qword [rcx + rax + 0x38], rsi
mov byte [rcx + rax + 0x40], r8b
movaps xmm0, xmmword [rsp + 0x370]
movups xmmword [rcx + rax + 0x41], xmm0
mov rdx, qword [rsp + 0x37f]
mov qword [rcx + rax + 0x50], rdx
mov word [rcx + rax + 0x58], bx
inc qword [rsp + 0xe0]
cmp rdi, qword [rsp + 0xc8]
jae 0x1400233b6
mov rax, qword [rsp + 0xc0]
mov word [rax + rdi*4], r15w
mov word [rax + rdi*4 + 2], bx
jmp 0x140021fa4
xor r14d, r14d
mov r15, qword [rsp + 0x38]
mov rax, qword [rsp + 0x8f]
mov qword [rsp + 0x37f], rax
movdqa xmm0, xmmword [rsp + 0x80]
movdqa xmmword [rsp + 0x370], xmm0
cmp r15, 0x8000
jae 0x1400233b6
mov rax, r15
cmp r15, qword [rsp + 0xd8]
jne 0x140021ea8
lea rcx, [rsp + 0xd0]
mov rdx, r15
mov r12, r8
call fcn.140029f80
mov r8, r12
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xd0]
lea rax, [rax + rax*2]
shl rax, 5
mov qword [rcx + rax], 0
mov rdx, qword [rsp + 0x1d0]
mov qword [rcx + rax + 0x18], rdx
mov rdx, qword [rsp + 0x1d8]
mov qword [rcx + rax + 0x20], rdx
movaps xmm0, xmmword [rsp + 0x1a0]
movups xmmword [rcx + rax + 0x28], xmm0
mov qword [rcx + rax + 0x38], r14
mov byte [rcx + rax + 0x40], r8b
movaps xmm0, xmmword [rsp + 0x370]
movups xmmword [rcx + rax + 0x41], xmm0
mov rdx, qword [rsp + 0x37f]
mov qword [rcx + rax + 0x50], rdx
mov word [rcx + rax + 0x58], bx
inc qword [rsp + 0xe0]
and bpl, sil
mov rax, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xc8]
xor ecx, ecx
nop dword [rax]
mov r8, rdi
mov edi, 0
cmp r8, rdx
jae 0x140021f30
movzx r9d, word [rax + r8*4]
cmp r9w, 0xffff
je 0x140021f70
inc rcx
movzx r10d, word [rax + r8*4 + 2]
mov word [rax + r8*4], r15w
mov word [rax + r8*4 + 2], bx
inc r8
mov ebx, r10d
mov r15d, r9d
mov rdi, r8
jmp 0x140021f30
mov word [rax + r8*4], r15w
mov word [rax + r8*4 + 2], bx
cmp rcx, 0x80
setb al
not bpl
test bpl, al
jne 0x140021fa4
cmp qword [rsp + 0xa8], 0
jne 0x140021fa4
mov qword [rsp + 0xa8], 1
lea rbx, [rsp + 0x80]
mov rsi, qword [rsp + 0x48]
add rsi, 0x20
mov qword [rsp + 0x48], rsi
movdqa xmm0, xmmword [rsp + 0x1f0]
movapd xmm1, xmmword [rsp + 0x200]
movapd xmmword [rsp + 0x90], xmm1
movdqa xmmword [rsp + 0x80], xmm0
lea rsi, [rsp + 0x140]
mov rcx, rsi
call fcn.140024f60
mov rcx, rsi
mov rdx, rbx
call fcn.140024930
mov r15d, eax
movzx r13d, word [rsp + 0x198]
mov esi, r13d
and esi, r15d
mov rbx, qword [rsp + 0x158]
mov rdi, qword [rsp + 0x160]
mov r9, qword [rsp + 0x178]
mov r10, qword [rsp + 0x168]
mov r8, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x218], rax
movzx r11d, byte [rsp + 0x88]
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x38], rax
xor ebp, ebp
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x228], r10
mov qword [rsp + 0x220], r8
mov byte [rsp + 0x210], r11b
jmp 0x140022096
cmp byte [rax + 8], r11b
je 0x14002215d
nop word cs:[rax + rax]
inc rbp
inc rsi
mov rax, rsi
nop dword [rax]
mov rsi, rax
mov eax, 0
cmp rsi, rdi
jae 0x1400220a0
movzx r14d, word [rbx + rsi*4]
cmp r14, 0xffff
je 0x140022250
movzx eax, word [rbx + rsi*4 + 2]
mov ecx, r13d
and ecx, eax
mov edx, esi
sub edx, ecx
and edx, r13d
cmp rdx, rbp
jb 0x140022380
cmp ax, r15w
jne 0x140022090
cmp r9, r14
jbe 0x1400233b6
test r8, r8
sete al
imul r12, r14, 0x68
mov rcx, qword [r10 + r12 + 0x40]
test rcx, rcx
setne dl
cmp dl, al
je 0x140022090
lea rax, [r10 + r12]
add rax, 0x40
test rcx, rcx
je 0x14002207a
mov rcx, qword [rsp + 0x38]
cmp qword [rax + 0x10], rcx
jne 0x140022090
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0x218]
mov r8, qword [rsp + 0x38]
call sub.msvcrt.dll_memcmp
movzx r11d, byte [rsp + 0x210]
mov r8, qword [rsp + 0x220]
mov r10, qword [rsp + 0x228]
mov r9, qword [rsp + 0x50]
test eax, eax
jne 0x140022090
lea rdi, [r10 + r12]
cmp qword [r10 + r12], 0
je 0x140022549
mov rbx, qword [rdi + 0x10]
mov rsi, qword [rsp + 0x190]
mov rax, rsi
cmp rsi, qword [rsp + 0x188]
lea r13, [rsp + 0x370]
jne 0x1400221a5
lea rcx, [rsp + 0x180]
mov rdx, rsi
call fcn.14001a3d0
mov rax, qword [rsp + 0x190]
mov rcx, qword [rsp + 0x180]
lea rdx, [rax + rax*8]
mov qword [rcx + rdx*8], 1
mov qword [rcx + rdx*8 + 8], rbx
mov qword [rcx + rdx*8 + 0x10], 0
mov qword [rcx + rdx*8 + 0x18], r14
mov r8, qword [rsp + 0x70]
mov qword [rcx + rdx*8 + 0x20], r8
mov r8, qword [rsp + 0x1e0]
mov qword [rcx + rdx*8 + 0x28], r8
mov r8, qword [rsp + 0x1e8]
mov qword [rcx + rdx*8 + 0x30], r8
mov r8, qword [rsp + 0x78]
mov qword [rcx + rdx*8 + 0x38], r8
mov byte [rcx + rdx*8 + 0x40], 0
mov r8d, dword [rsp + 0x1a0]
mov r9d, dword [rsp + 0x1a3]
mov dword [rcx + rdx*8 + 0x41], r8d
mov dword [rcx + rdx*8 + 0x44], r9d
inc rax
mov qword [rsp + 0x190], rax
cmp rbx, rax
jae 0x1400233b6
lea rax, [rbx + rbx*8]
mov qword [rcx + rax*8 + 0x10], 1
mov qword [rcx + rax*8 + 0x18], rsi
mov qword [rdi], 1
jmp 0x140022608
cmp r9, 0x8000
jae 0x1400233b6
movaps xmm0, xmmword [rsp + 0x80]
movaps xmm1, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x380], xmm1
movaps xmmword [rsp + 0x370], xmm0
mov rax, r9
cmp r9, qword [rsp + 0x170]
lea r13, [rsp + 0x370]
lea r14, [0x1401b5068]
jne 0x1400222c6
lea rcx, [rsp + 0x168]
mov rdx, r9
call fcn.140029e20
mov r9, qword [rsp + 0x50]
mov rax, qword [rsp + 0x178]
mov rdi, qword [rsp + 0x160]
mov r10, qword [rsp + 0x168]
imul rcx, rax, 0x68
mov qword [r10 + rcx], 0
mov rdx, qword [rsp + 0x70]
mov qword [r10 + rcx + 0x18], rdx
mov rdx, qword [rsp + 0x1e0]
mov qword [r10 + rcx + 0x20], rdx
mov rdx, qword [rsp + 0x1e8]
mov qword [r10 + rcx + 0x28], rdx
mov rdx, qword [rsp + 0x78]
mov qword [r10 + rcx + 0x30], rdx
mov byte [r10 + rcx + 0x38], 0
mov edx, dword [rsp + 0x1a0]
mov r8d, dword [rsp + 0x1a3]
mov dword [r10 + rcx + 0x39], edx
mov dword [r10 + rcx + 0x3c], r8d
movdqa xmm0, xmmword [rsp + 0x370]
movapd xmm1, xmmword [rsp + 0x380]
movdqu xmmword [r10 + rcx + 0x40], xmm0
movupd xmmword [r10 + rcx + 0x50], xmm1
mov word [r10 + rcx + 0x60], r15w
inc rax
mov qword [rsp + 0x178], rax
cmp rsi, rdi
jae 0x1400233b6
mov rax, qword [rsp + 0x158]
mov word [rax + rsi*4], r9w
mov word [rax + rsi*4 + 2], r15w
jmp 0x140022531
cmp rbp, 0x200
setae r14b
cmp qword [rsp + 0x140], 2
setne bpl
movdqa xmm0, xmmword [rsp + 0x80]
movapd xmm1, xmmword [rsp + 0x90]
movapd xmmword [rsp + 0x380], xmm1
movdqa xmmword [rsp + 0x370], xmm0
cmp r9, 0x8000
lea r13, [rsp + 0x370]
jae 0x1400233b6
mov rax, r9
cmp r9, qword [rsp + 0x170]
jne 0x140022413
lea rcx, [rsp + 0x168]
mov rdx, r9
call fcn.140029e20
mov r9, qword [rsp + 0x50]
mov rax, qword [rsp + 0x178]
mov r10, qword [rsp + 0x168]
mov rbx, qword [rsp + 0x158]
mov rdi, qword [rsp + 0x160]
and r14b, bpl
imul rcx, rax, 0x68
mov qword [r10 + rcx], 0
mov rdx, qword [rsp + 0x70]
mov qword [r10 + rcx + 0x18], rdx
mov rdx, qword [rsp + 0x1e0]
mov qword [r10 + rcx + 0x20], rdx
mov rdx, qword [rsp + 0x1e8]
mov qword [r10 + rcx + 0x28], rdx
mov rdx, qword [rsp + 0x78]
mov qword [r10 + rcx + 0x30], rdx
mov byte [r10 + rcx + 0x38], 0
mov edx, dword [rsp + 0x1a0]
mov r8d, dword [rsp + 0x1a3]
mov dword [r10 + rcx + 0x39], edx
mov dword [r10 + rcx + 0x3c], r8d
movdqa xmm0, xmmword [rsp + 0x370]
movapd xmm1, xmmword [rsp + 0x380]
movdqu xmmword [r10 + rcx + 0x40], xmm0
movupd xmmword [r10 + rcx + 0x50], xmm1
mov word [r10 + rcx + 0x60], r15w
inc rax
mov qword [rsp + 0x178], rax
xor eax, eax
nop word cs:[rax + rax]
mov rcx, rsi
mov esi, 0
cmp rcx, rdi
jae 0x1400224b0
movzx edx, word [rbx + rcx*4]
cmp dx, 0xffff
je 0x1400224f0
inc rax
movzx r8d, word [rbx + rcx*4 + 2]
mov word [rbx + rcx*4], r9w
mov word [rbx + rcx*4 + 2], r15w
inc rcx
mov r15d, r8d
mov r9d, edx
mov rsi, rcx
jmp 0x1400224b0
mov word [rbx + rcx*4], r9w
mov word [rbx + rcx*4 + 2], r15w
mov rcx, qword [rsp + 0x140]
test rcx, rcx
mov rdx, rcx
mov r8d, 1
cmove rdx, r8
cmp rax, 0x7f
cmova rcx, rdx
test r14b, r14b
cmovne rcx, rdx
mov qword [rsp + 0x140], rcx
lea r14, [0x1401b5068]
mov rdi, qword [rsp + 0x48]
cmp rdi, qword [rsp + 0x298]
jne 0x140020dd0
jmp 0x1400226e8
mov rsi, qword [rsp + 0x190]
mov rax, rsi
cmp rsi, qword [rsp + 0x188]
lea r13, [rsp + 0x370]
jne 0x14002257e
lea rcx, [rsp + 0x180]
mov rdx, rsi
call fcn.14001a3d0
mov rax, qword [rsp + 0x190]
mov rcx, qword [rsp + 0x180]
lea rdx, [rax + rax*8]
mov qword [rcx + rdx*8], 0
mov qword [rcx + rdx*8 + 8], r14
mov qword [rcx + rdx*8 + 0x10], 0
mov qword [rcx + rdx*8 + 0x18], r14
mov r8, qword [rsp + 0x70]
mov qword [rcx + rdx*8 + 0x20], r8
mov r8, qword [rsp + 0x1e0]
mov qword [rcx + rdx*8 + 0x28], r8
mov r8, qword [rsp + 0x1e8]
mov qword [rcx + rdx*8 + 0x30], r8
mov r8, qword [rsp + 0x78]
mov qword [rcx + rdx*8 + 0x38], r8
mov byte [rcx + rdx*8 + 0x40], 0
mov r8d, dword [rsp + 0x1a0]
mov r9d, dword [rsp + 0x1a3]
mov dword [rcx + rdx*8 + 0x41], r8d
mov dword [rcx + rdx*8 + 0x44], r9d
inc rax
mov qword [rsp + 0x190], rax
mov qword [rdi], 1
mov qword [rdi + 8], rsi
mov qword [rdi + 0x10], rsi
lea r14, [0x1401b5068]
mov rax, qword [rsp + 0x80]
test rax, rax
mov rdi, qword [rsp + 0x48]
je 0x140022536
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
lea rcx, [rsp + 0x98]
call qword [rax + 0x10]
jmp 0x140022536
mov r14, qword [rsp + 0xf8]
mov rax, r14
cmp r14, qword [rsp + 0xf0]
lea rbx, [rsp + 0x80]
jne 0x14002267e
lea rcx, [rsp + 0xe8]
mov rdx, r14
call fcn.140029d70
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xe8]
shl rax, 6
mov qword [rcx + rax], 0
mov qword [rcx + rax + 8], rbp
mov qword [rcx + rax + 0x10], 0
mov qword [rcx + rax + 0x18], rbp
mov rdx, qword [rsp + 0x1d0]
mov qword [rcx + rax + 0x20], rdx
mov rdx, qword [rsp + 0x1d8]
mov qword [rcx + rax + 0x28], rdx
movaps xmm0, xmmword [rsp + 0x1a0]
movups xmmword [rcx + rax + 0x30], xmm0
inc qword [rsp + 0xf8]
mov qword [rsi], 1
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], r14
jmp 0x140021fac
mov rdi, qword [rsp + 0xa8]
cmp rdi, 3
je 0x140022979
movups xmm0, xmmword [rsp + 0xf8]
movaps xmmword [rsp + 0x360], xmm0
movups xmm0, xmmword [rsp + 0xe8]
movaps xmmword [rsp + 0x350], xmm0
movdqu xmm0, xmmword [rsp + 0xa8]
movupd xmm1, xmmword [rsp + 0xb8]
movdqu xmm2, xmmword [rsp + 0xc8]
movups xmm3, xmmword [rsp + 0xd8]
movaps xmmword [rsp + 0x340], xmm3
movdqa xmmword [rsp + 0x330], xmm2
movapd xmmword [rsp + 0x320], xmm1
movdqa xmmword [rsp + 0x310], xmm0
movzx eax, byte [0x1401ee110]
mov rax, qword [0x1401ee100]
test rax, rax
mov r14, qword [rsp + 0x110]
jne 0x140022790
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400233b6
mov qword [0x1401ee100], rax
mov r8d, 0x20
mov rcx, rax
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400233b6
mov rsi, rax
movups xmm0, xmmword [0x1401b72d0]
movups xmmword [rax + 0x10], xmm0
movdqu xmm0, xmmword [0x1401b72c0]
movdqu xmmword [rax], xmm0
movzx eax, byte [0x1401ee110]
mov rax, qword [0x1401ee100]
test rax, rax
jne 0x1400227eb
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400233b6
mov qword [0x1401ee100], rax
mov r8d, 0x60
mov rcx, rax
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400233b6
movaps xmm0, xmmword [rsp + 0x360]
movups xmmword [rax + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x350]
movups xmmword [rax + 0x40], xmm0
movdqa xmm0, xmmword [rsp + 0x310]
movapd xmm1, xmmword [rsp + 0x320]
movdqa xmm2, xmmword [rsp + 0x330]
movaps xmm3, xmmword [rsp + 0x340]
movups xmmword [rax + 0x30], xmm3
movdqu xmmword [rax + 0x20], xmm2
movupd xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
lea rcx, [0x1401a22c8]
mov qword [rsp + 0x20], rcx
mov rcx, rsi
movabs rdx, 0xd59c0397e8670c9d
movabs r8, 0x9f06ced972488051
mov r9, rax
call fcn.140029060
test rax, rax
je 0x140022c4e
mov r15, rax
mov rbx, rdx
mov rcx, rax
call qword [rdx + 0x18]
movabs rcx, 0x9f06ced972488051
xor rdx, rcx
movabs rcx, 0xd59c0397e8670c9d
xor rax, rcx
or rax, rdx
jne 0x140022bbf
mov r14, qword [r15]
mov rax, qword [r15 + 0x18]
mov qword [rsp + 0x70], rax
mov r13, qword [r15 + 0x20]
mov r12, qword [r15 + 0x28]
mov rax, qword [r15 + 0x30]
mov qword [rsp + 0x50], rax
mov rbx, qword [r15 + 0x38]
mov rax, qword [r15 + 0x40]
mov qword [rsp + 0x48], rax
mov rax, qword [r15 + 0x48]
mov qword [rsp + 0x38], rax
mov rbp, qword [r15 + 0x50]
mov rcx, qword [0x1401ee100]
xor edx, edx
mov r8, r15
call fcn.140104a84
cmp r14, 3
mov r14, qword [rsp + 0x110]
je 0x140022c4e
test r13, r13
je 0x140022926
mov rcx, qword [0x1401ee100]
xor edx, edx
mov r8, qword [rsp + 0x70]
call fcn.140104a84
test rbx, rbx
je 0x140022be8
lea r15, [r12 + 0x30]
jmp 0x14002295f
mov rax, qword [r15 - 0x18]
mov rdx, qword [r15 - 0x10]
mov r8, qword [r15 - 8]
mov rcx, r15
call qword [rax + 0x10]
add r15, 0x60
dec rbx
je 0x140022be8
mov rax, qword [r15 + 8]
test rax, rax
je 0x140022940
lea rcx, [r15 + 0x20]
mov rdx, qword [r15 + 0x10]
mov r8, qword [r15 + 0x18]
call qword [rax + 0x10]
jmp 0x140022940
cmp qword [rsp + 0x230], 0
setne r15b
mov r14, qword [rsp + 0x110]
je 0x140022bb3
movdqu xmm0, xmmword [rsp + 0x230]
movupd xmm1, xmmword [rsp + 0x240]
movapd xmmword [rsp + 0x2d0], xmm1
movdqa xmmword [rsp + 0x2c0], xmm0
mov bpl, 1
jmp 0x140022c94
lea eax, [rsi - 1]
mov word [rsp + 0x198], ax
movzx eax, byte [0x1401ee110]
mov rax, qword [0x1401ee100]
test rax, rax
jne 0x1400229f3
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400233b6
mov qword [0x1401ee100], rax
lea r8, [rsi*4]
mov rcx, rax
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400233b6
mov rbx, rax
mov r14d, 1
cmp rsi, 2
jb 0x140022a85
mov ecx, 1
mov rax, rbx
cmp rsi, 9
jb 0x140022a70
lea rdx, [rsi - 1]
mov r8, rdx
and r8, 0xfffffffffffffff8
lea rax, [rbx + r8*4]
lea rcx, [r8 + 1]
xor r9d, r9d
nop word cs:[rax + rax]
movups xmmword [rbx + r9*4], xmm7
movups xmmword [rbx + r9*4 + 0x10], xmm7
add r9, 8
cmp r8, r9
jne 0x140022a50
mov r14, rsi
cmp rdx, r8
je 0x140022a85
nop dword [rax]
inc rcx
mov dword [rax], 0xffff
add rax, 4
cmp rsi, rcx
jne 0x140022a70
mov r14, rsi
mov dword [rax], 0xffff
test rdi, rdi
je 0x140022aa6
mov r8, qword [rsp + 0x158]
mov rcx, qword [0x1401ee100]
xor edx, edx
call fcn.140104a84
mov qword [rsp + 0x158], rbx
mov qword [rsp + 0x160], r14
mov rax, rsi
shr rax, 2
sub rsi, rax
movabs rax, 0x13b13b13b13b13b
cmp rsi, rax
ja 0x1400233b6
movzx eax, byte [0x1401ee110]
mov rax, qword [0x1401ee100]
test rax, rax
jne 0x140022afb
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400233b6
mov qword [0x1401ee100], rax
imul r8, rsi, 0x68
mov rcx, rax
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400233b6
mov rbx, rax
mov r14, qword [rsp + 0x168]
mov rdi, qword [rsp + 0x178]
test rdi, rdi
je 0x140022b65
lea r15, [r14 + 0x30]
jmp 0x140022b4b
mov rax, qword [r15 - 0x18]
mov rdx, qword [r15 - 0x10]
mov r8, qword [r15 - 8]
mov rcx, r15
call qword [rax + 0x10]
add r15, 0x68
dec rdi
je 0x140022b65
mov rax, qword [r15 + 0x10]
test rax, rax
je 0x140022b30
lea rcx, [r15 + 0x28]
mov rdx, qword [r15 + 0x18]
mov r8, qword [r15 + 0x20]
call qword [rax + 0x10]
jmp 0x140022b30
cmp qword [rsp + 0x170], 0
je 0x140022b81
mov rcx, qword [0x1401ee100]
xor edx, edx
mov r8, r14
call fcn.140104a84
mov qword [rsp + 0x168], rbx
mov qword [rsp + 0x170], rsi
mov qword [rsp + 0x178], 0
lea r14, [0x1401b5068]
cmp r12, 0x65
jb 0x140020da3
jmp 0x1400233b6
mov bpl, 1
xor esi, esi
mov bl, 1
jmp 0x140022e41
mov rcx, r15
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x140022c4e
cmp qword [rbx + 0x10], 0x11
jb 0x140022bda
mov r15, qword [r15 - 8]
mov rcx, qword [0x1401ee100]
xor edx, edx
mov r8, r15
jmp 0x140022c49
cmp qword [rsp + 0x50], 0
je 0x140022c01
mov rcx, qword [0x1401ee100]
xor edx, edx
mov r8, r12
call fcn.140104a84
test rbp, rbp
je 0x140022c2b
mov rax, qword [rsp + 0x48]
lea r14, [rax + 0x38]
nop
mov rax, qword [r14 - 0x18]
mov rdx, qword [r14 - 0x10]
mov r8, qword [r14 - 8]
mov rcx, r14
call qword [rax + 0x10]
add r14, 0x40
dec rbp
jne 0x140022c10
cmp qword [rsp + 0x38], 0
mov r14, qword [rsp + 0x110]
je 0x140022c4e
mov rcx, qword [0x1401ee100]
xor edx, edx
mov r8, qword [rsp + 0x48]
call fcn.140104a84
cmp qword [rsp + 0x230], 0
setne r15b
je 0x140022e35
movdqu xmm0, xmmword [rsp + 0x230]
movupd xmm1, xmmword [rsp + 0x240]
movapd xmmword [rsp + 0x2d0], xmm1
movdqa xmmword [rsp + 0x2c0], xmm0
xor ebp, ebp
test rsi, rsi
lea r13, [rsp + 0x370]
jne 0x140022cef
movzx eax, byte [0x1401ee110]
mov rax, qword [0x1401ee100]
test rax, rax
jne 0x140022cbc
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400233b6
mov qword [0x1401ee100], rax
mov r8d, 0x20
mov rcx, rax
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400233b6
mov rsi, rax
movups xmm0, xmmword [0x1401b72d0]
movups xmmword [rax + 0x10], xmm0
movdqu xmm0, xmmword [0x1401b72c0]
movdqu xmmword [rax], xmm0
movzx eax, byte [0x1401ee110]
mov rax, qword [0x1401ee100]
test rax, rax
jne 0x140022d17
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400233b6
mov qword [0x1401ee100], rax
mov r8d, 0x20
mov rcx, rax
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400233b6
movdqa xmm0, xmmword [rsp + 0x2c0]
movapd xmm1, xmmword [rsp + 0x2d0]
movupd xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
lea rcx, [0x1401a2308]
mov qword [rsp + 0x20], rcx
mov rcx, rsi
movabs rdx, 0xca5a245306d400e9
movabs r8, 0x569c02bf20739871
mov r9, rax
call fcn.140029060
test rax, rax
je 0x140022e29
mov rbx, rax
mov r14, rdx
mov rcx, rax
call qword [rdx + 0x18]
movabs rcx, 0x569c02bf20739871
xor rdx, rcx
movabs rcx, 0xca5a245306d400e9
xor rax, rcx
or rax, rdx
jne 0x140022e00
movdqu xmm0, xmmword [rbx]
movupd xmm1, xmmword [rbx + 0x10]
movapd xmmword [rsp + 0x380], xmm1
movdqa xmmword [rsp + 0x370], xmm0
mov rcx, qword [0x1401ee100]
xor edx, edx
mov r8, rbx
call fcn.140104a84
mov rax, qword [rsp + 0x370]
test rax, rax
je 0x140022e29
mov rdx, qword [rsp + 0x378]
mov r8, qword [rsp + 0x380]
lea rcx, [rsp + 0x388]
call qword [rax + 0x10]
jmp 0x140022e29
mov rcx, rbx
call qword [r14]
cmp qword [r14 + 8], 0
je 0x140022e29
cmp qword [r14 + 0x10], 0x11
jb 0x140022e18
mov rbx, qword [rbx - 8]
mov rcx, qword [0x1401ee100]
xor edx, edx
mov r8, rbx
call fcn.140104a84
xor ebx, ebx
mov r14, qword [rsp + 0x110]
jmp 0x140022e41
xor ebp, ebp
mov bl, 1
lea r13, [rsp + 0x370]
movups xmm0, xmmword [rsp + 0x190]
movaps xmmword [rsp + 0x3c0], xmm0
movups xmm0, xmmword [rsp + 0x180]
movaps xmmword [rsp + 0x3b0], xmm0
movdqu xmm0, xmmword [rsp + 0x140]
movupd xmm1, xmmword [rsp + 0x150]
movdqu xmm2, xmmword [rsp + 0x160]
movups xmm3, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0x3a0], xmm3
movdqa xmmword [rsp + 0x390], xmm2
movapd xmmword [rsp + 0x380], xmm1
movdqa xmmword [rsp + 0x370], xmm0
mov rax, qword [rsp + 0x1c8]
mov byte [rsp + 0x3da], al
mov word [rsp + 0x3d8], r14w
mov qword [rsp + 0x3d0], rsi
mov rax, qword [rsp + 0x280]
movzx eax, byte [rax]
movzx ecx, r14w
cmp ecx, 0x64
jg 0x140022ee7
mov rsi, qword [rsp + 0x118]
je 0x140022f1e
jmp 0x140022f10
cmp ecx, 0x65
mov rsi, qword [rsp + 0x118]
je 0x1400233fc
cmp ecx, 0xcc
je 0x140023402
cmp ecx, 0x130
je 0x140023402
lea ecx, [r14 - 0x66]
cmp cx, 0x62
jae 0x1400233dc
cmp qword [rsi + 8], 0
je 0x1400233ba
mov rcx, r13
call fcn.1400b20f0
cmp edi, 3
jne 0x140023044
mov rax, qword [rsp + 0xa8]
cmp eax, 3
je 0x140023044
cmp qword [rsp + 0xc8], 0
je 0x140022f6c
mov r8, qword [rsp + 0xc0]
mov rcx, qword [0x1401ee100]
xor edx, edx
call fcn.140104a84
mov rdi, qword [rsp + 0xe0]
test rdi, rdi
je 0x140022fc5
mov rsi, qword [rsp + 0xd0]
add rsi, 0x30
jmp 0x140022fab
mov rax, qword [rsi - 0x18]
mov rdx, qword [rsi - 0x10]
mov r8, qword [rsi - 8]
mov rcx, rsi
call qword [rax + 0x10]
add rsi, 0x60
dec rdi
je 0x140022fc5
mov rax, qword [rsi + 8]
test rax, rax
je 0x140022f90
lea rcx, [rsi + 0x20]
mov rdx, qword [rsi + 0x10]
mov r8, qword [rsi + 0x18]
call qword [rax + 0x10]
jmp 0x140022f90
cmp qword [rsp + 0xd8], 0
je 0x140022fe6
mov r8, qword [rsp + 0xd0]
mov rcx, qword [0x1401ee100]
xor edx, edx
call fcn.140104a84
mov rdi, qword [rsp + 0xf8]
test rdi, rdi
je 0x14002301b
mov rsi, qword [rsp + 0xe8]
add rsi, 0x38
nop
mov rax, qword [rsi - 0x18]
mov rdx, qword [rsi - 0x10]
mov r8, qword [rsi - 8]
mov rcx, rsi
call qword [rax + 0x10]
add rsi, 0x40
dec rdi
jne 0x140023000
cmp qword [rsp + 0xf0], 0
mov rsi, qword [rsp + 0x118]
je 0x140023044
mov r8, qword [rsp + 0xe8]
mov rcx, qword [0x1401ee100]
xor edx, edx
call fcn.140104a84
mov rax, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x128]
mov r8, qword [rsp + 0x130]
lea rcx, [rsp + 0x138]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x230]
test rax, rax
sete cl
or r15b, cl
jne 0x14001fe4f
mov rdx, qword [rsp + 0x238]
mov r8, qword [rsp + 0x240]
lea rcx, [rsp + 0x248]
call qword [rax + 0x10]
jmp 0x14001fe4f
mov r10d, 4
sub rsi, r10
mov qword [rsp + 0x48], rsi
je 0x14002330e
add rax, r10
xor r10d, r10d
xor esi, esi
jmp 0x1400230da
test dil, dil
movzx r10d, r10b
mov esi, 1
cmovs r10d, esi
mov rsi, r11
cmp qword [rsp + 0x48], r11
je 0x14002330e
movzx edi, byte [rax + rsi]
lea r11, [rsi + 1]
mov ebx, edi
add ebx, 0xfffffff7
cmp ebx, 0x17
ja case.0x1400230fa.11
lea r15, [0x140185c60]
movsxd rbx, dword [r15 + rbx*4]
add rbx, r15
jmp rbx
test dil, dil
js case.0x1400230fa.9
lea esi, [rdi - 0x21]
cmp sil, 0x5d
jbe case.0x1400230fa.9
jmp 0x140023324
sub qword [rsp + 0x48], r11
test r10b, 1
mov r10, rax
lea rcx, str.Invalid_checksumincomplete_frame
cmovne r10, rcx
lea rax, [rax + r11]
jmp 0x140023162
cmp qword [rsp + 0x48], r11
jbe 0x14002330e
cmp byte [rax + r11], 0xa
jne 0x140023324
lea rcx, [rsi + 2]
sub qword [rsp + 0x48], rcx
test r10b, 1
mov r10, rax
lea rcx, str.Invalid_checksumincomplete_frame
cmovne r10, rcx
lea rax, [rax + rsi + 2]
mov ecx, 0
cmovne rsi, rcx
mov qword [rsp + 0x70], r10
test r10, r10
jne 0x14002019d
jmp 0x14002330e
add r13, qword [rsp + 0x50]
jmp 0x1400231a4
cmp rdi, r13
jbe 0x14002330e
cmp byte [rbx + r13], 0xa
jne 0x1400232cb
mov rax, qword [rsp + 0x50]
add r13, rax
inc r13
mov rdi, r13
and rdi, 0xffffffffffffff00
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x110]
lea eax, [rcx - 0x3e8]
movzx eax, ax
cmp eax, 0xfc7c
jb 0x140023811
call fcn.14001f7a0
test rax, rax
je 0x1400231f4
cmp rsi, rdx
jne 0x1400231f4
mov rcx, rbx
mov rdx, rax
mov r8, rsi
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400232f3
lea rcx, [rsp + 0xa8]
mov rdx, rbx
mov r8, rsi
call fcn.140003980
cmp r12, 0x64
mov eax, 0x64
cmovb rax, r12
test rax, rax
mov rdx, qword [rsp + 0x118]
je 0x140023289
shl rax, 5
xor ecx, ecx
mov r11, qword [rsp + rcx + 0x378]
cmp r11, 0xffff
ja 0x1400237c1
mov r8, qword [rsp + rcx + 0x370]
mov r9, qword [rsp + rcx + 0x380]
sub r8, r14
add r11, r8
sub r9, r14
mov r10, qword [rsp + rcx + 0x388]
add r10, r9
mov qword [rsp + rcx + 0xff0], r8
mov qword [rsp + rcx + 0xff8], r11
mov qword [rsp + rcx + 0x1000], r9
mov qword [rsp + rcx + 0x1008], r10
add rcx, 0x20
cmp rax, rcx
jne 0x140023227
movzx eax, r13b
or rax, rdi
sub rbp, qword [rsp + 0x48]
mov qword [rsp + 0x60], rax
add rbp, rax
mov rax, qword [rsp + 0xa8]
lea rcx, [rsp + 0xb0]
movdqu xmm0, xmmword [rcx]
movdqa xmmword [rsp + 0x140], xmm0
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x150], rcx
jmp 0x1400209b2
mov rax, qword [rsp + 0x60]
and rax, 0xffffffffffffff00
or rax, 2
jmp 0x140020971
mov rax, qword [rsp + 0x60]
and rax, 0xffffffffffffff00
or rax, 1
jmp 0x140020971
mov qword [rsp + 0xa8], 0
jmp 0x140023207
mov eax, 5
jmp 0x140020971
mov rax, qword [rsp + 0x108]
mov qword [rax], 3
jmp 0x140023346
mov ecx, 2
shl ecx, 3
movabs rax, 0x409000a000000
shr rax, cl
mov rcx, qword [rsp + 0x108]
mov byte [rcx + 8], al
mov qword [rcx], 4
movaps xmm6, xmmword [rsp + 0x1c70]
movaps xmm7, xmmword [rsp + 0x1c80]
movaps xmm8, xmmword [rsp + 0x1c90]
movaps xmm9, xmmword [rsp + 0x1ca0]
movaps xmm10, xmmword [rsp + 0x1cb0]
movaps xmm11, xmmword [rsp + 0x1cc0]
add rsp, 0x1cd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x108]
mov byte [rax + 8], 0xb
mov qword [rax], 4
mov bpl, 1
xor edi, edi
mov bl, 1
test bpl, bpl
jne 0x140023499
jmp 0x14002359c
ud2
mov eax, 3
mov rcx, qword [rsp + 0x108]
mov qword [rcx], rax
lea rcx, [rsp + 0x370]
call fcn.1400b20f0
jmp 0x14002348d
cmp eax, 5
je 0x140023402
cmp eax, 7
jne 0x1400236f3
add r14d, 0xffffff38
cmp r14w, 0x64
jae 0x1400236f3
mov al, 1
xor edx, edx
jmp 0x140023406
xor edx, edx
xor eax, eax
movaps xmm0, xmmword [rsp + 0x3d0]
mov r8, qword [rsp + 0x108]
movups xmmword [r8 + 0x60], xmm0
movaps xmm0, xmmword [rsp + 0x3c0]
movups xmmword [r8 + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x3b0]
movups xmmword [r8 + 0x40], xmm0
movdqa xmm0, xmmword [rsp + 0x370]
movapd xmm1, xmmword [rsp + 0x380]
movdqa xmm2, xmmword [rsp + 0x390]
movaps xmm3, xmmword [rsp + 0x3a0]
movups xmmword [r8 + 0x30], xmm3
movdqu xmmword [r8 + 0x20], xmm2
movupd xmmword [r8 + 0x10], xmm1
movdqu xmmword [r8], xmm0
mov ecx, eax
xor cl, 1
movzx r9d, byte [rsp + 0x37]
and r9b, cl
mov qword [r8 + 0x70], rdx
mov byte [r8 + 0x78], 0
mov byte [r8 + 0x79], r9b
mov byte [r8 + 0x7a], al
mov dil, 1
test bpl, bpl
je 0x14002359c
mov rax, qword [rsp + 0xa8]
cmp eax, 3
je 0x14002359c
cmp qword [rsp + 0xc8], 0
je 0x1400234cb
mov r8, qword [rsp + 0xc0]
mov rcx, qword [0x1401ee100]
xor edx, edx
call fcn.140104a84
mov r14, qword [rsp + 0xe0]
test r14, r14
je 0x140023525
mov rsi, qword [rsp + 0xd0]
add rsi, 0x30
jmp 0x14002350b
mov rax, qword [rsi - 0x18]
mov rdx, qword [rsi - 0x10]
mov r8, qword [rsi - 8]
mov rcx, rsi
call qword [rax + 0x10]
add rsi, 0x60
dec r14
je 0x140023525
mov rax, qword [rsi + 8]
test rax, rax
je 0x1400234f0
lea rcx, [rsi + 0x20]
mov rdx, qword [rsi + 0x10]
mov r8, qword [rsi + 0x18]
call qword [rax + 0x10]
jmp 0x1400234f0
cmp qword [rsp + 0xd8], 0
je 0x140023546
mov r8, qword [rsp + 0xd0]
mov rcx, qword [0x1401ee100]
xor edx, edx
call fcn.140104a84
mov r14, qword [rsp + 0xf8]
test r14, r14
je 0x14002357b
mov rsi, qword [rsp + 0xe8]
add rsi, 0x38
nop
mov rax, qword [rsi - 0x18]
mov rdx, qword [rsi - 0x10]
mov r8, qword [rsi - 8]
mov rcx, rsi
call qword [rax + 0x10]
add rsi, 0x40
dec r14
jne 0x140023560
cmp qword [rsp + 0xf0], 0
je 0x14002359c
mov r8, qword [rsp + 0xe8]
mov rcx, qword [0x1401ee100]
xor edx, edx
call fcn.140104a84
test dil, dil
jne 0x140023697
cmp qword [rsp + 0x160], 0
je 0x1400235c6
mov r8, qword [rsp + 0x158]
mov rcx, qword [0x1401ee100]
xor edx, edx
call fcn.140104a84
mov rsi, qword [rsp + 0x168]
mov r14, qword [rsp + 0x178]
test r14, r14
je 0x140023625
lea rdi, [rsi + 0x30]
jmp 0x14002360b
mov rax, qword [rdi - 0x18]
mov rdx, qword [rdi - 0x10]
mov r8, qword [rdi - 8]
mov rcx, rdi
call qword [rax + 0x10]
add rdi, 0x68
dec r14
je 0x140023625
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x1400235f0
lea rcx, [rdi + 0x28]
mov rdx, qword [rdi + 0x18]
mov r8, qword [rdi + 0x20]
call qword [rax + 0x10]
jmp 0x1400235f0
cmp qword [rsp + 0x170], 0
je 0x140023641
mov rcx, qword [0x1401ee100]
xor edx, edx
mov r8, rsi
call fcn.140104a84
mov rsi, qword [rsp + 0x180]
mov r14, qword [rsp + 0x190]
test r14, r14
je 0x14002367b
lea rdi, [rsi + 0x38]
nop word [rax + rax]
mov rax, qword [rdi - 0x18]
mov rdx, qword [rdi - 0x10]
mov r8, qword [rdi - 8]
mov rcx, rdi
call qword [rax + 0x10]
add rdi, 0x48
dec r14
jne 0x140023660
cmp qword [rsp + 0x188], 0
je 0x140023697
mov rcx, qword [0x1401ee100]
xor edx, edx
mov r8, rsi
call fcn.140104a84
mov rax, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x128]
mov r8, qword [rsp + 0x130]
lea rcx, [rsp + 0x138]
call qword [rax + 0x10]
test bl, bl
je 0x140023346
mov rax, qword [rsp + 0x230]
test rax, rax
je 0x140023346
mov rdx, qword [rsp + 0x238]
mov r8, qword [rsp + 0x240]
lea rcx, [rsp + 0x248]
call qword [rax + 0x10]
jmp 0x140023346
movups xmm0, xmmword [0x1401a2d10]
movaps xmmword [rsp + 0x90], xmm0
movdqu xmm0, xmmword [0x1401a2d00]
movdqa xmmword [rsp + 0x80], xmm0
lea rcx, [rsp + 0x370]
lea rdx, [rsp + 0x80]
call fcn.14001a9a0
test al, al
je 0x140023750
mov cl, 2
cmp byte [rsp + 0x3da], 1
je 0x1400237ac
lea rcx, [rsp + 0x370]
call fcn.140027840
movzx edx, al
not rdx
jmp 0x140023404
lea rcx, [rsp + 0x370]
call fcn.1400273d0
cmp rax, 1
jne 0x140023771
mov cl, 9
cmp rdx, 0xfffffffffffffffe
jb 0x140023404
jmp 0x1400237ac
movups xmm0, xmmword [0x1401b44e0]
movaps xmmword [rsp + 0x90], xmm0
movdqu xmm0, xmmword [0x1401b44d0]
movdqa xmmword [rsp + 0x80], xmm0
lea rcx, [rsp + 0x370]
lea rdx, [rsp + 0x80]
call fcn.14001a9a0
mov cl, 1
test al, al
je 0x140023805
mov rax, qword [rsp + 0x108]
mov byte [rax + 8], cl
mov eax, 4
jmp 0x1400233bf
mov rax, qword [rsp + 0x108]
mov byte [rax + 8], 9
mov qword [rax], 4
mov rax, qword [rsp + 0xa8]
test rax, rax
je 0x140023346
lea rcx, [rsp + 0xc0]
mov rdx, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xb8]
call qword [rax + 0x10]
jmp 0x140023346
mov rdx, 0xffffffffffffffff
jmp 0x140023404
mov rax, qword [rsp + 0x108]
mov byte [rax + 8], 0xa
mov qword [rax], 4
jmp 0x140023346