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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov rax, qword [r8]
mov rbx, rcx
mov rcx, qword [rcx + 0x148]
mov r13, r8
mov rbp, rdx
mov qword [rsp + 0x58], rax
mov r8, rax
mov qword [rsp + 0x60], rcx
mov edx, 0xa
lea r12, [rbx + 0xc58]
mov rdi, rcx
mov r15, rcx
mov rsi, rax
mov r14, rax
call fcn.1400d3130
mov rcx, rax
test rax, rax
je 0x1400b0a11
lea r8, [rcx + 1]
sub rdi, rcx
lea rax, [rsi - 1]
mov rdx, r15
add rax, rdi
mov rcx, r12
mov qword [r13], rax
mov qword [rbx + 0x148], r8
sub r8, r15
call fcn.140094b80
test eax, eax
jne 0x1400b0474
cmp dword [rbx + 0x144], eax
jne 0x1400b02e6
mov rcx, r12
call fcn.140094cf0
mov rcx, r12
mov rdi, rax
call fcn.140094cd0
mov r8, rax
mov r9, rdi
mov rdx, rbp
mov rcx, rbx
call fcn.1400b19b0
cmp eax, 2
je 0x1400b0a9d
mov rcx, r12
call fcn.140094cd0
mov r14, rax
movzx ecx, byte [rax]
cmp cl, 0xa
je 0x1400b05f8
cmp cl, 0xd
je 0x1400b05f8
mov edx, dword [rbx + 0x144]
mov edi, 2
lea ecx, [rdx + 1]
mov dword [rbx + 0x144], ecx
test edx, edx
jne 0x1400b0554
mov rax, qword [rbp + 0x3e0]
mov ecx, dword [rax + 0x84]
test cl, 3
je 0x1400b04ea
xor eax, eax
lea rsi, [rbx + 0x158]
mov dword [rsp + 0x48], eax
lea r9, [rsp + 0x48]
mov byte [rsp + 0xb0], al
lea r8, [rsp + 0x4c]
lea rax, [rsp + 0xb0]
mov rcx, r14
mov qword [rsp + 0x30], rax
lea rdx, str._HTTP__1d._1d_c_3d_c
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rax
call fcn.140093ba0
mov edi, eax
cmp eax, 1
jne 0x1400b03c2
cmp dword [rsp + 0x4c], 2
jl 0x1400b03c2
mov r9, rsi
lea r8, [rsp + 0x44]
lea rdx, str._HTTP__1_23___d
mov rcx, r14
call fcn.140093ba0
cmp eax, 2
jne 0x1400b03c2
mov byte [rbp + 0x71b], 0
lea edi, [rax + 2]
mov byte [rsp + 0xc0], 0x20
jmp 0x1400b03f4
movzx eax, byte [rsp + 0xb0]
sub al, 0x30
cmp al, 9
jbe 0x1400b0b5c
cmp edi, 4
jl 0x1400b048c
cmp dword [rsi], 0x64
jl 0x1400b0b5c
cmp byte [rsp + 0xc0], 0x20
jne 0x1400b0b43
mov eax, dword [rsp + 0x4c]
lea ecx, [rax + rax*4]
mov eax, dword [rsp + 0x48]
lea r9d, [rax + rcx*2]
mov ecx, r9d
mov dword [rsp + 0x48], r9d
sub ecx, 0xa
je 0x1400b0419
cmp ecx, 1
jne 0x1400b0b0d
mov byte [rbp + 0x71b], r9b
cmp dword [rbx + 0x174], 3
jne 0x1400b043e
cmp r9b, 0x14
je 0x1400b043e
lea rdx, str.Lying_server__not_serving_HTTP_2
mov rcx, rbx
call fcn.1400a0140
cmp byte [rbp + 0x71b], 0x14
jae 0x1400b0463
mov rax, qword [rbp + 0x6d8]
lea rdx, str.Mark_bundle_as_not_supporting_multiuse
mov rcx, rbx
mov dword [rax], 0xffffffff
call fcn.1400a0140
test edi, edi
jne 0x1400b053e
mov byte [rbx + 0x1c1], 0
xor eax, eax
mov rbx, qword [rsp + 0xb8]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test edi, edi
jne 0x1400b0b43
mov r8, rsi
lea rdx, str._HTTP__3d
mov rcx, r14
call fcn.140093ba0
mov byte [rbp + 0x71b], 0xa
test eax, eax
jne 0x1400b053e
mov rcx, r12
call fcn.140094cf0
mov rcx, r12
mov rdi, rax
call fcn.140094cd0
mov rdx, rax
mov r8, rdi
mov rcx, rbx
call fcn.1400b1900
cmp eax, 1
jne 0x1400b046b
mov dword [rsi], 0xc8
mov byte [rbp + 0x71b], 0xa
jmp 0x1400b053e
bt ecx, 0x12
jae 0x1400b046b
lea rax, [rbx + 0x158]
mov rcx, r14
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x50]
lea rax, [rsp + 0x40]
lea r8, [rsp + 0x54]
mov qword [rsp + 0x20], rax
lea rdx, str._RTSP__1d._1d_c_3d
call fcn.140093ba0
cmp eax, 4
jne 0x1400b046b
cmp byte [rsp + 0x40], 0x20
jne 0x1400b046b
mov byte [rbp + 0x71b], 0xb
mov rdx, rbp
mov rcx, rbx
call fcn.1400ad9b0
test eax, eax
jne 0x1400b0474
lea edi, [rax + 6]
mov rcx, rbx
call fcn.1400b19d0
test eax, eax
jne 0x1400b0474
mov r8, r14
mov rdx, rbp
mov rcx, rbx
call fcn.1400adad0
test eax, eax
jne 0x1400b0474
mov esi, edi
mov rcx, r12
or esi, 1
cmp byte [rbx + 0xa72], al
cmove esi, edi
mov edi, dword [rbx + 0x158]
call fcn.140094cf0
mov r9, rax
mov r8, r14
mov edx, 1
mov rcx, rbx
call fcn.1400a06a0
mov rcx, r12
call fcn.140094cf0
mov edx, esi
mov r9, rax
or edx, 0x10
lea eax, [rdi - 0x64]
cmp eax, 0x64
mov r8, r14
mov rcx, rbx
cmovae edx, esi
call fcn.1400a02e0
test eax, eax
jne 0x1400b0474
mov rcx, r12
call fcn.140094cf0
add qword [rbx + 0x12c8], rax
mov rcx, r12
call fcn.140094cf0
add qword [rbx + 0x108], rax
jmp 0x1400b09d3
mov ecx, dword [rbx + 0x158]
lea eax, [rcx - 0x64]
cmp eax, 0x63
ja 0x1400b067f
sub ecx, 0x64
je 0x1400b0649
cmp ecx, 1
je 0x1400b062a
lea rsi, [rbx + 0x1c1]
xor eax, eax
mov byte [rsi], 1
mov rdi, rsi
mov dword [rbx + 0x144], eax
jmp 0x1400b06e9
cmp dword [rbx + 0x174], 2
je 0x1400b0b75
lea rsi, [rbx + 0x1c1]
mov byte [rsi], 0
mov rdi, rsi
jmp 0x1400b06e9
xor eax, eax
lea rsi, [rbx + 0x1c1]
mov byte [rsi], 1
mov dword [rbx + 0x144], eax
cmp dword [rbx + 0x170], eax
jle 0x1400b067a
or dword [rbx + 0x15c], 2
xor edx, edx
mov rcx, rbx
mov dword [rbx + 0x170], eax
call fcn.14008e970
mov rdi, rsi
jmp 0x1400b06e9
cmp qword [rbx + 0xe8], 0xffffffffffffffff
lea rsi, [rbx + 0x1c1]
mov rdi, rsi
mov byte [rsi], 0
jne 0x1400b06ee
cmp byte [rbx + 0x1c6], 0
jne 0x1400b06ee
cmp byte [rbp + 0x3aa], 0
jne 0x1400b06ee
cmp byte [rbp + 0x71b], 0xb
jne 0x1400b06ee
mov rax, qword [rbp + 0x3e0]
test dword [rax + 0x84], 0x40000
jne 0x1400b06ee
cmp byte [rbx + 0x1178], 5
je 0x1400b06ee
lea rdx, str.no_chunk__no_close__no_size._Assume_close_to_signal_end
mov rcx, rbx
call fcn.1400a0140
mov edx, 2
mov rcx, rbp
call fcn.1400a2860
cmp byte [rdi], 0
jne 0x1400b06fe
mov rcx, rbx
call fcn.1400b0190
test eax, eax
jne 0x1400b0474
movzx eax, byte [rbp + 0x3aa]
test al, al
je 0x1400b0792
mov eax, dword [rbx + 0x158]
cmp eax, 0x191
jne 0x1400b0723
cmp dword [rbp + 0x4a8], 2
je 0x1400b0733
cmp eax, 0x197
jne 0x1400b0754
cmp dword [rbp + 0x4ac], 2
jne 0x1400b0754
lea rdx, [0x140124ac8]
mov rcx, rbx
call fcn.1400a0140
mov byte [rbx + 0x129d], 1
movzx eax, byte [rbp + 0x3aa]
test al, al
je 0x1400b0792
mov eax, dword [rbx + 0x158]
cmp eax, 0x191
jne 0x1400b076c
cmp dword [rbp + 0x5a0], 1
je 0x1400b077c
jmp 0x1400b0792
cmp eax, 0x197
jne 0x1400b0792
cmp dword [rbp + 0x5a4], 1
jne 0x1400b0792
lea rdx, str.Connection_closure_while_negotiating_auth__HTTP_1.0__
mov rcx, rbx
call fcn.1400a0140
mov byte [rbx + 0x129d], 1
cmp dword [rbp + 0x5a0], 3
jne 0x1400b07b1
cmp dword [rbx + 0x158], 0x191
je 0x1400b07b1
mov dword [rbp + 0x5a0], 4
cmp dword [rbp + 0x5a4], 3
jne 0x1400b07d0
cmp dword [rbx + 0x158], 0x197
je 0x1400b07d0
mov dword [rbp + 0x5a4], 4
xor eax, eax
mov rcx, r12
cmp byte [rbx + 0xa72], al
mov edi, eax
mov eax, dword [rbx + 0x158]
setne dil
sub eax, 0x64
add edi, 2
cmp eax, 0x64
sbb eax, eax
and eax, 0x10
or edi, eax
call fcn.140094cf0
mov rcx, r12
mov r14, rax
call fcn.140094cd0
mov r8, rax
mov r9, r14
mov edx, edi
mov rcx, rbx
call fcn.1400a02e0
test eax, eax
jne 0x1400b0474
mov rdx, qword [rbx + 0x108]
movsxd rcx, r14d
add qword [rbx + 0x12c8], rcx
add rdx, rcx
mov qword [rbx + 0x108], rdx
mov rcx, rbx
mov r8d, dword [rbx + 0x158]
call fcn.1400b0d90
test al, al
jne 0x1400b0bf3
lea eax, [r8 - 0x64]
mov edi, 0
cmp eax, 0x63
cmova rdx, rdi
mov qword [rbx + 0x110], rdx
call fcn.1400aff40
test eax, eax
jne 0x1400b0474
cmp dword [rbx + 0x158], 0x12c
jl 0x1400b09ca
cmp byte [rbp + 0x3b4], dil
jne 0x1400b09ab
cmp byte [rbp + 0x3aa], dil
jne 0x1400b09ab
cmp byte [rbp + 0x3b5], dil
jne 0x1400b09b4
movzx ecx, byte [rbx + 0x1178]
sub ecx, 1
je 0x1400b08cb
sub ecx, 1
je 0x1400b08cb
sub ecx, 1
je 0x1400b08cb
cmp ecx, 1
jne 0x1400b09ab
xor edx, edx
mov rcx, rbx
call fcn.14008e970
cmp byte [rbx + 0x1c3], dil
jne 0x1400b09ab
cmp dword [rbx + 0x158], 0x1a1
jne 0x1400b0932
cmp byte [rbx + 0x129f], dil
je 0x1400b0932
lea rdx, str.Got_417_while_waiting_for_a_100
mov rcx, rbx
call fcn.1400a0140
mov rcx, qword [rbx + 0x1180]
mov byte [rbx + 0x12a0], 1
call qword [fcn.1400ea95c]
lea rdx, [rbx + 0xe8]
mov rcx, rbx
mov qword [rbx + 0x198], rax
call fcn.1400a8410
jmp 0x1400b09ab
mov rcx, rbx
cmp byte [rbx + 0xa6e], dil
je 0x1400b0961
lea rdx, str.HTTP_error_before_end_of_send__keep_sending
call fcn.1400a0140
cmp dword [rbx + 0x170], edi
jle 0x1400b09ab
or dword [rbx + 0x15c], 2
mov dword [rbx + 0x170], edi
jmp 0x1400b09ab
lea rdx, str.HTTP_error_before_end_of_send__stop_sending
call fcn.1400a0140
mov edx, 2
mov rcx, rbp
call fcn.1400a2860
lea rdx, [rbx + 0xe8]
mov rcx, rbx
call fcn.1400a8410
test eax, eax
jne 0x1400b0474
mov byte [rbx + 0x1c3], 1
cmp byte [rbx + 0x129f], dil
je 0x1400b09ab
mov dword [rbx + 0x170], 3
cmp byte [rbp + 0x3b5], dil
je 0x1400b09ca
lea rdx, str.Keep_sending_data_to_get_tossed_away
mov rcx, rbx
call fcn.1400a0140
or dword [rbx + 0x15c], 2
cmp byte [rsi], dil
je 0x1400b0ba7
mov rcx, r12
call fcn.140094c10
mov rdi, qword [rbx + 0x148]
cmp byte [rdi], 0
je 0x1400b0472
mov rsi, qword [r13]
mov edx, 0xa
mov r8, rsi
mov rcx, rdi
mov r15, rdi
mov r14, rsi
call fcn.1400d3130
mov rcx, rax
test rax, rax
jne 0x1400b0282
mov r8, r14
mov rdx, r15
mov rcx, r12
call fcn.140094b80
test eax, eax
jne 0x1400b0474
cmp dword [rbx + 0x144], eax
jne 0x1400b0472
mov rcx, r12
call fcn.140094cf0
mov rcx, r12
mov rdi, rax
call fcn.140094cd0
mov r8, rax
mov r9, rdi
mov rdx, rbp
mov rcx, rbx
call fcn.1400b19b0
cmp eax, 2
jne 0x1400b0472
mov edx, eax
mov byte [rbx + 0x1c1], 0
mov rcx, rbp
mov dword [rbx + 0x140], eax
call fcn.1400a2860
cmp byte [rbx + 0xa92], 0
jne 0x1400b0472
lea rdx, [0x140124a18]
mov rcx, rbx
call fcn.1400a01f0
mov eax, 1
jmp 0x1400b0474
mov edx, 2
mov rcx, rbp
call fcn.1400a2860
cmp byte [rbx + 0xa92], 0
jne 0x1400b0acc
lea rdx, str.Received_HTTP_0.9_when_not_allowed
mov rcx, rbx
call fcn.1400a01f0
mov eax, 1
jmp 0x1400b0474
mov byte [rbx + 0x1c1], 0
cmp qword [r13], 0
je 0x1400b0ae9
mov dword [rbx + 0x140], 1
jmp 0x1400b0472
mov rax, qword [rsp + 0x58]
mov dword [rbx + 0x140], 2
mov qword [r13], rax
mov rax, qword [rsp + 0x60]
mov qword [rbx + 0x148], rax
jmp 0x1400b0472
mov eax, 0x66666667
mov rcx, rbx
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.1400a01f0
mov eax, 1
jmp 0x1400b0474
lea rdx, str.Unsupported_HTTP_version_in_response
mov rcx, rbx
call fcn.1400a01f0
mov eax, 1
jmp 0x1400b0474
lea rdx, str.Unsupported_response_code_in_HTTP_response
mov rcx, rbx
call fcn.1400a01f0
mov eax, 1
jmp 0x1400b0474
lea rdx, str.Received_101__Switching_to_HTTP_2
mov rcx, rbx
call fcn.1400a0140
xor eax, eax
mov dword [rbx + 0x174], 3
mov dword [rbx + 0x144], eax
mov eax, 1
mov byte [rbx + 0x1c1], 1
jmp 0x1400b0474
mov rcx, qword [rsp + 0xc8]
cmp byte [rbx + 0xa75], dil
je 0x1400b0bbf
mov byte [rcx], 1
mov al, 1
jmp 0x1400b0bc2
movzx eax, byte [rcx]
cmp qword [rbx + 0xf0], rdi
jne 0x1400b0bd0
mov byte [rcx], 1
jmp 0x1400b0bd4
test al, al
je 0x1400b0bdb
and dword [rbx + 0x15c], 0xfffffffe
mov r9, r14
mov r8, r15
mov edx, 1
mov rcx, rbx
call fcn.1400a06a0
jmp 0x1400b0472
lea rdx, str.The_requested_URL_returned_error:__d
call fcn.1400a01f0
mov eax, 0x16
jmp 0x1400b0474