Function at 0x18015a210
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.1801808b0
mov rsi, rax
lea rdi, [rax + 0x10]
mov rdx, qword [rax + 0x110]
cmp rdx, 0x40
jb 0x18015a27d
add rax, 0x120
mov rcx, qword [rsi + 0x158]
test rcx, rcx
jle 0x18015a2de
cmp qword [rsi + 0x160], 0
js 0x18015a2de
add rcx, 0xffffffffffffff00
mov qword [rsi + 0x158], rcx
mov rcx, rax
mov edx, 6
mov r8, rdi
call fcn.180180910
jmp 0x18015a2e9
movzx r9d, byte [rsi + rdx*4 + 0x10]
lea rcx, [rdx + 1]
mov qword [rsi + 0x110], rcx
cmp rdx, 0x3f
jne 0x18015a2f4
add rax, 0x120
mov rcx, qword [rsi + 0x158]
test rcx, rcx
jle 0x18015a358
cmp qword [rsi + 0x160], 0
js 0x18015a358
add rcx, 0xffffffffffffff00
mov qword [rsi + 0x158], rcx
mov rcx, rax
mov edx, 6
mov r8, rdi
mov ebx, r9d
call fcn.180180910
jmp 0x18015a366
mov rcx, rax
mov rdx, rdi
call fcn.18015ba20
movzx r9d, byte [rdi]
mov ecx, 1
jmp 0x18015a36b
movzx ebp, byte [rsi + rdx*4 + 0x14]
lea rcx, [rdx + 2]
mov qword [rsi + 0x110], rcx
cmp rdx, 0x3e
jb 0x18015a444
add rax, 0x120
mov rcx, qword [rsi + 0x158]
test rcx, rcx
jle 0x18015a4a5
cmp qword [rsi + 0x160], 0
js 0x18015a4a5
add rcx, 0xffffffffffffff00
mov qword [rsi + 0x158], rcx
mov rcx, rax
mov edx, 6
mov r8, rdi
mov ebx, r9d
call fcn.180180910
jmp 0x18015a4b3
mov rcx, rax
mov rdx, rdi
mov ebx, r9d
call fcn.18015ba20
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 0x18015a3ee
dec qword [rsi + 8]
jne 0x18015a3ee
mov edx, 0x170
mov r8d, 0x10
mov rcx, rsi
mov esi, r9d
call fcn.180057680
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 0x18015a4c8
add rax, 0x120
mov rcx, qword [rsi + 0x158]
test rcx, rcx
jle 0x18015a522
cmp qword [rsi + 0x160], 0
js 0x18015a522
add rcx, 0xffffffffffffff00
mov qword [rsi + 0x158], rcx
mov rcx, rax
mov edx, 6
mov r8, rdi
mov ebx, r9d
call fcn.180180910
jmp 0x18015a530
mov rcx, rax
mov rdx, rdi
mov ebx, r9d
call fcn.18015ba20
mov r9d, ebx
movzx r14d, byte [rdi]
mov eax, 1
lea rcx, [rax + 1]
jmp 0x18015a37d
movzx r15d, byte [rsi + rdx*4 + 0x1c]
lea r8, [rdx + 4]
mov qword [rsi + 0x110], r8
cmp rcx, 0x3e
jne 0x18015a53e
add rax, 0x120
mov rcx, qword [rsi + 0x158]
test rcx, rcx
jle 0x18015a577
cmp qword [rsi + 0x160], 0
js 0x18015a577
add rcx, 0xffffffffffffff00
mov qword [rsi + 0x158], rcx
mov rcx, rax
mov edx, 6
mov r8, rdi
mov ebx, r9d
call fcn.180180910
jmp 0x18015a585
mov rcx, rax
mov rdx, rdi
mov ebx, r9d
call fcn.18015ba20
mov r9d, ebx
xor eax, eax
lea rcx, [rax + 1]
jmp 0x18015a37d
movzx r12d, byte [rsi + rdx*4 + 0x20]
lea rcx, [rdx + 5]
mov qword [rsi + 0x110], rcx
cmp rdx, 0x3b
jb 0x18015a59a
add rax, 0x120
mov rcx, rax
mov rdx, rdi
mov ebx, r9d
call fcn.18015b9f0
mov r9d, ebx
xor eax, eax
lea rcx, [rax + 1]
jmp 0x18015a39f
mov rcx, rax
mov rdx, rdi
mov ebx, r9d
call fcn.18015ba20
mov r9d, ebx
movzx r12d, byte [rdi]
mov eax, 1
lea rcx, [rax + 1]
jmp 0x18015a39f
movzx r13d, byte [rsi + rdx*4 + 0x24]
lea rcx, [rdx + 6]
mov qword [rsi + 0x110], rcx
cmp r8, 0x3e
jne 0x18015a5e1
add rax, 0x120
mov rcx, rax
mov rdx, rdi
mov ebx, r9d
call fcn.18015b9f0
mov r9d, ebx
movzx ebx, byte [rsi + 0x10]
mov qword [rsi + 0x110], 1
mov ecx, 1
jmp 0x18015a3bb
movzx ebx, byte [rsi + rdx*4 + 0x28]
lea rcx, [rdx + 7]
mov qword [rsi + 0x110], rcx
cmp rdx, 0x39
jb 0x18015a3bb
add rax, 0x120
mov rcx, rax
mov rdx, rdi
mov edi, r9d
call fcn.18015b9f0
mov r9d, edi
xor ecx, ecx
jmp 0x18015a3bb