Function at 0x14010dc40
Capabilities:
Parse credit card information

Disassembly:
add eax, 0x12e313
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x40
mov r9, qword [rcx]
mov rdi, rcx
mov rsi, rdx
movzx ecx, byte [r9]
lea eax, [rcx - 0x22]
cmp eax, 0x58
ja case.0x14010dc8b.35
lea r14, [0x140000000]
cdqe
movzx eax, byte [r14 + rax + 0x10e018]
mov r8d, dword [r14 + rax*4 + 0x10dffc]
add r8, r14
jmp r8
xor ebx, ebx
mov qword [rsp + 0x50], rbp
mov ebp, ebx
cmp cl, 0x22
je 0x14010dcb5
mov r8d, 0x17c
lea rdx, str.nghttp2_lib_sfparse.c
lea rcx, [0x140198780]
call fcn.140122074
mov r10, qword [rdi]
mov r9, qword [rdi + 8]
inc r10
mov qword [rdi], r10
cmp r10, r9
je case.default.0x14010dcf1
mov rdx, r10
mov r8d, 1
movzx eax, byte [rdx]
add eax, 0xffffffe0
cmp eax, 0x5e
ja case.default.0x14010dcf1
cdqe
movzx eax, byte [r14 + rax + 0x10e080]
mov ecx, dword [r14 + rax*4 + 0x10e074]
add rcx, r14
jmp rcx
lea rax, [rdx + 1]
mov qword [rdi], rax
cmp rax, r9
je case.default.0x14010dcf1
movzx ecx, byte [rax]
cmp cl, 0x22
je 0x14010dd0c
cmp cl, 0x5c
jne case.default.0x14010dcf1
mov ebp, r8d
mov rdx, qword [rdi]
inc rdx
mov qword [rdi], rdx
cmp rdx, r9
jne 0x14010dcd0
mov rbp, qword [rsp + 0x50]
mov ebx, 0xffffffff
mov eax, ebx
jmp 0x14010dfe6
test rsi, rsi
je 0x14010dd4e
mov dword [rsi], 3
mov dword [rsi + 4], ebp
mov rax, qword [rdi]
sub rax, r10
mov qword [rsi + 0x10], rax
cmove r10, rbx
mov qword [rsi + 8], r10
inc qword [rdi]
mov eax, ebx
mov rbp, qword [rsp + 0x50]
jmp 0x14010dfe6
mov rcx, rdi
call fcn.14010e3e0
jmp 0x14010dfe6
cmp cl, 0x40
je 0x14010dd88
mov r8d, 0x15e
lea rdx, str.nghttp2_lib_sfparse.c
lea rcx, [0x140198758]
call fcn.140122074
mov rax, qword [rdi]
inc rax
mov qword [rdi], rax
cmp rax, qword [rdi + 8]
jne 0x14010dda3
mov ebx, 0xffffffff
mov eax, ebx
jmp 0x14010dfe6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.14010e3e0
test eax, eax
je 0x14010ddbb
mov ebx, eax
jmp 0x14010dfe6
cmp dword [rsp + 0x20], 1
jne 0x14010dd97
test rsi, rsi
je 0x14010dde0
movups xmm0, xmmword [rsp + 0x20]
movsd xmm1, qword [rsp + 0x30]
movups xmmword [rsi], xmm0
movsd qword [rsi + 0x10], xmm1
mov dword [rsi], 7
xor ebx, ebx
mov eax, ebx
jmp 0x14010dfe6
cmp cl, 0x3a
je 0x14010de07
mov r8d, 0x1d9
lea rdx, str.nghttp2_lib_sfparse.c
lea rcx, str.:__sfp__pos
call fcn.140122074
mov r8, qword [rdi]
mov r9, qword [rdi + 8]
inc r8
mov qword [rdi], r8
cmp r8, r9
je case.0x14010de99.49
mov rdx, r8
nop dword [rax]
movzx eax, byte [rdx]
add eax, 0xffffffd5
cmp eax, 0x4f
ja case.0x14010de99.49
cdqe
movzx eax, byte [r14 + rax + 0x10e0f0]
mov ecx, dword [r14 + rax*4 + 0x10e0e0]
add rcx, r14
jmp rcx
inc rdx
mov qword [rdi], rdx
cmp rdx, r9
jne 0x14010de20
mov ebx, 0xffffffff
mov eax, ebx
jmp 0x14010dfe6
mov rax, rdx
sub rax, r8
and eax, 3
je case.0x14010de99.49
sub rax, 1
je case.0x14010de99.49
sub rax, 1
je 0x14010de9b
cmp rax, 1
jne case.0x14010de99.48
movzx eax, byte [rdx - 1]
add eax, 0xffffffd0
cmp eax, 0x47
ja case.0x14010de99.49
cdqe
movzx eax, byte [r14 + rax + 0x10e148]
mov ecx, dword [r14 + rax*4 + 0x10e140]
add rcx, r14
jmp rcx
movzx eax, byte [rdx - 1]
sub al, 0x41
cmp al, 0x36
ja case.0x14010de99.49
movabs rcx, 0x40004000010001
bt rcx, rax
jae case.0x14010de99.49
inc rdx
mov qword [rdi], rdx
cmp rdx, r9
je case.0x14010de99.49
cmp byte [rdx], 0x3d
jne case.0x14010de99.49
mov rax, qword [rdi]
inc rax
mov qword [rdi], rax
cmp rax, r9
je case.0x14010de99.49
cmp byte [rax], 0x3a
je 0x14010def4
mov ebx, 0xffffffff
mov eax, ebx
jmp 0x14010dfe6
sub dl, r8b
test dl, 3
jne case.0x14010de99.49
xor ebx, ebx
test rsi, rsi
je 0x14010df14
mov qword [rsi], 5
mov rax, qword [rdi]
sub rax, r8
mov qword [rsi + 0x10], rax
cmove r8, rbx
mov qword [rsi + 8], r8
inc qword [rdi]
mov eax, ebx
jmp 0x14010dfe6
cmp cl, 0x3f
je 0x14010df3c
mov r8d, 0x23a
lea rdx, str.nghttp2_lib_sfparse.c
lea rcx, str.___sfp__pos
call fcn.140122074
mov rcx, qword [rdi]
inc rcx
mov qword [rdi], rcx
cmp rcx, qword [rdi + 8]
jne 0x14010df57
mov ebx, 0xffffffff
mov eax, ebx
jmp 0x14010dfe6
movzx edx, byte [rcx]
xor ebx, ebx
sub edx, 0x30
je 0x14010df6b
cmp edx, 1
jne 0x14010df4b
mov r8d, edx
jmp 0x14010df6e
mov r8d, ebx
lea rax, [rcx + 1]
mov qword [rdi], rax
test rsi, rsi
je 0x14010df81
mov qword [rsi], rbx
mov dword [rsi + 8], r8d
mov eax, ebx
jmp 0x14010dfe6
mov r8, qword [rdi + 8]
lea rdx, [r9 + 1]
mov qword [rdi], rdx
cmp rdx, r8
je case.0x14010dfb6.34
movzx eax, byte [rdx]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x14010dfb6.34
cdqe
movzx eax, byte [r14 + rax + 0x10e198]
mov ecx, dword [r14 + rax*4 + 0x10e190]
add rcx, r14
jmp rcx
inc rdx
mov qword [rdi], rdx
cmp rdx, r8
jne 0x14010df95
test rsi, rsi
je 0x14010dfdd
mov qword [rsi], 4
mov qword [rsi + 8], r9
mov rax, qword [rdi]
sub rax, r9
mov qword [rsi + 0x10], rax
xor eax, eax
jmp 0x14010dfe6
mov eax, 0xffffffff
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x40
pop r14
ret