Function at 0x140074c60
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], rbp
push rdi
sub rsp, 0x30
mov rax, qword [rcx + 0x38]
xor ebp, ebp
mov rdi, rcx
mov rdx, qword [rax + 0x20]
cmp byte [rdx], 0x25
jne case.0x140074ca5.2
mov eax, dword [rcx + 0x108]
inc eax
cmp eax, 0x11
ja case.default.0x140074ca5
lea r8, [0x140000000]
cdqe
mov ecx, dword [r8 + rax*4 + 0x75048]
add rcx, r8
jmp rcx
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 0x12]
mov rbp, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
jmp fcn.1400752d0
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 0x13]
mov rbp, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
jmp fcn.1400752d0
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 0x14]
mov rbp, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
jmp fcn.1400752d0
cmp dword [rdi + 0x8c], ebp
jne 0x140074d04
cmp dword [rdi + 0x40], 1
je case.0x140074ca5.2
movzx eax, byte [rdx + 1]
cmp al, 0x20
ja case.default.0x140074ca5
movabs rcx, 0x100002601
bt rcx, rax
jb case.0x140074ca5.2
mov rcx, rdi
mov qword [rsp + 0x50], rsi
call fcn.1400a9250
mov rcx, rdi
call fcn.14006bbb0
mov rsi, rax
call fcn.14008e400
cmp dword [rax], ebp
je 0x140074d67
mov qword [rsp + 0x48], rbx
call fcn.14008e090
mov rbx, rax
call fcn.14008e0f0
mov r8, rsi
lea rdx, str.PEReference:__s_n
mov rcx, qword [rax]
call qword [rbx]
mov rbx, qword [rsp + 0x48]
test rsi, rsi
jne 0x140074d74
lea edx, [rsi + 0x18]
jmp 0x14007502b
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + 0x20]
cmp byte [rcx], 0x3b
jne 0x140075026
mov rcx, rdi
call fcn.1400a9250
mov rax, qword [rdi]
test rax, rax
je 0x140074dae
mov r8, qword [rax + 0xc0]
test r8, r8
je 0x140074dae
mov rcx, qword [rdi + 8]
mov rdx, rsi
call r8
mov rbp, rax
cmp dword [rdi + 0x108], 0xffffffff
je 0x140075036
test rbp, rbp
jne 0x140074e98
cmp dword [rdi + 0x30], 1
je 0x140074e45
cmp dword [rdi + 0x84], ebp
jne 0x140074dda
cmp dword [rdi + 0x88], ebp
je 0x140074e45
cmp dword [rdi + 0x94], 0
je 0x140074e19
cmp qword [rdi + 0xa0], 0
je 0x140074e19
mov r9, rsi
mov qword [rsp + 0x20], 0
lea r8, str.PEReference:____s__not_found_n
mov edx, 0x1b
mov rcx, rdi
call fcn.140076f70
mov dword [rdi + 0x90], 0
jmp 0x140074e5c
mov r9, rsi
mov qword [rsp + 0x20], 0
lea r8, str.PEReference:____s__not_found_n
mov edx, 0x1b
mov rcx, rdi
call fcn.140076e60
mov dword [rdi + 0x90], 0
jmp 0x140074e5c
mov r9, rsi
lea r8, str.PEReference:____s__not_found_n
mov edx, 0x1a
mov rcx, rdi
call fcn.140077260
test dword [rdi + 0x224], 0x80000
jne 0x140075036
mov eax, dword [rdi + 0x24c]
sub eax, 0x1a
cmp eax, 1
ja 0x140075036
cmp dword [rdi + 0x2a4], 0x2710
jbe 0x140075036
mov edx, 0x59
jmp 0x14007502b
mov rax, qword [rdi + 0x38]
lea rcx, [0x1400785e0]
cmp qword [rax + 0x40], rcx
je 0x140074ece
mov rdx, rbp
mov rcx, rdi
call fcn.1400785f0
mov rdx, rax
mov rcx, rdi
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
jmp fcn.14006b640
mov eax, dword [rbp + 0x5c]
cmp eax, 4
je 0x140074f1d
cmp eax, 5
je 0x140074f01
mov r9, rsi
lea r8, str.PEReference:__s_is_not_a_parameter_entity_n
mov edx, 0x1e
mov rcx, rdi
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
jmp fcn.140077260
test byte [rdi + 0x224], 0x1e
jne 0x140074f1d
cmp dword [rdi + 0x1c], 0
jne 0x140074f1d
cmp dword [rdi + 0x94], 0
je 0x140075036
mov rdx, rbp
mov rcx, rdi
call fcn.1400a85b0
mov rdx, rax
mov rcx, rdi
call fcn.14006b640
test eax, eax
js 0x140075036
cmp dword [rdi + 0x1b4], 0
jne 0x140074f61
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + 0x28]
sub rcx, qword [rax + 0x20]
cmp rcx, 0xfa
jge 0x140074f61
mov rcx, rdi
call fcn.140078340
cmp dword [rdi + 0x108], 0xffffffff
je 0x140075036
mov rdx, qword [rdi + 0x38]
mov rcx, qword [rdx + 0x20]
mov rax, qword [rdx + 0x28]
sub rax, rcx
cmp rax, 4
jl 0x140074fcb
movzx eax, byte [rcx]
mov byte [rsp + 0x40], al
mov rax, qword [rdx + 0x20]
movzx ecx, byte [rax + 1]
mov byte [rsp + 0x41], cl
mov rax, qword [rdx + 0x20]
movzx ecx, byte [rax + 2]
mov byte [rsp + 0x42], cl
mov rax, qword [rdx + 0x20]
mov edx, 4
movzx ecx, byte [rax + 3]
mov byte [rsp + 0x43], cl
lea rcx, [rsp + 0x40]
call fcn.1400a5290
test eax, eax
je 0x140074fcb
mov edx, eax
mov rcx, rdi
call fcn.1400a8010
cmp dword [rbp + 0x5c], 5
jne 0x140075036
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + 0x20]
cmp byte [rcx], 0x3c
jne 0x140075036
cmp byte [rcx + 1], 0x3f
jne 0x140075036
cmp byte [rcx + 2], 0x78
jne 0x140075036
cmp byte [rcx + 3], 0x6d
jne 0x140075036
cmp byte [rcx + 4], 0x6c
jne 0x140075036
movzx eax, byte [rcx + 5]
cmp al, 0x20
ja 0x140075036
movabs rcx, 0x100002600
bt rcx, rax
jae 0x140075036
mov rcx, rdi
call fcn.140073990
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
mov edx, 0x19
xor r8d, r8d
mov rcx, rdi
call fcn.1400752d0
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret