Function at 0x1401fbfb0
Capabilities:
Check for software breakpoints
Parse credit card information

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rax, qword [r9]
mov r12d, dword [rsp + 0x90]
mov rdi, rcx
mov rbx, rdx
mov rcx, qword [rax + 0x10]
mov rdx, qword [rax + 0x18]
mov rbp, r8
mov rsi, r9
call sym.nghttp2_check_header_name
test eax, eax
jne 0x1401fc022
mov rax, qword [rsi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1401fc161
mov r8, qword [rax + 0x10]
xor eax, eax
cmp byte [r8], 0x3a
je case.0x1401fc217.56
cmp rcx, rax
je 0x1401fc161
mov dil, byte [r8 + rax]
lea edx, [rdi - 0x41]
cmp dl, 0x19
jbe case.0x1401fc217.56
inc rax
jmp 0x1401fc004
mov rcx, qword [rsi + 8]
mov eax, dword [rsi + 0x10]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
cmp eax, 5
je 0x1401fc08f
jg 0x1401fc04b
cmp eax, 1
je 0x1401fc05e
cmp eax, 3
je 0x1401fc068
test eax, eax
je 0x1401fc072
jmp 0x1401fc12f
cmp eax, 0x25
je 0x1401fc072
cmp eax, 0x42
je 0x1401fc106
jmp 0x1401fc12f
call sym.nghttp2_check_method
jmp 0x1401fc148
call sym.nghttp2_check_path
jmp 0x1401fc148
cmp byte [rdi + 0xb3c], 0
jne 0x1401fc085
cmp byte [rbp + 0xc], 5
jne 0x1401fc12f
call sym.nghttp2_check_authority
jmp 0x1401fc148
test rdx, rdx
jne 0x1401fc0bc
mov rax, qword [rsi]
cmp qword [rax + 0x18], 0
jne 0x1401fc154
mov r8d, 0x1a8
lea rdx, str.nghttp2_lib_nghttp2_http.c
lea rcx, str.nv__name__len___0
call qword [sym.imp.msvcrt.dll__assert]
mov al, byte [rcx]
and eax, 0xffffffdf
sub eax, 0x41
cmp al, 0x19
ja 0x1401fc094
movabs r9, 0x3ff680000000000
add rdx, rcx
inc rcx
cmp rdx, rcx
je 0x1401fc0ff
mov al, byte [rcx]
mov r8d, eax
and r8d, 0xffffffdf
sub r8d, 0x41
cmp r8b, 0x19
jbe 0x1401fc0fa
cmp al, 0x39
ja 0x1401fc146
bt r9, rax
jae 0x1401fc146
inc rcx
jmp 0x1401fc0d8
mov eax, 1
jmp 0x1401fc148
test byte [rbx + 0xd8], 0x40
je 0x1401fc12f
xor eax, eax
cmp rax, rdx
je 0x1401fc094
mov r8b, byte [rcx + rax]
cmp r8b, 0x20
je 0x1401fc12a
cmp r8b, 9
jne 0x1401fc12f
inc rax
jmp 0x1401fc111
test byte [rbx + 0xd8], 0x40
je 0x1401fc13f
call sym.nghttp2_check_header_value
jmp 0x1401fc148
call sym.nghttp2_check_header_value_rfc9113
jmp 0x1401fc148
xor eax, eax
mov rdx, qword [rsi]
test eax, eax
jne 0x1401fc17a
jmp 0x1401fc094
mov rax, qword [rax + 0x10]
cmp byte [rax], 0x3a
je case.0x1401fc217.56
mov eax, dword [rbx + 0xd4]
or eax, 0x40
mov dword [rbx + 0xd4], eax
mov eax, 0xffffff97
jmp 0x1401fc644
mov r13, qword [rdx + 0x10]
cmp byte [rdi + 0xb3c], 0
mov dl, byte [r13]
jne 0x1401fc199
cmp byte [rbp + 0xc], 5
jne 0x1401fc4d0
xor ecx, ecx
jmp 0x1401fc1a5
xor ecx, ecx
cmp byte [rdi + 0xb39], 0
setne cl
cmp dl, 0x3a
jne 0x1401fc1c0
test r12d, r12d
jne case.0x1401fc217.56
test byte [rbx + 0xd4], 0x40
jne case.0x1401fc217.56
mov eax, dword [rsi + 0x10]
cmp eax, 0x25
je 0x1401fc3de
jg 0x1401fc1fd
cmp eax, 3
je 0x1401fc2f5
jg 0x1401fc1e6
test eax, eax
je 0x1401fc219
dec eax
je 0x1401fc224
jmp case.0x1401fc217.57
cmp eax, 5
je 0x1401fc34d
cmp eax, 0x1b
je 0x1401fc3e6
jmp case.0x1401fc217.57
sub eax, 0x38
cmp eax, 0xb
ja case.0x1401fc217.57
lea r8, [0x1402c0a90]
movsxd rax, dword [r8 + rax*4]
add rax, r8
jmp rax
mov r8d, 1
jmp 0x1401fc3cc
mov r8d, 4
mov rdx, rsi
mov rcx, rbx
call sym.check_pseudo_header
test eax, eax
je case.0x1401fc217.56
mov rax, qword [rsi + 8]
mov rdx, qword [rax + 0x18]
cmp rdx, 4
je 0x1401fc256
cmp rdx, 7
je 0x1401fc283
jmp 0x1401fc4c1
mov rdx, qword [rax + 0x10]
mov r8d, 4
lea rcx, str.HEAD
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1401fc4c1
or dword [rbx + 0xd4], 0x100
jmp 0x1401fc4c1
mov rdx, qword [rax + 0x10]
mov al, byte [rdx + 6]
cmp al, 0x53
je 0x1401fc2cc
cmp al, 0x54
jne 0x1401fc4c1
mov r8d, 7
lea rcx, str.CONNECT
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1401fc4c1
test byte [rbx + 0xa8], 1
je case.0x1401fc217.56
or dword [rbx + 0xd4], 0x80
jmp 0x1401fc4c1
mov r8d, 7
lea rcx, str.OPTIONS
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1401fc4c1
or dword [rbx + 0xd4], 0x200
jmp 0x1401fc4c1
mov r8d, 2
mov rdx, rsi
mov rcx, rbx
call sym.check_pseudo_header
test eax, eax
je case.0x1401fc217.56
mov rdx, qword [rsi + 8]
mov rax, qword [rdx + 0x10]
mov al, byte [rax]
cmp al, 0x2f
jne 0x1401fc32b
or dword [rbx + 0xd4], 0x800
jmp 0x1401fc4c1
cmp qword [rdx + 0x18], 1
jne 0x1401fc4c1
cmp al, 0x2a
jne 0x1401fc4c1
or dword [rbx + 0xd4], 0x1000
jmp 0x1401fc4c1
mov r8d, 8
mov rdx, rsi
mov rcx, rbx
call sym.check_pseudo_header
test eax, eax
je case.0x1401fc217.56
mov rax, qword [rsi + 8]
mov rdx, qword [rax + 0x18]
cmp rdx, 4
jne 0x1401fc387
mov rdx, qword [rax + 0x10]
mov r8d, 4
lea rcx, str.http
jmp 0x1401fc3a2
cmp rdx, 5
jne 0x1401fc4c1
mov rdx, qword [rax + 0x10]
mov r8d, 5
lea rcx, str.https
call sym.memieq
test eax, eax
je 0x1401fc4c1
or dword [rbx + 0xd4], 0x2000
jmp 0x1401fc4c1
test ecx, ecx
je case.0x1401fc217.56
mov r8d, 0x8000
mov rdx, rsi
mov rcx, rbx
call sym.check_pseudo_header
test eax, eax
jmp 0x1401fc4bf
mov r8d, 0x10
jmp 0x1401fc3cc
cmp qword [rbx + 0x30], 0xffffffffffffffff
jne case.0x1401fc217.56
mov rax, qword [rsi + 8]
mov rdx, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
test rdx, rdx
je case.0x1401fc217.56
call sym.parse_uint.part.0
mov qword [rbx + 0x30], rax
inc rax
jmp 0x1401fc4bf
mov rax, qword [rsi + 8]
cmp qword [rax + 0x18], 8
jne case.0x1401fc217.56
mov rdx, qword [rax + 0x10]
mov r8d, 8
lea rcx, str.trailers
call sym.memieq
jmp 0x1401fc3d7
test r12d, r12d
jne 0x1401fc4c1
test byte [rbx + 0xa8], 1
je 0x1401fc4c1
test byte [rbx + 0xd8], 0x10
je 0x1401fc4c1
test byte [rbx + 0xd6], 2
jne 0x1401fc4c1
movzx edx, byte [rbx + 0xdd]
lea rdi, [rsp + 0x28]
mov rcx, rdi
call sym.nghttp2_extpri_from_uint8
mov rax, qword [rsi + 8]
mov rcx, rdi
mov rdx, qword [rax + 0x10]
mov r8, qword [rax + 0x18]
call sym.nghttp2_http_parse_priority
test eax, eax
jne 0x1401fc4a4
mov rcx, rdi
call sym.nghttp2_extpri_to_uint8
or dword [rbx + 0xd4], 0x10000
mov byte [rbx + 0xdd], al
jmp 0x1401fc4c1
mov eax, dword [rbx + 0xd4]
and eax, 0xfffeffff
or eax, 0x20000
mov dword [rbx + 0xd4], eax
jmp 0x1401fc4c1
cmp dl, 0x3a
je case.0x1401fc217.56
mov rax, qword [rsi]
mov rax, qword [rax + 0x10]
cmp byte [rax], 0x3a
jmp 0x1401fc640
cmp dl, 0x3a
jne 0x1401fc4e3
test r12d, r12d
jne case.0x1401fc217.56
test byte [rbx + 0xd4], 0x40
jne case.0x1401fc217.56
mov eax, dword [rsi + 0x10]
cmp eax, 0x38
je case.0x1401fc217.56
jg 0x1401fc4fc
cmp eax, 7
je 0x1401fc51b
cmp eax, 0x1b
je 0x1401fc55f
jmp 0x1401fc62c
cmp eax, 0x3d
je 0x1401fc5f8
sub eax, 0x3e
cmp eax, 3
ja 0x1401fc62c
mov eax, 0xfffffded
jmp 0x1401fc644
mov r8d, 0x20
mov rdx, rsi
mov rcx, rbx
call sym.check_pseudo_header
test eax, eax
je case.0x1401fc217.56
mov rax, qword [rsi + 8]
cmp qword [rax + 0x18], 3
jne case.0x1401fc217.56
mov rcx, qword [rax + 0x10]
mov edx, 3
call sym.parse_uint.part.0
mov word [rbx + 0xd0], ax
cmp ax, 0xffff
je case.0x1401fc217.56
cmp ax, 0x65
jmp 0x1401fc61f
mov eax, dword [rbx + 0xd0]
cmp ax, 0xcc
jne 0x1401fc5a3
cmp qword [rbx + 0x30], 0xffffffffffffffff
jne case.0x1401fc217.56
mov rax, qword [rsi + 8]
cmp qword [rax + 0x18], 1
jne case.0x1401fc217.56
mov rdx, qword [rax + 0x10]
mov r8d, 1
lea rcx, [0x1402c0a8d]
call sym.memieq
test eax, eax
je case.0x1401fc217.56
xor eax, eax
mov qword [rbx + 0x30], rax
jmp 0x1401fc5c3
lea edx, [rax - 0x64]
cmp dx, 0x63
jbe case.0x1401fc217.56
sub ax, 0xc8
cmp ax, 0x63
ja 0x1401fc5ca
test byte [rbx + 0xd4], 0x80
je 0x1401fc5ca
mov eax, 0xffffff96
jmp 0x1401fc644
cmp qword [rbx + 0x30], 0xffffffffffffffff
jne case.0x1401fc217.56
mov rax, qword [rsi + 8]
mov rdx, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
test rdx, rdx
je case.0x1401fc217.56
call sym.parse_uint.part.0
mov qword [rbx + 0x30], rax
inc rax
jmp 0x1401fc61f
mov rax, qword [rsi + 8]
cmp qword [rax + 0x18], 8
jne case.0x1401fc217.56
mov rdx, qword [rax + 0x10]
mov r8d, 8
lea rcx, str.trailers
call sym.memieq
test eax, eax
je case.0x1401fc217.56
cmp byte [r13], 0x3a
jmp 0x1401fc640
cmp dl, 0x3a
je case.0x1401fc217.56
or dword [rbx + 0xd4], 0x40
xor eax, eax
jmp 0x1401fc644
jne 0x1401fc635
jmp 0x1401fc63c
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret