Function at 0x140002980
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rdi, rdx
mov rsi, rcx
lea rbx, [rdx + 0x10]
mov rcx, qword [rdx + 0x110]
cmp rcx, 0x40
jb 0x1400029e0
lea rcx, [rdi + 0x120]
mov rax, qword [rdi + 0x158]
test rax, rax
jle 0x140002a37
cmp qword [rdi + 0x160], 0
js 0x140002a37
add rax, 0xffffffffffffff00
mov qword [rdi + 0x158], rax
mov edx, 6
mov r8, rbx
call fcn.14001a0c0
jmp 0x140002a3f
movzx ebp, byte [rdi + rcx*4 + 0x10]
lea rax, [rcx + 1]
mov qword [rdi + 0x110], rax
cmp rcx, 0x3f
jne 0x140002a49
lea rcx, [rdi + 0x120]
mov rax, qword [rdi + 0x158]
test rax, rax
jle 0x140002aab
cmp qword [rdi + 0x160], 0
js 0x140002aab
add rax, 0xffffffffffffff00
mov qword [rdi + 0x158], rax
mov edx, 6
mov r8, rbx
call fcn.14001a0c0
jmp 0x140002ab3
mov rdx, rbx
call fcn.140014000
movzx edx, byte [rbx]
mov eax, 1
jmp 0x140002ab7
movzx r8d, byte [rdi + rcx*4 + 0x14]
lea rax, [rcx + 2]
mov qword [rdi + 0x110], rax
cmp rcx, 0x3e
jb 0x140002c05
mov r14d, r8d
lea rcx, [rdi + 0x120]
mov rax, qword [rdi + 0x158]
test rax, rax
jle 0x140002c6b
cmp qword [rdi + 0x160], 0
js 0x140002c6b
add rax, 0xffffffffffffff00
mov qword [rdi + 0x158], rax
mov edx, 6
mov r8, rbx
call fcn.14001a0c0
jmp 0x140002c73
mov rdx, rbx
call fcn.140014000
xor eax, eax
mov edx, ebp
movzx r8d, byte [rbx + rax*4]
movzx r9d, byte [rbx + rax*4 + 4]
lea rcx, [rax + 2]
add rax, 3
movzx r10d, byte [rdi + rcx*4 + 0x10]
mov qword [rdi + 0x110], rax
movzx r11d, byte [rdi + rax*4 + 0x10]
lea rcx, [rax + 1]
mov qword [rdi + 0x110], rcx
add rax, 2
movzx ebx, byte [rdi + rcx*4 + 0x10]
mov qword [rdi + 0x110], rax
movzx ecx, byte [rdi + rax*4 + 0x10]
mov byte [rsp + 0x35], cl
lea rcx, [rax + 1]
mov qword [rdi + 0x110], rcx
add rax, 2
movzx ecx, byte [rdi + rcx*4 + 0x10]
mov byte [rsp + 0x37], cl
mov qword [rdi + 0x110], rax
movzx ecx, byte [rdi + rax*4 + 0x10]
mov byte [rsp + 0x34], cl
lea rcx, [rax + 1]
mov qword [rdi + 0x110], rcx
add rax, 2
movzx ecx, byte [rdi + rcx*4 + 0x10]
mov byte [rsp + 0x36], cl
mov qword [rdi + 0x110], rax
movzx ebp, byte [rdi + rax*4 + 0x10]
lea rcx, [rax + 1]
mov qword [rdi + 0x110], rcx
add rax, 2
movzx r14d, byte [rdi + rcx*4 + 0x10]
mov qword [rdi + 0x110], rax
movzx r15d, byte [rdi + rax*4 + 0x10]
lea rcx, [rax + 1]
mov qword [rdi + 0x110], rcx
add rax, 2
mov r12d, dword [rdi + rcx*4 + 0x10]
mov qword [rdi + 0x110], rax
mov r13d, dword [rdi + rax*4 + 0x10]
inc rax
mov qword [rdi + 0x110], rax
movzx ecx, byte [rdi + rax*4 + 0x10]
inc rax
mov qword [rdi + 0x110], rax
mov byte [rsi], dl
mov byte [rsi + 1], r8b
mov byte [rsi + 2], r9b
mov byte [rsi + 3], r10b
mov byte [rsi + 4], r11b
mov byte [rsi + 5], bl
movzx eax, byte [rsp + 0x35]
mov byte [rsi + 6], al
movzx eax, byte [rsp + 0x37]
mov byte [rsi + 7], al
movzx eax, byte [rsp + 0x34]
mov byte [rsi + 8], al
movzx eax, byte [rsp + 0x36]
mov byte [rsi + 9], al
mov byte [rsi + 0xa], bpl
mov byte [rsi + 0xb], r14b
mov byte [rsi + 0xc], r15b
mov byte [rsi + 0xd], r12b
mov byte [rsi + 0xe], r13b
mov byte [rsi + 0xf], cl
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov byte [rsp + 0x2e], bpl
movzx r9d, byte [rdi + rcx*4 + 0x18]
lea rdx, [rcx + 3]
mov qword [rdi + 0x110], rdx
cmp rcx, 0x3d
jne 0x140002c8a
mov r14d, r9d
mov ebp, r8d
lea rcx, [rdi + 0x120]
mov rax, qword [rdi + 0x158]
test rax, rax
jle 0x140002ceb
cmp qword [rdi + 0x160], 0
js 0x140002ceb
add rax, 0xffffffffffffff00
mov qword [rdi + 0x158], rax
mov edx, 6
mov r8, rbx
call fcn.14001a0c0
jmp 0x140002cf3
mov rdx, rbx
call fcn.140014000
movzx r9d, byte [rbx]
mov ecx, 1
lea rax, [rcx + 1]
mov edx, ebp
mov r8d, r14d
jmp 0x140002aca
movzx r10d, byte [rdi + rcx*4 + 0x1c]
lea rdx, [rcx + 4]
mov qword [rdi + 0x110], rdx
cmp rax, 0x3e
jne 0x140002d09
mov r15d, r10d
mov r14d, r9d
mov ebp, r8d
lea rcx, [rdi + 0x120]
mov rax, qword [rdi + 0x158]
test rax, rax
jle 0x140002d57
cmp qword [rdi + 0x160], 0
js 0x140002d57
add rax, 0xffffffffffffff00
mov qword [rdi + 0x158], rax
mov edx, 6
mov r8, rbx
call fcn.14001a0c0
jmp 0x140002d5f
mov rdx, rbx
call fcn.140014000
xor ecx, ecx
lea rax, [rcx + 1]
movzx edx, byte [rsp + 0x2e]
mov r8d, ebp
mov r9d, r14d
jmp 0x140002aca
movzx r11d, byte [rdi + rcx*4 + 0x20]
lea rax, [rcx + 5]
mov qword [rdi + 0x110], rax
cmp rcx, 0x3b
jb 0x140002d7f
lea rcx, [rdi + 0x120]
mov rdx, rbx
mov ebx, r8d
mov ebp, r9d
mov r14d, r10d
mov r15d, r11d
call fcn.140013d20
mov r11d, r15d
mov r10d, r14d
mov r9d, ebp
mov r8d, ebx
xor ecx, ecx
lea rax, [rcx + 1]
movzx edx, byte [rsp + 0x2e]
jmp 0x140002aec
mov rdx, rbx
call fcn.140014000
movzx r11d, byte [rbx]
mov ecx, 1
lea rax, [rcx + 1]
movzx edx, byte [rsp + 0x2e]
mov r8d, ebp
mov r9d, r14d
mov r10d, r15d
jmp 0x140002aec
movzx eax, byte [rdi + rcx*4 + 0x24]
mov byte [rsp + 0x2f], al
lea rax, [rcx + 6]
mov qword [rdi + 0x110], rax
cmp rdx, 0x3e
jne 0x140002dcf
lea rcx, [rdi + 0x120]
mov rdx, rbx
mov ebx, r8d
mov ebp, r9d
mov r14d, r10d
mov r15d, r11d
call fcn.140013d20
mov r11d, r15d
mov r10d, r14d
mov r9d, ebp
mov r8d, ebx
movzx eax, byte [rdi + 0x10]
mov byte [rsp + 0x35], al
mov ecx, 1
jmp 0x140002e12
movzx edx, byte [rdi + rcx*4 + 0x28]
mov byte [rsp + 0x35], dl
lea rdx, [rcx + 7]
mov qword [rdi + 0x110], rdx
cmp rcx, 0x39
jb 0x140002e25
lea rcx, [rdi + 0x120]
mov rdx, rbx
mov ebx, r8d
mov ebp, r9d
mov r14d, r10d
mov r15d, r11d
call fcn.140013d20
mov r11d, r15d
mov r10d, r14d
mov r9d, ebp
mov r8d, ebx
xor ecx, ecx
lea rax, [rcx + 1]
movzx edx, byte [rsp + 0x2e]
movzx ebx, byte [rsp + 0x2f]
jmp 0x140002b10
movzx edx, byte [rdi + rcx*4 + 0x2c]
mov byte [rsp + 0x37], dl
lea rdx, [rcx + 8]
mov qword [rdi + 0x110], rdx
cmp rax, 0x3e
jne 0x140002e75
lea rcx, [rdi + 0x120]
mov rdx, rbx
mov ebx, r8d
mov ebp, r9d
mov r14d, r10d
mov r15d, r11d
call fcn.140013d20
mov r11d, r15d
mov r10d, r14d
mov r9d, ebp
mov r8d, ebx
movzx eax, byte [rdi + 0x10]
mov byte [rsp + 0x34], al
mov ecx, 1
jmp 0x140002eb8
movzx eax, byte [rdi + rcx*4 + 0x30]
mov byte [rsp + 0x34], al
lea rax, [rcx + 9]
mov qword [rdi + 0x110], rax
cmp rcx, 0x37
jb 0x140002ecb
lea rcx, [rdi + 0x120]
mov rdx, rbx
mov ebx, r8d
mov ebp, r9d
mov r14d, r10d
mov r15d, r11d
call fcn.140013d20
mov r11d, r15d
mov r10d, r14d
mov r9d, ebp
mov r8d, ebx
xor ecx, ecx
lea rax, [rcx + 1]
movzx edx, byte [rsp + 0x2e]
movzx ebx, byte [rsp + 0x2f]
jmp 0x140002b38
movzx eax, byte [rdi + rcx*4 + 0x34]
mov byte [rsp + 0x36], al
lea rax, [rcx + 0xa]
mov qword [rdi + 0x110], rax
cmp rdx, 0x3e
jne 0x140002f17
lea rcx, [rdi + 0x120]
mov rdx, rbx
mov ebx, r8d
mov ebp, r9d
mov r14d, r10d
mov r15d, r11d
call fcn.140013d20
mov r11d, r15d
mov r10d, r14d
mov r9d, ebp
mov r8d, ebx
movzx ebp, byte [rdi + 0x10]
mov ecx, 1
jmp 0x140002f56
movzx ebp, byte [rdi + rcx*4 + 0x38]
lea rdx, [rcx + 0xb]
mov qword [rdi + 0x110], rdx
cmp rcx, 0x35
jb 0x140002f69
lea rcx, [rdi + 0x120]
mov rdx, rbx
mov ebx, r8d
mov r14d, r9d
mov r15d, r10d
mov r12d, r11d
call fcn.140013d20
mov r11d, r12d
mov r10d, r15d
mov r9d, r14d
mov r8d, ebx
xor ecx, ecx
lea rax, [rcx + 1]
movzx edx, byte [rsp + 0x2e]
movzx ebx, byte [rsp + 0x2f]
jmp 0x140002b5c
movzx r14d, byte [rdi + rcx*4 + 0x3c]
lea rdx, [rcx + 0xc]
mov qword [rdi + 0x110], rdx
cmp rax, 0x3e
jne 0x140002fc4
lea rcx, [rdi + 0x120]
mov rdx, rbx
mov ebx, r8d
mov r15d, r9d
mov r12d, r10d
mov r13d, r11d
call fcn.140013d20
mov r11d, r13d
mov r10d, r12d
mov r9d, r15d
mov r8d, ebx
movzx r15d, byte [rdi + 0x10]
mov ecx, 1
lea rax, [rcx + 1]
movzx edx, byte [rsp + 0x2e]
movzx ebx, byte [rsp + 0x2f]
jmp 0x140002b7e
mov byte [rsp + 0x30], r11b
mov byte [rsp + 0x31], r10b
mov byte [rsp + 0x32], r9b
mov byte [rsp + 0x33], r8b
movzx r15d, byte [rdi + rcx*4 + 0x40]
lea rax, [rcx + 0xd]
mov qword [rdi + 0x110], rax
cmp rcx, 0x33
jb 0x14000302b
lea rcx, [rdi + 0x120]
mov rdx, rbx
call fcn.140013d20
xor ecx, ecx
lea rax, [rcx + 1]
movzx edx, byte [rsp + 0x2e]
movzx r8d, byte [rsp + 0x33]
movzx r9d, byte [rsp + 0x32]
movzx r10d, byte [rsp + 0x31]
movzx r11d, byte [rsp + 0x30]
movzx ebx, byte [rsp + 0x2f]
jmp 0x140002b7e
mov r12d, dword [rdi + rcx*4 + 0x44]
lea rax, [rcx + 0xe]
mov qword [rdi + 0x110], rax
cmp rdx, 0x3e
jne 0x140003066
lea rcx, [rdi + 0x120]
mov rdx, rbx
call fcn.140013d20
mov r13d, dword [rdi + 0x10]
mov qword [rdi + 0x110], 1
mov eax, 1
jmp 0x14000308d
mov r13d, dword [rdi + rcx*4 + 0x48]
lea rax, [rcx + 0xf]
mov qword [rdi + 0x110], rax
cmp rcx, 0x31
jb 0x14000308d
lea rcx, [rdi + 0x120]
mov rdx, rbx
call fcn.140013d20
xor eax, eax
movzx edx, byte [rsp + 0x2e]
movzx r8d, byte [rsp + 0x33]
movzx r9d, byte [rsp + 0x32]
movzx r10d, byte [rsp + 0x31]
movzx r11d, byte [rsp + 0x30]
movzx ebx, byte [rsp + 0x2f]
jmp 0x140002b99