Function at 0x1401d2d40
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 0x1401d2db2
mov rax, qword [rsi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1401d2ef1
mov r8, qword [rax + 0x10]
xor eax, eax
cmp byte [r8], 0x3a
je case.0x1401d2fa7.56
cmp rcx, rax
je 0x1401d2ef1
mov dil, byte [r8 + rax]
lea edx, [rdi - 0x41]
cmp dl, 0x19
jbe case.0x1401d2fa7.56
inc rax
jmp 0x1401d2d94
mov rcx, qword [rsi + 8]
mov eax, dword [rsi + 0x10]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
cmp eax, 5
je 0x1401d2e1f
jg 0x1401d2ddb
cmp eax, 1
je 0x1401d2dee
cmp eax, 3
je 0x1401d2df8
test eax, eax
je 0x1401d2e02
jmp 0x1401d2ebf
cmp eax, 0x25
je 0x1401d2e02
cmp eax, 0x42
je 0x1401d2e96
jmp 0x1401d2ebf
call sym.nghttp2_check_method
jmp 0x1401d2ed8
call sym.nghttp2_check_path
jmp 0x1401d2ed8
cmp byte [rdi + 0xb3c], 0
jne 0x1401d2e15
cmp byte [rbp + 0xc], 5
jne 0x1401d2ebf
call sym.nghttp2_check_authority
jmp 0x1401d2ed8
test rdx, rdx
jne 0x1401d2e4c
mov rax, qword [rsi]
cmp qword [rax + 0x18], 0
jne 0x1401d2ee4
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 0x1401d2e24
movabs r9, 0x3ff680000000000
add rdx, rcx
inc rcx
cmp rdx, rcx
je 0x1401d2e8f
mov al, byte [rcx]
mov r8d, eax
and r8d, 0xffffffdf
sub r8d, 0x41
cmp r8b, 0x19
jbe 0x1401d2e8a
cmp al, 0x39
ja 0x1401d2ed6
bt r9, rax
jae 0x1401d2ed6
inc rcx
jmp 0x1401d2e68
mov eax, 1
jmp 0x1401d2ed8
test byte [rbx + 0xd8], 0x40
je 0x1401d2ebf
xor eax, eax
cmp rax, rdx
je 0x1401d2e24
mov r8b, byte [rcx + rax]
cmp r8b, 0x20
je 0x1401d2eba
cmp r8b, 9
jne 0x1401d2ebf
inc rax
jmp 0x1401d2ea1
test byte [rbx + 0xd8], 0x40
je 0x1401d2ecf
call sym.nghttp2_check_header_value
jmp 0x1401d2ed8
call sym.nghttp2_check_header_value_rfc9113
jmp 0x1401d2ed8
xor eax, eax
mov rdx, qword [rsi]
test eax, eax
jne 0x1401d2f0a
jmp 0x1401d2e24
mov rax, qword [rax + 0x10]
cmp byte [rax], 0x3a
je case.0x1401d2fa7.56
mov eax, dword [rbx + 0xd4]
or eax, 0x40
mov dword [rbx + 0xd4], eax
mov eax, 0xffffff97
jmp 0x1401d33d4
mov r13, qword [rdx + 0x10]
cmp byte [rdi + 0xb3c], 0
mov dl, byte [r13]
jne 0x1401d2f29
cmp byte [rbp + 0xc], 5
jne 0x1401d3260
xor ecx, ecx
jmp 0x1401d2f35
xor ecx, ecx
cmp byte [rdi + 0xb39], 0
setne cl
cmp dl, 0x3a
jne 0x1401d2f50
test r12d, r12d
jne case.0x1401d2fa7.56
test byte [rbx + 0xd4], 0x40
jne case.0x1401d2fa7.56
mov eax, dword [rsi + 0x10]
cmp eax, 0x25
je 0x1401d316e
jg 0x1401d2f8d
cmp eax, 3
je 0x1401d3085
jg 0x1401d2f76
test eax, eax
je 0x1401d2fa9
dec eax
je 0x1401d2fb4
jmp case.0x1401d2fa7.57
cmp eax, 5
je 0x1401d30dd
cmp eax, 0x1b
je 0x1401d3176
jmp case.0x1401d2fa7.57
sub eax, 0x38
cmp eax, 0xb
ja case.0x1401d2fa7.57
lea r8, [0x140296ba0]
movsxd rax, dword [r8 + rax*4]
add rax, r8
jmp rax
mov r8d, 1
jmp 0x1401d315c
mov r8d, 4
mov rdx, rsi
mov rcx, rbx
call sym.check_pseudo_header
test eax, eax
je case.0x1401d2fa7.56
mov rax, qword [rsi + 8]
mov rdx, qword [rax + 0x18]
cmp rdx, 4
je 0x1401d2fe6
cmp rdx, 7
je 0x1401d3013
jmp 0x1401d3251
mov rdx, qword [rax + 0x10]
mov r8d, 4
lea rcx, str.HEAD
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1401d3251
or dword [rbx + 0xd4], 0x100
jmp 0x1401d3251
mov rdx, qword [rax + 0x10]
mov al, byte [rdx + 6]
cmp al, 0x53
je 0x1401d305c
cmp al, 0x54
jne 0x1401d3251
mov r8d, 7
lea rcx, str.CONNECT
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1401d3251
test byte [rbx + 0xa8], 1
je case.0x1401d2fa7.56
or dword [rbx + 0xd4], 0x80
jmp 0x1401d3251
mov r8d, 7
lea rcx, str.OPTIONS
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1401d3251
or dword [rbx + 0xd4], 0x200
jmp 0x1401d3251
mov r8d, 2
mov rdx, rsi
mov rcx, rbx
call sym.check_pseudo_header
test eax, eax
je case.0x1401d2fa7.56
mov rdx, qword [rsi + 8]
mov rax, qword [rdx + 0x10]
mov al, byte [rax]
cmp al, 0x2f
jne 0x1401d30bb
or dword [rbx + 0xd4], 0x800
jmp 0x1401d3251
cmp qword [rdx + 0x18], 1
jne 0x1401d3251
cmp al, 0x2a
jne 0x1401d3251
or dword [rbx + 0xd4], 0x1000
jmp 0x1401d3251
mov r8d, 8
mov rdx, rsi
mov rcx, rbx
call sym.check_pseudo_header
test eax, eax
je case.0x1401d2fa7.56
mov rax, qword [rsi + 8]
mov rdx, qword [rax + 0x18]
cmp rdx, 4
jne 0x1401d3117
mov rdx, qword [rax + 0x10]
mov r8d, 4
lea rcx, str.http
jmp 0x1401d3132
cmp rdx, 5
jne 0x1401d3251
mov rdx, qword [rax + 0x10]
mov r8d, 5
lea rcx, str.https
call sym.memieq
test eax, eax
je 0x1401d3251
or dword [rbx + 0xd4], 0x2000
jmp 0x1401d3251
test ecx, ecx
je case.0x1401d2fa7.56
mov r8d, 0x8000
mov rdx, rsi
mov rcx, rbx
call sym.check_pseudo_header
test eax, eax
jmp 0x1401d324f
mov r8d, 0x10
jmp 0x1401d315c
cmp qword [rbx + 0x30], 0xffffffffffffffff
jne case.0x1401d2fa7.56
mov rax, qword [rsi + 8]
mov rdx, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
test rdx, rdx
je case.0x1401d2fa7.56
call sym.parse_uint.part.0
mov qword [rbx + 0x30], rax
inc rax
jmp 0x1401d324f
mov rax, qword [rsi + 8]
cmp qword [rax + 0x18], 8
jne case.0x1401d2fa7.56
mov rdx, qword [rax + 0x10]
mov r8d, 8
lea rcx, str.trailers
call sym.memieq
jmp 0x1401d3167
test r12d, r12d
jne 0x1401d3251
test byte [rbx + 0xa8], 1
je 0x1401d3251
test byte [rbx + 0xd8], 0x10
je 0x1401d3251
test byte [rbx + 0xd6], 2
jne 0x1401d3251
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 0x1401d3234
mov rcx, rdi
call sym.nghttp2_extpri_to_uint8
or dword [rbx + 0xd4], 0x10000
mov byte [rbx + 0xdd], al
jmp 0x1401d3251
mov eax, dword [rbx + 0xd4]
and eax, 0xfffeffff
or eax, 0x20000
mov dword [rbx + 0xd4], eax
jmp 0x1401d3251
cmp dl, 0x3a
je case.0x1401d2fa7.56
mov rax, qword [rsi]
mov rax, qword [rax + 0x10]
cmp byte [rax], 0x3a
jmp 0x1401d33d0
cmp dl, 0x3a
jne 0x1401d3273
test r12d, r12d
jne case.0x1401d2fa7.56
test byte [rbx + 0xd4], 0x40
jne case.0x1401d2fa7.56
mov eax, dword [rsi + 0x10]
cmp eax, 0x38
je case.0x1401d2fa7.56
jg 0x1401d328c
cmp eax, 7
je 0x1401d32ab
cmp eax, 0x1b
je 0x1401d32ef
jmp 0x1401d33bc
cmp eax, 0x3d
je 0x1401d3388
sub eax, 0x3e
cmp eax, 3
ja 0x1401d33bc
mov eax, 0xfffffded
jmp 0x1401d33d4
mov r8d, 0x20
mov rdx, rsi
mov rcx, rbx
call sym.check_pseudo_header
test eax, eax
je case.0x1401d2fa7.56
mov rax, qword [rsi + 8]
cmp qword [rax + 0x18], 3
jne case.0x1401d2fa7.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.0x1401d2fa7.56
cmp ax, 0x65
jmp 0x1401d33af
mov eax, dword [rbx + 0xd0]
cmp ax, 0xcc
jne 0x1401d3333
cmp qword [rbx + 0x30], 0xffffffffffffffff
jne case.0x1401d2fa7.56
mov rax, qword [rsi + 8]
cmp qword [rax + 0x18], 1
jne case.0x1401d2fa7.56
mov rdx, qword [rax + 0x10]
mov r8d, 1
lea rcx, [0x140296b9d]
call sym.memieq
test eax, eax
je case.0x1401d2fa7.56
xor eax, eax
mov qword [rbx + 0x30], rax
jmp 0x1401d3353
lea edx, [rax - 0x64]
cmp dx, 0x63
jbe case.0x1401d2fa7.56
sub ax, 0xc8
cmp ax, 0x63
ja 0x1401d335a
test byte [rbx + 0xd4], 0x80
je 0x1401d335a
mov eax, 0xffffff96
jmp 0x1401d33d4
cmp qword [rbx + 0x30], 0xffffffffffffffff
jne case.0x1401d2fa7.56
mov rax, qword [rsi + 8]
mov rdx, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
test rdx, rdx
je case.0x1401d2fa7.56
call sym.parse_uint.part.0
mov qword [rbx + 0x30], rax
inc rax
jmp 0x1401d33af
mov rax, qword [rsi + 8]
cmp qword [rax + 0x18], 8
jne case.0x1401d2fa7.56
mov rdx, qword [rax + 0x10]
mov r8d, 8
lea rcx, str.trailers
call sym.memieq
test eax, eax
je case.0x1401d2fa7.56
cmp byte [r13], 0x3a
jmp 0x1401d33d0
cmp dl, 0x3a
je case.0x1401d2fa7.56
or dword [rbx + 0xd4], 0x40
xor eax, eax
jmp 0x1401d33d4
jne 0x1401d33c5
jmp 0x1401d33cc
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret