Function at 0x1400101d0
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, [0x1400f0490]
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 word [rdi + 0x130], 0
jne 0x14001023d
cmp dword [rdi + 0x134], 1
je 0x1400106ca
mov eax, dword [rdi + 0x134]
test eax, eax
jne 0x1400103c6
cmp word [rdi + 0x140], 0x7b
jne 0x140010262
cmp dword [rdi + 0x144], 1
je 0x1400105ce
cmp word [rdi + 0x140], 0x3f
jne 0x140010279
cmp dword [rdi + 0x144], 1
je 0x1400105ce
cmp word [rdi + 0x140], 0x2a
jne 0x140010290
cmp dword [rdi + 0x144], 1
je 0x1400105ce
cmp word [rdi + 0x140], 0x2b
jne 0x1400102a7
cmp dword [rdi + 0x144], 1
je 0x1400105ce
movzx esi, word [rdi + 0x130]
mov ebx, r12d
cmp r12d, 8
cmovl ebx, ecx
lea eax, [r13 + 2]
cmp eax, ebx
jle 0x1400102c2
add ebx, ebx
cmp eax, ebx
jle 0x1400102d9
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 0x140010300
movsxd rdx, ebx
add rdx, rdx
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 word [rbp + rax*2], si
add r13d, 1
mov dword [rsp + 0x48], r13d
movsxd rax, r13d
mov word [rbp + rax*2], 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.14000a720
test eax, eax
je 0x1400103b0
mov ecx, 8
jmp 0x140010226
cmp eax, 1
jne 0x140010226
movzx ebx, word [rdi + 0x130]
cmp bx, 0x29
je 0x1400106ca
cmp bx, 0x7c
je 0x1400106ca
test r13d, r13d
jg 0x1400106d3
cmp bx, 0x28
je 0x1400106a7
cmp bx, 0x5b
je 0x140010684
cmp bx, 0x2e
je 0x140010684
cmp bx, 0x77
je 0x140010684
cmp bx, 0x57
je 0x140010684
cmp bx, 0x73
je 0x140010684
cmp bx, 0x53
je 0x140010684
cmp bx, 0x64
je 0x140010684
cmp bx, 0x44
je 0x140010684
cmp bx, 0x5e
je 0x140010661
cmp bx, 0x24
je 0x140010661
cmp bx, 0x41
je 0x140010661
cmp bx, 0x5a
je 0x140010661
cmp bx, 0x7a
je 0x140010661
cmp bx, 0x62
je 0x140010661
cmp bx, 0x42
je 0x140010661
cmp bx, 0x47
je 0x140010661
cmp bx, 0x5c
je 0x14001063e
cmp bx, 0x6b
je 0x14001063e
cmp bx, 0x67
je 0x14001063e
mov esi, r12d
cmp r12d, 8
cmovl esi, ecx
lea eax, [r13 + 2]
cmp eax, esi
jle 0x1400104cf
add esi, esi
cmp eax, esi
jle 0x1400104e6
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 0x14001050d
movsxd rdx, esi
add rdx, rdx
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 word [rbp + rax*2], bx
add r13d, 1
mov dword [rsp + 0x48], r13d
movsxd rax, r13d
mov word [rbp + rax*2], 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
mov rcx, rdi
call fcn.14000a720
test eax, eax
je 0x1400105b8
mov ecx, 8
jmp 0x140010226
test r13d, r13d
jne 0x1400106ca
movzx esi, word [rdi + 0x130]
cmp r12d, 8
jge 0x1400105e8
mov ebx, ecx
jmp 0x1400105f8
cmp r12d, 2
jge 0x14001061c
lea ebx, [r12 + r12]
cmp ebx, 2
cmovl ebx, ecx
cmp ebx, r12d
jle 0x14001061c
movsxd rdx, ebx
add rdx, rdx
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 word [rbp], si
mov r13d, 1
mov dword [rsp + 0x48], r13d
mov word [rbp + 2], 0
mov rcx, rdi
call fcn.14000db70
jmp 0x1400106d3
mov rdx, r15
mov rcx, rdi
call fcn.14000f3d0
mov rbx, rax
test rbp, rbp
je 0x140010659
mov rcx, rbp
call fcn.1400cbb70
mov rax, rbx
jmp 0x14001077e
mov rdx, r15
mov rcx, rdi
call fcn.14000f070
mov rbx, rax
test rbp, rbp
je 0x14001067c
mov rcx, rbp
call fcn.1400cbb70
mov rax, rbx
jmp 0x14001077e
mov rdx, r15
mov rcx, rdi
call fcn.14000e620
mov rbx, rax
test rbp, rbp
je 0x14001069f
mov rcx, rbp
call fcn.1400cbb70
mov rax, rbx
jmp 0x14001077e
mov rdx, r15
mov rcx, rdi
call fcn.140011df0
mov rbx, rax
test rbp, rbp
je 0x1400106c2
mov rcx, rbp
call fcn.1400cbb70
mov rax, rbx
jmp 0x14001077e
test r13d, r13d
jle 0x140010761
mov ecx, 0x38
call fcn.1400ca4e0
test rax, rax
je 0x14001070f
lea rdx, [0x1400f04f8]
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.14000c180
mov r14, rax
mov ebx, dword [rdi + 0x38]
cmp dword [rdi + 0x28], ebx
jl 0x14001073f
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 0x14001075c
mov rcx, rbp
call fcn.1400cbb70
mov rax, r14
jmp 0x14001077e
xor edx, edx
mov rcx, rdi
call fcn.14000dc30
mov rbx, rax
test rbp, rbp
je 0x14001077b
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