Function at 0x449e60
Capabilities:
Parse credit card information

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
lea r13, [0x0046d3e4]
lea rbp, [rsp + 0x20]
lea r12, [rsp + 0x28]
mov rsi, rcx
mov rbx, rdx
mov edi, r8d
mov qword [rsp + 0x20], 0
nop
cmp edi, 0xa
mov eax, dword [rsi + 4]
ja case.0x449ea2.0
mov edx, edi
movsxd rdx, dword [r13 + rdx*4]
add rdx, r13
jmp rdx
cmp eax, 0x3f
je 0x44a441
cmp eax, 0x104
je 0x44a312
cmp eax, 0x105
je 0x44a28f
cmp eax, 0x7c
je 0x44a260
cmp eax, 0x5e
je 0x44a230
cmp eax, 0x26
je 0x44a200
cmp eax, 0x106
je 0x44a391
cmp eax, 0x107
je 0x44a1c0
cmp eax, 0x3c
je 0x44a130
cmp eax, 0x3e
je 0x44a180
cmp eax, 0x108
je 0x44a350
cmp eax, 0x109
je 0x44a3d0
cmp eax, 0x10a
je 0x44a100
cmp eax, 0x10b
je 0x44a061
cmp eax, 0x2b
je 0x44a0a0
cmp eax, 0x2d
je 0x44a0d0
cmp eax, 0x2a
je 0x44a030
cmp eax, 0x2f
je 0x449fc0
cmp eax, 0x25
jne 0x44a010
mov rcx, rsi
call sym.cp_next
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_unary
mov eax, dword [rsp + 0x24]
cmp eax, dword [rbx + 4]
jbe 0x449f7a
mov dword [rbx + 4], eax
mov ecx, dword [rsp + 0x20]
test ecx, ecx
je 0x44a4a3
cmp dword [rbx + 4], 9
mov eax, dword [rbx]
jne 0x449fb0
cmp ecx, 0xffffffff
jne 0x449f9e
cmp eax, 0x80000000
je 0x44a4a3
cdq
idiv ecx
mov dword [rbx], edx
jmp 0x449e90
xor edx, edx
div ecx
mov dword [rbx], edx
jmp 0x449e90
mov rcx, rsi
call sym.cp_next
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_unary
mov eax, dword [rsp + 0x24]
cmp eax, dword [rbx + 4]
jbe 0x449fdf
mov dword [rbx + 4], eax
mov ecx, dword [rsp + 0x20]
test ecx, ecx
je 0x44a4a3
cmp dword [rbx + 4], 9
mov eax, dword [rbx]
jne 0x44a020
cmp ecx, 0xffffffff
jne 0x44a003
cmp eax, 0x80000000
je 0x44a4a3
cdq
idiv ecx
mov dword [rbx], eax
jmp 0x449e90
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
xor edx, edx
div ecx
mov dword [rbx], eax
jmp 0x449e90
mov rcx, rsi
call sym.cp_next
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_unary
mov eax, dword [rbx]
imul eax, dword [rsp + 0x20]
mov dword [rbx], eax
mov eax, dword [rsp + 0x24]
cmp eax, dword [rbx + 4]
jbe 0x449e90
mov dword [rbx + 4], eax
jmp 0x449e90
mov rcx, rsi
call sym.cp_next
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_unary
mov rcx, rsi
mov r8d, 9
mov rdx, rbp
call sym.cp_expr_infix
cmp dword [rbx + 4], 9
mov ecx, dword [rsp + 0x20]
je 0x44a2ed
shr dword [rbx], cl
jmp 0x449e90
mov rcx, rsi
call sym.cp_next
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_unary
mov r8d, 0xa
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_infix
mov eax, dword [rsp + 0x20]
add dword [rbx], eax
jmp 0x44a04c
mov rcx, rsi
call sym.cp_next
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_unary
mov r8d, 0xa
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_infix
mov eax, dword [rsp + 0x20]
sub dword [rbx], eax
jmp 0x44a04c
mov rcx, rsi
call sym.cp_next
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_unary
mov rcx, rsi
mov r8d, 9
mov rdx, rbp
call sym.cp_expr_infix
mov ecx, dword [rsp + 0x20]
shl dword [rbx], cl
jmp 0x449e90
mov rcx, rsi
call sym.cp_next
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_unary
mov r8d, 8
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_infix
cmp dword [rbx + 4], 9
je 0x44a2cf
mov eax, dword [rsp + 0x20]
cmp dword [rbx], eax
setb al
movzx eax, al
mov dword [rbx], eax
mov dword [rbx + 4], 9
jmp 0x449e90
mov rcx, rsi
call sym.cp_next
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_unary
mov r8d, 8
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_infix
cmp dword [rbx + 4], 9
je 0x44a2f4
mov eax, dword [rsp + 0x20]
cmp dword [rbx], eax
seta al
movzx eax, al
mov dword [rbx], eax
jmp 0x44a16c
mov rcx, rsi
call sym.cp_next
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_unary
mov r8d, 7
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_infix
mov eax, dword [rsp + 0x20]
cmp dword [rbx], eax
mov dword [rbx + 4], 9
setne al
movzx eax, al
mov dword [rbx], eax
jmp 0x449e90
mov rcx, rsi
call sym.cp_next
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_unary
mov r8d, 6
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_infix
mov eax, dword [rsp + 0x20]
and dword [rbx], eax
jmp 0x44a04c
mov rcx, rsi
call sym.cp_next
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_unary
mov r8d, 5
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_infix
mov eax, dword [rsp + 0x20]
xor dword [rbx], eax
jmp 0x44a04c
mov rcx, rsi
call sym.cp_next
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_unary
mov r8d, 4
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_infix
mov eax, dword [rsp + 0x20]
or dword [rbx], eax
jmp 0x44a04c
mov rcx, rsi
call sym.cp_next
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_unary
mov rcx, rsi
mov r8d, 3
mov rdx, rbp
call sym.cp_expr_infix
mov ecx, dword [rbx]
xor eax, eax
test ecx, ecx
je 0x44a16a
mov edx, dword [rsp + 0x20]
xor eax, eax
test edx, edx
setne al
jmp 0x44a16a
cmp dword [rsp + 0x24], 9
jne 0x44a15e
mov eax, dword [rsp + 0x20]
cmp dword [rbx], eax
setl al
movzx eax, al
mov dword [rbx], eax
jmp 0x44a16c
sar dword [rbx], cl
jmp 0x449e90
cmp dword [rsp + 0x24], 9
jne 0x44a1ae
mov eax, dword [rsp + 0x20]
cmp dword [rbx], eax
setg al
movzx eax, al
mov dword [rbx], eax
jmp 0x44a16c
mov rcx, rsi
call sym.cp_next
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_unary
mov r8d, 2
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_infix
mov r8d, dword [rbx]
mov eax, 1
test r8d, r8d
jne 0x44a16a
jmp 0x44a2bf
mov rcx, rsi
call sym.cp_next
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_unary
mov r8d, 8
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_infix
cmp dword [rbx + 4], 9
je 0x44a40d
mov eax, dword [rsp + 0x20]
cmp dword [rbx], eax
setbe al
movzx eax, al
mov dword [rbx], eax
jmp 0x44a16c
mov rcx, rsi
call sym.cp_next
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_unary
mov r8d, 7
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_infix
mov eax, dword [rsp + 0x20]
cmp dword [rbx], eax
mov dword [rbx + 4], 9
sete al
movzx eax, al
mov dword [rbx], eax
jmp 0x449e90
mov rcx, rsi
call sym.cp_next
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_unary
mov r8d, 8
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_infix
cmp dword [rbx + 4], 9
mov eax, dword [rsp + 0x20]
je 0x44a42b
cmp dword [rbx], eax
setae al
movzx eax, al
mov dword [rbx], eax
jmp 0x44a16c
cmp dword [rsp + 0x24], 9
jne 0x44a37e
mov eax, dword [rsp + 0x20]
cmp dword [rbx], eax
setle al
movzx eax, al
mov dword [rbx], eax
jmp 0x44a16c
cmp dword [rsp + 0x24], 9
jne 0x44a3fe
cmp dword [rbx], eax
setge al
movzx eax, al
mov dword [rbx], eax
jmp 0x44a16c
mov rcx, rsi
call sym.cp_next
mov rdx, rbp
mov rcx, rsi
call sym.cp_expr_comma
mov edx, 0x3a
mov rcx, rsi
call sym.cp_check
mov rdx, r12
mov rcx, rsi
call sym.cp_expr_unary
xor r8d, r8d
mov rdx, r12
mov rcx, rsi
call sym.cp_expr_infix
mov r9d, dword [rbx]
test r9d, r9d
je 0x44a49d
mov eax, dword [rsp + 0x20]
mov dword [rbx], eax
mov eax, dword [rsp + 0x24]
cmp dword [rsp + 0x2c], eax
cmovae eax, dword [rsp + 0x2c]
mov dword [rbx + 4], eax
jmp 0x449e90
mov eax, dword [rsp + 0x28]
jmp 0x44a486
mov edx, 0x219
mov rcx, rsi
call sym.cp_err
nop
nop dword [rax + rax]
nop word cs:[rax + rax]