Function at 0x14018f310
Capabilities:
Parse credit card information

Disassembly:
cmp edx, 0xffffffff
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.0x14018f35b.35
lea r14, [0x140000000]
cdqe
movzx eax, byte [r14 + rax + 0x18f6f4]
mov r8d, dword [r14 + rax*4 + 0x18f6d8]
add r8, r14
jmp r8
xor ebx, ebx
mov qword [rsp + 0x50], rbp
mov ebp, ebx
cmp cl, 0x22
je 0x14018f386
mov r8d, 0x17c
lea rdx, str.nghttp2_lib_sfparse.c
lea rcx, [0x1401f9d10]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov r10, qword [rdi]
mov r9, qword [rdi + 8]
inc r10
mov qword [rdi], r10
cmp r10, r9
je case.default.0x14018f3c2
mov rdx, r10
mov r8d, 1
movzx eax, byte [rdx]
add eax, 0xffffffe0
cmp eax, 0x5e
ja case.default.0x14018f3c2
cdqe
movzx eax, byte [r14 + rax + 0x18f75c]
mov ecx, dword [r14 + rax*4 + 0x18f750]
add rcx, r14
jmp rcx
lea rax, [rdx + 1]
mov qword [rdi], rax
cmp rax, r9
je case.default.0x14018f3c2
movzx ecx, byte [rax]
cmp cl, 0x22
je 0x14018f3dd
cmp cl, 0x5c
jne case.default.0x14018f3c2
mov ebp, r8d
mov rdx, qword [rdi]
inc rdx
mov qword [rdi], rdx
cmp rdx, r9
jne 0x14018f3a1
mov rbp, qword [rsp + 0x50]
mov ebx, 0xffffffff
mov eax, ebx
jmp 0x14018f6c1
test rsi, rsi
je 0x14018f41f
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 0x14018f6c1
mov rcx, rdi
call fcn.14018fac0
jmp 0x14018f6c1
cmp cl, 0x40
je 0x14018f45a
mov r8d, 0x15e
lea rdx, str.nghttp2_lib_sfparse.c
lea rcx, [0x1401f9ce8]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rax, qword [rdi]
inc rax
mov qword [rdi], rax
cmp rax, qword [rdi + 8]
jne 0x14018f475
mov ebx, 0xffffffff
mov eax, ebx
jmp 0x14018f6c1
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.14018fac0
test eax, eax
je 0x14018f48d
mov ebx, eax
jmp 0x14018f6c1
cmp dword [rsp + 0x20], 1
jne 0x14018f469
test rsi, rsi
je 0x14018f4b2
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 0x14018f6c1
cmp cl, 0x3a
je 0x14018f4da
mov r8d, 0x1d9
lea rdx, str.nghttp2_lib_sfparse.c
lea rcx, str.:__sfp__pos
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov r8, qword [rdi]
mov r9, qword [rdi + 8]
inc r8
mov qword [rdi], r8
cmp r8, r9
je case.0x14018f569.49
mov rdx, r8
nop
movzx eax, byte [rdx]
add eax, 0xffffffd5
cmp eax, 0x4f
ja case.0x14018f569.49
cdqe
movzx eax, byte [r14 + rax + 0x18f7cc]
mov ecx, dword [r14 + rax*4 + 0x18f7bc]
add rcx, r14
jmp rcx
inc rdx
mov qword [rdi], rdx
cmp rdx, r9
jne 0x14018f4f0
mov ebx, 0xffffffff
mov eax, ebx
jmp 0x14018f6c1
mov rax, rdx
sub rax, r8
and eax, 3
je case.0x14018f569.49
sub rax, 1
je case.0x14018f569.49
sub rax, 1
je 0x14018f56b
cmp rax, 1
jne case.0x14018f569.48
movzx eax, byte [rdx - 1]
add eax, 0xffffffd0
cmp eax, 0x47
ja case.0x14018f569.49
cdqe
movzx eax, byte [r14 + rax + 0x18f824]
mov ecx, dword [r14 + rax*4 + 0x18f81c]
add rcx, r14
jmp rcx
movzx eax, byte [rdx - 1]
sub al, 0x41
cmp al, 0x36
ja case.0x14018f569.49
movabs rcx, 0x40004000010001
bt rcx, rax
jae case.0x14018f569.49
inc rdx
mov qword [rdi], rdx
cmp rdx, r9
je case.0x14018f569.49
cmp byte [rdx], 0x3d
jne case.0x14018f569.49
mov rax, qword [rdi]
inc rax
mov qword [rdi], rax
cmp rax, r9
je case.0x14018f569.49
cmp byte [rax], 0x3a
je 0x14018f5c4
mov ebx, 0xffffffff
mov eax, ebx
jmp 0x14018f6c1
sub dl, r8b
test dl, 3
jne case.0x14018f569.49
xor ebx, ebx
test rsi, rsi
je 0x14018f5e4
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 0x14018f6c1
cmp cl, 0x3f
je 0x14018f60d
mov r8d, 0x23a
lea rdx, str.nghttp2_lib_sfparse.c
lea rcx, str.___sfp__pos
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rcx, qword [rdi]
inc rcx
mov qword [rdi], rcx
cmp rcx, qword [rdi + 8]
jne 0x14018f628
mov ebx, 0xffffffff
mov eax, ebx
jmp 0x14018f6c1
movzx edx, byte [rcx]
xor ebx, ebx
sub edx, 0x30
je 0x14018f63c
cmp edx, 1
jne 0x14018f61c
mov r8d, edx
jmp 0x14018f63f
mov r8d, ebx
lea rax, [rcx + 1]
mov qword [rdi], rax
test rsi, rsi
je 0x14018f652
mov qword [rsi], rbx
mov dword [rsi + 8], r8d
mov eax, ebx
jmp 0x14018f6c1
mov r8, qword [rdi + 8]
lea rdx, [r9 + 1]
mov qword [rdi], rdx
cmp rdx, r8
je case.0x14018f691.34
nop word [rax + rax]
movzx eax, byte [rdx]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x14018f691.34
cdqe
movzx eax, byte [r14 + rax + 0x18f874]
mov ecx, dword [r14 + rax*4 + 0x18f86c]
add rcx, r14
jmp rcx
inc rdx
mov qword [rdi], rdx
cmp rdx, r8
jne 0x14018f670
test rsi, rsi
je 0x14018f6b8
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 0x14018f6c1
mov eax, 0xffffffff
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x40
pop r14
ret