Function at 0x140007ad4
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
mov rsi, rcx
xor al, al
mov ecx, dword [rcx + 0x7c]
cmp ecx, 0xffffffff
je 0x140007f76
mov ebp, 0x7fffffff
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x140007f76
cmp ecx, 0x29
jne 0x140007b27
cmp dword [rsi + 0x1c], 0
jne 0x140007f76
test dword [rsi + 0x80], edx
je 0x140007fcd
cmp ecx, 0x2e
jne 0x140007b47
lea rcx, [rsi + 0x40]
mov edx, 5
call fcn.140008128
mov rcx, rsi
call fcn.140007a98
jmp 0x140007e7c
cmp ecx, 0x5c
jne 0x140007cb3
mov rcx, rsi
call fcn.140007a98
mov eax, dword [rsi + 0x80]
test al, al
jns 0x140007ba3
cmp word [rsi + 0x78], 0x62
jne 0x140007b84
mov edx, 4
lea rcx, [rsi + 0x40]
call fcn.140008128
mov rcx, rsi
call fcn.140007a98
jmp 0x140007f68
cmp word [rsi + 0x78], 0x42
jne 0x140007ba3
lea rcx, [rsi + 0x40]
mov edx, 4
call fcn.140008128
mov rax, qword [rsi + 0x48]
xor dword [rax + 0xc], 1
jmp 0x140007b77
bt eax, 8
jae 0x140007c6e
mov r8d, ebp
mov edx, 0xa
mov rcx, rsi
call fcn.14000a9d4
cmp eax, ebp
je 0x140007c6e
movsxd rbx, dword [rsi + 0x74]
mov eax, dword [rsi + 0x80]
test ebx, ebx
jne 0x140007be2
bt eax, 0x14
jae 0x140007f96
jmp 0x140007c7a
bt eax, 9
jae 0x140007bf1
cmp ebx, 9
ja 0x140007fd8
mov eax, dword [rsi + 0x18]
cmp rax, rbx
jb 0x140007fd8
cmp qword [rsi + 0x38], rbx
jbe 0x140007fd8
mov rdx, qword [rsi + 0x20]
mov al, bl
and al, 0x1f
mov r8, rbx
shr r8, 5
movzx ecx, al
mov eax, dword [rdx + r8*4]
bt eax, ecx
jae 0x140007fd8
mov ecx, 0x28
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonLinkCtrl::XElementButtonLinkCtrl]
mov qword [rsp + 0x30], rax
test rax, rax
je 0x140007c5d
and dword [rax + 0xc], 0
lea rcx, vtable.std::_Node_back.0
and qword [rax + 0x10], 0
and qword [rax + 0x18], 0
mov qword [rax], rcx
mov dword [rax + 8], 0xf
mov dword [rax + 0x20], ebx
lea rcx, [rsi + 0x40]
mov rdx, rax
call fcn.1400080f0
jmp 0x140007e7c
mov rcx, rsi
call fcn.140009f44
test al, al
je 0x140007c8c
movzx edx, word [rsi + 0x74]
lea rcx, [rsi + 0x40]
call fcn.1400091b0
jmp 0x140007e7c
test dword [rsi + 0x80], 0x20000
je 0x140007fa1
mov dl, 1
mov rcx, rsi
call fcn.140009c24
test al, al
je 0x140007fa1
jmp 0x140007e7c
cmp ecx, 0x5b
jne 0x140007d1f
mov rcx, rsi
call fcn.140007a98
lea rcx, [rsi + 0x40]
call fcn.14000a1f8
mov eax, dword [rsi + 0x7c]
cmp eax, 0x5e
jne 0x140007ce4
mov rax, qword [rsi + 0x48]
mov rcx, rsi
xor dword [rax + 0xc], 1
call fcn.140007a98
mov eax, dword [rsi + 0x7c]
test dword [rsi + 0x80], 0x20000000
je 0x140007d08
cmp eax, 0x5d
jne 0x140007d08
mov edx, eax
lea rcx, [rsi + 0x40]
call fcn.14000a260
mov rcx, rsi
call fcn.140007a98
mov rcx, rsi
call fcn.140009cc0
cmp dword [rsi + 0x7c], 0x5d
jne 0x140007fac
jmp 0x140007b3a
cmp ecx, 0x28
jne 0x140007e03
mov rcx, rsi
call fcn.140007a98
inc dword [rsi + 0x1c]
mov eax, dword [rsi + 0x80]
bt eax, 0x1b
jb 0x140007d49
cmp dword [rsi + 0x7c], 0x29
je 0x140007fe3
test al, 0x20
je 0x140007d8e
cmp dword [rsi + 0x7c], 0x3f
jne 0x140007d8e
mov rcx, rsi
call fcn.140007a98
mov ebx, dword [rsi + 0x7c]
mov rcx, rsi
call fcn.140007a98
cmp ebx, 0x3a
je 0x140007d97
cmp ebx, 0x21
jne 0x140007d81
mov dl, 1
mov rcx, rsi
call fcn.14000a114
dec dword [rsi + 0x1c]
xor bl, bl
jmp 0x140007df7
cmp ebx, 0x3d
jne 0x140007fee
xor edx, edx
jmp 0x140007d72
test dword [rsi + 0x70], 0x200
je 0x140007da1
mov rcx, rsi
call fcn.14000a0cc
jmp 0x140007df2
inc dword [rsi + 0x18]
lea rcx, [rsi + 0x40]
mov edx, dword [rsi + 0x18]
call fcn.140006abc
mov rcx, rsi
mov rdi, rax
call fcn.140006904
mov rdx, rdi
lea rcx, [rsi + 0x40]
call fcn.140006a34
mov edx, dword [rsi + 0x18]
lea rcx, [rsi + 0x20]
inc edx
call fcn.140007260
mov r8d, dword [rdi + 0x20]
mov rcx, qword [rsi + 0x20]
mov edx, r8d
shr rdx, 5
and r8d, 0x1f
mov eax, dword [rcx + rdx*4]
bts eax, r8d
mov dword [rcx + rdx*4], eax
dec dword [rsi + 0x1c]
mov bl, 1
cmp dword [rsi + 0x7c], 0x29
jne 0x140007fb7
jmp 0x140007e6c
cmp ecx, 0x5e
jne 0x140007e10
lea edx, [rcx - 0x5c]
jmp 0x140007b6e
cmp ecx, 0x24
jne 0x140007e1d
lea edx, [rcx - 0x21]
jmp 0x140007b6e
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x140007fc2
cmp ecx, 0x3f
je 0x140007fc2
cmp ecx, 0x7b
je 0x140007fc2
cmp ecx, 0x7d
jne 0x140007e4c
test dword [rsi + 0x80], edx
je 0x140007ff9
cmp ecx, 0x5d
jne 0x140007e5d
test dword [rsi + 0x80], edx
je 0x140008004
movzx edx, word [rsi + 0x78]
lea rcx, [rsi + 0x40]
call fcn.1400091b0
mov bl, 1
mov rcx, rsi
call fcn.140007a98
test bl, bl
je 0x140007f68
mov eax, dword [rsi + 0x7c]
xor edi, edi
or ebx, 0xffffffff
cmp eax, 0x2a
je 0x140007f20
cmp eax, 0x2b
jne 0x140007e9a
lea edi, [rbx + 2]
jmp 0x140007f20
cmp eax, 0x3f
jne 0x140007ea4
lea ebx, [rax - 0x3e]
jmp 0x140007f20
cmp eax, 0x7b
jne 0x140007f68
mov rcx, rsi
call fcn.140007a98
mov r8d, ebp
mov edx, 0xa
mov rcx, rsi
call fcn.14000a9d4
cmp eax, ebp
je 0x140007f8b
mov eax, dword [rsi + 0x7c]
mov edi, dword [rsi + 0x74]
cmp eax, 0x2c
je 0x140007edc
mov ebx, edi
jmp 0x140007f0a
mov rcx, rsi
call fcn.140007a98
mov eax, dword [rsi + 0x7c]
cmp eax, 0x7d
je 0x140007f13
mov r8d, ebp
mov edx, 0xa
mov rcx, rsi
call fcn.14000a9d4
cmp eax, ebp
je 0x14000800f
mov ebx, dword [rsi + 0x74]
mov eax, dword [rsi + 0x7c]
cmp eax, 0x7d
jne 0x14000801a
cmp ebx, 0xffffffff
je 0x140007f20
cmp ebx, edi
jl 0x14000801a
mov rax, qword [rsi + 0x48]
mov rcx, rsi
or dword [rax + 0xc], 4
call fcn.140007a98
test dword [rsi + 0x80], 0x400
je 0x140007f4f
cmp dword [rsi + 0x7c], 0x3f
jne 0x140007f4f
xor bpl, bpl
mov rcx, rsi
call fcn.140007a98
jmp 0x140007f52
mov bpl, 1
lea rcx, [rsi + 0x40]
mov r9b, bpl
mov r8d, ebx
mov edx, edi
call fcn.14000a2f4
mov ebp, 0x7fffffff
mov ecx, dword [rsi + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x140007afe
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
mov edx, 7
call fcn.140006730
int3
mov edx, 2
call fcn.140006730
int3
mov edx, 2
call fcn.140006730
int3
mov edx, 4
call fcn.140006730
int3
mov edx, 5
call fcn.140006730
int3
mov edx, 0xa
call fcn.140006730
int3
mov edx, 5
call fcn.140006730
int3
mov edx, 3
call fcn.140006730
int3
mov edx, 5
call fcn.140006730
int3
mov edx, 0xe
call fcn.140006730
int3
mov edx, 6
call fcn.140006730
int3
mov edx, 4
call fcn.140006730
int3
mov edx, 7
call fcn.140006730
int3
mov edx, 7
call fcn.140006730
int3