Function at 0x140157120
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
call fcn.14017d7c0
mov rsi, rax
lea rdi, [rax + 0x10]
mov rdx, qword [rax + 0x110]
cmp rdx, 0x40
jb 0x14015718d
add rax, 0x120
mov rcx, qword [rsi + 0x158]
test rcx, rcx
jle 0x1401571ee
cmp qword [rsi + 0x160], 0
js 0x1401571ee
add rcx, 0xffffffffffffff00
mov qword [rsi + 0x158], rcx
mov rcx, rax
mov edx, 6
mov r8, rdi
call fcn.14017d820
jmp 0x1401571f9
movzx r9d, byte [rsi + rdx*4 + 0x10]
lea rcx, [rdx + 1]
mov qword [rsi + 0x110], rcx
cmp rdx, 0x3f
jne 0x140157204
add rax, 0x120
mov rcx, qword [rsi + 0x158]
test rcx, rcx
jle 0x140157268
cmp qword [rsi + 0x160], 0
js 0x140157268
add rcx, 0xffffffffffffff00
mov qword [rsi + 0x158], rcx
mov rcx, rax
mov edx, 6
mov r8, rdi
mov ebx, r9d
call fcn.14017d820
jmp 0x140157276
mov rcx, rax
mov rdx, rdi
call fcn.140158930
movzx r9d, byte [rdi]
mov ecx, 1
jmp 0x14015727b
movzx ebp, byte [rsi + rdx*4 + 0x14]
lea rcx, [rdx + 2]
mov qword [rsi + 0x110], rcx
cmp rdx, 0x3e
jb 0x140157354
add rax, 0x120
mov rcx, qword [rsi + 0x158]
test rcx, rcx
jle 0x1401573b5
cmp qword [rsi + 0x160], 0
js 0x1401573b5
add rcx, 0xffffffffffffff00
mov qword [rsi + 0x158], rcx
mov rcx, rax
mov edx, 6
mov r8, rdi
mov ebx, r9d
call fcn.14017d820
jmp 0x1401573c3
mov rcx, rax
mov rdx, rdi
mov ebx, r9d
call fcn.140158930
mov r9d, ebx
xor ecx, ecx
movzx ebp, byte [rdi + rcx*4]
movzx r14d, byte [rdi + rcx*4 + 4]
lea rax, [rcx + 2]
add rcx, 3
movzx r15d, byte [rsi + rax*4 + 0x10]
mov qword [rsi + 0x110], rcx
movzx r12d, byte [rsi + rcx*4 + 0x10]
lea rax, [rcx + 1]
mov qword [rsi + 0x110], rax
add rcx, 2
movzx r13d, byte [rsi + rax*4 + 0x10]
mov qword [rsi + 0x110], rcx
movzx ebx, byte [rsi + rcx*4 + 0x10]
inc rcx
mov qword [rsi + 0x110], rcx
movzx edi, byte [rsi + rcx*4 + 0x10]
inc rcx
mov qword [rsi + 0x110], rcx
dec qword [rsi]
jne 0x1401572fe
dec qword [rsi + 8]
jne 0x1401572fe
mov edx, 0x170
mov r8d, 0x10
mov rcx, rsi
mov esi, r9d
call fcn.140055580
mov r9d, esi
shl rdi, 0x38
shl rbx, 0x30
or rbx, rdi
shl r13, 0x28
or r13, rbx
movzx eax, r12b
shl rax, 0x20
or rax, r13
movzx ecx, r15b
shl rcx, 0x18
or rcx, rax
movzx eax, r14b
shl rax, 0x10
or rax, rcx
movzx ecx, bpl
shl rcx, 8
or rcx, rax
movzx eax, r9b
or rax, rcx
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movzx r14d, byte [rsi + rdx*4 + 0x18]
lea r8, [rdx + 3]
mov qword [rsi + 0x110], r8
cmp rdx, 0x3d
jne 0x1401573d8
add rax, 0x120
mov rcx, qword [rsi + 0x158]
test rcx, rcx
jle 0x140157432
cmp qword [rsi + 0x160], 0
js 0x140157432
add rcx, 0xffffffffffffff00
mov qword [rsi + 0x158], rcx
mov rcx, rax
mov edx, 6
mov r8, rdi
mov ebx, r9d
call fcn.14017d820
jmp 0x140157440
mov rcx, rax
mov rdx, rdi
mov ebx, r9d
call fcn.140158930
mov r9d, ebx
movzx r14d, byte [rdi]
mov eax, 1
lea rcx, [rax + 1]
jmp 0x14015728d
movzx r15d, byte [rsi + rdx*4 + 0x1c]
lea r8, [rdx + 4]
mov qword [rsi + 0x110], r8
cmp rcx, 0x3e
jne 0x14015744e
add rax, 0x120
mov rcx, qword [rsi + 0x158]
test rcx, rcx
jle 0x140157487
cmp qword [rsi + 0x160], 0
js 0x140157487
add rcx, 0xffffffffffffff00
mov qword [rsi + 0x158], rcx
mov rcx, rax
mov edx, 6
mov r8, rdi
mov ebx, r9d
call fcn.14017d820
jmp 0x140157495
mov rcx, rax
mov rdx, rdi
mov ebx, r9d
call fcn.140158930
mov r9d, ebx
xor eax, eax
lea rcx, [rax + 1]
jmp 0x14015728d
movzx r12d, byte [rsi + rdx*4 + 0x20]
lea rcx, [rdx + 5]
mov qword [rsi + 0x110], rcx
cmp rdx, 0x3b
jb 0x1401574aa
add rax, 0x120
mov rcx, rax
mov rdx, rdi
mov ebx, r9d
call fcn.140158900
mov r9d, ebx
xor eax, eax
lea rcx, [rax + 1]
jmp 0x1401572af
mov rcx, rax
mov rdx, rdi
mov ebx, r9d
call fcn.140158930
mov r9d, ebx
movzx r12d, byte [rdi]
mov eax, 1
lea rcx, [rax + 1]
jmp 0x1401572af
movzx r13d, byte [rsi + rdx*4 + 0x24]
lea rcx, [rdx + 6]
mov qword [rsi + 0x110], rcx
cmp r8, 0x3e
jne 0x1401574f1
add rax, 0x120
mov rcx, rax
mov rdx, rdi
mov ebx, r9d
call fcn.140158900
mov r9d, ebx
movzx ebx, byte [rsi + 0x10]
mov qword [rsi + 0x110], 1
mov ecx, 1
jmp 0x1401572cb
movzx ebx, byte [rsi + rdx*4 + 0x28]
lea rcx, [rdx + 7]
mov qword [rsi + 0x110], rcx
cmp rdx, 0x39
jb 0x1401572cb
add rax, 0x120
mov rcx, rax
mov rdx, rdi
mov edi, r9d
call fcn.140158900
mov r9d, edi
xor ecx, ecx
jmp 0x1401572cb