Function at 0x180014ca0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov r12, rcx
mov eax, r9d
lea ecx, [r9 + 0x862]
mov r13, rdx
mov dword [rsp + 0x30], ecx
cmp r9d, ecx
ja 0x180015463
movsxd r10, dword [rsp + 0x3c]
xor ebx, ebx
mov r14d, dword [rsp + 0xb8]
mov r9, r10
mov r15d, dword [rsp + 0xb8]
movzx ebp, word [rsp + 0xb8]
mov esi, dword [rsp + 0xb8]
mov qword [rsp + 0x58], r10
lea r11, [0x18007fa50]
cmp eax, 0x1bd8
ja 0x180015154
je 0x180014e0f
cmp eax, 0x18a1
ja 0x180014ee4
je 0x180014ec2
sub eax, 0xd6
je 0x180014e9a
sub eax, 0x1d
je 0x180014e33
sub eax, 0x1d
je 0x180014dd0
sub eax, 0x1757
je 0x180014dbe
cmp eax, 0x1d
jne 0x1800151e7
cmp qword [rsp + 0xc0], 0
jne 0x180014d8f
lea r9, str.out___NULL
mov dword [rsp + 0x40], ebx
lea r8, [0x180082820]
mov edx, 0x5836
lea rcx, [rsp + 0x40]
call fcn.18000e4c0
mov ecx, dword [rsp + 0x30]
test r13, r13
jne 0x1800151e7
lea r9, str.Knees_and_Feet
lea r8, [0x180082820]
mov dword [rsp + 0x40], ebx
mov edx, 0x5836
lea rcx, [rsp + 0x40]
call fcn.18000e4c0
jmp 0x1800151e3
test r12, r12
jne 0x1800151e7
lea r9, str.in___NULL
jmp 0x180014d9f
mov ecx, 0x6833
mov eax, ecx
sub eax, 0x6833
je 0x180014de9
cmp eax, 0x1e
je 0x180015463
jmp 0x180014df9
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x48], rdx
mov rax, qword [rdx]
mov byte [rax], 0
add ecx, 0x1e
cmp ecx, 0x6851
jbe 0x180014dd5
mov eax, dword [rsp + 0xb8]
mov ecx, dword [rsp + 0x30]
cmp dword [r8], 0
jne 0x1800151ee
mov ecx, 0x1000
mov dword [r8], 0x800
call fcn.18005f324
mov qword [r12], rax
jmp 0x1800151e3
mov rdi, qword [rsp + 0x50]
mov rcx, qword [rdi + 0x10]
inc rcx
mov qword [rdi + 8], rbx
call fcn.180064534
mov qword [rdi], rax
test rax, rax
jne 0x1800151e3
mov edi, 0x4e33
nop dword [rax]
mov eax, edi
sub eax, 0x4e33
je 0x180014e80
sub eax, 0x3a
je 0x180014e79
cmp eax, 0x3a
je 0x180015463
jmp 0x180014e8a
mov qword [rsp + 0x48], rbx
jmp 0x180014e8a
mov rcx, qword [rsp + 0x50]
call fcn.18006452c
add edi, 0x3a
cmp edi, 0x4ea7
jbe 0x180014e60
jmp 0x1800151e3
mov ecx, 0x18
call fcn.180064534
mov qword [rsp + 0x50], rax
mov rdi, rax
test rax, rax
je 0x18001544c
mov rax, qword [r12]
mov qword [rdi + 0x10], rax
jmp 0x1800151e3
cmp dword [r8], 2
jb 0x180014ed7
movzx eax, byte [r12]
and al, 0x1f
cmp al, 0xc
je 0x1800151e7
mov dword [rsp + 0x48], 7
jmp 0x180015463
sub eax, 0x18be
je 0x180015149
sub eax, 0x1d
je 0x18001507f
sub eax, 0x1d
je 0x180014f3b
cmp eax, 0x1d
jne 0x1800151e7
mov ecx, 0x250a
nop dword [rax + rax]
mov eax, ecx
sub eax, 0x250a
je 0x180014f24
cmp eax, 0xc
je 0x180015463
jmp 0x180014f2c
mov dword [r13], r15d
mov dword [rsp + 0x48], ebx
add ecx, 0xc
cmp ecx, 0x2516
jbe 0x180014f10
mov ecx, dword [rsp + 0x30]
mov r15d, ebx
cmp r14d, dword [r8]
jae 0x1800151e7
nop word [rax + rax]
mov edx, 0x6d6c
nop word [rax + rax]
mov eax, edx
sub eax, 0x6d6c
je 0x180015021
sub eax, 0x3f
je 0x18001500f
sub eax, 0x3f
je 0x180014fd1
cmp eax, 0x3f
jne 0x180015062
cmp r15d, dword [r13]
jbe 0x180014fba
mov ecx, 0x2929
nop
mov eax, ecx
sub eax, 0x2929
je 0x180014fab
cmp eax, 0x25
jne 0x180014faf
mov dword [rsp + 0x48], 6
jmp 0x180015463
mov dword [r13], r15d
add ecx, 0x25
cmp ecx, 0x294e
jbe 0x180014f90
mov rdi, qword [rsp + 0xc0]
mov eax, r15d
inc r15d
mov word [rdi + rax*2], bp
jmp 0x180015062
test esi, esi
je 0x18001500b
nop word [rax + rax]
mov eax, r14d
dec esi
movzx ecx, byte [rax + r12]
movzx eax, cl
and al, 0xc0
cmp al, 0x80
jne 0x180014ed7
and cl, 0x3f
shl bp, 6
movzx eax, cl
inc r14d
or bp, ax
test esi, esi
jne 0x180014fe0
dec esi
jmp 0x180015062
mov ecx, esi
lea eax, [rsi - 1]
shr bp, cl
cmp esi, 1
cmovbe eax, esi
mov esi, eax
jmp 0x180015062
mov eax, r14d
mov esi, ebx
inc r14d
movzx ebp, byte [rax + r12]
test bpl, bpl
jns 0x180015053
cmp esi, 4
ja 0x180014ed7
and bp, 0x7f
inc esi
add bp, bp
test bpl, bpl
js 0x180015033
cmp esi, 4
ja 0x180014ed7
lea eax, [r14 - 1]
add eax, esi
cmp eax, dword [r8]
ja 0x180014ed7
add edx, 0x3f
cmp edx, 0x6e29
jbe 0x180014f60
cmp r14d, dword [r8]
jb 0x180014f50
jmp 0x1800151e3
mov eax, r14d
movzx ecx, byte [rax + r12]
test cl, cl
jns 0x18001512b
mov edx, 0x182d
mov eax, edx
sub eax, 0x182d
je 0x18001510a
sub eax, 0x37
je 0x1800150e8
sub eax, 0x37
je 0x1800150e3
cmp eax, 0x37
jne 0x180015116
test r15d, r15d
je 0x1800150de
mov ebx, dword [rsp + 0x38]
nop word [rax + rax]
shl ebx, 8
mov eax, r14d
inc r14d
movzx ecx, byte [rax + r12]
or ecx, ebx
mov ebx, ecx
add r15d, 0xffffffff
jne 0x1800150c0
mov dword [rsp + 0x38], ecx
xor ebx, ebx
dec r15d
jmp 0x180015116
inc r14d
jmp 0x180015116
lea eax, [r15 - 1]
cmp eax, 2
ja 0x180014ed7
lea eax, [r15 + r14]
cmp eax, dword [r8]
ja 0x180014ed7
mov eax, ebx
mov dword [rsp + 0x38], ebx
jmp 0x18001511a
mov eax, r14d
movzx r15d, byte [rax + r12]
and r15d, 0x7f
mov eax, dword [rsp + 0x38]
add edx, 0x37
cmp edx, 0x18d2
jbe 0x180015094
jmp 0x180015138
movzx eax, cl
and eax, 0x7f
mov dword [rsp + 0x38], eax
inc r14d
add eax, r14d
cmp eax, dword [r8]
ja 0x180014ed7
jmp 0x1800151e3
mov r14d, 1
jmp 0x1800151e7
cmp eax, 0x56d2
ja 0x18001541b
je 0x1800152dc
sub eax, 0x1bf5
je 0x1800152d0
sub eax, 0x3a69
je 0x18001528b
sub eax, 0x1d
je 0x180015239
sub eax, 0x1d
je 0x180015217
cmp eax, 0x1d
jne 0x1800151e7
mov eax, dword [r8]
lea rdx, [r12 + 1]
mov rdi, qword [rsp + 0xc0]
dec eax
mov ecx, eax
mov r8d, eax
shr rcx, 1
add rdx, rcx
shr r8d, 1
mov rcx, qword [rdi + 0x18]
call qword [0x1800a38d0]
mov dword [rsp + 0x34], eax
cmp eax, 0
jne 0x1800153f1
mov rcx, qword [rdi + 0x20]
lea edx, [rax + 1]
call qword [0x1800a3868]
mov dword [rsp + 0x34], eax
cmp eax, 0
jne 0x1800153f1
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0xb8]
add eax, 0x1d
mov dword [rsp + 0xb8], eax
cmp eax, ecx
ja 0x180015463
mov r8, qword [rsp + 0xb0]
mov r9, qword [rsp + 0x58]
mov r10d, dword [rsp + 0x3c]
jmp 0x180014d09
mov r8d, dword [r8]
lea rdx, [r12 + 1]
mov rdi, qword [rsp + 0xc0]
dec r8d
shr r8d, 1
mov rcx, qword [rdi + 0x10]
call qword [0x1800a38d0]
jmp 0x1800151d6
test byte [r8], 1
je 0x18001545b
mov rdi, qword [rsp + 0xc0]
mov qword [rsp + 0x20], rbx
lea r9, [rdi + 0x28]
lea r8, [rdi + 0x20]
lea rdx, [rdi + 0x18]
lea rcx, [rdi + 0x10]
call fcn.180046760
test eax, eax
jne 0x180015451
movzx ecx, byte [r12]
lea eax, [rcx - 4]
test al, 0xfc
jne 0x1800153e9
cmp cl, 5
jne 0x1800151e3
jmp 0x1800153e9
test r12, r12
jne 0x1800152b5
lea r9, str.their_data
mov dword [rsp + 0x40], ebx
lea r8, [0x180082820]
mov edx, 0x5836
lea rcx, [rsp + 0x40]
call fcn.18000e4c0
mov ecx, dword [rsp + 0x30]
cmp qword [rsp + 0xc0], 0
jne 0x1800151e7
lea r9, str.31_Oct_2008
jmp 0x180014d9f
mov rax, qword [r12]
mov word [rax], bx
jmp 0x1800151e7
test r13, r13
jne 0x180015392
mov edx, 0x768a
nop word [rax + rax]
mov eax, edx
sub eax, 0x768a
je 0x18001531b
sub eax, 0x5e
je 0x180015358
cmp eax, 0x5e
jne 0x180015374
movsxd rax, r10d
imul rcx, rax, 0x38
mov rax, qword [rsp + 0xc0]
add rcx, r11
mov qword [rax + 8], rcx
jmp 0x180015374
mov ecx, dword [r8]
mov r10d, ebx
dec ecx
mov dword [rsp + 0x3c], ebx
shr ecx, 1
mov r9, rbx
mov qword [rsp + 0x58], rbx
mov eax, 0xe
cmp eax, ecx
jae 0x180015358
inc r9
inc r10d
imul rax, r9, 0x38
mov dword [rsp + 0x3c], r10d
mov qword [rsp + 0x58], r9
mov eax, dword [rax + r11]
test eax, eax
jne 0x180015336
jmp 0x180015374
imul rax, r9, 0x38
mov edx, 0x76e8
cmp dword [rax + r11], 0
je 0x1800153e1
mov rax, qword [rsp + 0xc0]
mov dword [rax + 4], r10d
add edx, 0x5e
cmp edx, 0x7746
jbe 0x1800152f0
mov rax, qword [rsp + 0xc0]
mov dword [rax], ebx
jmp 0x1800151e3
mov ecx, 0x4b6d
mov eax, ecx
sub eax, 0x4b6d
je 0x1800153ba
cmp eax, 0x2f
jne 0x1800153c7
mov rax, qword [rsp + 0xc0]
mov dword [rax + 4], 0xffffffff
mov qword [rax + 8], r13
jmp 0x1800153c7
mov eax, dword [r8]
dec eax
shr eax, 1
cmp eax, dword [r13]
jne 0x1800153e1
add ecx, 0x2f
cmp ecx, 0x4b9c
jbe 0x180015397
mov rax, qword [rsp + 0xc0]
mov dword [rax], ebx
jmp 0x1800151e3
mov rdi, qword [rsp + 0xc0]
mov dword [rsp + 0x34], 7
mov r9, qword [rdi + 0x28]
mov r8, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x18]
mov rcx, qword [rdi + 0x10]
mov dword [rsp + 0xb8], 0x570c
mov qword [rsp + 0x20], rbx
call fcn.1800455d0
jmp 0x1800151e3
sub eax, 0x56ef
je 0x180015443
sub eax, 0x1d
je 0x180015463
sub eax, 0x1d
je 0x180015436
cmp eax, 0x1d
je 0x180015463
jmp 0x1800151e7
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x48], eax
jmp 0x1800151e7
mov dword [rsp + 0x48], ebx
jmp 0x1800151e7
mov rax, rbx
jmp 0x180015468
mov dword [rsp + 0x48], 0xd
jmp 0x180015463
mov dword [rsp + 0x48], 0x10
mov rax, qword [rsp + 0x48]
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret