Function at 0x18001d7d0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
mov rbp, rsp
sub rsp, 0x20
inc dword [rcx + 0x5c]
mov rbx, rcx
cmp dword [rcx + 0x5c], 0x14
jg 0x18001de15
lea rdx, [rbp + 0x10]
call fcn.18001e080
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.18001de70
dec dword [rbx + 0x5c]
mov edx, dword [rbp + 0x10]
mov qword [rbp + 0x18], 0
mov r8d, dword [rbp + 0x14]
mov eax, dword [rbx + 4]
cmp eax, 0x3f
jne 0x18001d87c
mov rcx, rbx
call fcn.18001e610
xor r8d, r8d
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.18001e4b0
mov eax, dword [rbx + 4]
cmp eax, 0x2c
je 0x18001d81c
mov rcx, rbx
cmp eax, 0x3a
jne 0x18001de20
call fcn.18001e610
xor r8d, r8d
lea rdx, [rbp + 0x20]
mov rcx, rbx
call fcn.18001e4b0
cmp dword [rbp + 0x10], 0
mov r8d, dword [rbp + 0x24]
mov edx, dword [rbp + 0x20]
cmovne edx, dword [rbp + 0x18]
cmp dword [rbp + 0x1c], r8d
mov dword [rbp + 0x10], edx
cmova r8d, dword [rbp + 0x1c]
mov dword [rbp + 0x14], r8d
jmp 0x18001d814
cmp eax, 0x104
jne 0x18001d8bd
mov rcx, rbx
call fcn.18001e610
mov r8d, 2
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.18001e4b0
cmp dword [rbp + 0x10], 0
jne 0x18001d8ea
cmp dword [rbp + 0x18], 0
jne 0x18001d8ea
xor edx, edx
mov r8d, 9
mov dword [rbp + 0x10], edx
mov dword [rbp + 0x14], r8d
jmp 0x18001d814
cmp eax, 0x105
jne 0x18001d901
mov rcx, rbx
call fcn.18001e610
mov r8d, 3
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.18001e4b0
cmp dword [rbp + 0x10], 0
je 0x18001d8a9
cmp dword [rbp + 0x18], 0
je 0x18001d8a9
mov edx, 1
mov r8d, 9
mov dword [rbp + 0x10], edx
mov dword [rbp + 0x14], r8d
jmp 0x18001d814
cmp eax, 0x7c
jne 0x18001d92b
mov rcx, rbx
call fcn.18001e610
mov r8d, 4
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.18001e4b0
mov edx, dword [rbp + 0x10]
or edx, dword [rbp + 0x18]
jmp 0x18001dc93
cmp eax, 0x5e
jne 0x18001d955
mov rcx, rbx
call fcn.18001e610
mov r8d, 5
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.18001e4b0
mov edx, dword [rbp + 0x10]
xor edx, dword [rbp + 0x18]
jmp 0x18001dc93
cmp eax, 0x26
jne 0x18001d97f
mov rcx, rbx
call fcn.18001e610
mov r8d, 6
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.18001e4b0
mov edx, dword [rbp + 0x10]
and edx, dword [rbp + 0x18]
jmp 0x18001dc93
cmp eax, 0x106
jne 0x18001d9bd
mov rcx, rbx
call fcn.18001e610
mov r8d, 7
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.18001e4b0
mov eax, dword [rbp + 0x18]
xor edx, edx
cmp dword [rbp + 0x10], eax
mov r8d, 9
mov dword [rbp + 0x14], r8d
sete dl
mov dword [rbp + 0x10], edx
jmp 0x18001d814
cmp eax, 0x107
jne 0x18001d9fb
mov rcx, rbx
call fcn.18001e610
mov r8d, 7
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.18001e4b0
mov eax, dword [rbp + 0x18]
xor edx, edx
cmp dword [rbp + 0x10], eax
mov r8d, 9
mov dword [rbp + 0x14], r8d
setne dl
mov dword [rbp + 0x10], edx
jmp 0x18001d814
cmp eax, 0x3c
jne 0x18001da60
mov rcx, rbx
call fcn.18001e610
mov r8d, 8
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.18001e4b0
cmp dword [rbp + 0x14], 9
jne 0x18001da43
cmp dword [rbp + 0x1c], 9
jne 0x18001da43
mov eax, dword [rbp + 0x18]
xor edx, edx
cmp dword [rbp + 0x10], eax
mov r8d, 9
mov dword [rbp + 0x14], r8d
setl dl
mov dword [rbp + 0x10], edx
jmp 0x18001d814
mov eax, dword [rbp + 0x18]
xor edx, edx
cmp dword [rbp + 0x10], eax
mov r8d, 9
mov dword [rbp + 0x14], r8d
setb dl
mov dword [rbp + 0x10], edx
jmp 0x18001d814
cmp eax, 0x3e
jne 0x18001dac5
mov rcx, rbx
call fcn.18001e610
mov r8d, 8
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.18001e4b0
cmp dword [rbp + 0x14], 9
jne 0x18001daa8
cmp dword [rbp + 0x1c], 9
jne 0x18001daa8
mov eax, dword [rbp + 0x18]
xor edx, edx
cmp dword [rbp + 0x10], eax
mov r8d, 9
mov dword [rbp + 0x14], r8d
setg dl
mov dword [rbp + 0x10], edx
jmp 0x18001d814
mov eax, dword [rbp + 0x18]
xor edx, edx
cmp dword [rbp + 0x10], eax
mov r8d, 9
mov dword [rbp + 0x14], r8d
seta dl
mov dword [rbp + 0x10], edx
jmp 0x18001d814
cmp eax, 0x108
jne 0x18001db2c
mov rcx, rbx
call fcn.18001e610
mov r8d, 8
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.18001e4b0
cmp dword [rbp + 0x14], 9
jne 0x18001db0f
cmp dword [rbp + 0x1c], 9
jne 0x18001db0f
mov eax, dword [rbp + 0x18]
xor edx, edx
cmp dword [rbp + 0x10], eax
mov r8d, 9
mov dword [rbp + 0x14], r8d
setle dl
mov dword [rbp + 0x10], edx
jmp 0x18001d814
mov eax, dword [rbp + 0x18]
xor edx, edx
cmp dword [rbp + 0x10], eax
mov r8d, 9
mov dword [rbp + 0x14], r8d
setbe dl
mov dword [rbp + 0x10], edx
jmp 0x18001d814
cmp eax, 0x109
jne 0x18001db93
mov rcx, rbx
call fcn.18001e610
mov r8d, 8
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.18001e4b0
cmp dword [rbp + 0x14], 9
jne 0x18001db76
cmp dword [rbp + 0x1c], 9
jne 0x18001db76
mov eax, dword [rbp + 0x18]
xor edx, edx
cmp dword [rbp + 0x10], eax
mov r8d, 9
mov dword [rbp + 0x14], r8d
setge dl
mov dword [rbp + 0x10], edx
jmp 0x18001d814
mov eax, dword [rbp + 0x18]
xor edx, edx
cmp dword [rbp + 0x10], eax
mov r8d, 9
mov dword [rbp + 0x14], r8d
setae dl
mov dword [rbp + 0x10], edx
jmp 0x18001d814
cmp eax, 0x10a
jne 0x18001dbc4
mov rcx, rbx
call fcn.18001e610
mov r8d, 9
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.18001e4b0
mov edx, dword [rbp + 0x10]
mov ecx, dword [rbp + 0x18]
shl edx, cl
mov dword [rbp + 0x10], edx
jmp 0x18001d810
cmp eax, 0x10b
jne 0x18001dc09
mov rcx, rbx
call fcn.18001e610
mov r8d, 9
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.18001e4b0
mov r8d, dword [rbp + 0x14]
mov ecx, dword [rbp + 0x18]
mov edx, dword [rbp + 0x10]
cmp r8d, 9
jne 0x18001dbff
sar edx, cl
mov dword [rbp + 0x10], edx
jmp 0x18001d814
shr edx, cl
mov dword [rbp + 0x10], edx
jmp 0x18001d814
cmp eax, 0x2b
jne 0x18001dc30
mov rcx, rbx
call fcn.18001e610
mov r8d, 0xa
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.18001e4b0
mov edx, dword [rbp + 0x10]
add edx, dword [rbp + 0x18]
jmp 0x18001dc93
cmp eax, 0x2d
jne 0x18001dc57
mov rcx, rbx
call fcn.18001e610
mov r8d, 0xa
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.18001e4b0
mov edx, dword [rbp + 0x10]
sub edx, dword [rbp + 0x18]
jmp 0x18001dc93
cmp eax, 0x2a
jne 0x18001dcb1
mov rcx, rbx
call fcn.18001e610
inc dword [rbx + 0x5c]
cmp dword [rbx + 0x5c], 0x14
jg 0x18001de39
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.18001e080
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.18001de70
mov edx, dword [rbp + 0x10]
dec dword [rbx + 0x5c]
imul edx, dword [rbp + 0x18]
mov dword [rbp + 0x10], edx
mov eax, dword [rbp + 0x1c]
mov r8d, dword [rbp + 0x14]
cmp eax, r8d
jbe 0x18001d814
mov r8d, eax
mov dword [rbp + 0x14], eax
jmp 0x18001d814
cmp eax, 0x2f
jne 0x18001dd3a
mov rcx, rbx
call fcn.18001e610
inc dword [rbx + 0x5c]
cmp dword [rbx + 0x5c], 0x14
jg 0x18001de39
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.18001e080
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.18001de70
mov r8d, dword [rbp + 0x14]
dec dword [rbx + 0x5c]
cmp dword [rbp + 0x1c], r8d
mov ecx, dword [rbp + 0x18]
cmova r8d, dword [rbp + 0x1c]
mov dword [rbp + 0x14], r8d
test ecx, ecx
je 0x18001de2b
mov eax, dword [rbp + 0x10]
cmp r8d, 9
jne 0x18001dd2c
cmp eax, 0x80000000
jne 0x18001dd1f
cmp ecx, 0xffffffff
je 0x18001de2b
cdq
idiv ecx
mov edx, eax
mov dword [rbp + 0x10], eax
jmp 0x18001d814
xor edx, edx
div ecx
mov edx, eax
mov dword [rbp + 0x10], eax
jmp 0x18001d814
cmp eax, 0x25
jne 0x18001ddbb
mov rcx, rbx
call fcn.18001e610
inc dword [rbx + 0x5c]
cmp dword [rbx + 0x5c], 0x14
jg 0x18001de39
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.18001e080
lea rdx, [rbp + 0x18]
mov rcx, rbx
call fcn.18001de70
mov r8d, dword [rbp + 0x14]
dec dword [rbx + 0x5c]
cmp dword [rbp + 0x1c], r8d
mov ecx, dword [rbp + 0x18]
cmova r8d, dword [rbp + 0x1c]
mov dword [rbp + 0x14], r8d
test ecx, ecx
je 0x18001de2b
mov eax, dword [rbp + 0x10]
cmp r8d, 9
jne 0x18001ddaf
cmp eax, 0x80000000
jne 0x18001dda4
cmp ecx, 0xffffffff
je 0x18001de2b
cdq
idiv ecx
mov dword [rbp + 0x10], edx
jmp 0x18001d814
xor edx, edx
div ecx
mov dword [rbp + 0x10], edx
jmp 0x18001d814
mov rax, qword [rbx + 0x40]
mov r9, qword [rax]
mov eax, r8d
add rax, rax
mov ecx, dword [r9 + rax*8]
mov eax, ecx
and eax, 0xf0000000
cmp eax, 0x80000000
jne 0x18001ddf8
nop word [rax + rax]
movzx ecx, cx
add rcx, rcx
mov ecx, dword [r9 + rcx*8]
mov eax, ecx
and eax, 0xf0000000
cmp eax, 0x80000000
je 0x18001dde0
test ecx, 0xfc000000
jne 0x18001de47
cmp edx, 0x80000000
jae 0x18001de55
mov rbx, qword [rsp + 0x48]
mov eax, edx
add rsp, 0x20
pop rbp
ret
mov edx, 0x8d7
call fcn.18001ce80
int3
mov edx, 0x3a
call fcn.18001ced0
int3
mov edx, 0x219
mov rcx, rbx
call fcn.18001ce80
int3
mov edx, 0x8d7
mov rcx, rbx
call fcn.18001ce80
int3
mov edx, 0x219
mov rcx, rbx
call fcn.18001ce80
int3
mov edx, 0xc06
mov rcx, rbx
call fcn.18001ce80
int3