Function at 0x140115420
Capabilities:
Parse credit card information

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x90
lea rdi, [rsp + 0x40]
mov ecx, reloc.OLEAUT32.dll_SafeArrayLock
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0xd0]
mov eax, dword [rax]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x5c], 0
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x48]
movzx eax, word [rcx + rax]
cmp eax, 0x28
jne 0x1401157b2
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x48]
movzx eax, word [rcx + rax]
cmp eax, 0x2a
jne 0x1401154c8
mov rax, qword [rsp + 0x48]
add rax, 4
mov qword [rsp + 0x48], rax
jmp 0x1401157b2
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x48]
movzx eax, word [rcx + rax]
cmp eax, 0x3f
je 0x140115535
mov rax, qword [rsp + 0xd0]
mov eax, dword [rax]
inc eax
mov rcx, qword [rsp + 0xd0]
mov dword [rcx], eax
cmp qword [rsp + 0xb0], 0
jne 0x140115522
mov rax, qword [rsp + 0xd0]
mov ecx, dword [rsp + 0xb8]
cmp dword [rax], ecx
jne 0x140115522
mov rax, qword [rsp + 0xd0]
mov eax, dword [rax]
jmp 0x140115d56
mov rax, qword [rsp + 0x48]
add rax, 2
mov qword [rsp + 0x48], rax
jmp 0x1401157b2
mov eax, 2
imul rax, rax, 2
mov rcx, qword [rsp + 0x48]
movzx eax, word [rcx + rax]
cmp eax, 0x7c
jne 0x140115567
mov rax, qword [rsp + 0x48]
add rax, 6
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x5c], 1
jmp 0x1401157b2
mov eax, 2
imul rax, rax, 2
mov rcx, qword [rsp + 0x48]
movzx eax, word [rcx + rax]
cmp eax, 0x23
jne 0x1401155c3
mov rax, qword [rsp + 0x48]
add rax, 6
mov qword [rsp + 0x48], rax
jmp 0x14011559c
mov rax, qword [rsp + 0x48]
add rax, 2
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
test eax, eax
je 0x1401155b9
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
cmp eax, 0x29
jne 0x1401155b7
jmp 0x1401155b9
jmp 0x14011558e
jmp 0x140115d41
mov eax, 2
imul rax, rax, 2
mov rcx, qword [rsp + 0x48]
movzx eax, word [rcx + rax]
cmp eax, 0x28
jne 0x140115647
mov rax, qword [rsp + 0x48]
add rax, 4
mov qword [rsp + 0x48], rax
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x48]
movzx eax, word [rcx + rax]
cmp eax, 0x3f
je 0x140115642
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
test eax, eax
je 0x140115628
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
cmp eax, 0x29
je 0x140115628
mov rax, qword [rsp + 0x48]
add rax, 2
mov qword [rsp + 0x48], rax
jmp 0x1401155ff
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
test eax, eax
je 0x140115642
mov rax, qword [rsp + 0x48]
add rax, 2
mov qword [rsp + 0x48], rax
jmp 0x1401157b2
mov rax, qword [rsp + 0x48]
add rax, 4
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
cmp eax, 0x50
jne 0x140115670
mov rax, qword [rsp + 0x48]
add rax, 2
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
cmp eax, 0x3c
jne 0x1401156ab
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x48]
movzx eax, word [rcx + rax]
cmp eax, 0x21
je 0x1401156ab
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x48]
movzx eax, word [rcx + rax]
cmp eax, 0x3d
jne 0x1401156bc
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
cmp eax, 0x27
jne 0x1401157b2
mov rax, qword [rsp + 0xd0]
mov eax, dword [rax]
inc eax
mov rcx, qword [rsp + 0xd0]
mov dword [rcx], eax
cmp qword [rsp + 0xb0], 0
jne 0x1401156ff
mov rax, qword [rsp + 0xd0]
mov ecx, dword [rsp + 0xb8]
cmp dword [rax], ecx
jne 0x1401156ff
mov rax, qword [rsp + 0xd0]
mov eax, dword [rax]
jmp 0x140115d56
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0x48]
add rax, 2
mov qword [rsp + 0x48], rax
cmp dword [rsp + 0x60], 0x3c
jne 0x140115728
mov dword [rsp + 0x60], 0x3e
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
cmp eax, dword [rsp + 0x60]
je 0x140115750
mov rax, qword [rsp + 0x48]
add rax, 2
mov qword [rsp + 0x48], rax
jmp 0x140115732
cmp qword [rsp + 0xb0], 0
je 0x1401157a8
movsxd rax, dword [rsp + 0xb8]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x48]
sub rdx, rcx
mov rcx, rdx
sar rcx, 1
cmp rax, rcx
jne 0x1401157a8
mov r8d, dword [rsp + 0xb8]
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xb0]
call fcn.140133b00
test eax, eax
jne 0x1401157a8
mov rax, qword [rsp + 0xd0]
mov eax, dword [rax]
jmp 0x140115d56
mov eax, dword [rsp + 0x60]
inc eax
mov dword [rsp + 0x60], eax
jmp 0x1401157c2
mov rax, qword [rsp + 0x48]
add rax, 2
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax + 0x38]
cmp qword [rsp + 0x48], rax
jae 0x140115d41
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
cmp eax, 0x5c
jne 0x140115874
mov rax, qword [rsp + 0x48]
add rax, 2
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
test eax, eax
jne 0x140115809
jmp 0x140115d41
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
cmp eax, 0x51
jne 0x14011586f
mov rax, qword [rsp + 0x48]
add rax, 2
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
test eax, eax
je 0x14011583f
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
cmp eax, 0x5c
je 0x14011583f
jmp 0x140115816
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
test eax, eax
jne 0x140115850
jmp 0x140115d41
mov rax, qword [rsp + 0x48]
add rax, 2
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
cmp eax, 0x45
jne 0x14011586d
jmp 0x14011586f
jmp 0x140115816
jmp 0x1401157b4
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
cmp eax, 0x5b
jne 0x140115a51
mov dword [rsp + 0x70], 0
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x48]
movzx eax, word [rcx + rax]
cmp eax, 0x5c
jne 0x140115901
mov eax, 2
imul rax, rax, 2
mov rcx, qword [rsp + 0x48]
movzx eax, word [rcx + rax]
cmp eax, 0x45
jne 0x1401158cb
mov rax, qword [rsp + 0x48]
add rax, 4
mov qword [rsp + 0x48], rax
jmp 0x1401158ff
mov rax, qword [rsp + 0x48]
add rax, 4
mov r8d, 3
lea rdx, [0x14031e908]
mov rcx, rax
call fcn.140133a30
test eax, eax
jne 0x1401158fd
mov rax, qword [rsp + 0x48]
add rax, 8
mov qword [rsp + 0x48], rax
jmp 0x1401158ff
jmp 0x14011593e
jmp 0x140115939
cmp dword [rsp + 0x70], 0
jne 0x140115937
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x48]
movzx eax, word [rcx + rax]
cmp eax, 0x5e
jne 0x140115937
mov dword [rsp + 0x70], 1
mov rax, qword [rsp + 0x48]
add rax, 2
mov qword [rsp + 0x48], rax
jmp 0x140115939
jmp 0x14011593e
jmp 0x14011588d
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x48]
movzx eax, word [rcx + rax]
cmp eax, 0x5d
jne 0x140115977
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax + 0x78]
and eax, 0x2000000
test eax, eax
jne 0x140115977
mov rax, qword [rsp + 0x48]
add rax, 2
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
add rax, 2
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
cmp eax, 0x5d
je 0x140115a4c
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
test eax, eax
jne 0x1401159ac
mov eax, 0xffffffff
jmp 0x140115d56
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
cmp eax, 0x5c
jne 0x140115a47
mov rax, qword [rsp + 0x48]
add rax, 2
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
test eax, eax
jne 0x1401159dc
jmp 0x140115d41
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
cmp eax, 0x51
jne 0x140115a42
mov rax, qword [rsp + 0x48]
add rax, 2
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
test eax, eax
je 0x140115a12
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
cmp eax, 0x5c
je 0x140115a12
jmp 0x1401159e9
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
test eax, eax
jne 0x140115a23
jmp 0x140115d41
mov rax, qword [rsp + 0x48]
add rax, 2
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
cmp eax, 0x45
jne 0x140115a40
jmp 0x140115a42
jmp 0x1401159e9
jmp 0x140115977
jmp 0x140115977
jmp 0x1401157b4
cmp dword [rsp + 0xc0], 0
je 0x140115c50
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
cmp eax, 0x23
jne 0x140115c50
mov rax, qword [rsp + 0x48]
add rax, 2
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
test eax, eax
je 0x140115c3a
mov rax, qword [rsp + 0xa8]
cmp dword [rax + 0x8c], 0
je 0x140115b15
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax + 0x38]
cmp qword [rsp + 0x48], rax
jae 0x140115b00
mov rax, qword [rsp + 0xa8]
add rax, 0x90
mov ecx, dword [rsp + 0xc8]
mov dword [rsp + 0x20], ecx
mov r9, rax
mov rax, qword [rsp + 0xa8]
mov r8, qword [rax + 0x38]
mov rax, qword [rsp + 0xa8]
mov edx, dword [rax + 0x8c]
mov rcx, qword [rsp + 0x48]
call fcn.140133bc0
test eax, eax
je 0x140115b00
mov dword [rsp + 0x78], 1
jmp 0x140115b08
mov dword [rsp + 0x78], 0
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x7c], eax
jmp 0x140115bd2
mov rax, qword [rsp + 0xa8]
movsxd rax, dword [rax + 0x90]
shl rax, 1
mov rcx, qword [rsp + 0xa8]
mov rcx, qword [rcx + 0x38]
sub rcx, rax
mov rax, rcx
cmp qword [rsp + 0x48], rax
ja 0x140115bbc
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x48]
movzx eax, word [rcx + rax]
mov ecx, 2
imul rcx, rcx, 0
mov rdx, qword [rsp + 0xa8]
movzx ecx, word [rdx + rcx + 0x94]
cmp eax, ecx
jne 0x140115bbc
mov rax, qword [rsp + 0xa8]
cmp dword [rax + 0x90], 1
je 0x140115baf
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x48]
movzx eax, word [rcx + rax]
mov ecx, 2
imul rcx, rcx, 1
mov rdx, qword [rsp + 0xa8]
movzx ecx, word [rdx + rcx + 0x94]
cmp eax, ecx
jne 0x140115bbc
mov dword [rsp + 0x80], 1
jmp 0x140115bc7
mov dword [rsp + 0x80], 0
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x7c], eax
cmp dword [rsp + 0x7c], 0
je 0x140115bfb
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax + 0x90]
dec eax
cdqe
mov rcx, qword [rsp + 0x48]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x48], rax
jmp 0x140115c3a
mov rax, qword [rsp + 0x48]
add rax, 2
mov qword [rsp + 0x48], rax
cmp dword [rsp + 0xc8], 0
je 0x140115c35
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x140115c35
mov rax, qword [rsp + 0x48]
add rax, 2
mov qword [rsp + 0x48], rax
jmp 0x140115a7e
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
test eax, eax
jne 0x140115c4b
jmp 0x140115d41
jmp 0x1401157b4
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
cmp eax, 0x28
jne 0x140115cc6
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0xc0]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0xb8]
mov r8, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xa8]
lea rcx, [rsp + 0x48]
call fcn.140115420
mov dword [rsp + 0x74], eax
cmp dword [rsp + 0x74], 0
jle 0x140115cb6
mov eax, dword [rsp + 0x74]
jmp 0x140115d56
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
test eax, eax
jne 0x140115cc4
jmp 0x140115d41
jmp 0x140115d3c
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
cmp eax, 0x29
jne 0x140115cfc
cmp dword [rsp + 0x5c], 0
je 0x140115cf8
mov rax, qword [rsp + 0xd0]
mov ecx, dword [rsp + 0x58]
cmp dword [rax], ecx
jge 0x140115cf8
mov rax, qword [rsp + 0xd0]
mov ecx, dword [rsp + 0x58]
mov dword [rax], ecx
jmp 0x140115d41
mov rax, qword [rsp + 0x48]
movzx eax, word [rax]
cmp eax, 0x7c
jne 0x140115d3c
cmp dword [rsp + 0x5c], 0
je 0x140115d3c
mov rax, qword [rsp + 0xd0]
mov ecx, dword [rsp + 0x58]
cmp dword [rax], ecx
jle 0x140115d2e
mov rax, qword [rsp + 0xd0]
mov eax, dword [rax]
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0xd0]
mov ecx, dword [rsp + 0x54]
mov dword [rax], ecx
jmp 0x1401157b4
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x48]
mov qword [rax], rcx
mov eax, 0xffffffff
mov rdi, rax
mov rcx, rsp
lea rdx, [0x1402b4320]
call fcn.140134a00
mov rax, rdi
add rsp, 0x90
pop rdi
ret