Function at 0x1400b6b10
Capabilities:
Parse credit card information

Disassembly:
push rbx
push rdi
sub rsp, 0x98
mov rbx, qword [rcx + 0x1e0]
mov rdi, rcx
test rbx, rbx
jne 0x1400b6b35
xor al, al
add rsp, 0x98
pop rdi
pop rbx
ret
mov eax, dword [rcx + 8]
mov rbx, qword [rbx + 0xd0]
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x88], rsi
imul rcx, rax, 0x38
mov rax, qword [rdi]
mov rsi, qword [rbx + 0xd0]
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x70], r14
movzx ecx, word [rcx + rax - 0x38]
mov word [rbx + 0x6c], cx
mov qword [rsp + 0x68], r15
test rsi, rsi
je 0x1400b6b93
nop dword [rax]
cmp word [rsi + 0x10], 4
jne 0x1400b6b93
mov rsi, qword [rsi + 0xd0]
test rsi, rsi
jne 0x1400b6b80
mov r15, qword [rdi + 0x1d0]
mov qword [rsp + 0x78], r13
movzx ebp, byte [r15 + 0x185]
cmp bpl, 1
je 0x1400b6bb3
cmp bpl, 6
jne 0x1400b6be2
test rsi, rsi
je 0x1400b6be2
cmp byte [rsi + 0x44], 0x70
jne 0x1400b6be2
mov eax, dword [rdi + 8]
imul rcx, rax, 0x38
mov rax, qword [rdi]
cmp byte [rcx + rax - 0x10], 0
jne 0x1400b6bdd
cmp byte [rcx + rax - 0x30], 0
jne 0x1400b6bdd
cmp dword [rcx + rax - 8], 5
jne 0x1400b6be2
mov r13b, 1
jmp 0x1400b6be5
xor r13b, r13b
mov eax, dword [rdi + 8]
imul r14, rax, 0x38
add r14, qword [rdi]
movzx r12d, byte [r14 - 0xe]
mov byte [rsp + 0xb0], r12b
cmp bpl, 1
je 0x1400b6c0c
cmp bpl, 6
je 0x1400b6c0c
xor cl, cl
jmp 0x1400b6c0e
mov cl, 1
mov rdx, rbx
call fcn.1400b0970
test al, al
jne 0x1400b6c26
mov byte [rsp + 0xb8], al
test r12b, r12b
je 0x1400b6c2e
mov byte [rsp + 0xb8], 1
mov rdx, rbx
mov rcx, rdi
call fcn.1400b07f0
test al, al
jne 0x1400b6c48
cmp byte [r14 - 0xd], al
jne 0x1400b6c48
xor r14b, r14b
jmp 0x1400b6c4b
mov r14b, 1
mov rax, qword [rdi + 0x1d8]
mov byte [rsp + 0xc0], r14b
mov rcx, qword [rax]
test rcx, rcx
je 0x1400b6c94
movzx eax, word [rcx + 0x10]
cmp ax, 4
jne 0x1400b6c84
mov rcx, qword [rcx + 0xd8]
test rcx, rcx
je 0x1400b6c84
mov edx, 0x7c
call fcn.14008be80
jmp 0x1400b6c8b
cmp ax, 0x7c
sete al
test al, al
je 0x1400b6c94
mov r12b, 1
jmp 0x1400b6c97
xor r12b, r12b
mov r10d, 0x13
cmp bpl, 1
je 0x1400b6cad
cmp bpl, 6
jne 0x1400b6eb9
cmp word [rbx + 0x10], r10w
jne 0x1400b6eb9
mov rax, rbx
nop dword [rax + rax]
mov rax, qword [rax + 0xd0]
test rax, rax
je 0x1400b6d0e
nop dword [rax]
cmp word [rax + 0x10], 4
jne 0x1400b6ce3
mov rax, qword [rax + 0xd0]
test rax, rax
jne 0x1400b6cd0
test rax, rax
je 0x1400b6d0e
movzx ecx, word [rax + 0x10]
cmp cx, 0x50
je 0x1400b6cc0
cmp cx, 0x6d
je 0x1400b6cc0
sub cx, 0x1b
cmp cx, 1
jbe 0x1400b6cc0
cmp word [rax + 0x10], 0x4c
jne 0x1400b6d0e
mov bpl, 1
jmp 0x1400b6d11
xor bpl, bpl
mov r15, qword [rdi + 0x1d0]
test bpl, bpl
je 0x1400b6ebc
xor al, al
xor r15b, r15b
mov byte [rsp + 0xc8], al
mov r14d, 1
test bpl, bpl
je 0x1400b6fc4
cmp byte [rbx + 0x128], al
je 0x1400b6d4d
cmp dword [rbx + 0x100], r14d
je 0x1400b6d51
mov byte [rbx + 0x44], 0x6e
movzx r12d, byte [rsp + 0xb8]
movzx r13d, byte [rsp + 0xb0]
mov eax, 0x13
mov dword [rsp + 0x48], 1
mov word [rsp + 0x20], ax
xorps xmm0, xmm0
mov eax, dword [rdi + 8]
imul rdx, rax, 0x38
movdqu xmmword [rsp + 0x38], xmm0
mov rax, qword [rdi]
mov ecx, dword [rdx + rax - 0x34]
movzx eax, byte [rdx + rax - 0x30]
add ecx, r14d
xor r14d, r14d
mov dword [rsp + 0x24], ecx
mov rcx, rdi
mov byte [rsp + 0x28], al
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x2c], r14d
mov word [rsp + 0x30], r14w
mov byte [rsp + 0x32], r14b
mov word [rsp + 0x4c], r14w
mov dword [rsp + 0x50], r14d
call fcn.1400b7b10
mov eax, dword [rdi + 8]
imul rcx, rax, 0x38
mov rax, qword [rdi]
mov byte [rcx + rax - 0x30], 1
mov rax, qword [rdi + 0x1d0]
cmp byte [rax + 0x185], 4
jne 0x1400b6e00
test rsi, rsi
je 0x1400b6e00
cmp byte [rsi + 0x44], 0x40
jne 0x1400b6e00
mov eax, dword [rdi + 8]
imul rcx, rax, 0x38
mov rax, qword [rdi]
mov byte [rcx + rax - 0x30], r14b
mov eax, dword [rdi + 8]
movzx edx, byte [rsp + 0xc8]
imul rcx, rax, 0x38
mov rax, qword [rdi]
mov byte [rcx + rax - 0x26], dl
mov eax, dword [rdi + 8]
movzx edx, byte [rsp + 0xc0]
imul rcx, rax, 0x38
mov rax, qword [rdi]
mov byte [rcx + rax - 0xe], r12b
mov eax, dword [rdi + 8]
imul rcx, rax, 0x38
mov rax, qword [rdi]
mov byte [rcx + rax - 0xd], dl
mov rbp, qword [rdi + 0x1e0]
test rbp, rbp
je 0x1400b7450
mov edx, 0xfffd
movzx ecx, word [rbp + 0x10]
cmp cx, 0x14
je 0x1400b74c0
lea eax, [rcx - 0x16]
test dx, ax
je 0x1400b7450
cmp cx, 0x3d
jne 0x1400b7319
test r12b, r12b
je 0x1400b72a0
mov edx, 0x3d
mov rcx, rbp
lea r9d, [rdx + 0x5a]
lea r8d, [rdx - 0x38]
call fcn.1400a9b80
test al, al
je 0x1400b72a0
cmp byte [rbp + 0x128], r14b
je 0x1400b6eb0
cmp dword [rbp + 0x100], 1
je 0x1400b7316
mov byte [rbp + 0x44], 2
jmp 0x1400b7316
xor bpl, bpl
test r12b, r12b
jne 0x1400b6d21
test r13b, r13b
jne 0x1400b6d21
movzx eax, byte [r15 + 0x185]
cmp al, 1
je 0x1400b6ee2
cmp al, 6
jne 0x1400b6d21
cmp byte [rsp + 0xb8], 0
jne 0x1400b6d21
test r14b, r14b
jne 0x1400b6d21
mov eax, dword [rdi + 8]
imul rcx, rax, 0x38
mov rax, qword [rdi]
cmp byte [rcx + rax - 0x10], r14b
je 0x1400b6d21
cmp byte [rbx + 0x44], 0x44
je 0x1400b6d21
mov rax, qword [rdi + 0x1e0]
movzx ecx, word [rax + 0x10]
cmp cx, 0x17
je 0x1400b6d21
cmp cx, 0x14
je 0x1400b6d21
test rsi, rsi
je 0x1400b6fb2
movzx ecx, word [rsi + 0x10]
cmp ecx, 0x3d
ja 0x1400b6f55
movabs rdx, 0x2000000000280000
bt rdx, rcx
jb 0x1400b6fb2
cmp ecx, 0x61
je 0x1400b6fb2
mov eax, 0x92
cmp cx, ax
je 0x1400b6fb2
mov rcx, rsi
call fcn.1400b17d0
test al, al
jne 0x1400b6fac
movzx eax, byte [rsi + 0x44]
cmp al, 0x54
je 0x1400b6fac
cmp al, 0xc
je 0x1400b6fac
movzx ecx, word [rsi + 0x10]
mov r8b, 1
movzx edx, r8b
call fcn.140191860
mov r10d, 0x13
test eax, eax
jle 0x1400b6d21
mov al, 1
lea r14d, [r10 - 0x12]
mov byte [rsp + 0xc8], al
xor r15b, r15b
jmp 0x1400b6fc4
mov r10d, 0x13
mov al, 1
xor r15b, r15b
mov byte [rsp + 0xc8], al
mov r14d, 1
cmp byte [rbx + 0x44], 0x87
jne 0x1400b6d51
test al, al
je 0x1400b6ff1
cmp byte [rbx + 0x128], 0
je 0x1400b6fe8
cmp dword [rbx + 0x100], 1
je 0x1400b6d51
mov byte [rbx + 0x44], 0x55
jmp 0x1400b6d51
test r12b, r12b
je 0x1400b7015
cmp byte [rbx + 0x128], 0
je 0x1400b700c
cmp dword [rbx + 0x100], 1
je 0x1400b6d51
mov byte [rbx + 0x44], 0x38
jmp 0x1400b6d51
movzx r12d, byte [rsp + 0xb8]
test r12b, r12b
je 0x1400b7067
cmp byte [rbx + 0x128], 0
je 0x1400b7035
cmp dword [rbx + 0x100], 1
je 0x1400b7039
mov byte [rbx + 0x44], 6
movzx r13d, byte [rsp + 0xb0]
test r13b, r13b
jne 0x1400b6d63
mov rax, qword [rbx + 0xd0]
test rax, rax
je 0x1400b6d63
and dword [rax + 0x40], 0xffffbfff
jmp 0x1400b6d63
mov rax, qword [rdi + 0x1d0]
movzx ecx, byte [rax + 0x185]
cmp cl, 4
jne 0x1400b70c4
test rsi, rsi
je 0x1400b7114
mov eax, dword [rdi + 8]
imul rcx, rax, 0x38
mov rax, qword [rdi]
cmp word [rcx + rax - 0x38], 0x17
jne 0x1400b7114
movzx eax, word [rsi + 0x10]
cmp ax, 0x17
je 0x1400b70a5
cmp ax, 0x41
jne 0x1400b7114
cmp byte [rbx + 0x128], 0
je 0x1400b70bb
cmp dword [rbx + 0x100], 1
je 0x1400b6d5a
mov byte [rbx + 0x44], 0x3b
jmp 0x1400b6d5a
cmp cl, 1
je 0x1400b70ce
cmp cl, 6
jne 0x1400b7114
mov eax, dword [rdi + 8]
imul rcx, rax, 0x38
mov rax, qword [rdi]
cmp word [rcx + rax - 0x38], 0x17
jne 0x1400b7114
test rsi, rsi
je 0x1400b7114
movzx eax, word [rsi + 0x10]
cmp ax, 0x17
je 0x1400b70f5
cmp ax, 0x41
jne 0x1400b7114
cmp byte [rbx + 0x128], 0
je 0x1400b710b
cmp dword [rbx + 0x100], 1
je 0x1400b6d5a
mov byte [rbx + 0x44], 0x21
jmp 0x1400b6d5a
cmp byte [rsp + 0xc0], 0
je 0x1400b713d
cmp byte [rbx + 0x128], 0
je 0x1400b7134
cmp dword [rbx + 0x100], 1
je 0x1400b6d5a
mov byte [rbx + 0x44], 6
jmp 0x1400b6d5a
mov rax, qword [rdi + 0x1e0]
cmp word [rax + 0x10], 0x14
jne 0x1400b7175
test rsi, rsi
je 0x1400b7175
cmp byte [rsi + 0x44], 0x70
jne 0x1400b7175
cmp byte [rbx + 0x128], 0
je 0x1400b716c
cmp dword [rbx + 0x100], 1
je 0x1400b6d5a
mov byte [rbx + 0x44], 1
jmp 0x1400b6d5a
mov rax, qword [rdi + 0x1d0]
movzx ecx, byte [rax + 0x185]
sub cl, 7
test cl, 0xfd
je 0x1400b7210
test r13b, r13b
jne 0x1400b71e7
test rsi, rsi
je 0x1400b71e7
movzx eax, byte [rsi + 0x44]
cmp al, 7
je 0x1400b71c8
cmp al, 0x70
je 0x1400b71c8
movzx ecx, word [rsi + 0x10]
lea eax, [rcx - 0x13]
cmp ax, 0x3f
ja 0x1400b71c2
movabs rdx, 0x8020460000000005
bt rdx, rax
jb 0x1400b71c8
cmp cx, 0x61
jne 0x1400b71e7
cmp byte [rbx + 0x128], 0
je 0x1400b71de
cmp dword [rbx + 0x100], 1
je 0x1400b6d5a
mov byte [rbx + 0x44], 0
jmp 0x1400b6d5a
cmp byte [rbx + 0x128], 0
mov r14d, 0xa
je 0x1400b716c
cmp dword [rbx + 0x100], 1
je 0x1400b6d5a
mov byte [rbx + 0x44], 1
jmp 0x1400b6d5a
movzx ebp, byte [rbx + 0x128]
test bpl, bpl
je 0x1400b7225
cmp dword [rbx + 0x100], 1
je 0x1400b7229
mov byte [rbx + 0x44], 0
mov r9d, 0x3f
mov edx, r10d
mov rcx, rbx
lea r8d, [r9 - 0x38]
call fcn.1400a9b80
test al, al
jne 0x1400b6d5a
mov r9d, 5
mov r13d, 0x13
mov edx, r13d
mov rcx, rbx
lea r8d, [r9 + 2]
call fcn.1400a9b80
test al, al
jne 0x1400b6d5a
lea r8d, [r13 + 0x2a]
mov edx, r13d
mov r9b, 0x67
mov rcx, rbx
call fcn.1400a9c30
test al, al
jne 0x1400b6d5a
test bpl, bpl
je 0x1400b7291
cmp dword [rbx + 0x100], 1
je 0x1400b7295
mov byte [rbx + 0x44], 0x5c
mov r14d, 0xa
jmp 0x1400b6d5a
mov rax, qword [rdi + 0x1d0]
cmp byte [rax + 0x185], 0xa
je 0x1400b7316
mov rax, qword [rdi + 0x1d8]
cmp byte [rax + 0x41], r14b
jne 0x1400b7316
movzx eax, byte [rbx + 0x44]
dec al
test al, 0xdf
jne 0x1400b7316
cmp byte [rbx + 0x128], r14b
je 0x1400b72d9
cmp dword [rbx + 0x100], 1
je 0x1400b72dd
mov byte [rbx + 0x44], 0x55
mov eax, dword [rdi + 8]
imul rcx, rax, 0x38
mov rax, qword [rdi]
mov byte [rsp + 0xc8], 1
mov byte [rcx + rax - 0x26], 1
test rsi, rsi
je 0x1400b7316
cmp word [rsi + 0x10], 0x16
jne 0x1400b7316
cmp byte [rsi + 0x128], r14b
je 0x1400b7312
cmp dword [rsi + 0x100], 1
je 0x1400b7316
mov byte [rsi + 0x44], 0xc
mov r15b, 1
mov rax, qword [rdi + 0x1e0]
cmp word [rax + 0x10], 0x41
jne 0x1400b7348
cmp byte [rbx + 0x44], 0x55
jne 0x1400b7348
test r15b, r15b
jne 0x1400b7348
cmp byte [rbx + 0x128], r14b
je 0x1400b7344
cmp dword [rbx + 0x100], 1
je 0x1400b7348
mov byte [rbx + 0x44], r14b
mov rbp, qword [rdi + 0x1e0]
mov rcx, rdi
call fcn.1400ad8b0
test al, al
je 0x1400b7450
cmp word [rbp + 0x10], 0x17
jne 0x1400b7378
mov eax, dword [rbp + 0x40]
and eax, 0x18000
cmp eax, 0x8000
jne 0x1400b7378
inc dword [rbx + 0x68]
movzx ecx, word [rbp + 0x10]
mov eax, dword [rbx + 0x64]
cmp cx, 0x41
jne 0x1400b742a
inc eax
mov dword [rbx + 0x64], eax
cmp qword [rbx + 0x28], r14
jne 0x1400b741b
mov ecx, 0x1a8
call fcn.140183f40
mov rdx, rax
test rax, rax
je 0x1400b7410
mov rcx, qword [rdi + 0x1d0]
xor r8d, r8d
mov qword [rax + 8], rcx
lea rax, [0x14024dec8]
lea rcx, [rdx + 0x20]
mov qword [rdx], rax
mov qword [rdx + 0x10], rcx
lea rax, [rdx + 0xa0]
lea rcx, [rdx + 0x70]
mov qword [rdx + 0x90], rax
mov qword [rdx + 0x60], rcx
mov dword [rdx + 0x18], r8d
mov dword [rdx + 0x1c], 8
mov dword [rdx + 0x68], r8d
mov dword [rdx + 0x6c], 8
mov dword [rdx + 0x98], r8d
mov dword [rdx + 0x9c], 4
mov byte [rdx + 0x1a0], r8b
jmp 0x1400b7412
xor edx, edx
lea rcx, [rbx + 0x28]
call fcn.1400aa980
mov rcx, qword [rbx + 0x28]
mov rdx, rbp
mov rax, qword [rcx]
call qword [rax + 0x20]
jmp 0x1400b743b
test eax, eax
jne 0x1400b743b
cmp cx, 4
je 0x1400b743b
mov dword [rbx + 0x64], 1
mov rbp, qword [rdi + 0x1e0]
mov edx, 0xfffd
test rbp, rbp
jne 0x1400b6e50
xor dl, dl
mov rax, qword [rdi + 0x1d0]
mov r15, qword [rsp + 0x68]
mov r14, qword [rsp + 0x70]
mov r13, qword [rsp + 0x78]
cmp byte [rax + 9], 2
mov r12, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x90]
je 0x1400b7748
mov ecx, dword [rdi + 8]
mov r8, qword [rdi]
imul rax, rcx, 0x38
cmp dword [rax + r8 - 8], 4
jne 0x1400b7748
lea eax, [rcx - 1]
imul rcx, rax, 0x38
mov dword [rdi + 8], eax
movzx eax, dl
mov dword [rcx + r8 - 8], 4
add rsp, 0x98
pop rdi
pop rbx
ret
test r12b, r12b
je 0x1400b74ee
cmp byte [rbp + 0x128], r14b
je 0x1400b74d7
cmp dword [rbp + 0x100], 1
je 0x1400b74e2
mov byte [rbp + 0x44], 6
mov rbp, qword [rdi + 0x1e0]
test r13b, r13b
jne 0x1400b74ee
or dword [rbp + 0x40], 0x4000
mov rax, qword [rdi + 0x1e0]
cmp byte [rsp + 0xc0], r14b
je 0x1400b75c8
cmp byte [rax + 0x128], r14b
je 0x1400b7515
cmp dword [rax + 0x100], 1
je 0x1400b7520
mov byte [rax + 0x44], 6
mov rax, qword [rdi + 0x1e0]
mov rcx, rax
cmp byte [rsp + 0xc8], r14b
je 0x1400b762b
cmp qword [rcx + 0xd0], rbx
je 0x1400b762b
cmp byte [rcx + 0x128], r14b
je 0x1400b7550
cmp dword [rcx + 0x100], 1
je 0x1400b755b
mov byte [rcx + 0x44], 0x55
mov rcx, qword [rdi + 0x1e0]
test r15b, r15b
jne 0x1400b7591
mov rcx, qword [rcx + 0xd0]
test rcx, rcx
je 0x1400b7591
cmp byte [rcx + 0x44], 0x87
jne 0x1400b7591
call fcn.1400ac6a0
test al, al
je 0x1400b7591
cmp byte [rcx + 0x128], r14b
je 0x1400b758d
cmp dword [rcx + 0x100], 1
je 0x1400b7591
mov byte [rcx + 0x44], 0x67
test rsi, rsi
je 0x1400b762b
cmp byte [rsi + 0x44], 0x5b
jne 0x1400b762b
cmp byte [rsi + 0x128], r14b
je 0x1400b7620
cmp dword [rsi + 0x100], 1
je 0x1400b762b
and dword [rsi + 0x40], 0xffdfffff
cmp dword [rsi + 0x100], 1
je 0x1400b762b
jmp 0x1400b7627
mov rcx, qword [rax + 0xd8]
test rcx, rcx
je 0x1400b75db
cmp word [rcx + 0x10], 0x15
je 0x1400b75fb
mov rdx, qword [rax + 0xd0]
mov rcx, rax
test rdx, rdx
je 0x1400b7523
cmp qword [rdx + 0xd0], rbx
jne 0x1400b7523
cmp byte [rbx + 0x44], 0x55
mov rcx, rax
jne 0x1400b7523
cmp byte [rbx + 0x128], r14b
je 0x1400b761a
cmp dword [rbx + 0x100], 1
je 0x1400b762b
mov byte [rbx + 0x44], 0x87
jmp 0x1400b762b
and dword [rsi + 0x40], 0xffdfffff
mov byte [rsi + 0x44], 7
mov rax, qword [rdi + 0x1e0]
cmp byte [rax + 0x44], 0x55
jne 0x1400b7679
mov rax, qword [rax + 0xd8]
test rax, rax
je 0x1400b7679
cmp byte [rax + 0x44], 0x74
jne 0x1400b7679
cmp byte [rax + 0x128], r14b
je 0x1400b766e
cmp dword [rax + 0x100], 1
je 0x1400b7679
and dword [rax + 0x40], 0xffdfffff
cmp dword [rax + 0x100], 1
je 0x1400b7679
jmp 0x1400b7675
and dword [rax + 0x40], 0xffdfffff
mov byte [rax + 0x44], 0x87
mov rax, qword [rdi + 0x1e0]
mov qword [rbx + 0xc8], rax
mov rax, qword [rdi + 0x1e0]
mov qword [rax + 0xc8], rbx
mov eax, dword [rdi + 8]
imul rcx, rax, 0x38
mov rax, qword [rdi]
mov rax, qword [rcx + rax - 0x20]
test rax, rax
jne 0x1400b76f6
mov rax, qword [rdi + 0x1e0]
mov rdx, qword [rax + 0xd0]
test rdx, rdx
je 0x1400b76ff
nop dword [rax]
cmp word [rdx + 0x10], 4
jne 0x1400b76d5
mov rdx, qword [rdx + 0xd0]
test rdx, rdx
jne 0x1400b76c0
jmp 0x1400b76ff
cmp byte [rdx + 0x44], 0x67
jne 0x1400b76ff
mov dword [rdx + 0x90], 1
mov eax, dword [rdi + 8]
imul rcx, rax, 0x38
mov rax, qword [rdi]
mov qword [rcx + rax - 0x20], rdx
jmp 0x1400b76ff
mov eax, dword [rax + 0x90]
mov dword [rbx + 0x64], eax
mov eax, dword [rdi + 8]
imul rcx, rax, 0x38
mov rax, qword [rdi]
mov rdx, qword [rcx + rax - 0x20]
test rdx, rdx
je 0x1400b7739
mov eax, dword [rcx + rax - 0x2c]
mov dword [rdx + 0x8c], eax
cmp dword [rbx + 0x68], 1
jbe 0x1400b7739
mov eax, dword [rdi + 8]
imul rcx, rax, 0x38
mov rax, qword [rdi]
mov rcx, qword [rcx + rax - 0x20]
mov dword [rcx + 0x8c], r14d
mov rcx, rdi
call fcn.1400b38b0
mov dl, 1
jmp 0x1400b7452
dec dword [rdi + 8]
movzx eax, dl
add rsp, 0x98
pop rdi
pop rbx
ret