Function at 0x140007ae4
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 0x140007f86
mov ebp, 0x7fffffff
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x140007f86
cmp ecx, 0x29
jne 0x140007b37
cmp dword [rsi + 0x1c], 0
jne 0x140007f86
test dword [rsi + 0x80], edx
je 0x140007fdd
cmp ecx, 0x2e
jne 0x140007b57
lea rcx, [rsi + 0x40]
mov edx, 5
call fcn.140008138
mov rcx, rsi
call fcn.140007aa8
jmp 0x140007e8c
cmp ecx, 0x5c
jne 0x140007cc3
mov rcx, rsi
call fcn.140007aa8
mov eax, dword [rsi + 0x80]
test al, al
jns 0x140007bb3
cmp word [rsi + 0x78], 0x62
jne 0x140007b94
mov edx, 4
lea rcx, [rsi + 0x40]
call fcn.140008138
mov rcx, rsi
call fcn.140007aa8
jmp 0x140007f78
cmp word [rsi + 0x78], 0x42
jne 0x140007bb3
lea rcx, [rsi + 0x40]
mov edx, 4
call fcn.140008138
mov rax, qword [rsi + 0x48]
xor dword [rax + 0xc], 1
jmp 0x140007b87
bt eax, 8
jae 0x140007c7e
mov r8d, ebp
mov edx, 0xa
mov rcx, rsi
call fcn.14000a9e4
cmp eax, ebp
je 0x140007c7e
movsxd rbx, dword [rsi + 0x74]
mov eax, dword [rsi + 0x80]
test ebx, ebx
jne 0x140007bf2
bt eax, 0x14
jae 0x140007fa6
jmp 0x140007c8a
bt eax, 9
jae 0x140007c01
cmp ebx, 9
ja 0x140007fe8
mov eax, dword [rsi + 0x18]
cmp rax, rbx
jb 0x140007fe8
cmp qword [rsi + 0x38], rbx
jbe 0x140007fe8
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 0x140007fe8
mov ecx, 0x28
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonLinkCtrl::XElementButtonLinkCtrl]
mov qword [rsp + 0x30], rax
test rax, rax
je 0x140007c6d
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.140008100
jmp 0x140007e8c
mov rcx, rsi
call fcn.140009f54
test al, al
je 0x140007c9c
movzx edx, word [rsi + 0x74]
lea rcx, [rsi + 0x40]
call fcn.1400091c0
jmp 0x140007e8c
test dword [rsi + 0x80], 0x20000
je 0x140007fb1
mov dl, 1
mov rcx, rsi
call fcn.140009c34
test al, al
je 0x140007fb1
jmp 0x140007e8c
cmp ecx, 0x5b
jne 0x140007d2f
mov rcx, rsi
call fcn.140007aa8
lea rcx, [rsi + 0x40]
call fcn.14000a208
mov eax, dword [rsi + 0x7c]
cmp eax, 0x5e
jne 0x140007cf4
mov rax, qword [rsi + 0x48]
mov rcx, rsi
xor dword [rax + 0xc], 1
call fcn.140007aa8
mov eax, dword [rsi + 0x7c]
test dword [rsi + 0x80], 0x20000000
je 0x140007d18
cmp eax, 0x5d
jne 0x140007d18
mov edx, eax
lea rcx, [rsi + 0x40]
call fcn.14000a270
mov rcx, rsi
call fcn.140007aa8
mov rcx, rsi
call fcn.140009cd0
cmp dword [rsi + 0x7c], 0x5d
jne 0x140007fbc
jmp 0x140007b4a
cmp ecx, 0x28
jne 0x140007e13
mov rcx, rsi
call fcn.140007aa8
inc dword [rsi + 0x1c]
mov eax, dword [rsi + 0x80]
bt eax, 0x1b
jb 0x140007d59
cmp dword [rsi + 0x7c], 0x29
je 0x140007ff3
test al, 0x20
je 0x140007d9e
cmp dword [rsi + 0x7c], 0x3f
jne 0x140007d9e
mov rcx, rsi
call fcn.140007aa8
mov ebx, dword [rsi + 0x7c]
mov rcx, rsi
call fcn.140007aa8
cmp ebx, 0x3a
je 0x140007da7
cmp ebx, 0x21
jne 0x140007d91
mov dl, 1
mov rcx, rsi
call fcn.14000a124
dec dword [rsi + 0x1c]
xor bl, bl
jmp 0x140007e07
cmp ebx, 0x3d
jne 0x140007ffe
xor edx, edx
jmp 0x140007d82
test dword [rsi + 0x70], 0x200
je 0x140007db1
mov rcx, rsi
call fcn.14000a0dc
jmp 0x140007e02
inc dword [rsi + 0x18]
lea rcx, [rsi + 0x40]
mov edx, dword [rsi + 0x18]
call fcn.140006acc
mov rcx, rsi
mov rdi, rax
call fcn.140006914
mov rdx, rdi
lea rcx, [rsi + 0x40]
call fcn.140006a44
mov edx, dword [rsi + 0x18]
lea rcx, [rsi + 0x20]
inc edx
call fcn.140007270
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 0x140007fc7
jmp 0x140007e7c
cmp ecx, 0x5e
jne 0x140007e20
lea edx, [rcx - 0x5c]
jmp 0x140007b7e
cmp ecx, 0x24
jne 0x140007e2d
lea edx, [rcx - 0x21]
jmp 0x140007b7e
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x140007fd2
cmp ecx, 0x3f
je 0x140007fd2
cmp ecx, 0x7b
je 0x140007fd2
cmp ecx, 0x7d
jne 0x140007e5c
test dword [rsi + 0x80], edx
je 0x140008009
cmp ecx, 0x5d
jne 0x140007e6d
test dword [rsi + 0x80], edx
je 0x140008014
movzx edx, word [rsi + 0x78]
lea rcx, [rsi + 0x40]
call fcn.1400091c0
mov bl, 1
mov rcx, rsi
call fcn.140007aa8
test bl, bl
je 0x140007f78
mov eax, dword [rsi + 0x7c]
xor edi, edi
or ebx, 0xffffffff
cmp eax, 0x2a
je 0x140007f30
cmp eax, 0x2b
jne 0x140007eaa
lea edi, [rbx + 2]
jmp 0x140007f30
cmp eax, 0x3f
jne 0x140007eb4
lea ebx, [rax - 0x3e]
jmp 0x140007f30
cmp eax, 0x7b
jne 0x140007f78
mov rcx, rsi
call fcn.140007aa8
mov r8d, ebp
mov edx, 0xa
mov rcx, rsi
call fcn.14000a9e4
cmp eax, ebp
je 0x140007f9b
mov eax, dword [rsi + 0x7c]
mov edi, dword [rsi + 0x74]
cmp eax, 0x2c
je 0x140007eec
mov ebx, edi
jmp 0x140007f1a
mov rcx, rsi
call fcn.140007aa8
mov eax, dword [rsi + 0x7c]
cmp eax, 0x7d
je 0x140007f23
mov r8d, ebp
mov edx, 0xa
mov rcx, rsi
call fcn.14000a9e4
cmp eax, ebp
je 0x14000801f
mov ebx, dword [rsi + 0x74]
mov eax, dword [rsi + 0x7c]
cmp eax, 0x7d
jne 0x14000802a
cmp ebx, 0xffffffff
je 0x140007f30
cmp ebx, edi
jl 0x14000802a
mov rax, qword [rsi + 0x48]
mov rcx, rsi
or dword [rax + 0xc], 4
call fcn.140007aa8
test dword [rsi + 0x80], 0x400
je 0x140007f5f
cmp dword [rsi + 0x7c], 0x3f
jne 0x140007f5f
xor bpl, bpl
mov rcx, rsi
call fcn.140007aa8
jmp 0x140007f62
mov bpl, 1
lea rcx, [rsi + 0x40]
mov r9b, bpl
mov r8d, ebx
mov edx, edi
call fcn.14000a304
mov ebp, 0x7fffffff
mov ecx, dword [rsi + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x140007b0e
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.140006740
int3
mov edx, 2
call fcn.140006740
int3
mov edx, 2
call fcn.140006740
int3
mov edx, 4
call fcn.140006740
int3
mov edx, 5
call fcn.140006740
int3
mov edx, 0xa
call fcn.140006740
int3
mov edx, 5
call fcn.140006740
int3
mov edx, 3
call fcn.140006740
int3
mov edx, 5
call fcn.140006740
int3
mov edx, 0xe
call fcn.140006740
int3
mov edx, 6
call fcn.140006740
int3
mov edx, 4
call fcn.140006740
int3
mov edx, 7
call fcn.140006740
int3
mov edx, 7
call fcn.140006740
int3