Function at 0x40ee60
Capabilities:
Parse credit card information

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x30
cmp cx, 0xffff
mov ebx, ecx
mov edi, edx
je 0x40f440
xor esi, esi
test ch, 0x10
jne 0x40f2b0
test bh, 0x40
jne 0x40f270
test bx, bx
js 0x40f300
test bh, 0x20
je 0x40eed3
test edi, edi
jne 0x40f340
mov edx, 9
mov rcx, rsi
call fcn.0040ab80
mov rdx, qword [0x0052e890]
mov rsi, rax
mov rax, qword [rax]
lea rax, [rsi + rax + 0x10]
mov qword [rax], rdx
movzx edx, word [0x0052e898]
mov word [rax + 8], dx
add qword [rsi], 9
mov ecx, ebx
and cx, 0xfff
cmp cx, 0x16
je 0x40f7f0
jbe 0x40f030
cmp cx, 0x25
je 0x40f670
jbe 0x40f140
cmp cx, 0x44
je 0x40f8b0
ja 0x40ef90
cmp cx, 0x41
je 0x40f770
jbe 0x40f000
cmp cx, 0x42
je 0x40f590
cmp cx, 0x43
jne 0x40f790
lea rcx, [0x0052e3a0]
call fcn.0040cb50
mov rdi, rax
nop dword [rax]
test rdi, rdi
je 0x40f420
mov rdx, qword [rdi]
mov rcx, rsi
call fcn.0040ab80
lea rdx, [rdi + 0x10]
mov rbx, rax
mov rax, qword [rax]
lea rcx, [rbx + rax + 0x10]
mov rax, qword [rdi]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rdi]
add qword [rbx], rax
mov rax, rbx
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
cmp cx, 0x47
je 0x40f810
jbe 0x40efd0
cmp cx, 0x48
je 0x40f5d0
cmp cx, 0xfff
jne 0x40f790
lea rcx, [0x0052e2a0]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
cmp cx, 0x45
je 0x40f5b0
cmp cx, 0x46
jne 0x40f790
lea rcx, [0x0052e300]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
cmp cx, 0x26
je 0x40f570
cmp cx, 0x40
jne 0x40f790
lea rcx, [0x0052e400]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
cmp cx, 0xa
je 0x40f690
ja 0x40f090
cmp cx, 4
je 0x40f7d0
jbe 0x40f1f0
cmp cx, 7
je 0x40f7b0
jbe 0x40f110
cmp cx, 8
je 0x40f510
cmp cx, 9
jne 0x40f790
lea rcx, [0x0052e720]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
cmp cx, 0x10
je 0x40f6d0
jbe 0x40f230
cmp cx, 0x13
je 0x40f6b0
jbe 0x40f0e0
cmp cx, 0x14
je 0x40f550
cmp cx, 0x15
jne 0x40f790
lea rcx, [0x0052e5c0]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
cmp cx, 0x11
je 0x40f530
cmp cx, 0x12
jne 0x40f790
lea rcx, [0x0052e620]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
cmp cx, 5
je 0x40f4f0
cmp cx, 6
jne 0x40f790
lea rcx, [0x0052e780]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
cmp cx, 0x1b
je 0x40f750
jbe 0x40f1b0
cmp cx, 0x1e
je 0x40f730
jbe 0x40f180
cmp cx, 0x1f
je 0x40f4d0
cmp cx, 0x24
jne 0x40f790
lea rcx, [0x0052e460]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
cmp cx, 0x1c
je 0x40f4b0
cmp cx, 0x1d
jne 0x40f790
lea rcx, [0x0052e4c0]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
cmp cx, 0x18
je 0x40f710
jb 0x40f6f0
cmp cx, 0x19
je 0x40f630
cmp cx, 0x1a
jne 0x40f790
lea rcx, [0x0052e520]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
cmp cx, 1
je 0x40f890
test cx, cx
je 0x40f870
cmp cx, 2
je 0x40f610
cmp cx, 3
jne 0x40f790
lea rcx, [0x0052e7e0]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
cmp cx, 0xc
je 0x40f850
jb 0x40f830
cmp cx, 0xd
je 0x40f5f0
cmp cx, 0xe
jne 0x40f790
lea rcx, [0x0052e680]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
mov edx, 9
mov rcx, rsi
call fcn.0040ab80
mov rdx, qword [0x0052e8d0]
mov rsi, rax
mov rax, qword [rax]
lea rax, [rsi + rax + 0x10]
mov qword [rax], rdx
movzx edx, word [0x0052e8d8]
mov word [rax + 8], dx
add qword [rsi], 9
test bx, bx
jns 0x40ee95
jmp 0x40f300
mov ecx, 0x1b
call fcn.004066e0
mov rdx, qword [0x0052e8f0]
test bh, 0x40
mov rsi, rax
mov qword [rax + 8], 0xa
mov qword [rax], 0xa
mov qword [rax + 0x10], rdx
movzx edx, word [0x0052e8f8]
mov word [rax + 0x18], dx
movzx edx, byte [0x0052e8fa]
mov byte [rax + 0x1a], dl
je 0x40ee8c
jmp 0x40f270
mov edx, 0xc
mov rcx, rsi
call fcn.0040ab80
mov rdx, qword [0x0052e8b0]
mov rsi, rax
mov rax, qword [rax]
lea rax, [rsi + rax + 0x10]
mov qword [rax], rdx
mov edx, dword [0x0052e8b8]
mov dword [rax + 8], edx
movzx edx, byte [0x0052e8bc]
mov byte [rax + 0xc], dl
add qword [rsi], 0xc
jmp 0x40ee95
lea rcx, [rsp + 0x28]
mov edx, 1
mov qword [rsp + 0x28], 0
call fcn.0040e940
mov rbp, qword [rsp + 0x28]
test rbp, rbp
je 0x40f460
mov rdx, qword [rbp]
lea r12, [rdx + 0xc]
cmp r12, 6
jg 0x40f650
mov rcx, qword [0x0052ffe0]
mov edx, 0x18
call fcn.0040cc20
mov rdi, rax
mov qword [rax + 8], 7
mov rax, qword [0x0052e870]
lea r12, [rdi + 0x10]
lea rdx, [rbp + 0x10]
lea rcx, [rdi + 0x19]
mov qword [rdi + 0x10], rax
movzx eax, word [0x0052e878]
mov word [r12 + 8], ax
mov qword [rdi], 9
mov rax, qword [rbp]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rdx, qword [rbp]
lea rax, [rdx + 9]
mov qword [rdi], rax
lea rax, [rdx + 0x19]
add rdx, 0xc
mov rcx, rsi
mov dword [rdi + rax], 0x7c2944
mov qword [rdi], rdx
call fcn.0040ab80
mov r8, qword [rdi]
mov rdx, r12
mov rsi, rax
mov rax, qword [rax]
add r8, 1
lea rcx, [rsi + rax + 0x10]
call sub.msvcrt.dll_memcpy
mov rax, qword [rdi]
add qword [rsi], rax
jmp 0x40eed3
xor edx, edx
mov rcx, rsi
call fcn.0040ab80
mov rbx, rax
mov rax, rbx
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
lea rcx, [0x0052e900]
call fcn.0040cb50
mov rbx, rax
mov rax, rbx
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov rcx, qword [0x0052ffe0]
mov edx, 0x1d
call fcn.0040cc20
mov edx, 0xc
mov qword [rax + 8], 0xc
lea r12, [rax + 0x10]
mov rdi, rax
mov rax, qword [0x0052e870]
mov qword [rdi + 0x10], rax
movzx eax, word [0x0052e878]
mov word [r12 + 8], ax
mov eax, 0x19
mov qword [rdi], 9
jmp 0x40f3df
lea rcx, [0x0052e4e0]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e480]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e7a0]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e740]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e640]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e5e0]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e420]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e3c0]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e320]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e2c0]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e6a0]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e800]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e540]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
mov rcx, qword [0x0052ffe0]
add rdx, 0x1d
call fcn.0040cc20
mov rdi, rax
mov qword [rax + 8], r12
jmp 0x40f394
lea rcx, [0x0052e440]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e700]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e600]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e660]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e580]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e560]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e4a0]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e500]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e3e0]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e900]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e760]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e7c0]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e5a0]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e2e0]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e6e0]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e6c0]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e840]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e820]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40
lea rcx, [0x0052e360]
call fcn.0040cb50
mov rdi, rax
jmp 0x40ef40