Function at 0x1400c387c
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
xor ebp, ebp
mov rdi, rdx
cmp dword [rdx], 2
mov rbx, rcx
jbe 0x1400c38ad
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x1400c38ad
call qword [sym.imp.KERNEL32.dll_DebugBreak]
mov rdx, rdi
mov rcx, rbx
call fcn.1400c3560
mov ecx, dword [rdi + 0x18]
cmp ecx, 0x2a
jne 0x1400c38c8
xor r8d, r8d
jmp 0x1400c3990
cmp ecx, 0x1c
jne 0x1400c38da
mov rcx, rbx
call fcn.1400c1c74
jmp 0x1400c3c38
cmp ecx, 5
je 0x1400c3c25
cmp ecx, 0x34
je 0x1400c3c25
cmp ecx, 0x1e
je 0x1400c3c1e
cmp ecx, 0x12
je 0x1400c3c1e
cmp ecx, 0x41
jne 0x1400c3918
cmp qword [rbx + 0x628], rbp
jne 0x1400c3c38
lea edx, [rcx - 0x3d]
jmp 0x1400c3c2a
cmp ecx, 0x33
jne 0x1400c3925
lea edx, [rcx - 0x2b]
jmp 0x1400c3c2a
cmp ecx, 0xa
jne 0x1400c394c
mov rcx, rbx
call fcn.1400c0f4c
mov rcx, rbx
test al, al
je 0x1400c3a64
movss xmm1, dword [rbx + 0x10]
call fcn.1400c1828
jmp 0x1400c3c38
cmp ecx, 0x13
jne 0x1400c3961
mov rdx, rdi
mov rcx, rbx
call fcn.1400c264c
jmp 0x1400c3c38
test ecx, ecx
jne 0x1400c397f
xor r9d, r9d
lea r8, str.href
mov rdx, rdi
mov rcx, rbx
call fcn.1400c2888
jmp 0x1400c3c38
cmp ecx, 8
je 0x1400c3c11
cmp ecx, 0xf
jne 0x1400c39a0
mov r8b, 1
mov rdx, rdi
mov rcx, rbx
call fcn.1400c2484
jmp 0x1400c3c38
mov edx, ecx
sub edx, 0x15
je 0x1400c3c04
sub edx, 1
je 0x1400c3c04
sub edx, 1
je 0x1400c3c04
sub edx, 1
je 0x1400c3c04
sub edx, 1
je 0x1400c3c04
cmp edx, 1
je 0x1400c3c04
lea eax, [rcx - 0x32]
test eax, 0xfffffff9
jne 0x1400c39eb
cmp ecx, 0x34
jne 0x1400c3c38
cmp ecx, 0xb
jne 0x1400c3a4a
mov r8b, 1
mov rdx, rdi
mov rcx, rbx
call fcn.1400c2484
cmp dword [rdi], 1
je 0x1400c3c38
cmp qword [rbx + 0x50], rbp
jne 0x1400c3a1d
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x1400c3a1d
call qword [sym.imp.KERNEL32.dll_DebugBreak]
mov rax, qword [rbx + 0x50]
lea rsi, [rax - 1]
cmp rsi, rax
jb 0x1400c3a3a
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x1400c3a3a
call qword [sym.imp.KERNEL32.dll_DebugBreak]
mov rax, qword [rbx + 0x68]
add rsi, rsi
mov dword [rax + rsi*8 + 8], ebp
jmp 0x1400c3c38
cmp ecx, 0x42
je 0x1400c3c11
cmp ecx, 0x29
je 0x1400c3c11
cmp ecx, 0x23
jne 0x1400c3a70
mov rcx, rbx
mov dl, 1
call fcn.1400c11fc
jmp 0x1400c3c38
cmp ecx, 0x11
jne 0x1400c3ae1
mov dl, 1
mov rcx, rbx
call fcn.1400c11fc
cmp dword [rdi], ebp
mov edx, 1
mov rcx, rbx
sete r8b
call fcn.1400c0a64
cmp dword [rdi], ebp
jne 0x1400c3c38
cmp qword [rbx + 0x50], rbp
jne 0x1400c3ab0
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x1400c3ab0
call qword [sym.imp.KERNEL32.dll_DebugBreak]
mov rax, qword [rbx + 0x50]
lea rsi, [rax - 1]
cmp rsi, rax
jb 0x1400c3acd
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x1400c3acd
call qword [sym.imp.KERNEL32.dll_DebugBreak]
mov rax, qword [rbx + 0x68]
add rsi, rsi
mov dword [rax + rsi*8 + 8], 2
jmp 0x1400c3c38
cmp ecx, 0xe
je 0x1400c3c11
cmp ecx, 0x3b
je 0x1400c3c11
cmp ecx, 0x3f
jne 0x1400c3b1c
mov dl, 1
mov rcx, rbx
call fcn.1400c11fc
cmp dword [rdi], ebp
jne 0x1400c3bf5
mov edx, 2
mov rcx, rbx
call fcn.1400c0b60
jmp 0x1400c3c38
cmp ecx, 0xc
je 0x1400c3b96
cmp ecx, 0x40
je 0x1400c3b96
cmp ecx, 0x2d
jne 0x1400c3b3b
mov rdx, rdi
mov rcx, rbx
call fcn.1400c2ba4
jmp 0x1400c3c38
cmp ecx, 0x20
jne 0x1400c3b51
mov rax, qword [rbx]
mov rdx, rdi
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1400c3c38
cmp ecx, 0x2b
jne 0x1400c3b67
mov rax, qword [rbx]
mov rdx, rdi
mov rcx, rbx
call qword [rax + 0x10]
jmp 0x1400c3c38
cmp ecx, 0x24
jne 0x1400c3b7d
mov rax, qword [rbx]
mov rdx, rdi
mov rcx, rbx
call qword [rax + 0x18]
jmp 0x1400c3c38
cmp ecx, 0x35
jne 0x1400c3c38
mov rdx, rdi
mov rcx, rbx
call fcn.1400c340c
jmp 0x1400c3c38
cmp dword [rdi], ebp
jne 0x1400c3bf5
cmp qword [rbx + 0x50], rbp
jne 0x1400c3bb0
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x1400c3bb0
call qword [sym.imp.KERNEL32.dll_DebugBreak]
mov rax, qword [rbx + 0x50]
lea rsi, [rax - 1]
cmp rsi, rax
jb 0x1400c3bcd
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x1400c3bcd
call qword [sym.imp.KERNEL32.dll_DebugBreak]
mov rax, qword [rbx + 0x68]
lea rdx, str.Courier_New
movss xmm3, dword [0x14014a08c]
add rsi, rsi
mov rcx, rbx
mov r8, qword [rax + rsi*8]
mov r8d, dword [r8 + 0xc]
call fcn.1400c0908
jmp 0x1400c3c38
cmp dword [rdi], 1
jne 0x1400c3c38
mov rcx, rbx
call fcn.1400c0be8
jmp 0x1400c3c38
mov rdx, rdi
mov rcx, rbx
call fcn.1400c2958
jmp 0x1400c3c38
mov rdx, rdi
mov rcx, rbx
call fcn.1400c2b4c
jmp 0x1400c3c38
mov edx, 2
jmp 0x1400c3c2a
mov edx, 1
cmp dword [rdi], ebp
mov rcx, rbx
sete r8b
call fcn.1400c0a64
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call fcn.1400c2388
cmp dword [rdi], ebp
jne 0x1400c3cc2
mov ecx, dword [rdi + 0x18]
call fcn.140096a04
test al, al
jne 0x1400c3cc2
lea rdx, [0x1401494d8]
mov rcx, rdi
call fcn.14009bda8
test rax, rax
je 0x1400c3cc2
lea rdx, [0x1401494f4]
mov rcx, rax
call fcn.14009bcb8
mov sil, al
cmp qword [rbx + 0x50], rbp
jne 0x1400c3c92
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x1400c3c92
call qword [sym.imp.KERNEL32.dll_DebugBreak]
mov rcx, qword [rbx + 0x50]
lea rdi, [rcx - 1]
cmp rdi, rcx
jb 0x1400c3caf
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x1400c3caf
call qword [sym.imp.KERNEL32.dll_DebugBreak]
mov rax, qword [rbx + 0x68]
add rdi, rdi
mov byte [rax + rdi*8 + 0xc], sil
mov byte [rbx + 0x191], sil
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret