Function at 0x1401395e0
Capabilities:
Validate payment card number using luhn algorithm

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r13, qword [rcx + 0x20]
lea r14, [rcx + 0xca8]
xor r15d, r15d
mov rbp, r9
mov qword [r9], r15
mov r12, r8
mov rsi, rdx
mov rdi, rcx
nop word [rax + rax]
mov r8, r12
mov edx, 0xa
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
mov rdx, rsi
mov rcx, r14
test rax, rax
je 0x14013a928
sub rbx, rsi
inc rbx
mov r8, rbx
call fcn.1401005b0
test eax, eax
jne 0x14013a81b
add qword [rbp], rbx
add rsi, rbx
sub r12, rbx
mov qword [rsp + 0x78], rsi
mov ebx, dword [rdi + 0x12c]
test ebx, ebx
jne 0x14013968f
mov r9, qword [rdi + 0xcb0]
mov rdx, r13
mov r8, qword [r14]
mov rcx, rdi
call fcn.140137f60
cmp eax, 2
je 0x14013a6fe
mov r14, qword [r14]
movzx eax, byte [r14]
cmp al, 0xa
je 0x140139d5a
cmp al, 0xd
je 0x140139d5a
lea eax, [rbx + 1]
mov ebp, 4
mov dword [rdi + 0x12c], eax
test ebx, ebx
jne 0x140139bf7
mov rax, qword [r13 + 0x360]
mov ecx, dword [rax + 0x84]
test ecx, 0xc0000003
je 0x140139a21
movzx eax, byte [r14]
mov rbx, r14
test al, al
je 0x1401396f4
cmp al, 0x20
je 0x1401396e9
cmp byte [rbx], 9
jne 0x1401396f4
movzx eax, byte [rbx + 1]
inc rbx
test al, al
jne 0x1401396e0
mov r8d, 5
lea rdx, str.HTTP_
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x140139798
movsx edx, byte [rbx + 5]
mov ecx, edx
sub ecx, 0x31
je 0x1401397ff
sub ecx, 1
je 0x14013972f
cmp ecx, 1
jne 0x14013a765
movzx eax, byte [rbx + 6]
cmp al, 0x20
je 0x14013973b
cmp al, 9
jne 0x140139798
movsx ecx, byte [rbx + 7]
lea eax, [rdx - 0x30]
lea r9d, [rax + rax*4]
add r9d, r9d
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x140139798
movsx edx, byte [rbx + 8]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x140139798
movsx r8d, byte [rbx + 9]
lea eax, [r8 - 0x30]
cmp al, 9
ja 0x140139798
lea ecx, [rcx + rcx*4]
lea ecx, [rdx + rcx*2]
lea ecx, [rcx + rcx*4]
lea ecx, [rcx - 0xa68]
lea ecx, [r8 + rcx*2]
mov dword [rdi + 0x138], ecx
movzx eax, byte [rbx + 0xa]
cmp al, 0x20
je 0x14013988a
sub al, 9
cmp al, bpl
jbe 0x14013988a
mov r11, qword [rdi + 0xcb0]
mov esi, r15d
mov rbx, qword [rdi + 0x6f0]
cmp r11, 5
mov r10, qword [rdi + 0xca8]
setae sil
test rbx, rbx
je 0x140139983
mov r8, qword [rbx]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [r8 + rax], 0
jne 0x1401397d0
cmp rax, r11
jae 0x1401398e7
mov rdx, 0xffffffffffffffff
nop word [rax + rax]
inc rdx
cmp byte [r8 + rdx], 0
jne 0x1401397f0
jmp 0x1401398ea
cmp byte [rbx + 6], 0x2e
jne 0x14013a7c7
movsx ecx, byte [rbx + 7]
lea eax, [rcx - 0x30]
cmp al, 1
ja 0x14013a7c7
movzx eax, byte [rbx + 8]
cmp al, 0x20
je 0x140139828
cmp al, 9
jne 0x14013a7c7
lea r9d, [rcx - 0x26]
movsx ecx, byte [rbx + 9]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x14013a7c7
movsx edx, byte [rbx + 0xa]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x14013a7c7
movsx r8d, byte [rbx + 0xb]
lea eax, [r8 - 0x30]
cmp al, 9
ja 0x14013a7c7
lea ecx, [rcx + rcx*4]
lea ecx, [rdx + rcx*2]
lea ecx, [rcx + rcx*4]
lea ecx, [rcx - 0xa68]
lea ecx, [r8 + rcx*2]
mov dword [rdi + 0x138], ecx
movzx eax, byte [rbx + 0xc]
cmp al, 0x20
je 0x14013988a
cmp al, 9
je 0x14013988a
sub al, 0xa
cmp al, 3
ja 0x14013a7c7
cmp ecx, 0x64
jl 0x14013a7b1
mov ecx, r9d
sub ecx, 0xa
je 0x1401398a4
cmp ecx, 1
jne 0x14013a77e
lea rbx, [r13 + 0x774]
mov byte [rbx], r9b
cmp dword [rdi + 0x154], 3
jne 0x1401398cc
cmp r9b, 0x14
je 0x1401398cc
lea rdx, str.Lying_server__not_serving_HTTP_2
mov rcx, rdi
call fcn.140102070
cmp byte [rbx], 0x14
jae 0x140139b06
mov rax, qword [r13 + 0x740]
mov dword [rax], 0xffffffff
jmp 0x140139b06
mov rdx, r11
test r8, r8
je 0x140139964
test r10, r10
je 0x14013996e
cmp byte [r8], 0
mov r9, r10
je 0x14013992d
lea rbp, [0x14026b9b0]
movzx eax, byte [r9]
test al, al
je 0x14013992d
test rdx, rdx
je 0x140139932
movzx ecx, byte [r8]
movzx eax, byte [rax + rbp]
cmp byte [rcx + rbp], al
jne 0x14013993b
inc r8
dec rdx
inc r9
cmp byte [r8], 0
jne 0x140139904
test rdx, rdx
jne 0x140139942
mov edx, 1
test edx, edx
jmp 0x14013996c
mov edx, r15d
test edx, edx
jmp 0x14013996c
movzx ecx, byte [r8]
mov edx, r15d
movzx eax, byte [r9]
lea r8, [0x14026b9b0]
movzx eax, byte [rax + r8]
cmp byte [rcx + r8], al
sete dl
test edx, edx
jmp 0x14013996c
test r10, r10
jne 0x14013996e
test rdx, rdx
jne 0x14013997d
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x1401397c1
jmp 0x140139983
cmp r11, 5
jae 0x1401399ff
cmp r11, 5
mov eax, 5
cmova r11, rax
test r10, r10
je 0x14013a7dd
lea rdx, str.HTTP_
lea r8, [0x14026b9b0]
movzx eax, byte [r10]
test al, al
je 0x1401399d0
test r11, r11
je 0x1401399d5
movzx ecx, byte [rdx]
movzx eax, byte [rax + r8]
cmp byte [rcx + r8], al
jne 0x1401399dc
inc rdx
dec r11
inc r10
cmp byte [rdx], 0
jne 0x1401399a7
test r11, r11
jne 0x1401399e1
mov edx, 1
jmp 0x1401399f7
mov edx, r15d
jmp 0x1401399f7
movzx ecx, byte [rdx]
mov edx, r15d
movzx eax, byte [r10]
movzx eax, byte [rax + r8]
cmp byte [rcx + r8], al
sete dl
test edx, edx
je 0x14013a7dd
cmp esi, 1
jne 0x14013a7dd
lea rbx, [r13 + 0x774]
mov dword [rdi + 0x138], Ordinal_208
mov byte [rbx], 0xa
jmp 0x140139b06
bt ecx, 0x12
jae 0x14013a7dd
movzx eax, byte [r14]
mov rbx, r14
test al, al
je 0x140139a4a
cmp al, 0x20
je 0x140139a3f
cmp byte [rbx], 9
jne 0x140139a4a
movzx eax, byte [rbx + 1]
inc rbx
test al, al
jne 0x140139a36
mov r8d, 5
lea rdx, str.RTSP_
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x14013a7dd
movzx eax, byte [rbx + 5]
sub al, 0x30
cmp al, 9
ja 0x14013a9c6
cmp byte [rbx + 6], 0x2e
jne 0x14013a9c6
movzx eax, byte [rbx + 7]
sub al, 0x30
cmp al, 9
ja 0x14013a9c6
movzx eax, byte [rbx + 8]
cmp al, 0x20
je 0x140139a9e
cmp al, 9
jne 0x14013a9c6
movsx ecx, byte [rbx + 9]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x14013a9c6
movsx edx, byte [rbx + 0xa]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x14013a9c6
movsx r8d, byte [rbx + 0xb]
lea eax, [r8 - 0x30]
cmp al, 9
ja 0x14013a9c6
lea ecx, [rcx + rcx*4]
lea ecx, [rdx + rcx*2]
lea ecx, [rcx + rcx*4]
lea ecx, [rcx - 0xa68]
lea ecx, [r8 + rcx*2]
mov dword [rdi + 0x138], ecx
movzx eax, byte [rbx + 0xc]
cmp al, 0x20
je 0x140139afc
cmp al, 9
je 0x140139afc
sub al, 0xa
cmp al, 3
ja 0x14013a9c6
lea rbx, [r13 + 0x774]
mov byte [rbx], listen
mov eax, dword [rdi + 0x138]
movzx ecx, byte [rdi + 0x12f9]
mov dword [rdi + 0x1320], eax
movzx eax, byte [rbx]
mov dword [rdi + 0x1328], eax
movzx eax, byte [rbx]
test cl, cl
je 0x140139b2d
cmp cl, al
jbe 0x140139b33
mov byte [rdi + 0x12f9], al
cmp qword [rdi + 0x1100], 0
je 0x140139b59
cmp byte [rdi + 0x12fa], 0
jne 0x140139b59
cmp dword [rdi + 0x138], 0x1a0
jne 0x140139b59
mov byte [rdi + 0x1ea], 1
movzx eax, byte [r13 + 0x774]
cmp al, 0xa
jne 0x140139b88
lea rdx, str.HTTP_1.0__assume_close_after_body
mov rcx, rdi
call fcn.140102070
cmp byte [r13 + 0x346], 1
je 0x140139bab
mov byte [r13 + 0x346], 1
jmp 0x140139bab
cmp al, 0x14
je 0x140139b9e
cmp dword [rdi + 0x154], 2
jne 0x140139bab
cmp dword [rdi + 0x138], 0x65
jne 0x140139bab
mov rax, qword [r13 + 0x740]
mov dword [rax], 2
mov ecx, dword [rdi + 0x138]
lea eax, [rcx - 0x64]
cmp eax, 0x63
setbe al
mov byte [rdi + 0x1eb], al
sub ecx, 0xcc
je 0x140139bdd
cmp ecx, 0x64
jne 0x140139bf2
cmp byte [rdi + 0x540], 0
je 0x140139bdd
mov byte [rdi + 0x13fc], 1
mov qword [rdi + 0xf0], r15
mov qword [rdi + 0xf8], r15
mov byte [rdi + 0x1eb], 1
mov ebp, ntohs
mov rbx, qword [rdi + 0xca8]
xor edx, edx
mov rsi, qword [rdi + 0xcb0]
mov rcx, rbx
mov r8, rsi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x14013a848
mov ecx, dword [rdi + 0x12c]
cmp ecx, 2
jl 0x140139c4f
movzx eax, byte [rbx]
cmp al, 0x20
je 0x140139c31
cmp al, 9
jne 0x140139c36
cmp ecx, 2
jg 0x140139c4f
mov r8, rsi
mov edx, 0x3a
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x14013a830
mov r8, r14
mov rdx, r13
mov rcx, rdi
call fcn.140138190
test eax, eax
jne 0x14013a81b
mov eax, dword [rdi + 0x138]
sub eax, 0x64
cmp eax, 0x64
jae 0x140139c76
or ebp, 0x20
mov r9, qword [rdi + 0xcb0]
mov r8, r14
mov edx, 1
mov rcx, rdi
call fcn.140101df0
cmp qword [rdi + 0x158], 0
mov rbx, qword [rdi + 0xcb0]
jne 0x140139cae
mov rcx, rdi
call fcn.140100c60
test eax, eax
jne 0x14013a81b
mov rdx, qword [rdi + 0x158]
test rdx, rdx
jne 0x140139cc1
mov eax, reloc.WS2_32.dll_socket
jmp 0x140139cd5
mov rax, qword [rdx]
mov r9, r14
mov r8d, ebp
mov qword [rsp + 0x20], rbx
mov rcx, rdi
call qword [rax + Ordinal_26]
test eax, eax
jne 0x14013a81b
mov rcx, qword [rdi + 0xcb0]
mov r9d, 0x4b000
mov r8d, dword [rdi + 0x124]
cmp rcx, r9
jae 0x140139d2e
mov edx, dword [rdi + 0x1368]
lea eax, [rcx + r8]
add dword [rdi + 0x120], ecx
add edx, ecx
mov dword [rdi + 0x1368], edx
mov dword [rdi + 0x124], eax
cmp eax, r9d
ja 0x140139d29
cmp edx, 0x5dc000
jbe 0x140139d3a
mov r9d, 0x5dc000
mov eax, edx
mov r8d, eax
jmp 0x140139d31
add r8, rcx
test r8, r8
jne 0x14013a90f
cmp qword [rdi + 0xcb0], 0
je 0x140139d4e
mov rax, qword [rdi + 0xca8]
mov byte [rax], 0
mov qword [rdi + 0xcb0], r15
jmp 0x14013a6dc
mov ecx, dword [rdi + 0x138]
xor r15b, r15b
lea eax, [rcx - 0x64]
cmp eax, 0x63
ja 0x140139e6a
sub ecx, 0x64
je 0x140139e2c
cmp ecx, 1
je 0x140139d93
mov byte [rdi + 0x1e1], 1
mov dword [rdi + 0x12c], 0
jmp 0x140139f1b
cmp byte [r13 + 0x774], 0xb
jne 0x14013a860
mov eax, dword [rdi + 0x154]
cmp eax, 2
jne 0x140139dde
lea rdx, str.Received_101__Switching_to_HTTP_2
mov rcx, rdi
call fcn.140102070
mov dword [rdi + 0x154], 3
mov r15b, 1
mov byte [rdi + 0x1e1], 1
mov dword [rdi + 0x12c], 0
jmp 0x140139f1b
cmp eax, 1
jne 0x140139e20
mov r8, r12
mov rdx, rsi
mov rcx, rdi
call fcn.140148af0
test eax, eax
jne 0x14013a81b
add qword [rbp], r12
xor r12d, r12d
mov byte [rdi + 0x1e1], r15b
cmp byte [rdi + 0xa99], r12b
je 0x140139f1b
and dword [rdi + 0x13c], 0xfffffffe
jmp 0x140139f1b
mov byte [rdi + 0x1e1], r15b
jmp 0x140139f1b
cmp dword [rdi + 0x150], 0
mov byte [rdi + 0x1e1], 1
mov dword [rdi + 0x12c], 0
jle 0x140139f1b
or dword [rdi + 0x13c], 2
xor edx, edx
mov rcx, rdi
mov dword [rdi + 0x150], 0
call fcn.14010b8d0
jmp 0x140139f1b
cmp dword [rdi + 0x154], 2
jne 0x140139e81
mov rax, qword [rdi + 0xd8]
mov byte [rax + 0x1ca], 1
cmp qword [rdi + 0xf0], 0xffffffffffffffff
mov byte [rdi + 0x1e1], r15b
jne 0x140139f1b
cmp byte [rdi + 0x1ec], r15b
jne 0x140139f1b
cmp byte [r13 + 0x346], r15b
jne 0x140139f1b
cmp byte [r13 + 0x774], 0xb
jne 0x140139f1b
mov rax, qword [r13 + 0x360]
test dword [rax + 0x84], 0x40000
jne 0x140139f1b
cmp byte [rdi + 0x12fa], 5
je 0x140139f1b
lea rdx, str.no_chunk__no_close__no_size._Assume_close_to_signal_end
mov rcx, rdi
call fcn.140102070
mov rcx, qword [r13 + 0x250]
test rcx, rcx
je 0x140139f09
nop dword [rax]
mov rax, qword [rcx]
mov edx, dword [rax + 8]
test dl, 4
jne 0x140139f1b
test dl, 3
jne 0x140139f09
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x140139ef0
mov al, 1
cmp al, byte [r13 + 0x346]
je 0x140139f1b
mov byte [r13 + 0x346], al
cmp byte [rdi + 0x1e1], 0
jne 0x140139fac
cmp byte [rdi + 0x1ed], 0
jne 0x140139f96
cmp byte [rdi + 0x1ec], 0
jne 0x140139f96
mov r8, qword [rdi + 0xf0]
cmp r8, 0xffffffffffffffff
je 0x140139fac
mov rax, qword [rdi + 0x700]
test rax, rax
je 0x140139f5c
cmp r8, rax
jg 0x14013a876
mov edx, dword [rdi + 0xb24]
xor ecx, ecx
mov eax, edx
test r8, r8
cmovns rcx, r8
and eax, 0xffffffbf
or edx, 0x40
test r8, r8
cmovs edx, eax
mov dword [rdi + 0xb24], edx
mov qword [rdi + 0xaf8], rcx
mov rax, qword [rdi + 0xf0]
mov qword [rdi + 0xf8], rax
jmp 0x140139fac
mov qword [rdi + 0xf8], 0xffffffffffffffff
mov qword [rdi + 0xf0], 0xffffffffffffffff
cmp byte [r13 + 0x346], 0
je 0x14013a044
mov eax, dword [rdi + 0x138]
cmp eax, 0x191
jne 0x140139fd3
cmp dword [r13 + 0x428], 2
je 0x140139fe4
jmp 0x140139ffa
cmp eax, 0x197
jne 0x140139ffa
cmp dword [r13 + 0x42c], 2
jne 0x140139ffa
lea rdx, str.Connection_closure_while_negotiating_auth__HTTP_1.0__
mov rcx, rdi
call fcn.140102070
mov byte [rdi + 0x1301], 1
cmp byte [r13 + 0x346], 0
je 0x14013a044
mov eax, dword [rdi + 0x138]
cmp eax, 0x191
jne 0x14013a01d
cmp dword [r13 + 0x520], 1
je 0x14013a02e
jmp 0x14013a044
cmp eax, 0x197
jne 0x14013a044
cmp dword [r13 + 0x524], 1
jne 0x14013a044
lea rdx, str.Connection_closure_while_negotiating_auth__HTTP_1.0__
mov rcx, rdi
call fcn.140102070
mov byte [rdi + 0x1301], 1
cmp dword [r13 + 0x520], 3
jne 0x14013a065
cmp dword [rdi + 0x138], 0x191
je 0x14013a065
mov dword [r13 + 0x520], 4
cmp dword [r13 + 0x524], 3
jne 0x14013a086
cmp dword [rdi + 0x138], 0x197
je 0x14013a086
mov dword [r13 + 0x524], 4
mov eax, dword [rdi + 0x138]
mov esi, 4
mov rbx, qword [rdi + 0xcb0]
sub eax, 0x64
mov rbp, qword [rdi + 0xca8]
cmp eax, 0x64
mov eax, 0x24
cmovb esi, eax
cmp qword [rdi + 0x158], 0
jne 0x14013a0c7
mov rcx, rdi
call fcn.140100c60
test eax, eax
jne 0x14013a81b
mov rdx, qword [rdi + 0x158]
test rdx, rdx
jne 0x14013a0da
mov eax, reloc.WS2_32.dll_socket
jmp 0x14013a0ee
mov rax, qword [rdx]
mov r9, rbp
mov r8d, esi
mov qword [rsp + 0x20], rbx
mov rcx, rdi
call qword [rax + Ordinal_26]
test eax, eax
jne 0x14013a81b
mov edx, dword [rdi + 0x124]
mov r9d, 0x4b000
cmp rbx, r9
jae 0x14013a13e
mov ecx, dword [rdi + 0x1368]
lea eax, [rbx + rdx]
add dword [rdi + 0x120], ebx
add ecx, ebx
mov dword [rdi + 0x1368], ecx
mov dword [rdi + 0x124], eax
cmp eax, r9d
ja 0x14013a139
cmp ecx, 0x5dc000
jbe 0x14013a14b
mov r9d, 0x5dc000
mov eax, ecx
mov r8d, eax
jmp 0x14013a142
lea r8, [rbx + rdx]
test r8, r8
jne 0x14013a90f
cmp byte [rdi + 0xaae], 0
mov eax, dword [rdi + 0x138]
je 0x14013a1b5
cmp eax, 0x190
jl 0x14013a1b5
cmp qword [rdi + 0x1100], 0
je 0x14013a17b
cmp byte [rdi + 0x12fa], 0
jne 0x14013a17b
cmp eax, 0x1a0
je 0x14013a1b5
cmp eax, 0x191
je 0x14013a19a
cmp eax, 0x197
jne 0x14013a8ef
mov rax, qword [rdi + 0x20]
cmp byte [rax + 0x342], 0
jmp 0x14013a1a2
cmp qword [rdi + 0x12d8], 0
je 0x14013a8ef
cmp byte [rdi + 0x1301], 0
jne 0x14013a8ef
cmp dword [rdi + 0x154], 1
mov r8d, dword [rdi + 0x138]
je 0x14013a8d6
lea eax, [r8 - 0x64]
cmp eax, 0x63
ja 0x14013a1da
mov eax, dword [rdi + 0x120]
jmp 0x14013a1dc
xor eax, eax
mov edx, dword [rdi + 0x138]
xor bpl, bpl
mov rsi, qword [rdi + 0x20]
xor r14b, r14b
mov dword [rdi + 0x128], eax
xor ebx, ebx
mov rcx, qword [rdi + 0x930]
mov eax, 0xffffffff
test rcx, rcx
mov r9d, 0xffffffbf
cmovne r9d, eax
lea eax, [rdx - 0x64]
cmp eax, 0x63
jbe 0x14013a3fd
lea r8, [rdi + 0x1301]
cmp byte [r8], bl
je 0x14013a238
movzx eax, byte [rdi + 0xaae]
neg al
sbb ebx, ebx
and ebx, 0x16
jmp 0x14013a3f5
mov rax, r8
cmp qword [rdi + 0x12d8], rbx
jne 0x14013a250
test rcx, rcx
je 0x14013a2bd
lea rax, [rdi + 0x1301]
cmp edx, 0x191
je 0x14013a26b
cmp byte [rdi + 0x1f1], bl
je 0x14013a2bd
mov r8, rax
cmp edx, 0x12c
jge 0x14013a2bd
lea rcx, [rdi + 0xd68]
mov edx, r9d
call fcn.140133060
movzx ebp, al
test al, al
jne 0x14013a285
mov byte [r8], 1
cmp dword [rdi + 0xd6c], 8
jne 0x14013a2bd
cmp byte [rsi + 0x774], 0xb
jbe 0x14013a2bd
lea rdx, str.Forcing_HTTP_1.1_for_NTLM
mov rcx, rdi
call fcn.140102070
cmp byte [rsi + 0x346], 1
je 0x14013a2b6
mov byte [rsi + 0x346], 1
mov byte [rdi + 0x12f8], 2
cmp byte [rsi + 0x342], bl
je 0x14013a301
mov eax, dword [rdi + 0x138]
cmp eax, 0x197
je 0x14013a2e1
cmp byte [rdi + 0x1f1], bl
je 0x14013a301
cmp eax, 0x12c
jge 0x14013a301
lea rcx, [rdi + 0xd78]
mov edx, 0xffffffbf
call fcn.140133060
movzx r14d, al
test al, al
jne 0x14013a301
mov byte [rdi + 0x1301], 1
test bpl, bpl
jne 0x14013a370
test r14b, r14b
jne 0x14013a370
cmp dword [rdi + 0x138], 0x12c
jge 0x14013a3d1
cmp byte [rdi + 0xd74], bl
jne 0x14013a3d1
cmp byte [rdi + 0x1f1], bl
je 0x14013a3d1
movzx eax, byte [rdi + 0x12fa]
test al, al
je 0x14013a3d1
cmp al, 5
je 0x14013a3d1
mov rcx, qword [rdi + 0x1198]
call qword [case.0x140114cc7.0]
mov qword [rdi + 0x1c8], rax
test rax, rax
je 0x14013a88c
mov byte [rdi + 0xd74], 1
jmp 0x14013a3d1
movzx eax, byte [rdi + 0x12fa]
test al, al
je 0x14013a39c
cmp al, 5
je 0x14013a39c
cmp byte [rdi + 0x1e7], bl
jne 0x14013a39c
mov rdx, rsi
mov rcx, rdi
call fcn.140133120
mov ebx, eax
test eax, eax
jne 0x14013a891
mov rcx, qword [rdi + 0x1c8]
call qword [fcn.14016f1de]
mov rcx, qword [rdi + 0x1198]
mov qword [rdi + 0x1c8], 0
call qword [case.0x140114cc7.0]
mov qword [rdi + 0x1c8], rax
test rax, rax
je 0x14013a88c
mov rcx, rdi
call fcn.1401343c0
test al, al
je 0x14013a3f5
mov r8d, dword [rdi + 0x138]
lea rdx, str.The_requested_URL_returned_error:__d
call fcn.140101f40
mov ebx, socket
test ebx, ebx
jne 0x14013a891
cmp dword [rdi + 0x138], 0x12c
jl 0x14013a6a4
cmp byte [rdi + 0x1f1], 0
jne 0x14013a67c
cmp byte [r13 + 0x346], 0
jne 0x14013a67c
cmp byte [rdi + 0x1e7], 0
jne 0x14013a685
movzx ecx, byte [rdi + 0x12fa]
sub ecx, 1
je 0x14013a454
sub ecx, 1
je 0x14013a454
sub ecx, 1
je 0x14013a454
cmp ecx, 1
jne 0x14013a67c
xor edx, edx
mov rcx, rdi
call fcn.14010b8d0
cmp byte [rdi + 0x1e8], 0
jne 0x14013a67c
cmp dword [rdi + 0x138], 0x1a1
jne 0x14013a588
cmp byte [rdi + 0x1303], 0
je 0x14013a588
cmp qword [rdi + 0x108], 0
jne 0x14013a4ac
cmp dword [rdi + 0x150], 1
jne 0x14013a4ac
lea rdx, str.Got_HTTP_failure_417_while_waiting_for_a_100
mov rcx, rdi
call fcn.140102070
jmp 0x14013a50e
lea rdx, str.Got_HTTP_failure_417_while_sending_data
mov rcx, rdi
call fcn.140102070
mov rcx, qword [r13 + 0x250]
test rcx, rcx
je 0x14013a4e9
nop word [rax + rax]
mov rax, qword [rcx]
mov edx, dword [rax + 8]
test dl, 4
jne 0x14013a4fb
test dl, 3
jne 0x14013a4e9
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x14013a4d0
mov al, 1
cmp al, byte [r13 + 0x346]
je 0x14013a4fb
mov byte [r13 + 0x346], al
mov rdx, r13
mov rcx, rdi
call fcn.140133120
test eax, eax
jne 0x14013a81b
mov rcx, qword [rdi + 0x1198]
mov byte [rdi + 0x1304], 1
call qword [case.0x140114cc7.0]
cmp byte [rdi + 0x1e8], 0
mov qword [rdi + 0x1c8], rax
jne 0x14013a67c
mov rcx, qword [rdi + 0x168]
test rcx, rcx
je 0x14013a569
mov rax, qword [rcx]
mov qword [rdi + 0x168], rax
mov rax, qword [rdi + 0x178]
mov qword [rcx], rax
mov qword [rdi + 0x178], rcx
mov rcx, qword [rdi + 0x168]
test rcx, rcx
jne 0x14013a542
mov qword [rdi + 0x170], 0
mov rcx, rdi
mov byte [rdi + 0x1e9], 1
call fcn.14011d5b0
jmp 0x14013a67c
cmp byte [rdi + 0xaaf], 0
mov rcx, rdi
je 0x14013a5c3
lea rdx, str.HTTP_error_before_end_of_send__keep_sending
call fcn.140102070
cmp dword [rdi + 0x150], 0
jle 0x14013a67c
or dword [rdi + 0x13c], 2
mov dword [rdi + 0x150], 0
jmp 0x14013a67c
lea rdx, str.HTTP_error_before_end_of_send__stop_sending
call fcn.140102070
mov rcx, qword [r13 + 0x250]
test rcx, rcx
je 0x14013a5f9
nop dword [rax + rax]
mov rax, qword [rcx]
mov edx, dword [rax + 8]
test dl, 4
jne 0x14013a60b
test dl, 3
jne 0x14013a5f9
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x14013a5e0
mov al, 1
cmp al, byte [r13 + 0x346]
je 0x14013a60b
mov byte [r13 + 0x346], al
cmp byte [rdi + 0x1e8], 0
jne 0x14013a669
mov rcx, qword [rdi + 0x168]
test rcx, rcx
je 0x14013a647
mov rax, qword [rcx]
mov qword [rdi + 0x168], rax
mov rax, qword [rdi + 0x178]
mov qword [rcx], rax
mov qword [rdi + 0x178], rcx
mov rcx, qword [rdi + 0x168]
test rcx, rcx
jne 0x14013a620
mov qword [rdi + 0x170], 0
mov rcx, rdi
mov byte [rdi + 0x1e9], 1
call fcn.14011d5b0
test eax, eax
jne 0x14013a81b
cmp byte [rdi + 0x1303], 0
je 0x14013a67c
mov dword [rdi + 0x150], 3
cmp byte [rdi + 0x1e7], 0
je 0x14013a6a4
cmp byte [rdi + 0x1e8], 0
jne 0x14013a6a4
lea rdx, str.Keep_sending_data_to_get_tossed_away
mov rcx, rdi
call fcn.140102070
or dword [rdi + 0x13c], 2
cmp byte [rdi + 0x1e1], 0
je 0x14013a895
cmp qword [rdi + 0xcb0], 0
je 0x14013a6c5
mov rax, qword [rdi + 0xca8]
mov byte [rax], 0
mov qword [rdi + 0xcb0], 0
test r15b, r15b
jne 0x14013a9ec
xor r15d, r15d
test r12, r12
je 0x14013a7e4
mov rsi, qword [rsp + 0x78]
lea r14, [rdi + 0xca8]
mov rbp, qword [rsp + 0x88]
jmp 0x140139620
test r13, r13
je 0x14013a729
mov rcx, qword [r13 + 0x250]
test rcx, rcx
je 0x14013a729
nop
mov rax, qword [rcx]
mov edx, dword [rax + 8]
test dl, 4
jne 0x14013a73b
test dl, 3
jne 0x14013a729
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x14013a710
mov al, 1
cmp al, byte [r13 + 0x346]
je 0x14013a73b
mov byte [r13 + 0x346], al
cmp byte [r13 + 0x774], 0xa
jae 0x14013a9b7
cmp byte [rdi + 0xad1], 0
je 0x14013a9dd
mov byte [rdi + 0x1e1], 0
mov r15b, 1
jmp 0x14013a7e7
lea rdx, str.Unsupported_HTTP_version_in_response
mov rcx, rdi
call fcn.140101f40
mov eax, 1
jmp 0x14013a81b
mov eax, 0x66666667
mov rcx, rdi
imul r9d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov r8d, edx
lea eax, [rdx + rdx*4]
add eax, eax
lea rdx, str.Unsupported_HTTP_version___u._d__in_response
sub r9d, eax
call fcn.140101f40
mov eax, 1
jmp 0x14013a81b
lea rdx, str.Unsupported_response_code_in_HTTP_response
mov rcx, rdi
call fcn.140101f40
mov eax, 1
jmp 0x14013a81b
lea rdx, str.Unsupported_HTTP_1_subversion_in_response
mov rcx, rdi
call fcn.140101f40
mov eax, 1
jmp 0x14013a81b
mov byte [rdi + 0x1e1], 0
xor r15b, r15b
cmp byte [rdi + 0x1e1], 0
jne 0x14013a819
test r15b, r15b
jne 0x14013a819
mov rcx, qword [rdi + 0xca8]
call qword [fcn.14016f1de]
xor eax, eax
mov qword [rdi + 0xca8], rax
mov qword [rdi + 0xcb8], rax
mov qword [rdi + 0xcb0], rax
xor eax, eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rdx, str.Header_without_colon
mov rcx, rdi
mov ebx, 8
call fcn.140101f40
mov eax, ebx
jmp 0x14013a81b
lea rdx, str.Nul_byte_in_header
mov rcx, rdi
mov ebx, 8
call fcn.140101f40
mov eax, ebx
jmp 0x14013a81b
lea rdx, str.unexpected_101_response_code
mov rcx, rdi
call fcn.140101f40
mov eax, 8
jmp 0x14013a81b
lea rdx, str.Maximum_file_size_exceeded
mov rcx, rdi
call fcn.140101f40
mov eax, 0x3f
jmp 0x14013a81b
mov ebx, reloc.WLDAP32.dll_Ordinal_27
mov eax, ebx
jmp 0x14013a81b
cmp byte [rdi + 0x1f0], 0
je 0x14013a8a5
mov byte [rdi + 0x1e4], 1
cmp qword [rdi + 0xf8], 0
jne 0x14013a8b6
mov byte [rdi + 0x1e4], 1
mov r9, qword [rdi + 0xcb0]
mov edx, 1
mov r8, qword [rdi + 0xca8]
mov rcx, rdi
call fcn.140101df0
jmp 0x14013a7e4
lea rdx, str.Refused_WebSockets_upgrade:__d
mov rcx, rdi
call fcn.140101f40
mov eax, socket
jmp 0x14013a81b
mov r8d, dword [rdi + 0x138]
lea rdx, str.The_requested_URL_returned_error:__d
mov rcx, rdi
call fcn.140101f40
mov eax, socket
jmp 0x14013a81b
lea rdx, str.Too_large_response_headers:__zu____u
mov rcx, rdi
call fcn.140101f40
mov eax, gethostname
jmp 0x14013a81b
mov r8, r12
call fcn.1401005b0
test eax, eax
jne 0x14013a81b
add qword [rbp], r12
cmp dword [rdi + 0x12c], eax
jne 0x14013a7e4
mov r9, qword [rdi + 0xcb0]
mov rdx, r13
mov r8, qword [rdi + 0xca8]
mov rcx, rdi
call fcn.140137f60
cmp eax, 2
jne 0x14013a7e4
mov byte [rdi + 0x1e1], 0
test r13, r13
je 0x14013a99b
mov rcx, qword [r13 + 0x250]
test rcx, rcx
je 0x14013a99b
mov rax, qword [rcx]
mov edx, dword [rax + 8]
test dl, 4
jne 0x14013a9ad
test dl, 3
jne 0x14013a99b
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x14013a982
mov al, 1
cmp al, byte [r13 + 0x346]
je 0x14013a9ad
mov byte [r13 + 0x346], al
cmp byte [r13 + 0x774], 0xa
jb 0x14013a9d0
lea rdx, str.Invalid_status_line
mov rcx, rdi
call fcn.140101f40
mov eax, 8
jmp 0x14013a81b
cmp byte [rdi + 0xad1], 0
jne 0x14013a75d
lea rdx, str.Received_HTTP_0.9_when_not_allowed
mov rcx, rdi
call fcn.140101f40
mov eax, 1
jmp 0x14013a81b