Function at 0x1400c4710
Capabilities:
Parse credit card information

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xf8
mov qword [rsp + 0xb8], 0xfffffffffffffffe
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
mov r12, rcx
lea rcx, [rax + 0x10]
call fcn.14005b560
xor esi, esi
mov qword [rsp + 0x50], rsi
lea rbx, [0x14014f7a8]
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.140071240
nop
mov rdx, rbx
lea rcx, [rsp + 0x78]
call fcn.140071240
nop
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.140071240
nop
mov r13w, si
mov dword [rsp + 0x58], r13d
mov r14d, esi
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x98], rsi
xorpd xmm6, xmm6
movapd xmm7, xmm6
movsd qword [rsp + 0x158], xmm6
mov ebx, 0x2d
mov r10, qword [rsp + 0x148]
cmp bx, word [r10]
jne 0x1400c4888
nop
mov r8d, 6
mov rdx, r10
lea rcx, str._base
call fcn.14005c510
test al, al
je 0x1400c4811
mov dword [rsp + 0x30], 0xa
add r10, 0xc
mov qword [rsp + 0x148], r10
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x148]
call fcn.140066e40
jmp 0x1400c4868
mov r8d, 5
mov rdx, r10
lea rcx, str._err
call fcn.14005c510
test al, al
je 0x1400c487a
add r10, 0xa
mov qword [rsp + 0x148], r10
mov qword [rsp + 0x80], r10
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x80]
call fcn.140066e10
lea rdx, [rsp + 0x158]
lea rcx, [rsp + 0x148]
call fcn.140066b90
mov r10, qword [rsp + 0x148]
cmp bx, word [r10]
je 0x1400c47d0
movsd xmm7, qword [rsp + 0x158]
mov r14d, dword [rsp + 0x30]
movzx eax, word [r10]
mov ecx, 0x24
cmp ax, 0x23
jne 0x1400c48b0
mov r13d, 0x23
mov dword [rsp + 0x58], r13d
add r10, 2
mov qword [rsp + 0x148], r10
jmp 0x1400c48c1
cmp cx, ax
jne 0x1400c48c1
add r10, 2
mov qword [rsp + 0x148], r10
lea rcx, [rsp + 0x148]
call fcn.14005b560
mov rbx, qword [rsp + 0x148]
cmp word [rbx], 0
jne 0x1400c490e
lea rcx, [rsp + 0x70]
call fcn.14005b520
nop
lea rcx, [rsp + 0x78]
call fcn.14005b520
nop
lea rcx, [rsp + 0x48]
call fcn.14005b520
nop
lea rcx, [rsp + 0x50]
call fcn.14005b520
xor eax, eax
jmp 0x1400c5249
mov rcx, rbx
call fcn.14002b47c
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.140071240
nop
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea edx, [rax + 0xa]
lea rcx, [rsp + 0x60]
call fcn.1400635c0
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x148], rbx
mov ebp, 0x3b
mov edx, ebp
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_StrChrW]
mov rdi, rax
test rax, rax
je 0x1400c4962
mov word [rax], si
mov esi, 0x3d
mov edx, esi
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_StrChrW]
test rax, rax
je 0x1400c4994
mov r8d, esi
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x148]
call fcn.140066780
mov rbx, qword [rsp + 0x148]
test rdi, rdi
je 0x1400c499c
mov word [rdi], bp
cmp si, word [rbx]
jne 0x1400c49ad
add rbx, 2
mov qword [rsp + 0x148], rbx
lea rcx, [rsp + 0x148]
call fcn.14005b560
lea rcx, [rsp + 0x40]
call fcn.140063500
nop
lea rcx, [rsp + 0x68]
call fcn.140063500
nop
mov r15, qword [rsp + 0x148]
mov rsi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x68]
movsd xmm8, qword [0x14014da08]
xor edi, edi
nop dword [rax]
mov byte [rsp + 0x158], 0
mov r10, r15
movzx eax, word [r15]
test ax, ax
je 0x1400c4a55
mov ecx, 0x3b
nop dword [rax]
cmp cx, ax
je 0x1400c4a30
cmp ax, 0xa
je 0x1400c4a30
cmp ax, 0xd
je 0x1400c4a30
add r15, 2
mov ax, word [r15]
test ax, ax
je 0x1400c4a55
jmp 0x1400c4a10
mov word [r15], di
add r15, 2
mov qword [rsp + 0x148], r15
lea rcx, [rsp + 0x148]
call fcn.14005b560
mov r15, qword [rsp + 0x148]
cmp byte [r12 + 0xba], 0
jne 0x1400c4a82
test byte [r12 + 0xf], 0xf
jne 0x1400c4a82
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rsp + 0x50]
mov rdx, r10
mov rcx, r12
call fcn.14006d6c0
jmp 0x1400c4a9a
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rsp + 0x50]
mov rdx, r10
mov rcx, r12
call fcn.14006bc40
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x148], rax
lea rcx, [rsp + 0x148]
call fcn.14005b560
xor r12d, r12d
mov r10, r12
mov rbx, qword [rsp + 0x148]
mov rcx, rbx
cmp word [rbx], r10w
je 0x1400c4af0
nop dword [rax + rax]
movzx eax, word [rcx]
cmp ax, 0x41
jb 0x1400c4ae6
cmp ax, 0x5a
ja 0x1400c4ae6
add ax, 0x20
mov word [rcx], ax
add rcx, 2
cmp word [rcx], r10w
jne 0x1400c4ad0
movzx eax, word [rbx]
mov edx, 0x23
cmp dx, ax
jne 0x1400c4b06
mov r13d, edx
add rbx, 2
jmp 0x1400c4b1a
mov r8d, 0x24
cmp r8w, ax
jne 0x1400c4b1a
add rbx, 2
mov r13w, r12w
movzx eax, word [rbx]
cmp ax, 0x5f
je 0x1400c4b41
cmp ax, 0x24
je 0x1400c4b41
cmp ax, 0x61
jb 0x1400c4b35
cmp ax, 0x7a
jbe 0x1400c4b41
mov r8d, 0x80
cmp ax, r8w
jb 0x1400c4b93
lea r10, [rbx + 2]
mov qword [rsp + 0x148], r10
movzx ecx, word [r10]
call fcn.14005fab0
test al, al
je 0x1400c4b79
nop word [rax + rax]
add r10, 2
movzx ecx, word [r10]
call fcn.14005fab0
test al, al
jne 0x1400c4b60
mov qword [rsp + 0x148], r10
lea rcx, [rsp + 0x148]
call fcn.14005b560
mov rcx, qword [rsp + 0x148]
mov edx, 0x23
mov eax, 0x3d
cmp ax, word [rcx]
jne 0x1400c4baf
mov word [r10], r12w
mov qword [rsp + 0x80], rbx
lea rbx, [rcx + 2]
jmp 0x1400c4bca
lea r12, [0x14014f7a8]
cmp word [r15], 0
cmove r12, rsi
mov qword [rsp + 0x80], r12
xor r12d, r12d
mov word [rbp], r12w
mov rax, qword [rsp + 0x40]
mov word [rax], r12w
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_StrChrW]
mov rdi, rax
mov qword [rsp + 0x88], rax
test rax, rax
je 0x1400c4c01
mov word [rax], r12w
add rdi, 2
mov qword [rsp + 0x88], rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
dec eax
movsxd rcx, eax
movzx eax, word [rbx + rcx*2]
cmp ax, 0x2b
je 0x1400c4c6d
cmp ax, 0x2d
je 0x1400c4c6d
cmp ax, 0x2a
je 0x1400c4c6d
cmp ax, 0x2f
je 0x1400c4c6d
cmp ax, 0x25
je 0x1400c4c6d
cmp ax, 0x5e
je 0x1400c4c6d
cmp ax, 0x40
je 0x1400c4c6d
cmp ax, 0x26
je 0x1400c4c6d
cmp ax, 0x7c
je 0x1400c4c6d
cmp ax, 0x3d
je 0x1400c4c5b
cmp ax, 0x3e
je 0x1400c4c5b
cmp ax, 0x3c
jne 0x1400c4c72
mov eax, 0x30
mov word [rbx + rcx*2 + 2], ax
mov word [rbx + rcx*2 + 4], r12w
jmp 0x1400c4c72
mov word [rbx + rcx*2], r12w
mov edx, 0x64
lea rcx, [rsp + 0x38]
call fcn.140063580
nop
mov word [rbx - 2], r12w
mov rcx, rbx
call fcn.140064520
test eax, eax
jns 0x1400c4ca6
mov dword [rsp + 0x148], 0x80070057
test r13w, r13w
jne 0x1400c4cd2
jmp 0x1400c4d15
test r13w, r13w
je 0x1400c4cee
lea rdx, [rsp + 0x158]
mov rcx, rbx
call fcn.140083f20
mov r13, rax
movsx ecx, byte [rsp + 0x158]
mov dword [rsp + 0x148], ecx
test cl, cl
je 0x1400c4cda
mov r13, qword [rsp + 0x98]
cmp qword [rsp + 0x150], 0
jne 0x1400c5081
jmp 0x1400c4db8
lea rdx, [rsp + 0x158]
mov rcx, rbx
call fcn.140083ea0
movapd xmm5, xmm0
movsx eax, byte [rsp + 0x158]
mov dword [rsp + 0x148], eax
test al, al
je 0x1400c4d19
movapd xmm5, xmm7
cmp qword [rsp + 0x150], 0
jne 0x1400c51ec
cmp r14d, 1
jle 0x1400c4f50
xor bl, bl
comisd xmm6, xmm5
jbe 0x1400c4d49
mov bl, 1
movapd xmm0, xmm8
subsd xmm0, xmm5
movapd xmm5, xmm0
mov byte [rsp + 0x28], 0x66
mov byte [rsp + 0x20], 0
xor r9d, r9d
movapd xmm2, xmm6
movapd xmm1, xmm5
lea rcx, [rsp + 0x90]
call fcn.1400ad450
mov r13, r12
mov rdx, qword [rsp + 0x90]
nop word [rax + rax]
movzx ecx, word [rdx]
lea eax, [rcx - 0x30]
cmp ax, 9
ja 0x1400c4da4
movzx eax, cx
sub eax, 0x30
movsxd rcx, eax
lea rax, [r13 + r13*4]
lea r13, [rcx + rax*2]
add rdx, 2
jmp 0x1400c4d80
test bl, bl
je 0x1400c4dab
neg r13
lea rcx, [rsp + 0x90]
call fcn.14005b520
cmp r14d, 1
jg 0x1400c4dd5
mov rdx, r13
mov rbx, qword [rsp + 0x38]
mov rcx, rbx
call fcn.140062c70
xor edi, edi
jmp 0x1400c501a
cmp r14d, 2
jne 0x1400c4def
lea r14, [0x14015487c]
mov ebx, dword [rsp + 0x30]
lea rax, [0x14014f7a8]
jmp 0x1400c4e22
cmp r14d, 8
jne 0x1400c4e09
lea r14, [0x140154874]
mov ebx, dword [rsp + 0x30]
lea rax, [0x14014f7a8]
jmp 0x1400c4e22
lea r14, [0x14015486c]
mov ebx, dword [rsp + 0x30]
cmp ebx, 0x10
lea rax, [0x14014f7a8]
cmovne r14, rax
mov qword [rsp + 0x158], rax
test r13, r13
jns 0x1400c4e41
lea rax, [0x140142f84]
mov qword [rsp + 0x158], rax
neg r13
test r13, r13
jg 0x1400c4e57
lea rdx, [0x140143378]
lea rcx, [rsp + 0x38]
call fcn.140071360
cmp r13, 1
jl 0x1400c4eef
movsxd rsi, ebx
mov rdi, qword [rsp + 0x38]
nop dword [rax]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xa0]
call fcn.140071300
mov rax, r13
cqo
idiv rsi
mov r13, rax
mov r8d, edx
lea rdx, [0x140154864]
mov rcx, rdi
call qword [sym.imp.USER32.dll_wsprintfW]
mov rbx, qword [rsp + 0xa0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r12d, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
lea rcx, [rdi + rcx*2]
lea eax, [r12 + 1]
movsxd r8, eax
add r8, r8
mov rdx, rbx
call fcn.14010cd30
lea rcx, [rsp + 0xa0]
call fcn.14005b520
cmp r13, 1
jge 0x1400c4e70
mov rsi, qword [rsp + 0x48]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xa8]
call fcn.140071300
mov rdx, qword [rsp + 0x158]
lea rcx, [rsp + 0x38]
call fcn.140071360
mov rdx, r14
lea rcx, [rsp + 0x38]
call fcn.140063600
mov rdx, qword [rsp + 0xa8]
lea rcx, [rsp + 0x38]
call fcn.140063600
lea rcx, [rsp + 0xa8]
call fcn.14005b520
mov rbx, qword [rsp + 0x38]
mov r14d, dword [rsp + 0x30]
xor edi, edi
jmp 0x1400c501a
or r9d, 0xffffffff
mov dword [rsp + 0x158], r9d
xor bl, bl
xor r12b, r12b
test rdi, rdi
je 0x1400c4fd7
cmp word [rdi], 0x23
jne 0x1400c4f7b
movzx ebx, byte [rdi]
add rdi, 2
mov qword [rsp + 0x88], rdi
lea rdx, [rsp + 0x158]
lea rcx, [rsp + 0x88]
call fcn.140066e40
mov rdx, qword [rsp + 0x88]
movzx ecx, word [rdx]
cmp cx, 0x65
je 0x1400c4fad
cmp cx, 0x66
je 0x1400c4fad
cmp cx, 0x67
jne 0x1400c4fb1
movzx r12d, byte [rdx]
test eax, eax
jle 0x1400c4fcb
mov r9d, dword [rsp + 0x158]
test r9d, r9d
jns 0x1400c4fdb
xor bl, bl
xor edi, edi
mov r9d, edi
jmp 0x1400c4fdd
mov r9d, dword [rsp + 0x158]
xor edi, edi
jmp 0x1400c4fdd
xor edi, edi
jmp 0x1400c4fdd
xor edi, edi
mov byte [rsp + 0x28], r12b
mov byte [rsp + 0x20], bl
movapd xmm2, xmm6
movapd xmm1, xmm5
lea rcx, [rsp + 0xb0]
call fcn.1400ad450
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.1400713f0
lea rcx, [rsp + 0xb0]
call fcn.14005b520
mov rbx, qword [rsp + 0x38]
mov rcx, rbx
call fcn.14002b47c
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.140071480
mov rbx, qword [rsp + 0x40]
cmp word [r15], 0
je 0x1400c50e0
mov rax, qword [rsp + 0x80]
cmp word [rax], 0
je 0x1400c5065
mov r8, rbx
mov rdx, rax
mov r12, qword [rsp + 0x140]
mov rcx, r12
call fcn.140061290
jmp 0x1400c506d
mov r12, qword [rsp + 0x140]
lea rcx, [rsp + 0x38]
call fcn.14005b520
mov r13d, dword [rsp + 0x58]
jmp 0x1400c49f0
lea rcx, [rsp + 0x38]
call fcn.14005b520
nop
lea rcx, [rsp + 0x68]
call fcn.14005b520
nop
lea rcx, [rsp + 0x40]
call fcn.14005b520
nop
lea rcx, [rsp + 0x60]
call fcn.14005b520
nop
lea rcx, [rsp + 0x70]
call fcn.14005b520
nop
lea rcx, [rsp + 0x78]
call fcn.14005b520
nop
lea rcx, [rsp + 0x48]
call fcn.14005b520
nop
lea rcx, [rsp + 0x50]
call fcn.14005b520
mov eax, r13d
jmp 0x1400c5249
lea rcx, [rsp + 0x38]
call fcn.14005b520
cmp word [rsi], 0
je 0x1400c510f
mov r8, rbx
mov rdx, rsi
mov rcx, qword [rsp + 0x140]
call fcn.140061290
mov esi, dword [rsp + 0x148]
jmp 0x1400c519c
mov qword [rsp + 0x158], rdi
mov esi, dword [rsp + 0x148]
test esi, esi
je 0x1400c5140
lea rdx, str.icon1_0_
lea rcx, [rsp + 0x158]
call fcn.140071480
mov rdi, qword [rsp + 0x158]
jmp 0x1400c517a
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebx, eax
lea edx, [rax + 2]
lea rcx, [rsp + 0x40]
call fcn.1400635c0
mov rdi, qword [rsp + 0x40]
lea eax, [rbx + rbx + 2]
movsxd r8, eax
lea rcx, [rdi + 2]
mov rdx, rdi
call fcn.14010cd30
mov eax, 0x20
mov word [rdi], ax
xor r8d, r8d
mov rdx, rdi
mov rcx, qword [rsp + 0x140]
call fcn.1400bfc70
nop
lea rcx, [rsp + 0x158]
call fcn.14005b520
nop
lea rcx, [rsp + 0x68]
call fcn.14005b520
nop
lea rcx, [rsp + 0x40]
call fcn.14005b520
nop
lea rcx, [rsp + 0x60]
call fcn.14005b520
nop
lea rcx, [rsp + 0x70]
call fcn.14005b520
nop
lea rcx, [rsp + 0x78]
call fcn.14005b520
nop
lea rcx, [rsp + 0x48]
call fcn.14005b520
nop
lea rcx, [rsp + 0x50]
call fcn.14005b520
mov eax, esi
jmp 0x1400c5249
cvttsd2si ebx, xmm5
lea rcx, [rsp + 0x38]
call fcn.14005b520
nop
lea rcx, [rsp + 0x68]
call fcn.14005b520
nop
lea rcx, [rsp + 0x40]
call fcn.14005b520
nop
lea rcx, [rsp + 0x60]
call fcn.14005b520
nop
lea rcx, [rsp + 0x70]
call fcn.14005b520
nop
lea rcx, [rsp + 0x78]
call fcn.14005b520
nop
lea rcx, [rsp + 0x48]
call fcn.14005b520
nop
lea rcx, [rsp + 0x50]
call fcn.14005b520
mov eax, ebx
lea r11, [rsp + 0xf8]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret