Function at 0x140034a60
Capabilities:
Parse credit card information

Disassembly:
mov r11, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
mov r15, rdx
mov rdi, rcx
xor r14d, r14d
mov qword [r11 - 0x48], r14
mov r13d, r14d
mov dword [r11 - 0x40], r14d
lea rax, [0x1400f04d0]
mov qword [r11 - 0x50], rax
mov r12d, r14d
mov dword [r11 - 0x30], r14d
mov rbp, r14
mov qword [r11 - 0x38], r14
lea ecx, [r14 + 8]
cmp byte [rdi + 0x130], 0
jne 0x140034acc
cmp dword [rdi + 0x134], 1
je 0x140034f2d
mov eax, dword [rdi + 0x134]
test eax, eax
jne 0x140034c46
cmp byte [rdi + 0x140], 0x7b
jne 0x140034af0
cmp dword [rdi + 0x144], 1
je 0x140034e36
cmp byte [rdi + 0x140], 0x3f
jne 0x140034b06
cmp dword [rdi + 0x144], 1
je 0x140034e36
cmp byte [rdi + 0x140], 0x2a
jne 0x140034b1c
cmp dword [rdi + 0x144], 1
je 0x140034e36
cmp byte [rdi + 0x140], 0x2b
jne 0x140034b32
cmp dword [rdi + 0x144], 1
je 0x140034e36
movzx esi, byte [rdi + 0x130]
mov ebx, r12d
cmp r12d, 8
cmovl ebx, ecx
lea eax, [r13 + 2]
cmp eax, ebx
jle 0x140034b4d
add ebx, ebx
cmp eax, ebx
jle 0x140034b64
lea ebx, [r13 + 0xd]
mov eax, ebx
cdq
and edx, 7
add eax, edx
and eax, 7
sub eax, edx
sub ebx, eax
cmp ebx, r12d
jle 0x140034b88
movsxd rdx, ebx
mov rcx, rbp
call fcn.1400cbbc0
mov rbp, rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x40], rax
mov r12d, ebx
mov dword [rsp + 0x58], ebx
movsxd rax, r13d
mov byte [rax + rbp], sil
add r13d, 1
mov dword [rsp + 0x48], r13d
movsxd rax, r13d
mov byte [rax + rbp], 0
mov eax, dword [rdi + 0x130]
mov dword [rdi + 0x120], eax
mov eax, dword [rdi + 0x134]
mov dword [rdi + 0x124], eax
mov eax, dword [rdi + 0x138]
mov dword [rdi + 0x128], eax
mov eax, dword [rdi + 0x13c]
mov dword [rdi + 0x12c], eax
mov eax, dword [rdi + 0x140]
mov dword [rdi + 0x130], eax
mov eax, dword [rdi + 0x144]
mov dword [rdi + 0x134], eax
mov eax, dword [rdi + 0x148]
mov dword [rdi + 0x138], eax
mov eax, dword [rdi + 0x14c]
mov dword [rdi + 0x13c], eax
mov eax, dword [rdi + 0x150]
mov dword [rdi + 0x140], eax
mov eax, dword [rdi + 0x154]
mov dword [rdi + 0x144], eax
mov eax, dword [rdi + 0x158]
mov dword [rdi + 0x148], eax
mov eax, dword [rdi + 0x15c]
mov dword [rdi + 0x14c], eax
nop
mov rcx, rdi
call fcn.140031150
test eax, eax
je 0x140034c30
mov ecx, 8
jmp 0x140034ab6
cmp eax, 1
jne 0x140034ab6
movzx ebx, byte [rdi + 0x130]
cmp bl, 0x29
je 0x140034f2d
cmp bl, 0x7c
je 0x140034f2d
test r13d, r13d
jg 0x140034f36
cmp bl, 0x28
je 0x140034f0a
cmp bl, 0x5b
je 0x140034ee7
cmp bl, 0x2e
je 0x140034ee7
cmp bl, 0x77
je 0x140034ee7
cmp bl, 0x57
je 0x140034ee7
cmp bl, 0x73
je 0x140034ee7
cmp bl, 0x53
je 0x140034ee7
cmp bl, 0x64
je 0x140034ee7
cmp bl, 0x44
je 0x140034ee7
cmp bl, 0x5e
je 0x140034ec4
cmp bl, 0x24
je 0x140034ec4
cmp bl, 0x41
je 0x140034ec4
cmp bl, 0x5a
je 0x140034ec4
cmp bl, 0x7a
je 0x140034ec4
cmp bl, 0x62
je 0x140034ec4
cmp bl, 0x42
je 0x140034ec4
cmp bl, 0x47
je 0x140034ec4
cmp bl, 0x5c
je 0x140034ea1
cmp bl, 0x6b
je 0x140034ea1
cmp bl, 0x67
je 0x140034ea1
mov esi, r12d
cmp r12d, 8
cmovl esi, ecx
lea eax, [r13 + 2]
cmp eax, esi
jle 0x140034d39
add esi, esi
cmp eax, esi
jle 0x140034d50
lea esi, [r13 + 0xd]
mov eax, esi
cdq
and edx, 7
add eax, edx
and eax, 7
sub eax, edx
sub esi, eax
cmp esi, r12d
jle 0x140034d74
movsxd rdx, esi
mov rcx, rbp
call fcn.1400cbbc0
mov rbp, rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x40], rax
mov r12d, esi
mov dword [rsp + 0x58], esi
movsxd rax, r13d
mov byte [rax + rbp], bl
add r13d, 1
mov dword [rsp + 0x48], r13d
movsxd rax, r13d
mov byte [rax + rbp], 0
mov eax, dword [rdi + 0x130]
mov dword [rdi + 0x120], eax
mov eax, dword [rdi + 0x134]
mov dword [rdi + 0x124], eax
mov eax, dword [rdi + 0x138]
mov dword [rdi + 0x128], eax
mov eax, dword [rdi + 0x13c]
mov dword [rdi + 0x12c], eax
mov eax, dword [rdi + 0x140]
mov dword [rdi + 0x130], eax
mov eax, dword [rdi + 0x144]
mov dword [rdi + 0x134], eax
mov eax, dword [rdi + 0x148]
mov dword [rdi + 0x138], eax
mov eax, dword [rdi + 0x14c]
mov dword [rdi + 0x13c], eax
mov eax, dword [rdi + 0x150]
mov dword [rdi + 0x140], eax
mov eax, dword [rdi + 0x154]
mov dword [rdi + 0x144], eax
mov eax, dword [rdi + 0x158]
mov dword [rdi + 0x148], eax
mov eax, dword [rdi + 0x15c]
mov dword [rdi + 0x14c], eax
nop
nop
mov rcx, rdi
call fcn.140031150
test eax, eax
je 0x140034e20
mov ecx, 8
jmp 0x140034ab6
test r13d, r13d
jne 0x140034f2d
movzx esi, byte [rdi + 0x130]
cmp r12d, 8
jge 0x140034e50
mov ebx, ecx
jmp 0x140034e60
cmp r12d, 2
jge 0x140034e81
lea ebx, [r12 + r12]
cmp ebx, 2
cmovl ebx, ecx
cmp ebx, r12d
jle 0x140034e81
movsxd rdx, ebx
mov rcx, rbp
call fcn.1400cbbc0
mov rbp, rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x58], ebx
mov byte [rbp], sil
mov r13d, 1
mov dword [rsp + 0x48], r13d
mov byte [rbp + 1], 0
mov rcx, rdi
call fcn.140032940
jmp 0x140034f36
mov rdx, r15
mov rcx, rdi
call fcn.140034120
mov rbx, rax
test rbp, rbp
je 0x140034ebc
mov rcx, rbp
call fcn.1400cbb70
mov rax, rbx
jmp 0x140034fe1
mov rdx, r15
mov rcx, rdi
call fcn.140033dc0
mov rbx, rax
test rbp, rbp
je 0x140034edf
mov rcx, rbp
call fcn.1400cbb70
mov rax, rbx
jmp 0x140034fe1
mov rdx, r15
mov rcx, rdi
call fcn.1400333c0
mov rbx, rax
test rbp, rbp
je 0x140034f02
mov rcx, rbp
call fcn.1400cbb70
mov rax, rbx
jmp 0x140034fe1
mov rdx, r15
mov rcx, rdi
call fcn.140036c90
mov rbx, rax
test rbp, rbp
je 0x140034f25
mov rcx, rbp
call fcn.1400cbb70
mov rax, rbx
jmp 0x140034fe1
test r13d, r13d
jle 0x140034fc4
mov ecx, 0x38
call fcn.1400ca4e0
test rax, rax
je 0x140034f72
lea rdx, [0x1400f21f0]
test rbp, rbp
cmovne rdx, rbp
mov r9d, dword [r15]
mov ecx, r9d
and ecx, 8
and r9d, 0x10
mov dword [rsp + 0x20], ecx
mov r8d, r13d
mov rcx, rax
call fcn.140031cf0
mov r14, rax
mov ebx, dword [rdi + 0x38]
cmp dword [rdi + 0x28], ebx
jl 0x140034fa2
add ebx, ebx
cmp ebx, 8
mov eax, 8
cmovl ebx, eax
movsxd rdx, ebx
shl rdx, 3
mov rcx, qword [rdi + 0x30]
call fcn.1400cbbc0
mov qword [rdi + 0x30], rax
mov qword [rdi + 0x20], rax
mov dword [rdi + 0x38], ebx
movsxd rcx, dword [rdi + 0x28]
mov rax, qword [rdi + 0x30]
mov qword [rax + rcx*8], r14
add dword [rdi + 0x28], 1
test rbp, rbp
je 0x140034fbf
mov rcx, rbp
call fcn.1400cbb70
mov rax, r14
jmp 0x140034fe1
xor edx, edx
mov rcx, rdi
call fcn.140032a00
mov rbx, rax
test rbp, rbp
je 0x140034fde
mov rcx, rbp
call fcn.1400cbb70
mov rax, rbx
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret