Function at 0x1401d94f0
Capabilities:
Parse credit card information

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xa8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x20], 0xfffffffffffffffe
mov rbx, r9
mov r14d, r8d
mov rdi, rdx
mov qword [rbp + 0x10], rcx
mov esi, dword [rbp + 0x90]
mov eax, dword [0x1405d0e90]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401d9552
mov dword [rbp + 0x18], esi
mov dword [rbp + 0x1c], r14d
movzx eax, word [rdi + 0xe]
movzx r12d, word [rdi + 0xc]
mov ecx, dword [0x1405d0e94]
cmp ecx, 0x14
jl 0x1401d958d
lea r15, [0x1401db1f0]
nop dword [rax]
mov dword [rbp + 0x18], esi
mov dword [rbp + 0x1c], r14d
mov ecx, 0x18
call fcn.140424ac4
mov qword [0x1405d0e88], rax
mov rcx, r15
call fcn.140444ec0
mov eax, dword [0x1405d0e94]
cmp eax, 0x5b
jge 0x1401d9560
jmp 0x1401d9537
add rdi, 0x10
add r12d, eax
xor r13d, r13d
lea r8, [0x140489448]
mov r14b, 1
xor r15d, r15d
mov rsi, qword [rbp + 0x10]
mov qword [rbp + 8], rbx
jmp 0x1401d95cb
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a8fb0
lea r8, [0x140489448]
add rdi, 8
inc r15d
mov eax, dword [0x1405d0e94]
cmp eax, 0x17
jg 0x1401d9680
nop word [rax + rax]
mov eax, dword [0x1405d0e94]
cmp eax, 0x4e
jge 0x1401d9680
cmp r15d, r12d
jae 0x1401d9d7c
mov eax, dword [0x1405d0ab4]
add eax, dword [rdi + 4]
js 0x1401d9690
test r13b, r13b
mov ecx, dword [rdi]
mov edx, dword [0x1405d0e94]
cmp edx, 0x11
jg 0x1401d960a
test ecx, ecx
js 0x1401d95c4
mov eax, eax
add rax, qword [rsi + 0x18]
mov qword [rbp - 0x50], rax
lea rax, [rbp - 0x50]
mov qword [rbp - 0x28], rax
lea rax, [rbp + 0x18]
mov qword [rbp - 0x20], rax
lea rax, [rbp + 0x1c]
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rbx
mov qword [rbp - 8], rsi
mov eax, dword [rbp + 0x18]
cmp eax, 0xa
ja 0x1401d95c4
mov ecx, 0x560
bt ecx, eax
jae 0x1401d95c4
lea rcx, [rbp - 0x28]
mov edx, 0x53924663
mov r8d, 0xd47310de
mov r9d, 0x29b1a65f
call fcn.1401dc270
jmp 0x1401d95bd
mov eax, dword [0x1405d0e94]
cmp eax, 0x40
jge 0x1401d9680
jmp 0x1401d95e0
mov qword [rbp - 0x10], 0
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], 0
mov qword [rbp - 0x28], r8
mov eax, dword [rdi]
test eax, eax
js 0x1401d96b7
movzx r8d, word [rdi]
jmp 0x1401d9ccc
mov rcx, qword [rsi + 0x18]
and eax, 0x7fffffff
movsxd rsi, dword [0x14048ffd4]
mov ebx, dword [0x14048ffd8]
mov r9, r8
movzx r8d, word [rcx + rax]
lea rdx, [rcx + rax + 2]
mov qword [rbp - 0x38], 0
mov qword [rbp - 0x30], 0xf
mov byte [rbp - 0x48], 0
mov qword [rbp - 0x50], r9
lea rcx, [rbp - 0x50]
call fcn.14027bbe0
movabs rax, 0x67858e064805a788
add rsi, rax
mov rax, rsi
lea rcx, [0x14048ffd4]
xor rax, rcx
and rsi, rcx
lea rsi, [rax + rsi*2]
movabs rax, 0x987a71f9b7fa5878
add rsi, rax
mov eax, dword [0x1405d0e94]
cmp eax, 0x2e
jg 0x1401d97c0
nop dword [rax + rax]
mov eax, dword [0x1405d0e94]
cmp eax, 0x33
jge 0x1401d97c0
lea rcx, [rbp - 0x28]
lea rdx, [rbp - 0x50]
call fcn.140279a10
mov eax, dword [0x1405d0e94]
cmp eax, 0x34
mov r10, qword [rbp - 0x30]
lea rax, [fcn.1401d94f0]
nop dword [rax]
mov ecx, dword [0x1405d0e94]
cmp ecx, 0x1c
mov ecx, dword [0x1405d0e90]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x1401d9779
mov ecx, dword [0x1405d0e90]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x1401d97ac
lea ecx, [rax + rax]
add ecx, 0x1f60
mov edx, ecx
not edx
test edx, ecx
je 0x1401d97d0
test r14b, r14b
je 0x1401d9770
jmp 0x1401d979b
mov eax, dword [0x1405d0e94]
cmp eax, 0x58
jge 0x1401d97c0
jmp 0x1401d9740
mov ecx, dword [0x140572394]
lea r9d, [rcx + 1]
mov dword [0x140572394], r9d
not ecx
nop word cs:[rax + rax]
test r13b, r13b
jne 0x1401d9809
mov edx, dword [0x1405d0e90]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x1401d9816
mov eax, dword [0x1405d0e94]
cmp eax, 0x39
jge 0x1401d97f0
jmp 0x1401d97f5
xor ecx, r9d
mov edx, ecx
not edx
mov r8d, edx
and r8d, r9d
not r9d
and ecx, r9d
or ecx, r8d
and r9d, edx
xor r9d, ecx
not r9d
test r9d, r9d
mov qword [rbp], r10
jne 0x1401d9846
test ebx, ebx
jg 0x1401d9935
xor r8d, r8d
mov rax, qword [rbp]
cmp rax, 0xf
mov rbx, qword [rbp + 8]
mov rsi, qword [rbp + 0x10]
jbe 0x1401d9cc9
mov rcx, qword [rbp - 0x48]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1401d9cc4
lea rax, [fcn.1401d94f0]
lea edx, [rax + rax]
add edx, 0x2600
mov r10d, edx
not r10d
test r10d, edx
mov r10, qword [rcx - 8]
mov edx, dword [0x1405d0e94]
cmp edx, 0xe
jge 0x1401d988d
sub rcx, r10
add rcx, 0xfffffffffffffff8
nop word cs:[rax + rax]
mov eax, dword [0x1405d0e94]
cmp eax, 0x57
jg 0x1401d98b0
mov eax, dword [0x1405d0e90]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x1401d9904
nop dword [rax]
lea rax, [fcn.1401d94f0]
add eax, eax
add eax, 0x1de0
mov edx, eax
not edx
test edx, eax
jne 0x1401d98f1
mov eax, dword [0x1405d0e94]
cmp eax, 0x52
jle 0x1401d9904
mov eax, dword [0x1405d0e90]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1401d98d0
jmp 0x1401d98e6
test r13b, r13b
nop word [rax + rax]
mov eax, dword [0x1405d0e90]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1401d9910
mov eax, dword [0x1405d0e94]
cmp eax, 0x3a
jg 0x1401d9b20
jmp 0x1401d9af3
xor ecx, ecx
xor r8d, r8d
jmp 0x1401d9950
cmp ecx, ebx
jge 0x1401d9849
nop word cs:[rax + rax]
mov edx, dword [0x1405d0e90]
mov r10d, edx
not r10d
imul r10d, edx
test r10b, 1
jne 0x1401d9950
nop word cs:[rax + rax]
mov edx, dword [0x1405d0e94]
cmp edx, 0x35
jg 0x1401d9970
movsxd rdx, ecx
nop
mov r10d, dword [0x1405d0e90]
lea r11d, [r10 - 1]
imul r11d, r10d
test r11b, 1
jne 0x1401d99aa
mov r10d, dword [0x1405d0e90]
lea r11d, [r10 - 1]
imul r11d, r10d
test r11b, 1
je 0x1401d99c0
mov eax, dword [0x1405d0e90]
lea r10d, [rax + 1]
imul r10d, eax
test r10b, 1
jne 0x1401d9980
jmp 0x1401d9995
test r13b, r13b
jne 0x1401d99c0
add rdx, rsi
mov r10d, dword [0x1405d0e94]
cmp r10d, 0x1c
jg 0x1401d9a98
jmp 0x1401d99ee
mov rax, qword [rdx]
mov eax, dword [0x1405d0e94]
cmp eax, 0xc
jl 0x1401d99f3
test r13b, r13b
jne 0x1401d99e0
mov r10, qword [rdx]
mov r11d, dword [0x1405d0e90]
lea eax, [r11 - 1]
imul eax, r11d
test al, 1
jne 0x1401d99e0
mov eax, dword [0x1405d0e94]
cmp eax, 0x32
jge 0x1401d9a98
nop dword [rax + rax]
mov eax, dword [0x1405d0e90]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1401d9a3c
mov eax, dword [0x1405d0e94]
cmp eax, 0x3f
jle 0x1401d9ab3
mov eax, dword [0x1405d0e94]
cmp eax, 0x54
jg 0x1401d9a60
mov eax, dword [0x1405d0e94]
cmp eax, 0x33
jge 0x1401d9a60
mov eax, dword [0x1405d0e94]
cmp eax, 0x30
jge 0x1401d9a20
jmp 0x1401d9a31
mov eax, dword [0x1405d0e90]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1401d9a60
jmp 0x1401d9a47
mov eax, dword [0x1405d0e90]
lea r10d, [rax - 1]
imul r10d, eax
test r10b, 1
je 0x1401d99ee
test r13b, r13b
jne 0x1401d9aae
nop dword [rax]
mov rax, qword [rdx]
mov eax, dword [0x1405d0e94]
cmp eax, 0x25
jle 0x1401d9a80
mov rax, qword [rdx]
jmp 0x1401d9aa0
mov rax, r10
xor rax, r10
not rax
and r8, rax
xor r8, r10
add ecx, 8
test r13b, r13b
jne 0x1401d9ae0
mov eax, dword [0x1405d0e90]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x1401d993c
nop
mov eax, dword [0x1405d0e90]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1401d9ae0
jmp 0x1401d9aca
xor r11d, r11d
test r9d, r9d
setne bl
mov rdx, qword [0x14048ffb0]
mov eax, dword [0x1405d0e90]
lea esi, [rax - 1]
imul esi, eax
test sil, 1
mov rsi, qword [rbp + 0x10]
je 0x1401d9b71
nop dword [rax]
mov eax, dword [0x1405d0e90]
lea edx, [rax - 1]
imul edx, eax
jmp 0x1401d9b47
mov rax, qword [0x14048ffb0]
mov eax, dword [0x1405d0e90]
mov edx, 0xaa85df9d
sub edx, eax
imul edx, eax
test dl, 1
jne 0x1401d9b30
mov rax, qword [0x14048ffb0]
mov eax, dword [0x1405d0e94]
cmp eax, 0x44
jge 0x1401d9b30
mov eax, dword [0x1405d0e90]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1401d9b20
jmp 0x1401d9af3
mov r11b, bl
movabs rax, 0x9749168d4a14ae50
or r11, rax
mov rax, r11
not rax
lea r9, [rax + r11*2]
mov rbx, qword [rbp + 8]
nop
mov eax, dword [0x1405d0e94]
cmp eax, 0x34
jl 0x1401d9bad
nop dword [rax + rax]
mov eax, dword [0x1405d0e94]
cmp eax, 0x62
jge 0x1401d9ba0
jmp 0x1401d9b90
movabs rax, 0x1d6bdd83335883ed
add r9, rax
mov rax, r9
movabs r11, 0x3640109c809fd645
xor rax, r11
and r9, r11
lea r9, [rax + r9*2]
movabs rax, 0x150afb5301f2f77e
add r9, rax
mov eax, dword [0x1405d0e90]
lea r11d, [rax - 0x7fd5697e]
not r11d
add r11d, 0x7fd5697e
imul r11d, eax
test r11b, 1
jne 0x1401d9c20
mov eax, dword [0x1405d0e90]
lea r11d, [rax - 1]
imul r11d, eax
test r11b, 1
je 0x1401d9c2d
nop word cs:[rax + rax]
mov eax, dword [0x1405d0e94]
cmp eax, 0xf
jge 0x1401d9c20
jmp 0x1401d9bff
neg rdx
mov eax, dword [0x1405d0e90]
lea r11d, [rax + 1]
imul r11d, eax
test r11b, 1
mov eax, dword [0x1405d0e90]
lea r11d, [rax - 1]
imul r11d, eax
test r11b, 1
jne 0x1401d9c42
add rdx, r8
mov rax, rdx
neg rax
dec rdx
mov r8, rdx
xor r8, rax
and r8, r9
xor r8, rax
xor r9, rdx
and r9, rdx
or r9, r8
not r9
mov rdx, r9
shr rdx, 0x20
mov eax, dword [0x1405d0e94]
nop word [rax + rax]
mov r8d, r9d
or r8d, edx
add r8d, dword [0x1405d05b8]
mov eax, dword [0x1405d0e94]
cmp eax, 0x29
jg 0x1401d9c90
mov dword [0x1405d05b8], r8d
cmp rcx, 0x20
jae 0x1401d9d91
mov rdx, qword [rbp]
add rdx, 0x28
mov rcx, r10
call fcn.1400a8fb0
xor r8d, r8d
mov eax, dword [rbp + 0x1c]
mov edx, dword [rdi + 4]
and edx, 0x7fffffff
add rdx, qword [rsi + 0x18]
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea r9, [rbp - 0x28]
call fcn.1401d94f0
mov rax, qword [rbp - 8]
cmp rax, 0x10
jb 0x1401d95bd
nop word [rax + rax]
mov rcx, qword [rbp - 0x20]
mov edx, dword [0x1405d0e90]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x1401d9d27
nop dword [rax + rax]
test r14b, r14b
je 0x1401d9d20
jmp 0x1401d9d00
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1401d95b8
mov r8, qword [rcx - 8]
sub rcx, r8
movabs rdx, 0x23852d5b15e8b0f8
add rcx, rdx
mov rdx, rcx
movabs r9, 0xdc7ad2a4ea174f00
xor rdx, r9
movabs r9, 0x5c7ad2a4ea174f00
and rcx, r9
lea rcx, [rdx + rcx*2]
cmp rcx, 0x20
jb 0x1401d95ae
call fcn.140424a4c
nop
add rsp, 0xa8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.140424a4c
int3